Index: firmware/App/Modes/FPModes/FPOperationModes.c =================================================================== diff -u -ra36dcbc3e2f94d418d8aa54588c836a3adf35e17 -r2b1f6635d351e9cd0b398160ab6c756c2464db1c --- firmware/App/Modes/FPModes/FPOperationModes.c (.../FPOperationModes.c) (revision a36dcbc3e2f94d418d8aa54588c836a3adf35e17) +++ firmware/App/Modes/FPModes/FPOperationModes.c (.../FPOperationModes.c) (revision 2b1f6635d351e9cd0b398160ab6c756c2464db1c) @@ -640,10 +640,13 @@ // Verify message payload length is valid if ( sizeof( OP_MODE_PAYLOAD_T ) == message->hdr.payloadLen ) { + FP_OP_MODE_T reqMode; + U32 reqSubMode; + memcpy( (U08*)(&payload), message->payload, sizeof( OP_MODE_PAYLOAD_T ) ); - FP_OP_MODE_T reqMode = (FP_OP_MODE_T)payload.opMode; - U32 reqSubMode = payload.subMode; + reqMode = (FP_OP_MODE_T)payload.opMode; + reqSubMode = payload.subMode; if ( reqMode < NUM_OF_FP_MODES ) {