Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -r2112e3143003eaf9584d4be068f7ca89b33c941a -r2df21d2472a8d79d78af7e359518acf3614accc5 --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 2112e3143003eaf9584d4be068f7ca89b33c941a) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 2df21d2472a8d79d78af7e359518acf3614accc5) @@ -329,14 +329,15 @@ * Outputs : UF change settings response msg constructed and queued. * @param accepted : alarm status record * @param reason : reason rejected (if not accepted) - * @param volume_mL : alarm status record - * @param time_min : alarm status record - * @param ufRate_mL_min : alarm status record - * @param timeDiff : alarm status record - * @param rateDiff : alarm status record + * @param volume_mL : + * @param time_min : + * @param ufRate_mL_min : + * @param timeDiff : + * @param rateDiff : + * @param oldUFRate_mL_min : * @return TRUE if msg successfully queued for transmit, FALSE if not *************************************************************************/ -BOOL sendChangeUFSettingsResponse( BOOL accepted, U32 reason, F32 volume_mL, U32 time_min, F32 ufRate_mL_min, S32 timeDiff, F32 rateDiff ) +BOOL sendChangeUFSettingsResponse( BOOL accepted, U32 reason, F32 volume_mL, U32 time_min, F32 ufRate_mL_min, S32 timeDiff, F32 rateDiff, F32 oldUFRate_mL_min ) { BOOL result; F32 volume_L = volume_mL / (F32)ML_PER_LITER; @@ -346,7 +347,7 @@ // create a message record blankMessage( &msg ); msg.hdr.msgID = MSG_ID_USER_UF_SETTINGS_CHANGE_RESPONSE; - msg.hdr.payloadLen = sizeof( BOOL ) + sizeof( U32 ) + sizeof( F32 ) + sizeof( U32 ) + sizeof( U32 ) + sizeof( F32 ) + sizeof ( F32 ); + msg.hdr.payloadLen = sizeof( BOOL ) + sizeof( U32 ) + sizeof( F32 ) + sizeof( U32 ) + sizeof( S32 ) + sizeof( F32 ) + sizeof( F32 ) + sizeof( F32 ); memcpy( payloadPtr, &accepted, sizeof( BOOL ) ); payloadPtr += sizeof( BOOL ); @@ -356,11 +357,13 @@ payloadPtr += sizeof( F32 ); memcpy( payloadPtr, &time_min, sizeof( U32 ) ); payloadPtr += sizeof( U32 ); - memcpy( payloadPtr, &timeDiff, sizeof( U32 ) ); - payloadPtr += sizeof( U32 ); + memcpy( payloadPtr, &timeDiff, sizeof( S32 ) ); + payloadPtr += sizeof( S32 ); memcpy( payloadPtr, &ufRate_mL_min, sizeof( F32 ) ); payloadPtr += sizeof( F32 ); memcpy( payloadPtr, &rateDiff, sizeof( F32 ) ); + payloadPtr += sizeof( F32 ); + memcpy( payloadPtr, &oldUFRate_mL_min, sizeof( F32 ) ); // serialize the message (w/ sync, CRC, and appropriate CAN padding) and add serialized message data to appropriate comm buffer result = serializeMessage( msg, COMM_BUFFER_OUT_CAN_HD_2_UI, ACK_REQUIRED ); @@ -1095,7 +1098,7 @@ * @param mode : current HD operation mode. * @return TRUE if msg successfully queued for transmit, FALSE if not *************************************************************************/ -BOOL broadcastHDOperationMode( U32 mode ) +BOOL broadcastHDOperationMode( U32 mode, U32 subMode ) { BOOL result; MESSAGE_T msg; @@ -1104,9 +1107,11 @@ // create a message record blankMessage( &msg ); msg.hdr.msgID = MSG_ID_HD_OP_MODE; - msg.hdr.payloadLen = sizeof( U32 ); + msg.hdr.payloadLen = sizeof( U32 ) + sizeof( U32 ); memcpy( payloadPtr, &mode, sizeof( U32 ) ); + payloadPtr += sizeof( U32 ); + memcpy( payloadPtr, &subMode, sizeof( U32 ) ); // serialize the message (w/ sync, CRC, and appropriate CAN padding) and add serialized message data to appropriate comm buffer result = serializeMessage( msg, COMM_BUFFER_OUT_CAN_HD_BROADCAST, ACK_NOT_REQUIRED );