Index: firmware/App/Controllers/Valves.c =================================================================== diff -u -r9577444556a75d90a90331288eb8aeeedc4e12b1 -r574a47cfa361cb857293bfe86cfc8ccb6b4c4c26 --- firmware/App/Controllers/Valves.c (.../Valves.c) (revision 9577444556a75d90a90331288eb8aeeedc4e12b1) +++ firmware/App/Controllers/Valves.c (.../Valves.c) (revision 574a47cfa361cb857293bfe86cfc8ccb6b4c4c26) @@ -632,9 +632,12 @@ BOOL testBCValveStatesOverride( MESSAGE_T *message ) { DD_BC_VALVE_OVERRIDE_PAYLOAD_T payload; - DD_VALVES_T valve; - BOOL result = FALSE; - OVERRIDE_TYPE_T ovType = OVERRIDE_INVALID; + DD_VALVES_T valve = FIRST_BC_VALVE; + OVERRIDE_TYPE_T ovType = OVERRIDE_INVALID; + U32 mask = 0; + VALVE_STATE_NAMES_T pos = VALVE_STATE_OPEN; + BOOL result = FALSE; + memcpy( (U08*)(&payload), message->payload, sizeof( DD_BC_VALVE_OVERRIDE_PAYLOAD_T ) ); ovType = ( TRUE == payload.reset ? OVERRIDE_RESET_OVERRIDE : OVERRIDE_OVERRIDE ); @@ -643,8 +646,8 @@ { for ( valve = FIRST_BC_VALVE; valve <= LAST_BC_VALVE; valve++ ) { - U32 mask = ( 0x1 << (valve - FIRST_BC_VALVE) ); - VALVE_STATE_NAMES_T pos = ( ( ( payload.valveStatesBits & mask ) != 0 ) ? VALVE_STATE_CLOSED : VALVE_STATE_OPEN); + mask = ( 0x1 << (valve - FIRST_BC_VALVE) ); + pos = ( ( ( payload.valveStatesBits & mask ) != 0 ) ? VALVE_STATE_CLOSED : VALVE_STATE_OPEN); if ( OVERRIDE_OVERRIDE == ovType ) {