Index: firmware/App/Controllers/AirPump.c =================================================================== diff -u -r2bd6905a235a22cf5feff72192c8bc882be486fd -rf29f8b63b7b690e23e11d8e519f35e100220fe35 --- firmware/App/Controllers/AirPump.c (.../AirPump.c) (revision 2bd6905a235a22cf5feff72192c8bc882be486fd) +++ firmware/App/Controllers/AirPump.c (.../AirPump.c) (revision f29f8b63b7b690e23e11d8e519f35e100220fe35) @@ -37,7 +37,7 @@ #define AIR_PUMP_DATA_PUB_INTERVAL ( MS_PER_SECOND / TASK_GENERAL_INTERVAL ) #define DATA_PUBLISH_COUNTER_START_COUNT #define AIR_PUMP_GPIO_PIN 0x04 -#define AIR_PUMP_OPERATION_TIMEOUT ( 5 * MS_PER_SECOND ) +#define AIR_PUMP_OPERATION_TIMEOUT ( 5 * MS_PER_SECOND ) typedef enum AirPumpMotorStates { @@ -164,7 +164,6 @@ execAirPumpMonitor(); publishAirPumpData(); - } void execAirPumpMonitor( void ) @@ -178,6 +177,7 @@ } } } + /*********************************************************************//** * @brief * The handleAirPumpStartState function starts the air pump state machine. @@ -188,6 +188,7 @@ static AIR_PUMP_STATE_T handleAirPumpStartState( void ) { AIR_PUMP_STATE_T state = AIR_PUMP_STATE_OFF; + return state; } @@ -201,7 +202,9 @@ static AIR_PUMP_STATE_T handleAirPumpOffState( void ) { AIR_PUMP_STATE_T state = AIR_PUMP_STATE_OFF; + setAirPumpMotor( AIR_PUMP_MOTOR_OFF ); + return state; } @@ -215,7 +218,9 @@ static AIR_PUMP_STATE_T handleAirPumpOnState( void ) { AIR_PUMP_STATE_T state = AIR_PUMP_STATE_ON; + setAirPumpMotor( AIR_PUMP_MOTOR_ON ); + return state; } @@ -232,14 +237,15 @@ if (++airPumpDataPublicationTimerCounter >= getU32OverrideValue( &airPumpDataPublishInterval ) ) { AIR_PUMP_PAYLOAD_T data; + data.airPumpStateStatus = getAirPumpState(); broadcastData( MSG_ID_HD_AIR_PUMP_DATA, COMM_BUFFER_OUT_CAN_HD_BROADCAST, (U08*)&data, sizeof( AIR_PUMP_PAYLOAD_T ) ); airPumpDataPublicationTimerCounter = 0; } - } + /************************************************************************* * TEST SUPPORT FUNCTIONS *************************************************************************/ Index: firmware/App/Controllers/AirPump.h =================================================================== diff -u -r2db157fa0b39912cdf03e39c5ff3090c300ff32c -rf29f8b63b7b690e23e11d8e519f35e100220fe35 --- firmware/App/Controllers/AirPump.h (.../AirPump.h) (revision 2db157fa0b39912cdf03e39c5ff3090c300ff32c) +++ firmware/App/Controllers/AirPump.h (.../AirPump.h) (revision f29f8b63b7b690e23e11d8e519f35e100220fe35) @@ -24,12 +24,14 @@ /** * @defgroup AirPump AirPump - * @brief Air Pump controller module. Controls the air pump GPIO pin. + * @brief Air Pump controller module. Controls the air pump on/off via GPIO output pin. * * @addtogroup AirPump * @{ */ +// ********** public definitions ********** + /// Payload record structure for air pump data broadcast message typedef struct { @@ -39,11 +41,10 @@ /// Enumeration of air pump states. typedef enum AirPumpControllerStates { - AIR_PUMP_STATE_INIT = 0, ///< Air Pump Init - AIR_PUMP_STATE_OFF, ///< Air Pump Off - AIR_PUMP_STATE_ON, ///< Air Pump On - NUM_OF_AIR_PUMP_STATES, - + AIR_PUMP_STATE_INIT = 0, ///< Air Pump Initialize state + AIR_PUMP_STATE_OFF, ///< Air Pump Off state + AIR_PUMP_STATE_ON, ///< Air Pump On state + NUM_OF_AIR_PUMP_STATES, ///< Number of air pump states } AIR_PUMP_STATE_T; // ********** public function prototypes **********