Index: firmware/App/Controllers/LoadCell.c =================================================================== diff -u -re6453f6070bec116e1f1e3a553eb2c6a7aac1f9d -r6bf297b685487355fd581f221c59cf9d5a4fa53e --- firmware/App/Controllers/LoadCell.c (.../LoadCell.c) (revision e6453f6070bec116e1f1e3a553eb2c6a7aac1f9d) +++ firmware/App/Controllers/LoadCell.c (.../LoadCell.c) (revision 6bf297b685487355fd581f221c59cf9d5a4fa53e) @@ -165,7 +165,7 @@ void execLoadCell( void ) { LOAD_CELL_ID_T sensorId; - LOAD_CELL_ID_T sensorInAlarm = LOAD_CELL_RESERVOIR_1_PRIMARY; + LOAD_CELL_ID_T sensorInAlarm = LOAD_CELL_FIRST; U32 a1 = getFPGALoadCellA1(); U32 a2 = getFPGALoadCellA2(); U32 b1 = getFPGALoadCellB1(); @@ -212,7 +212,7 @@ } // Rolling average of last 100 raw samples in small filter - for ( sensorId = LOAD_CELL_RESERVOIR_1_PRIMARY; sensorId < NUM_OF_LOAD_CELLS; ++sensorId ) + for ( sensorId = LOAD_CELL_FIRST; sensorId < NUM_OF_LOAD_CELLS; ++sensorId ) { F32 loadCell = (F32)loadcells[ sensorId ].rawReading * ADC2GRAM; @@ -257,7 +257,7 @@ // filter every 100ms if ( ++loadCellFilterTimerCount >= LOAD_CELL_REPORT_PERIOD ) { - for ( sensorId = LOAD_CELL_RESERVOIR_1_PRIMARY; sensorId < NUM_OF_LOAD_CELLS; ++sensorId ) + for ( sensorId = LOAD_CELL_FIRST; sensorId < NUM_OF_LOAD_CELLS; ++sensorId ) { // Update large filter with new small filter weight sample loadcells[ sensorId ].largeFilterTotal -= loadcells[ sensorId ].largeFilterReadings[ largeReadingsIdx ]; Index: firmware/App/Controllers/Pressures.c =================================================================== diff -u -re6453f6070bec116e1f1e3a553eb2c6a7aac1f9d -r6bf297b685487355fd581f221c59cf9d5a4fa53e --- firmware/App/Controllers/Pressures.c (.../Pressures.c) (revision e6453f6070bec116e1f1e3a553eb2c6a7aac1f9d) +++ firmware/App/Controllers/Pressures.c (.../Pressures.c) (revision 6bf297b685487355fd581f221c59cf9d5a4fa53e) @@ -556,13 +556,13 @@ static void monitorPressureSensors( void ) { PRESSURE_SENSORS_T sensorId; - PRESSURE_SENSORS_T sensorInAlarm = PRESSURE_SENSOR_RO_PUMP_INLET; + PRESSURE_SENSORS_T sensorInAlarm = PRESSURE_FIRST; F32 pressureReading = 0.0F; BOOL isBaroOutOfRange = FALSE; BOOL isPressureOutOfRange = FALSE; F32 alarmPressure = 0.0F; - for ( sensorId = PRESSURE_SENSOR_RO_PUMP_INLET; sensorId < NUM_OF_PRESSURE_SENSORS; sensorId++ ) + for ( sensorId = PRESSURE_FIRST; sensorId < NUM_OF_PRESSURE_SENSORS; sensorId++ ) { switch ( sensorId ) { Index: firmware/App/Controllers/Pressures.h =================================================================== diff -u -r6499ea25921fcf67826fa0c35bb03caf411ba542 -r6bf297b685487355fd581f221c59cf9d5a4fa53e --- firmware/App/Controllers/Pressures.h (.../Pressures.h) (revision 6499ea25921fcf67826fa0c35bb03caf411ba542) +++ firmware/App/Controllers/Pressures.h (.../Pressures.h) (revision 6bf297b685487355fd581f221c59cf9d5a4fa53e) @@ -46,12 +46,13 @@ /// Enumeration of pressure sensors monitored by this module. typedef enum PressureSensors { - PRESSURE_SENSOR_RO_PUMP_INLET = 0, ///< RO pump pressure sensor - PRESSURE_SENSOR_RO_PUMP_OUTLET, ///< RO pump pressure sensor - PRESSURE_SENSOR_DRAIN_PUMP_INLET, ///< drain pump inlet pressure - PRESSURE_SENSOR_DRAIN_PUMP_OUTLET, ///< drain pump outlet pressure - PRESSURE_SENSOR_BAROMETRIC, ///< Barometric pressure sensor - NUM_OF_PRESSURE_SENSORS ///< Number of pressure sensors + PRESSURE_FIRST = 0, ///< First pressure to scan + PRESSURE_SENSOR_RO_PUMP_INLET = PRESSURE_FIRST, ///< RO pump pressure sensor + PRESSURE_SENSOR_RO_PUMP_OUTLET, ///< RO pump pressure sensor + PRESSURE_SENSOR_DRAIN_PUMP_INLET, ///< drain pump inlet pressure + PRESSURE_SENSOR_DRAIN_PUMP_OUTLET, ///< drain pump outlet pressure + PRESSURE_SENSOR_BAROMETRIC, ///< Barometric pressure sensor + NUM_OF_PRESSURE_SENSORS ///< Number of pressure sensors } PRESSURE_SENSORS_T; // ********** public function prototypes ********** Index: firmware/App/Controllers/TemperatureSensors.c =================================================================== diff -u -re6453f6070bec116e1f1e3a553eb2c6a7aac1f9d -r6bf297b685487355fd581f221c59cf9d5a4fa53e --- firmware/App/Controllers/TemperatureSensors.c (.../TemperatureSensors.c) (revision e6453f6070bec116e1f1e3a553eb2c6a7aac1f9d) +++ firmware/App/Controllers/TemperatureSensors.c (.../TemperatureSensors.c) (revision 6bf297b685487355fd581f221c59cf9d5a4fa53e) @@ -1026,12 +1026,12 @@ #endif { TEMPERATURE_SENSORS_T sensorId; - TEMPERATURE_SENSORS_T sensorInAlarm = TEMPSENSORS_INLET_PRIMARY_HEATER; + TEMPERATURE_SENSORS_T sensorInAlarm = TEMPSENSORS_FIRST; F32 temperature = 0.0F; BOOL isTemperatureOutOfRange = FALSE; F32 alarmTemperature = 0.0F; - for ( sensorId = TEMPSENSORS_INLET_PRIMARY_HEATER; sensorId < NUM_OF_TEMPERATURE_SENSORS; sensorId++ ) + for ( sensorId = TEMPSENSORS_FIRST; sensorId < NUM_OF_TEMPERATURE_SENSORS; sensorId++ ) { switch ( sensorId ) { Index: firmware/App/Controllers/TemperatureSensors.h =================================================================== diff -u -r6499ea25921fcf67826fa0c35bb03caf411ba542 -r6bf297b685487355fd581f221c59cf9d5a4fa53e --- firmware/App/Controllers/TemperatureSensors.h (.../TemperatureSensors.h) (revision 6499ea25921fcf67826fa0c35bb03caf411ba542) +++ firmware/App/Controllers/TemperatureSensors.h (.../TemperatureSensors.h) (revision 6bf297b685487355fd581f221c59cf9d5a4fa53e) @@ -35,28 +35,29 @@ /// Enumeration of temperature sensors. typedef enum SENSORS_NAME { - TEMPSENSORS_INLET_PRIMARY_HEATER = 0, ///< Inlet primary heaters temperature sensor - TEMPSENSORS_HEAT_DISINFECT, ///< Heat disinfect temperature sensor - TEMPSENSORS_OUTLET_PRIMARY_HEATER, ///< Outlet primary heaters temperature sensor - TEMPSENSORS_CONDUCTIVITY_SENSOR_1, ///< Conductivity sensor 1 temperature sensor - TEMPSENSORS_CONDUCTIVITY_SENSOR_2, ///< Conductivity sensor 2 temperature sensor - TEMPSENSORS_OUTLET_REDUNDANT, ///< Outlet redundant temperature sensor - TEMPSENSORS_INLET_DIALYSATE, ///< Inlet dialysate temperature sensor - TEMPSENSORS_PRIMARY_HEATER_THERMO_COUPLE, ///< Primary heaters internal temperature sensor - TEMPSENSORS_TRIMMER_HEATER_THERMO_COUPLE, ///< Trimmer heater internal temperature sensor - TEMPSENSORS_PRIMARY_HEATER_COLD_JUNCTION, ///< Primary heaters cold junction temperature sensor - TEMPSENSORS_TRIMMER_HEATER_COLD_JUNCTION, ///< Trimmer heater cold junction temperature sensor - TEMPSENSORS_PRIMARY_HEATER_INTERNAL, ///< Primary heaters internal temperature - TEMPSENSORS_TRIMMER_HEATER_INTERNAL, ///< Trimmer heater internal temperature - TEMPSENSORS_FPGA_BOARD_SENSOR, ///< FPGA board temperature sensor - TEMPSENSORS_LOAD_CELL_A1_B1, ///< Load cell A1/B1 temperature sensor - TEMPSENSORS_LOAD_CELL_A2_B2, ///< Load cell A2/B2 temperature sensor - TEMPSENSORS_INTERNAL_TRO_RTD, ///< TRo RTD internal temperature sensor - TEMPSENSORS_INTERNAL_TDI_RTD, ///< TDi RTD internal temperature sensor - TEMPSENSORS_INTERNAL_THD_RTD, ///< THd RTD internal temperature sensor - TEMPSENSORS_INTERNAL_COND_TEMP_SENSOR, ///< Conductivity sensor temperature sensor - TEMPSENSORS_BAROMETRIC_TEMP_SENSOR, ///< Barometric temperature sensor - NUM_OF_TEMPERATURE_SENSORS ///< Number of temperature sensors + TEMPSENSORS_FIRST = 0, ///< First temp sensor to scan + TEMPSENSORS_INLET_PRIMARY_HEATER = TEMPSENSORS_FIRST, ///< Inlet primary heaters temperature sensor + TEMPSENSORS_HEAT_DISINFECT, ///< Heat disinfect temperature sensor + TEMPSENSORS_OUTLET_PRIMARY_HEATER, ///< Outlet primary heaters temperature sensor + TEMPSENSORS_CONDUCTIVITY_SENSOR_1, ///< Conductivity sensor 1 temperature sensor + TEMPSENSORS_CONDUCTIVITY_SENSOR_2, ///< Conductivity sensor 2 temperature sensor + TEMPSENSORS_OUTLET_REDUNDANT, ///< Outlet redundant temperature sensor + TEMPSENSORS_INLET_DIALYSATE, ///< Inlet dialysate temperature sensor + TEMPSENSORS_PRIMARY_HEATER_THERMO_COUPLE, ///< Primary heaters internal temperature sensor + TEMPSENSORS_TRIMMER_HEATER_THERMO_COUPLE, ///< Trimmer heater internal temperature sensor + TEMPSENSORS_PRIMARY_HEATER_COLD_JUNCTION, ///< Primary heaters cold junction temperature sensor + TEMPSENSORS_TRIMMER_HEATER_COLD_JUNCTION, ///< Trimmer heater cold junction temperature sensor + TEMPSENSORS_PRIMARY_HEATER_INTERNAL, ///< Primary heaters internal temperature + TEMPSENSORS_TRIMMER_HEATER_INTERNAL, ///< Trimmer heater internal temperature + TEMPSENSORS_FPGA_BOARD_SENSOR, ///< FPGA board temperature sensor + TEMPSENSORS_LOAD_CELL_A1_B1, ///< Load cell A1/B1 temperature sensor + TEMPSENSORS_LOAD_CELL_A2_B2, ///< Load cell A2/B2 temperature sensor + TEMPSENSORS_INTERNAL_TRO_RTD, ///< TRo RTD internal temperature sensor + TEMPSENSORS_INTERNAL_TDI_RTD, ///< TDi RTD internal temperature sensor + TEMPSENSORS_INTERNAL_THD_RTD, ///< THd RTD internal temperature sensor + TEMPSENSORS_INTERNAL_COND_TEMP_SENSOR, ///< Conductivity sensor temperature sensor + TEMPSENSORS_BAROMETRIC_TEMP_SENSOR, ///< Barometric temperature sensor + NUM_OF_TEMPERATURE_SENSORS ///< Number of temperature sensors } TEMPERATURE_SENSORS_T; // ********** public function prototypes ********** Index: firmware/App/Controllers/Thermistors.c =================================================================== diff -u -re6453f6070bec116e1f1e3a553eb2c6a7aac1f9d -r6bf297b685487355fd581f221c59cf9d5a4fa53e --- firmware/App/Controllers/Thermistors.c (.../Thermistors.c) (revision e6453f6070bec116e1f1e3a553eb2c6a7aac1f9d) +++ firmware/App/Controllers/Thermistors.c (.../Thermistors.c) (revision 6bf297b685487355fd581f221c59cf9d5a4fa53e) @@ -270,12 +270,12 @@ static void monitorThermistors( void ) { THERMISTORS_TEMP_SENSORS_T sensorId; - THERMISTORS_TEMP_SENSORS_T sensorInAlarm = THERMISTOR_ONBOARD_NTC; + THERMISTORS_TEMP_SENSORS_T sensorInAlarm = THERMISTOR_FIRST; F32 temperature = 0.0F; BOOL isTempOutOfRange = FALSE; F32 alarmTemperature = 0.0F; - for ( sensorId = THERMISTOR_ONBOARD_NTC; sensorId < NUM_OF_THERMISTORS; sensorId++ ) + for ( sensorId = THERMISTOR_FIRST; sensorId < NUM_OF_THERMISTORS; sensorId++ ) { temperature = getThermistorTemperatureValue( sensorId ); @@ -335,11 +335,11 @@ // Voltage = ADC x (voltage reference) / (ADC bit resolution) F32 thermistorVoltage = adcValue * ( thermistorsStatus[ thermistor ].voltageReference / thermistorsStatus[ thermistor ].adcBitResolution ); - // Calculate the thermistor resistor by solving: thermistorVoltage = (3 x 10) / (10 + R(T)) + // Calculate the thermistor resistor voltage reference - current voltage (at 25 degrees C) F32 thermistorResistor = ( ( THERMISTOR_REFERENCE_RESISTOR_AT_25 * thermistorsStatus[ thermistor ].voltageReference ) - ( THERMISTOR_REFERENCE_RESISTOR_AT_25 * thermistorVoltage ) ) / thermistorVoltage; - // 1/T = Ln(thermistorResistor/10000)/3380 + 1/298 + // 1/T = Ln(thermistorResistor/THERMISTOR_REFERENCE_RESISTOR_AT_25)/THERMISTOR_BETA_VALUE + THERMISTOR_REF_TEMP_INV F32 invTemperature = ( logf( thermistorResistor / THERMISTOR_REFERENCE_RESISTOR_AT_25 ) / THERMISTOR_BETA_VALUE ) + THERMISTOR_REF_TEMP_INV; // Inverse the value to get the temperature in Kelvin and then convert it to Celsius Index: firmware/App/Controllers/Thermistors.h =================================================================== diff -u -r6499ea25921fcf67826fa0c35bb03caf411ba542 -r6bf297b685487355fd581f221c59cf9d5a4fa53e --- firmware/App/Controllers/Thermistors.h (.../Thermistors.h) (revision 6499ea25921fcf67826fa0c35bb03caf411ba542) +++ firmware/App/Controllers/Thermistors.h (.../Thermistors.h) (revision 6bf297b685487355fd581f221c59cf9d5a4fa53e) @@ -37,10 +37,11 @@ /// Enumeration of thermistors typedef enum DG_thermistors { - THERMISTOR_ONBOARD_NTC = 0, ///< Onboard thermistor - THERMISTOR_POWER_SUPPLY_1, ///< DG power supply 1 thermistor - THERMISTOR_POWER_SUPPLY_2, ///< DG power supply 2 thermistor - NUM_OF_THERMISTORS, ///< Number of thermistors + THERMISTOR_FIRST = 0, ///< First thermistor to scan + THERMISTOR_ONBOARD_NTC = THERMISTOR_FIRST, ///< Onboard thermistor + THERMISTOR_POWER_SUPPLY_1, ///< DG power supply 1 thermistor + THERMISTOR_POWER_SUPPLY_2, ///< DG power supply 2 thermistor + NUM_OF_THERMISTORS, ///< Number of thermistors } THERMISTORS_TEMP_SENSORS_T; /// Thermistors/temperature sensors data publish struct