Index: firmware/App/Controllers/DrainPump.c =================================================================== diff -u -r44222e803e04d057ab793ce6b72902b8bfe9b7d0 -r31aa23b12f37b9d16b5160369ccb7dab6c6eca4d --- firmware/App/Controllers/DrainPump.c (.../DrainPump.c) (revision 44222e803e04d057ab793ce6b72902b8bfe9b7d0) +++ firmware/App/Controllers/DrainPump.c (.../DrainPump.c) (revision 31aa23b12f37b9d16b5160369ccb7dab6c6eca4d) @@ -76,6 +76,7 @@ #define SAFETY_SHUTDOWN_TIMEOUT MS_PER_SECOND ///< Drain pump safety shutdown activation timeout. #define DRAIN_PUMP_OFF_RPM_ADC_COUNT 0xFFFF ///< ADC count value when pump is off. +#define DATA_PUBLISH_COUNTER_START_COUNT 33 ///< Data publish counter start count. /// Enumeration of drain pump states. typedef enum DrainPump_States @@ -98,7 +99,7 @@ // ********** private data ********** static DRAIN_PUMP_STATE_T drainPumpState = DRAIN_PUMP_OFF_STATE; ///< Current state of drain pump controller state machine. -static U32 drainPumpDataPublicationTimerCounter = 0; ///< Used to schedule drain pump data publication to CAN bus. +static U32 drainPumpDataPublicationTimerCounter; ///< Used to schedule drain pump data publication to CAN bus. static U32 drainPumpDAC = 0; ///< Initial drain pump DAC value. static U32 drainPumpDACSet = 0; ///< Currently set drain pump DAC value. static PUMP_CONTROL_MODE_T drainPumpControlMode = NUM_OF_PUMP_CONTROL_MODES; ///< Requested drain pump control mode. @@ -142,8 +143,9 @@ { stopDrainPump(); - hasClosedLoopBeenRequested = FALSE; - signalNewRPMRequest = FALSE; + hasClosedLoopBeenRequested = FALSE; + signalNewRPMRequest = FALSE; + drainPumpDataPublicationTimerCounter = DATA_PUBLISH_COUNTER_START_COUNT; // Initialize the drain pump PI controller initializePIController( PI_CONTROLLER_ID_DRAIN_PUMP, DRAIN_PUMP_MIN_DAC, DRAIN_PUMP_P_COEFFICIENT, DRAIN_PUMP_I_COEFFICIENT, @@ -667,7 +669,7 @@ broadcastData( MSG_ID_DRAIN_PUMP_DATA, COMM_BUFFER_OUT_CAN_DG_BROADCAST, (U08*)&drainPumpData, sizeof( DRAIN_PUMP_DATA_T ) ); - drainPumpDataPublicationTimerCounter = 0; + drainPumpDataPublicationTimerCounter = DATA_PUBLISH_COUNTER_START_COUNT; } }