Index: firmware/App/Controllers/DGInterface.h =================================================================== diff -u -rd4a90fda6c1f463633a4e7d45424acd2d2a0bce8 -rc282822f36836a8127f447c8ac5b8a50e851be63 --- firmware/App/Controllers/DGInterface.h (.../DGInterface.h) (revision d4a90fda6c1f463633a4e7d45424acd2d2a0bce8) +++ firmware/App/Controllers/DGInterface.h (.../DGInterface.h) (revision c282822f36836a8127f447c8ac5b8a50e851be63) @@ -39,32 +39,14 @@ #define FILL_RESERVOIR_TO_VOLUME_ML 1300 ///< Fill reservoir to this volume (in mL) during treatment. #endif -/// Enumeration of load cell sensors. -typedef enum Load_Cells -{ - LOAD_CELL_RESERVOIR_1_PRIMARY = 0, ///< Primary load cell for reservoir 1. - LOAD_CELL_RESERVOIR_1_BACKUP, ///< Backup load cell for reservoir 1. - LOAD_CELL_RESERVOIR_2_PRIMARY, ///< Primary load cell for reservoir 2. - LOAD_CELL_RESERVOIR_2_BACKUP, ///< Backup load cell for reservoir 2. - NUM_OF_LOAD_CELLS ///< Number of load cell sensors. -} LOAD_CELL_T; - -/// Enumeration of DG reservoirs. -typedef enum DG_Reservoirs -{ - DG_RESERVOIR_1 = 0, ///< Reservoir #1. - DG_RESERVOIR_2, ///< Reservoir #2. - NUM_OF_DG_RESERVOIRS ///< Number of reservoirs. -} DG_RESERVOIR_ID_T; - /// Enumeration of DG pressure sensors. typedef enum DG_PressureSensors { - DG_PRESSURE_SENSOR_RO_PUMP_INLET = 0, ///< RO pump pressure sensor. - DG_PRESSURE_SENSOR_RO_PUMP_OUTLET, ///< RO pump pressure sensor. - DG_PRESSURE_SENSOR_DRAIN_PUMP_INLET, ///< drain pump inlet pressure. - DG_PRESSURE_SENSOR_DRAIN_PUMP_OUTLET, ///< drain pump outlet pressure. - NUM_OF_DG_PRESSURE_SENSORS ///< Number of pressure sensors. + DG_PRESSURE_SENSOR_RO_PUMP_INLET = 0, ///< RO pump pressure sensor. + DG_PRESSURE_SENSOR_RO_PUMP_OUTLET, ///< RO pump pressure sensor. + DG_PRESSURE_SENSOR_DRAIN_PUMP_INLET, ///< Drain pump inlet pressure. + DG_PRESSURE_SENSOR_DRAIN_PUMP_OUTLET, ///< Drain pump outlet pressure. + NUM_OF_DG_PRESSURE_SENSORS ///< Number of pressure sensors. } DG_PRESSURE_SENSORS_T; /// Payload record structure for an RO pump data message. @@ -123,6 +105,14 @@ BOOL tareLoadCells; } DRAIN_RESERVOIR_CMD_PAYLOAD_T; +/// DG command response data record structure. +typedef struct +{ + U32 commandID; ///< The command DG is responding to + BOOL rejected; ///< Flag indicates if the command has been rejected + U32 rejectCode; ///< Reason code for rejecting the command +} DG_CMD_RESPONSE_T; + // ********** public function prototypes ********** void initDGInterface( void ); @@ -140,7 +130,7 @@ U32 getDGROPumpPressureSetPt( void ); F32 getDGROPumpFlowRateMlMin( void ); U32 getDGDrainPumpRPMSetPt( void ); -F32 getLoadCellWeightInGrams( LOAD_CELL_T loadCellID ); +F32 getLoadCellWeightInGrams( LOAD_CELL_ID_T loadCellID ); F32 getReservoirWeightSmallFilter( DG_RESERVOIR_ID_T resID ); F32 getReservoirWeightLargeFilter( DG_RESERVOIR_ID_T resID ); @@ -163,6 +153,9 @@ void cmdStopDGTrimmerHeater( void ); void cmdDGSampleWater( void ); +void handleDGCommandResponse( U08 *cmdRespPtr ); +void getDGCommandResponse( DG_CMD_RESPONSE_T *cmdRespPtr ); + BOOL testSetDialOutLoadCellWeightOverride( U32 sensor, F32 value ); BOOL testResetDialOutLoadCellWeightOverride( U32 sensor );