Index: firmware/App/DGCommon.h =================================================================== diff -u -rd13083b0f2249c237dfbc9dab7a88011fc6c5fa9 -rdea90cb6d941a0d70c1666a11a0199e147dea764 --- firmware/App/DGCommon.h (.../DGCommon.h) (revision d13083b0f2249c237dfbc9dab7a88011fc6c5fa9) +++ firmware/App/DGCommon.h (.../DGCommon.h) (revision dea90cb6d941a0d70c1666a11a0199e147dea764) @@ -22,7 +22,8 @@ // ********** version ********** #define DG_VERSION_MAJOR 0 -#define DG_VERSION_MINOR 3 +#define DG_VERSION_MINOR 4 +#define DG_VERSION_MICRO 0 #define DG_VERSION_BUILD 0 // ********** build switches ********** @@ -31,6 +32,7 @@ #ifndef _VECTORCAST_ // #define RM46_EVAL_BOARD_TARGET 1 // #define SIMULATE_UI 1 +// #define CAN_TEST 1 #include #include #endif Index: firmware/App/Modes/OperationModes.c =================================================================== diff -u -rb5e25e2bf3b87f12f9d1beedf460b5884c8816e9 -rdea90cb6d941a0d70c1666a11a0199e147dea764 --- firmware/App/Modes/OperationModes.c (.../OperationModes.c) (revision b5e25e2bf3b87f12f9d1beedf460b5884c8816e9) +++ firmware/App/Modes/OperationModes.c (.../OperationModes.c) (revision dea90cb6d941a0d70c1666a11a0199e147dea764) @@ -90,7 +90,11 @@ } // start in init mode +#ifndef CAN_TEST currentMode = MODE_INIT; +#else + currentMode = MODE_FAUL; +#endif transitionToNewOperationMode( MODE_INIT ); // call initializers for the individual modes @@ -194,8 +198,10 @@ break; } // end switch +#ifndef CAN_TEST // publish op mode on interval broadcastOperationMode(); +#endif } /*********************************************************************//** Index: firmware/App/Services/FPGA.c =================================================================== diff -u -r3399f24189953d565c4e52b6e9620c9d324dfc8a -rdea90cb6d941a0d70c1666a11a0199e147dea764 --- firmware/App/Services/FPGA.c (.../FPGA.c) (revision 3399f24189953d565c4e52b6e9620c9d324dfc8a) +++ firmware/App/Services/FPGA.c (.../FPGA.c) (revision dea90cb6d941a0d70c1666a11a0199e147dea764) @@ -89,8 +89,8 @@ U32 fpgaLCB2; ///< Reg 272. ADC2 channel 1 - load cell B2. U32 fpgaADC2Temp; ///< Reg 276. ADC2 channel 2 - internal temperature. - U32 fpgaCD1; ///< Reg 280. ADC RTD channel 0 - conductivity sensor 1. - U32 fpgaCD2; ///< Reg 284. ADC RTD channel 1 - conductivity sensor 2. + U32 fpgaCD1Temp; ///< Reg 280. ADC RTD channel 0 - conductivity sensor 1 temperature. + U32 fpgaCD2Temp; ///< Reg 284. ADC RTD channel 1 - conductivity sensor 2 temperature. U32 fpgaTPoTemp; ///< Reg 288. ADC RTD channel 2 - conductivity sensor CPi temperature. U32 fpgaTPiTemp; ///< Reg 292. ADC RTD channel 3 - conductivity sensor CPo temperature. U32 fpgaRTDTemp; ///< Reg 296. ADC RTD channel 4 - internal temperature. @@ -980,7 +980,7 @@ *************************************************************************/ U16 getFPGAStatus( void ) { - return 0;//fpgaSensorReadings.fpgaStatus; + return 0;//fpgaSensorReadings.fpgaStatus; // TODO - are we going to have this or not? } /*********************************************************************//** @@ -1124,7 +1124,7 @@ *************************************************************************/ U32 getFPGACD1Temp( void ) { - return 0;//fpgaSensorReadings.fpgaCD1Temp; + return fpgaSensorReadings.fpgaCD1Temp; } /*********************************************************************//** @@ -1139,7 +1139,7 @@ *************************************************************************/ U32 getFPGACD2Temp( void ) { - return 0;//fpgaSensorReadings.fpgaCD2Temp; + return fpgaSensorReadings.fpgaCD2Temp; } /*********************************************************************//** Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -rf5d0c90297a0716e1fb5a5c946436cccd35050e5 -rdea90cb6d941a0d70c1666a11a0199e147dea764 --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision f5d0c90297a0716e1fb5a5c946436cccd35050e5) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision dea90cb6d941a0d70c1666a11a0199e147dea764) @@ -1051,3 +1051,28 @@ * @return none *************************************************************************/ DATA_OVERRIDE_HANDLER_FUNC_U32( U32, handleTestDrainPumpDataBroadcastIntervalOverrideRequest, testSetDrainPumpDataPublishIntervalOverride, testResetDrainPumpDataPublishIntervalOverride ) + +#ifdef CAN_TEST +void broadcastCANTest1LargeFrequentMessage() +{ + static U16 seqNo = 0; + MESSAGE_T msg; + U32 i; + + // create a message record + blankMessage( &msg ); + msg.hdr.msgID = 99; + msg.hdr.payloadLen = 96; + + for ( i = 0; i < 12; i++ ) + { + memcpy(&msg.payload[i*8], &seqNo, 2); + seqNo++; + } + memcpy(&msg.payload[94], &seqNo, 2); + seqNo++; + + // 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_DG_BROADCAST, ACK_NOT_REQUIRED ); +} +#endif Index: firmware/App/Services/SystemCommMessages.h =================================================================== diff -u -rf5d0c90297a0716e1fb5a5c946436cccd35050e5 -rdea90cb6d941a0d70c1666a11a0199e147dea764 --- firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision f5d0c90297a0716e1fb5a5c946436cccd35050e5) +++ firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision dea90cb6d941a0d70c1666a11a0199e147dea764) @@ -127,5 +127,10 @@ // MSG_ID_DRAIN_PUMP_SEND_INTERVAL_OVERRIDE: void handleTestDrainPumpDataBroadcastIntervalOverrideRequest( MESSAGE_T *message ); +#ifdef CAN_TEST +// MSG_ID_DG_CAN_TEST_1_LARGE_FREQ +void broadcastCANTest1LargeFrequentMessage(); #endif +#endif + Index: firmware/App/Tasks/TaskGeneral.c =================================================================== diff -u -r2496e9225fa1b2c627d625def02515a0f0dd5793 -rdea90cb6d941a0d70c1666a11a0199e147dea764 --- firmware/App/Tasks/TaskGeneral.c (.../TaskGeneral.c) (revision 2496e9225fa1b2c627d625def02515a0f0dd5793) +++ firmware/App/Tasks/TaskGeneral.c (.../TaskGeneral.c) (revision dea90cb6d941a0d70c1666a11a0199e147dea764) @@ -46,6 +46,7 @@ // manage data received from other sub-systems execSystemCommRx(); +#ifndef CAN_TEST // manage RO pump execROPumpController(); @@ -57,10 +58,23 @@ // manage time-based reservoir tasks execReservoirs(); - +#endif // run operation mode state machine execOperationModes(); +#ifdef CAN_TEST + { // send test msg every 100ms + static U32 canTestCtr = 0; + static U32 canTestMsgCtr = 0; + if ( ++canTestCtr >= 2 ) + { + if ( ++canTestMsgCtr <= 23076) + broadcastCANTest1LargeFrequentMessage(); + canTestCtr = 0; + } + } +#endif + // manage data to be transmitted to other sub-systems execSystemCommTx();