/** * @author Rémi Heredero * @version. 0.0.0 * @date August 2023 * @file car.h */ #ifndef CAR_H #define CAR_H /************* * MODULE ID * *************/ #define ID_CONTROL 1 // Control the three-wheeler #define ID_JOYSTICK 2 // Inform control avout current joystick state #define ID_DISPLAY 3 // User interface to display informations #define ID_DRIVE 4 // Drive power motor of the three-wheeler #define ID_STEERING 5 // Drive the direction motor og the three-wheeler #define ID_SUPPLY 6 // Information about batteries, current, ... #define ID_BROADCAST 0 // Message to and from any module #define ID_DEBUG 0 // Message to and from any module /******************* * MEMORY ADRESSES * *******************/ #define MEMADD_CONTROL_STEERING_MODE 0x01 #define MEMADD_CONTROL_ALIVE_TIME 0x02 #define MEMADD_CONTROL_SPEED_FACTOR 0x03 #define MEMADD_CONTROL_POWER_FACTOR 0x07 #define MEMADD_CONTROL_STEERING_FACTOR 0x0B #define MEMADD_CONTROL_MAX_SPEED_FW 0x0F #define MEMADD_CONTROL_MAX_SPEED_BW 0x10 #define MEMADD_JOYSTICK_MODE 0x11 #define MEMADD_JOYSTICK_PARAM1 0x12 #define MEMADD_JOYSTICK_PARAM2 0x13 #define MEMADD_JOYSTICK_ALIVE_TIME 0x14 #define MEMADD_DISPLAY_ALIVE_TIME 0x15 #define MEMADD_DRIVE_SPEED_TIME 0x16 #define MEMADD_DRIVE_STOP_TIME 0x17 #define MEMADD_DRIVE_ALIVE_TIME 0x18 #define MEMADD_STEERING_ALIVE_TIME 0x19 #define MEMADD_BATTERY_VOLT_TIME 0x1A #define MEMADD_BATTERY_CURRENT_TIME 0x1B #define MEMADD_BATTERY_ENERGY_TIME 0x1C #define MEMADD_BATTERY_ALIVE_TIME 0x1D typedef struct { uint8_t CONTROL_STEERING_MODE; uint8_t CONTROL_ALIVE_TIME; uint32_t CONTROL_SPEED_FACTOR; uint32_t CONTROL_POWER_FACTOR; uint32_t CONTROL_STEERING_FACTOR; uint8_t CONTROL_MAX_SPEED_FW; uint8_t CONTROL_MAX_SPEED_BW; uint8_t JOYSTICK_MODE; uint8_t JOYSTICK_PARAM1; uint8_t JOYSTICK_PARAM2; uint8_t JOYSTICK_ALIVE_TIME; uint8_t DISPLAY_ALIVE_TIME; uint8_t DRIVE_SPEED_TIME; uint8_t DRIVE_STOP_TIME; uint8_t DRIVE_ALIVE_TIME; uint8_t STEERING_ALIVE_TIME; uint8_t BATTERY_VOLT_TIME; uint8_t BATTERY_CURRENT_TIME; uint8_t BATTERY_ENERGY_TIME; uint8_t BATTERY_ALIVE_TIME; } CAR_CST_TYPE; CAR_CST_TYPE CAR_CST; #endif /* CAR_H */