Index: firmware/App/Modes/OperationModes.c =================================================================== diff -u -r0e0fc7fbbc571a76deb8ddc6e6382bfa58598406 -r35a326b0f9f2fd83bac4be54e67ebde2d3f2c7e1 --- firmware/App/Modes/OperationModes.c (.../OperationModes.c) (revision 0e0fc7fbbc571a76deb8ddc6e6382bfa58598406) +++ firmware/App/Modes/OperationModes.c (.../OperationModes.c) (revision 35a326b0f9f2fd83bac4be54e67ebde2d3f2c7e1) @@ -578,28 +578,42 @@ return new_id; } +/*********************************************************************//** + * @brief + * The setCurrentSubState function sets the current subState. + * @details Inputs: subState + * @details Outputs: currentSubState + * @param subState the enumerated sub state. + * @return none + *************************************************************************/ void setCurrentSubState( U32 subState ) { currentSubState = subState; } -static void sendOperationStatusEvent( void ) +/*********************************************************************//** + * @brief + * The sendOperationStatusEvent function constructs and sends an HD operation + * status event. + * @details Inputs: currentMode, currentSubMode, currentSubState + * @details Outputs: dat1, dat2. + * @param none + * @return none + *************************************************************************/ +static void sendOperationStatusEvent() { EVENT_DATA_T dat1; EVENT_DATA_T dat2; - OP_STATUS_EVENT_PAYLOAD_T opData; + U32 opData = ( (U08)currentMode + + ( (U08)currentSubMode << SHIFT_8_BITS_FOR_BYTE_SHIFT ) + + ( (U08)currentSubState << SHIFT_16_BITS_FOR_WORD_SHIFT ) ); dat2.dataType = EVENT_DATA_TYPE_U32; dat2.data.uInt.data = 0; - opData.OpStatus[OPERATION_MODE] = (U08)currentMode; - opData.OpStatus[SUB_MODE] = (U08)currentSubMode; - opData.OpStatus[SUB_STATE] = (U08)currentSubState; - opData.OpStatus[RESERVED] = 0; - dat1.dataType = EVENT_DATA_TYPE_U32; - dat1.data.uInt.data = (U32)(opData); + dat1.data.uInt.data = opData; sendEvent( HD_EVENT_OPERATION_STATUS, dat1, dat2 ); }