Index: firmware/App/Controllers/ROPump.c =================================================================== diff -u -r228bdc53e9e88533429cd514d1d509a6fcd361d0 -r77738b42add276957539f0efb3f9a4092852c5ce --- firmware/App/Controllers/ROPump.c (.../ROPump.c) (revision 228bdc53e9e88533429cd514d1d509a6fcd361d0) +++ firmware/App/Controllers/ROPump.c (.../ROPump.c) (revision 77738b42add276957539f0efb3f9a4092852c5ce) @@ -50,7 +50,7 @@ #define ROP_PSI_TO_PWM_DC(p) ( 0.2 + ( (F32)((p) - 100) * 0.01 ) ) ///< conversion factor from target PSI to PWM duty cycle estimate TODO - this is a place holder for real conversion -#define RO_FLOW_ADC_TO_LPM_FACTOR 0.00018 ///< conversion factor from ADC counts to LPM (liters/min) for RO flow rate. +#define RO_FLOW_ADC_TO_LPM_FACTOR 10909.0909 ///< conversion factor from ADC counts to LPM (liters/min) for RO flow rate (multiply this by inverse of FPGA reading). typedef enum ROPump_States { @@ -183,7 +183,7 @@ { S32 roFlow = (S32)getFPGAROPumpFlowRate(); - measuredROFlowRateLPM.data = (F32)(roFlow) * RO_FLOW_ADC_TO_LPM_FACTOR; + measuredROFlowRateLPM.data = ( 1.0 / (F32)(roFlow) ) * RO_FLOW_ADC_TO_LPM_FACTOR; measuredROPumpPressure = getMeasuredDGPressure( PRESSURE_SENSOR_RO_PUMP_OUTLET ); // TODO - check pressure? Index: firmware/App/Controllers/Valves.c =================================================================== diff -u -ra3b108c205e9bcd4d1a45033d73c5714c7247123 -r77738b42add276957539f0efb3f9a4092852c5ce --- firmware/App/Controllers/Valves.c (.../Valves.c) (revision a3b108c205e9bcd4d1a45033d73c5714c7247123) +++ firmware/App/Controllers/Valves.c (.../Valves.c) (revision 77738b42add276957539f0efb3f9a4092852c5ce) @@ -16,9 +16,7 @@ #include "AlarmMgmt.h" #include "FPGA.h" -#include #include "OperationModes.h" -#include "stdbool.h" #include "SystemCommMessages.h" #include "TaskPriority.h" #include "Timers.h" Index: firmware/App/Services/SystemComm.c =================================================================== diff -u -r69a52d3eafb8667fa3163949107a9351b8eb855a -r77738b42add276957539f0efb3f9a4092852c5ce --- firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision 69a52d3eafb8667fa3163949107a9351b8eb855a) +++ firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision 77738b42add276957539f0efb3f9a4092852c5ce) @@ -1070,6 +1070,14 @@ handleTestDrainPumpDataBroadcastIntervalOverrideRequest( message ); break; + case MSG_ID_VALVE_STATE_OVERRIDE: + handleTestValveStateOverrideRequest( message ); + break; + + case MSG_ID_VALVES_STATES_PUBLISH_INTERVAL_OVERRIDE: + handleTestValvesStatesPublishIntervalOverrideRequest( message ); + break; + default: // TODO - unrecognized message ID received - ignore break; Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -r803a87584b4ea10f5d5c492770b71f1577fbba69 -r77738b42add276957539f0efb3f9a4092852c5ce --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 803a87584b4ea10f5d5c492770b71f1577fbba69) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 77738b42add276957539f0efb3f9a4092852c5ce) @@ -1055,6 +1055,30 @@ *************************************************************************/ DATA_OVERRIDE_HANDLER_FUNC_U32( U32, handleTestDrainPumpDataBroadcastIntervalOverrideRequest, testSetDrainPumpDataPublishIntervalOverride, testResetDrainPumpDataPublishIntervalOverride ) +/************************************************************************* + * @brief + * The handleTestValveStateOverrideRequest function handles a request to \n + * override the state value read from the given valve. + * @details + * Inputs : none + * Outputs : message handled + * @param message : a pointer to the message to handle + * @return none + *************************************************************************/ +DATA_ARRAY_OVERRIDE_HANDLER_FUNC_U32( BOOL, handleTestValveStateOverrideRequest, testSetValveStateOverride, testResetValveStateOverride ) + +/************************************************************************* + * @brief + * The handleTestValvesStatesPublishIntervalOverrideRequest function handles \n + * a request to override the publish interval of valves states from the given valve. + * @details + * Inputs : none + * Outputs : message handled + * @param message : a pointer to the message to handle + * @return none + *************************************************************************/ +DATA_OVERRIDE_HANDLER_FUNC_U32( BOOL, handleTestValvesStatesPublishIntervalOverrideRequest, testSetValvesStatesPublishIntervalOverride, testResetValvesStatesPublishIntervalOverride ) + #ifdef CAN_TEST void broadcastCANTest1LargeFrequentMessage() { @@ -1078,4 +1102,5 @@ // 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 -rdea90cb6d941a0d70c1666a11a0199e147dea764 -r77738b42add276957539f0efb3f9a4092852c5ce --- firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision dea90cb6d941a0d70c1666a11a0199e147dea764) +++ firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision 77738b42add276957539f0efb3f9a4092852c5ce) @@ -127,6 +127,12 @@ // MSG_ID_DRAIN_PUMP_SEND_INTERVAL_OVERRIDE: void handleTestDrainPumpDataBroadcastIntervalOverrideRequest( MESSAGE_T *message ); +// MSG_ID_VALVE_STATE_OVERRIDE +void handleTestValveStateOverrideRequest( MESSAGE_T *message ); + +// MSG_ID_VALVES_STATES_PUBLISH_INTERVAL_OVERRIDE +void handleTestValvesStatesPublishIntervalOverrideRequest( MESSAGE_T *message ); + #ifdef CAN_TEST // MSG_ID_DG_CAN_TEST_1_LARGE_FREQ void broadcastCANTest1LargeFrequentMessage();