Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -ra1a0187daedaf2c12e6f9eccfbf9e423d952e029 -rbb537fcb845254413b204196ef14fa979b91a42b --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision a1a0187daedaf2c12e6f9eccfbf9e423d952e029) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision bb537fcb845254413b204196ef14fa979b91a42b) @@ -3440,16 +3440,24 @@ void handleHDUsageInfoRequest( MESSAGE_T *message ) { MESSAGE_T msg; - U32 payload = 0; // TODO update this one implemented + HD_USAGE_INFO_RECORD_T usageRecord; U08 *payloadPtr = msg.payload; + getNVRecord2Driver( GET_USAGE_RECORD, (U08*)&usageRecord, sizeof( HD_USAGE_INFO_RECORD_T ), 0, ALARM_ID_NO_ALARM ); + // Create a message record blankMessage( &msg ); - msg.hdr.msgID = MSG_ID_HD_USAGE_DATA; - msg.hdr.payloadLen = sizeof( U32 ); + msg.hdr.msgID = MSG_ID_HD_USAGE_DATA; + msg.hdr.payloadLen = sizeof( F32 ) + sizeof( F32 ) + sizeof( U32 ) + sizeof( U32 ); // Fill message payload - memcpy( payloadPtr, &payload, sizeof( U32 ) ); + memcpy( payloadPtr, &usageRecord.txTimeTotalHrs, sizeof( F32 ) ); + payloadPtr += sizeof( F32 ); + memcpy( payloadPtr, &usageRecord.txTimeSinceLastSrvcHrs, sizeof( F32 ) ); + payloadPtr += sizeof( F32 ); + memcpy( payloadPtr, &usageRecord.txLastStartTimeEpoch, sizeof( U32 ) ); + payloadPtr += sizeof( U32 ); + memcpy( payloadPtr, &usageRecord.lastResetTimeEpoch, sizeof( U32 ) ); // Serialize the message (w/ sync, CRC, and appropriate CAN padding) and add serialized message data to appropriate comm buffer serializeMessage( msg, COMM_BUFFER_OUT_CAN_HD_2_UI, ACK_REQUIRED );