Index: firmware/App/Controllers/Valves.c =================================================================== diff -u -r1f669c93c03ac8f246a2b791678b4b65ecb2dbd4 -rf9a866abfc44db38c01cb795fea894cce1042eec --- firmware/App/Controllers/Valves.c (.../Valves.c) (revision 1f669c93c03ac8f246a2b791678b4b65ecb2dbd4) +++ firmware/App/Controllers/Valves.c (.../Valves.c) (revision f9a866abfc44db38c01cb795fea894cce1042eec) @@ -88,7 +88,7 @@ #define TRANSITION_STEP_CHANGE_IN_COUNTS 15000 ///< Step change in counts during normal operations #define MAX_DEVIATION_FROM_TARGET_IN_COUNTS 1000 ///< Maximum deviation from target in counts -#define MAX_DEVIATION_FROM_TGT_IN_TRAVEL_CNTS 1000 ///< Maximum deviation from target in counts +#define MAX_DEVIATION_FROM_TGT_IN_TRAVEL_CNTS 150 ///< Maximum deviation from target in counts #define MAX_DEVIATION_FROM_TRAGET_IN_POS_B 1000 ///< Maximum allowed deviation from position B in counts #define MAX_ALLOWED_FAILED_HOMINGS 3U ///< Maximum allowed failed homings /// The time that the valve must be at the edge to be considered for edge detection @@ -201,10 +201,8 @@ static VALVE_SELF_TEST_STATE_T valveSelfTestState = VALVE_SELF_TEST_ENABLE_VALVES; ///< Valves self test state static SELF_TEST_STATUS_T valvesSelfTestResult = SELF_TEST_STATUS_IN_PROGRESS; ///< Valves self test result +static VALVE_STATUS_T valvesStatus[ NUM_OF_VALVES ]; ///< Array of type VALVE_STATUS_T structure that holds the status of each valve -/// Array of type VALVE_STATUS_T structure that holds the status of each valve -static VALVE_STATUS_T valvesStatus[ NUM_OF_VALVES ]; - static OVERRIDE_U32_T valvesDataPublishInterval = { VALVES_DATA_PUB_INTERVAL, VALVES_DATA_PUB_INTERVAL, 0, 0 }; ///< Valves data publish interval static OVERRIDE_U32_T valvesPositionOverride[ NUM_OF_VALVES ] = { VALVE_POSITION_C_CLOSE, VALVE_POSITION_C_CLOSE, 0, 0 }; ///< Valves position override @@ -224,7 +222,7 @@ { VBA_INIT_STATUS_BIT_MASK, VBA_ENABLE_PID_STATUS_BIT_MASK, VBA_ENABLE_BYPASS_STATUS_BIT_MASK, VBA_RESET_CONTROL_BIT_MASK }, { VBV_INIT_STATUS_BIT_MASK, VBV_ENABLE_PID_STATUS_BIT_MASK, VBV_ENABLE_BYPASS_STATUS_BIT_MASK, VBV_RESET_CONTROL_BIT_MASK } }; ///< Valves control status bits -static U16 valvesControlSetBits = 0x0000; ///< Valves control set bit +static U16 valvesControlSetBits; ///< Valves control set bit static OPN_CLS_STATE_T valveAirTrapStatus; ///< Air trap valve status (open/close) static HD_VALVES_CAL_RECORD_T valvesCalibrationRecord; ///< Valves calibration record. @@ -283,9 +281,9 @@ for ( valve = VDI; valve < NUM_OF_VALVES; valve++ ) { valvesStatus[ valve ].execState = VALVE_STATE_WAIT_FOR_POST; - valvesStatus[ valve ].current.data = 0.0; - valvesStatus[ valve ].current.ovData = 0.0; - valvesStatus[ valve ].current.ovInitData = 0.0; + valvesStatus[ valve ].current.data = 0.0F; + valvesStatus[ valve ].current.ovData = 0.0F; + valvesStatus[ valve ].current.ovInitData = 0.0F; valvesStatus[ valve ].current.override = 0; valvesStatus[ valve ].dataPublishCounter = DATA_PUBLISH_COUNTER_START_COUNT; } @@ -719,7 +717,7 @@ S16 energizedEdge = valvesStatus[ valve ].positions[ VALVE_POSITION_B_OPEN ]; S16 deltaEdges = energizedEdge - currentPosition; - // The range from energized to de-energized should be in between 9000 to 13000 steps + // The range from energized to de-energized should be in between 10750 to 13250 steps if ( ( deltaEdges <= INITIAL_ENERGIZED_EDGE_UPPER_RANGE ) && ( deltaEdges >= INITIAL_ENERGIZED_EDGE_LOWER_RANGE ) ) { S16 positionC = currentPosition + INITIAL_EDGE_OFFSET_READ_COUNT; @@ -839,8 +837,7 @@ *************************************************************************/ static VALVE_STATE_T handleValveStateInTransition( VALVE_T valve ) { - VALVE_STATE_T state = VALVE_STATE_IN_TRANSITION; - + VALVE_STATE_T state = VALVE_STATE_IN_TRANSITION; VALVE_POSITION_T commandedPositionEnum = valvesStatus[ valve ].commandedPosition; // Get the corresponding counts of the positions