Index: firmware/App/Controllers/BalancingChamber.c =================================================================== diff -u -r3643a2e648ab2b216fd08579e56bdc02fb94836d -r58e5721497be626929b6cdc0c5187e18b34bbaad --- firmware/App/Controllers/BalancingChamber.c (.../BalancingChamber.c) (revision 3643a2e648ab2b216fd08579e56bdc02fb94836d) +++ firmware/App/Controllers/BalancingChamber.c (.../BalancingChamber.c) (revision 58e5721497be626929b6cdc0c5187e18b34bbaad) @@ -419,7 +419,7 @@ // Check fresh and spent dialysate pressure in range or BC switch only flag set if ( ( ( freshDialPressure >= FRESH_DIAL_PRESSURE_MIN_PSIG ) && ( freshDialPressure <= FRESH_DIAL_PRESSURE_MAX_PSIG ) ) && ( ( spentDialPressure >= SPENT_DIAL_PRESSURE_MIN_PSIG ) && ( spentDialPressure <= SPENT_DIAL_PRESSURE_MAX_PSIG ) ) || - ( TRUE == getBalChamberSwitchingOnlyStatus() ) || ( TRUE == getTestConfigStatus( TEST_CONFIG_DISABLE_BC_PRESSURE_ALARMS ) ) ) + ( TRUE == getBalChamberSwitchingOnlyStatus() ) || ( TRUE == getTestConfigStatus( TEST_CONFIG_DD_DISABLE_BC_PRESSURE_ALARMS ) ) ) { //Valve control for state 1 fill valveControlForBCState1FillStart(); @@ -441,7 +441,7 @@ } else { - if ( getTestConfigStatus( TEST_CONFIG_DISABLE_BC_PRESSURE_ALARMS ) != TRUE ) + if ( getTestConfigStatus( TEST_CONFIG_DD_DISABLE_BC_PRESSURE_ALARMS ) != TRUE ) { //Alarm when pressure is not in range SET_ALARM_WITH_2_F32_DATA( ALARM_ID_DD_BC_STATE1_FILL_START_PRESSURE_OUT_OF_RANGE, freshDialPressure, spentDialPressure ); @@ -517,7 +517,7 @@ spentDialPressure = getFilteredPressure( D51_PRES ); // Check fresh and spent dialysate pressure back in range to indicate fill complete. - if ( getTestConfigStatus( TEST_CONFIG_DISABLE_BC_PRESSURE_ALARMS ) != TRUE ) + if ( getTestConfigStatus( TEST_CONFIG_DD_DISABLE_BC_PRESSURE_ALARMS ) != TRUE ) { if ( ( ( freshDialPressure >= FRESH_DIAL_PRESSURE_MIN_PSIG ) && ( freshDialPressure <= FRESH_DIAL_PRESSURE_MAX_PSIG ) ) && ( ( spentDialPressure >= SPENT_DIAL_PRESSURE_MIN_PSIG ) && ( spentDialPressure <= SPENT_DIAL_PRESSURE_MAX_PSIG ) ) ) @@ -573,7 +573,7 @@ if ( TRUE != getBalChamberSwitchingOnlyStatus() ) { - if ( getTestConfigStatus( TEST_CONFIG_DISABLE_BC_PRESSURE_ALARMS ) != TRUE ) + if ( getTestConfigStatus( TEST_CONFIG_DD_DISABLE_BC_PRESSURE_ALARMS ) != TRUE ) { if ( ( TRUE != isPressureDroppedDuringFill ) && ( TRUE == isFirstCycleBCSwitchingCompleted ) ) { @@ -633,7 +633,7 @@ // Check fresh and spent dialysate pressure in range if ( ( ( freshDialPressure >= FRESH_DIAL_PRESSURE_MIN_PSIG ) && ( freshDialPressure <= FRESH_DIAL_PRESSURE_MAX_PSIG ) ) && ( ( spentDialPressure >= SPENT_DIAL_PRESSURE_MIN_PSIG ) && ( spentDialPressure <= SPENT_DIAL_PRESSURE_MAX_PSIG ) ) || - ( TRUE == getBalChamberSwitchingOnlyStatus() ) || ( TRUE == getTestConfigStatus( TEST_CONFIG_DISABLE_BC_PRESSURE_ALARMS ) ) ) + ( TRUE == getBalChamberSwitchingOnlyStatus() ) || ( TRUE == getTestConfigStatus( TEST_CONFIG_DD_DISABLE_BC_PRESSURE_ALARMS ) ) ) { // Valve control for state 2 fill valveControlForBCState2FillStart(); @@ -655,7 +655,7 @@ } else { - if ( getTestConfigStatus( TEST_CONFIG_DISABLE_BC_PRESSURE_ALARMS ) != TRUE ) + if ( getTestConfigStatus( TEST_CONFIG_DD_DISABLE_BC_PRESSURE_ALARMS ) != TRUE ) { //Alarm when pressure is not in range SET_ALARM_WITH_2_F32_DATA( ALARM_ID_DD_BC_STATE2_FILL_START_PRESSURE_OUT_OF_RANGE, freshDialPressure, spentDialPressure ); @@ -680,7 +680,7 @@ spentDialPressure = getFilteredPressure( D51_PRES ); // Check fresh and spent dialysate pressure back in range to indicate fill complete. - if ( getTestConfigStatus( TEST_CONFIG_DISABLE_BC_PRESSURE_ALARMS ) != TRUE ) + if ( getTestConfigStatus( TEST_CONFIG_DD_DISABLE_BC_PRESSURE_ALARMS ) != TRUE ) { if ( ( ( freshDialPressure >= FRESH_DIAL_PRESSURE_MIN_PSIG ) && ( freshDialPressure <= FRESH_DIAL_PRESSURE_MAX_PSIG ) ) && ( ( spentDialPressure >= SPENT_DIAL_PRESSURE_MIN_PSIG ) && ( spentDialPressure <= SPENT_DIAL_PRESSURE_MAX_PSIG ) ) ) @@ -737,7 +737,7 @@ // Pressure alarm check if ( TRUE != getBalChamberSwitchingOnlyStatus() ) { - if ( getTestConfigStatus( TEST_CONFIG_DISABLE_BC_PRESSURE_ALARMS ) != TRUE ) + if ( getTestConfigStatus( TEST_CONFIG_DD_DISABLE_BC_PRESSURE_ALARMS ) != TRUE ) { if ( ( TRUE != isPressureDroppedDuringFill ) && ( TRUE == isFirstCycleBCSwitchingCompleted ) ) { Index: firmware/App/Controllers/Valves.c =================================================================== diff -u -rf0ae785e5ba1af838da39c7e2be6e04e6463eda6 -r58e5721497be626929b6cdc0c5187e18b34bbaad --- firmware/App/Controllers/Valves.c (.../Valves.c) (revision f0ae785e5ba1af838da39c7e2be6e04e6463eda6) +++ firmware/App/Controllers/Valves.c (.../Valves.c) (revision 58e5721497be626929b6cdc0c5187e18b34bbaad) @@ -7,8 +7,8 @@ * * @file Valves.c * -* @author (last) Michael Garthwaite -* @date (last) 12-Dec-2025 +* @author (last) “rkallala” +* @date (last) 28-Jan-2026 * * @author (original) Vinayakam Mani * @date (original) 26-Aug-2024 @@ -124,6 +124,7 @@ fpValveStatesPublicationTimerCounter = DATA_PUBLISH_COUNTER_START_COUNT; // reset valves states publication timer readCommandedValveStates(); + // TODO set FPGA PWM after finalizing the decision on valve strike and hold behavior // initially set valve PWM configuration and enable //setFPGAPWMConfigurations(); @@ -331,7 +332,7 @@ ( D19_VALV == valveID ) || ( D25_VALV == valveID ) || ( D21_VALV == valveID ) || ( D24_VALV == valveID ) || ( D20_VALV == valveID ) || ( D26_VALV == valveID ) || ( D22_VALV == valveID ) || ( D80_VALV == valveID ) || ( D81_VALV == valveID ) || ( D79_PMP_VALV == valveID ) || ( P11_VALV == valveID ) || ( P33_VALV == valveID ) || ( P34_VALV == valveID ) || ( P37_VALV == valveID ) || ( P6_VALV == valveID ) || - ( M12_VALV == valveID ) || ( P39_VALV == valveID ) || ( D83_VALV == valveID ) || ( D91_VALV == valveID ) || ( D100_VALV == valveID ) ) + ( M12_VALV == valveID ) || ( P39_VALV == valveID ) || ( D83_VALV == valveID ) || ( D91_VALV == valveID ) || ( D100_VALV == valveID ) || ( D85_VALV == valveID ) ) { result = TRUE; } Index: firmware/App/DDCommon.h =================================================================== diff -u -rd3027ebcaa8497e96d9d8eb3d801e64a5751aaa1 -r58e5721497be626929b6cdc0c5187e18b34bbaad --- firmware/App/DDCommon.h (.../DDCommon.h) (revision d3027ebcaa8497e96d9d8eb3d801e64a5751aaa1) +++ firmware/App/DDCommon.h (.../DDCommon.h) (revision 58e5721497be626929b6cdc0c5187e18b34bbaad) @@ -7,8 +7,8 @@ * * @file DDCommon.h * -* @author (last) Vinayakam Mani -* @date (last) 14-Nov-2025 +* @author (last) Michael Garthwaite +* @date (last) 02-Feb-2026 * * @author (original) Vinayakam Mani * @date (original) 07-Aug-2024 @@ -45,9 +45,6 @@ //Uncomment below once characterization/study completed //#define ENABLE_ALARM_2 -//Uncomment below for spent chamber filling -//#define __SPENT_CHAMBER_FILL__ 1 - //Uncomment below for bicarb chamber filling //#define __BICARB_CHAMBER_FILL__ 1 @@ -60,6 +57,9 @@ //Uncomment below to disable heaters debug message #define __HEATERS_DEBUG__ 1 +//Uncomment below to disable Teensy conductivity driver +#define __TEENSY_CONDUCTIVITY_DRIVER__ 1 + #include #include #endif Index: firmware/App/Modes/ModeGenDialysate.c =================================================================== diff -u -r3643a2e648ab2b216fd08579e56bdc02fb94836d -r58e5721497be626929b6cdc0c5187e18b34bbaad --- firmware/App/Modes/ModeGenDialysate.c (.../ModeGenDialysate.c) (revision 3643a2e648ab2b216fd08579e56bdc02fb94836d) +++ firmware/App/Modes/ModeGenDialysate.c (.../ModeGenDialysate.c) (revision 58e5721497be626929b6cdc0c5187e18b34bbaad) @@ -7,8 +7,8 @@ * * @file ModeGenDialysate.c * -* @author (last) Vinayakam Mani -* @date (last) 14-Nov-2025 +* @author (last) Michael Garthwaite +* @date (last) 29-Jan-2026 * * @author (original) Vinayakam Mani * @date (original) 06-Nov-2024 @@ -608,15 +608,16 @@ execBalancingChamberControl(); } -#ifdef __SPENT_CHAMBER_FILL__ - if ( ( TRUE == pendingSpentChamberFill ) && ( FALSE == balancingChambFillInProgress ) ) + if ( getTestConfigStatus( TEST_CONFIG_DD_ENABLE_SPENT_CHAMBER_H_FILL ) == TRUE ) { - setModeGenDStateTransition( DD_GEND_SPENT_CHAMBER_FILL_STATE ); - pendingSpentChamberFill = FALSE; - isDialDeliveryInProgress.data = FALSE; - state = DD_GEND_SPENT_CHAMBER_FILL_STATE; + if ( ( TRUE == pendingSpentChamberFill ) && ( FALSE == balancingChambFillInProgress ) ) + { + setModeGenDStateTransition( DD_GEND_SPENT_CHAMBER_FILL_STATE ); + pendingSpentChamberFill = FALSE; + isDialDeliveryInProgress.data = FALSE; + state = DD_GEND_SPENT_CHAMBER_FILL_STATE; + } } -#endif #ifdef __BICARB_CHAMBER_FILL__ if ( ( TRUE == pendingBicarbChamberFill ) && ( FALSE == balancingChambFillInProgress ) ) { @@ -661,15 +662,16 @@ isDialDeliveryInProgress.data = FALSE; state = DD_GEND_DIALYSATE_BYPASS_STATE; } -#ifdef __SPENT_CHAMBER_FILL__ - else if ( ( TRUE == pendingSpentChamberFill ) && ( FALSE == balancingChambFillInProgress ) ) + else if ( getTestConfigStatus( TEST_CONFIG_DD_ENABLE_SPENT_CHAMBER_H_FILL ) == TRUE ) { - setModeGenDStateTransition( DD_GEND_SPENT_CHAMBER_FILL_STATE ); - pendingSpentChamberFill = FALSE; - isDialDeliveryInProgress.data = FALSE; - state = DD_GEND_SPENT_CHAMBER_FILL_STATE; + if ( ( TRUE == pendingSpentChamberFill ) && ( FALSE == balancingChambFillInProgress ) ) + { + setModeGenDStateTransition( DD_GEND_SPENT_CHAMBER_FILL_STATE ); + pendingSpentChamberFill = FALSE; + isDialDeliveryInProgress.data = FALSE; + state = DD_GEND_SPENT_CHAMBER_FILL_STATE; + } } -#endif #ifdef __BICARB_CHAMBER_FILL__ else if ( ( TRUE == pendingBicarbChamberFill ) && ( FALSE == balancingChambFillInProgress ) ) { @@ -970,7 +972,7 @@ *************************************************************************/ static void checkDialysateTemperature( void ) { - F32 dialysateTemp = getConductivityTemperatureValue( D29_COND ); // Assuming the closest temp sensor to dialyzer + F32 dialysateTemp = getFilteredConductivitySensorTemperature( D29_COND ); // Assuming the closest temp sensor to dialyzer F32 targetTemp = getTDTargetDialysateTemperature(); BOOL isDialTempAboveHighSafety = ( dialysateTemp >= DIALYSATE_TEMP_UPPER_MAX_SAFETY_LIMIT_C ? TRUE : FALSE ); BOOL isDialTempAboveLowSafety = ( dialysateTemp > DIALYSATE_TEMP_UPPER_SAFETY_LIMIT_C ? TRUE : FALSE ); Index: firmware/App/Monitors/Level.c =================================================================== diff -u -rae88c96592543ce53f30a3a5a18964c5198d5250 -r58e5721497be626929b6cdc0c5187e18b34bbaad --- firmware/App/Monitors/Level.c (.../Level.c) (revision ae88c96592543ce53f30a3a5a18964c5198d5250) +++ firmware/App/Monitors/Level.c (.../Level.c) (revision 58e5721497be626929b6cdc0c5187e18b34bbaad) @@ -7,8 +7,8 @@ * * @file Level.c * -* @author (last) Vinayakam Mani -* @date (last) 21-Oct-2025 +* @author (last) Varshini Nagabooshanam +* @date (last) 26-Jan-2026 * * @author (original) Vinayakam Mani * @date (original) 14-Oct-2024 @@ -270,7 +270,7 @@ if ( D6_LEVL == levelId ) { levelStatus = getFPGAD6LevelStatus(); - if ( getTestConfigStatus( TEST_CONFIG_ENABLE_BETA_1_0_HW ) != TRUE ) + if ( getTestConfigStatus( TEST_CONFIG_DD_FP_ENABLE_BETA_1_0_HW ) != TRUE ) { // Beta 1.9 behavior if ( FPGA_LEVEL_EMPTY == levelStatus ) @@ -322,7 +322,7 @@ { levelStatus = getFPGAP25FloaterState(); - if ( getTestConfigStatus( TEST_CONFIG_ENABLE_BETA_1_0_HW ) != TRUE ) + if ( getTestConfigStatus( TEST_CONFIG_DD_FP_ENABLE_BETA_1_0_HW ) != TRUE ) { // Beta 1.9 behavior if ( FPGA_LEVEL_EMPTY == levelStatus ) Index: firmware/App/Services/AlarmMgmtSWFaults.h =================================================================== diff -u -r3643a2e648ab2b216fd08579e56bdc02fb94836d -r58e5721497be626929b6cdc0c5187e18b34bbaad --- firmware/App/Services/AlarmMgmtSWFaults.h (.../AlarmMgmtSWFaults.h) (revision 3643a2e648ab2b216fd08579e56bdc02fb94836d) +++ firmware/App/Services/AlarmMgmtSWFaults.h (.../AlarmMgmtSWFaults.h) (revision 58e5721497be626929b6cdc0c5187e18b34bbaad) @@ -7,8 +7,8 @@ * * @file AlarmMgmtSWFaults.h * -* @author (last) Vinayakam Mani -* @date (last) 02-Oct-2025 +* @author (last) Michael Garthwaite +* @date (last) 27-Jan-2026 * * @author (original) Vinayakam Mani * @date (original) 07-Aug-2024 @@ -148,8 +148,9 @@ SW_FAULT_ID_VOLTAGES_INVALID_SIGNAL = 117, SW_FAULT_ID_RINSE_PUMP_INVALID_EXEC_STATE = 118, SW_FAULT_ID_RINSE_PUMP_INVALID_STATE1 = 119, - SW_FAULT_ID_DRY_BICART_FILL_INVALID_EXEC_STATE = 120, - SW_FAULT_ID_BICARB_CHAMBER_FILL_INVALID_EXEC_STATE = 121, + SW_FAULT_ID_CONDUCTIVITY_SENOR_INVALID_STATE = 120, + SW_FAULT_ID_DRY_BICART_FILL_INVALID_EXEC_STATE = 121, + SW_FAULT_ID_BICARB_CHAMBER_FILL_INVALID_EXEC_STATE = 122, NUM_OF_SW_FAULT_IDS } DD_SW_FAULT_ID_T; @@ -191,7 +192,7 @@ FP_FAULT_ID_INVALID_ALARM_ID_REFERENCED1 = 32, FP_FAULT_ID_INVALID_ALARM_ID_REFERENCED2 = 33, FP_FAULT_ID_FPGA_INVALID_STATE = 34, - FP_FAULT_ID_ALARM_MGMT_INVALID_ALARM_TO_GET_PROPS = 35, + FP_FAULT_ID_ALARM_MGMFP_FAULT_ID_FP_INVALID_PUMP_DUTY_CYCLE_SELECTEDT_INVALID_ALARM_TO_GET_PROPS = 35, FP_FAULT_ID_FPGA_WRITE_CMD_TOO_MUCH_DATA = 36, FP_FAULT_ID_FPGA_WRITE_RSP_TOO_MUCH_DATA = 37, FP_FAULT_ID_FPGA_READ_CMD_TOO_MUCH_DATA = 38, Index: firmware/App/Services/Messaging.c =================================================================== diff -u -rae88c96592543ce53f30a3a5a18964c5198d5250 -r58e5721497be626929b6cdc0c5187e18b34bbaad --- firmware/App/Services/Messaging.c (.../Messaging.c) (revision ae88c96592543ce53f30a3a5a18964c5198d5250) +++ firmware/App/Services/Messaging.c (.../Messaging.c) (revision 58e5721497be626929b6cdc0c5187e18b34bbaad) @@ -7,8 +7,8 @@ * * @file Messaging.c * -* @author (last) “rkallala” -* @date (last) 16-Jan-2026 +* @author (last) Michael Garthwaite +* @date (last) 29-Jan-2026 * * @author (original) Vinayakam Mani * @date (original) 07-Aug-2024 @@ -129,11 +129,18 @@ { MSG_ID_DD_PRESSURE_SENSOR_PUBLISH_INTERVAL_OVERRIDE_REQUEST, &testDDPressureSensorDataPublishIntervalOverride }, { MSG_ID_DD_PRESSURE_SENSOR_FILTER_READINGS_OVERRIDE_REQUEST, &testDDPressureSensorFilteredReadingsOverride }, { MSG_ID_DD_PRESSURE_SENSOR_FILTER_TEMPERATURE_OVERRIDE_REQUEST, &testDDPressureSensorFilteredTemperatureReadingsOverride }, +#ifndef __TEENSY_CONDUCTIVITY_DRIVER__ { MSG_ID_DD_CONDUCTIVITY_SENSOR_READINGS_OVERRIDE_REQUEST, &testDDConductivitySensorReadingsOverride }, { MSG_ID_DD_CONDUCTIVITY_SENSOR_TEMPERATURE_OVERRIDE_REQUEST, &testDDConductivitySensorTemperatureReadingsOverride }, { MSG_ID_DD_CONDUCTIVITY_SENSOR_READ_COUNTER_OVERRIDE_REQUEST, &testDDConductivitySensorReadCounterOverride }, { MSG_ID_DD_CONDUCTIVITY_SENSOR_ERROR_COUNTER_OVERRIDE_REQUEST, &testDDConductivitySensorErrorCounterOverride }, { MSG_ID_DD_CONDUCTIVITY_SENSOR_PUBLISH_INTERVAL_OVERRIDE_REQUEST, &testDDConductivitySensorDataPublishIntervalOverride }, + { MSG_ID_FP_CONDUCTIVITY_PUBLISH_INTERVAL_OVERRIDE_REQUEST, &testFPConductivitySensorDataPublishIntervalOverride }, + { MSG_ID_FP_CONDUCTIVITY_OVERRIDE_REQUEST, &testFPConductivitySensorReadingsOverride }, + { MSG_ID_FP_CONDUCTIVITY_TEMP_OVERRIDE_REQUEST, &testFPConductivitySensorTemperatureReadingsOverride }, + { MSG_ID_FP_CONDUCTIVITY_READ_COUNT_OVERRIDE_REQUEST, &testFPConductivitySensorReadCounterOverride }, + { MSG_ID_FP_CONDUCTIVITY_ERROR_COUNT_OVERRIDE_REQUEST, &testFPConductivitySensorErrorCounterOverride }, +#endif { MSG_ID_DD_CONCENTRATE_PUMP_PUBLISH_INTERVAL_OVERRIDE_REQUEST, &testConcentratePumpDataPublishIntervalOverride }, { MSG_ID_DD_CONCENTRATE_PUMP_TARGET_SPEED_OVERRIDE_REQUEST, &testConcentratePumpTargetSpeedOverride }, { MSG_ID_DD_CONCENTRATE_PUMP_MEASURED_SPEED_OVERRIDE_REQUEST, &testConcentratePumpMeasuredSpeedOverride }, @@ -230,11 +237,6 @@ { MSG_ID_FP_FILTERED_FLOW_TEMP_OVERRIDE_REQUEST, &testFlowSensorFilteredTemperatureReadingsOverride }, { MSG_ID_FP_ALARM_STATE_OVERRIDE_REQUEST, &testAlarmStateOverride }, { MSG_ID_FP_ALARM_CLEAR_ALL_ALARMS_REQUEST, &testFPClearAllAlarms }, - { MSG_ID_FP_CONDUCTIVITY_PUBLISH_INTERVAL_OVERRIDE_REQUEST, &testFPConductivitySensorDataPublishIntervalOverride }, - { MSG_ID_FP_CONDUCTIVITY_OVERRIDE_REQUEST, &testFPConductivitySensorReadingsOverride }, - { MSG_ID_FP_CONDUCTIVITY_TEMP_OVERRIDE_REQUEST, &testFPConductivitySensorTemperatureReadingsOverride }, - { MSG_ID_FP_CONDUCTIVITY_READ_COUNT_OVERRIDE_REQUEST, &testFPConductivitySensorReadCounterOverride }, - { MSG_ID_FP_CONDUCTIVITY_ERROR_COUNT_OVERRIDE_REQUEST, &testFPConductivitySensorErrorCounterOverride }, { MSG_ID_FP_FILTERED_COND_SENSOR_READINGS_OVERRIDE_REQUEST, &testFPConductivitySensorFilteredReadingsOverride }, { MSG_ID_FP_FILTERED_COND_SENSOR_TEMPERATURE_OVERRIDE_REQUEST, &testFPConductivitySensorFilteredTemperatureReadingsOverride }, { MSG_ID_DD_VOLTAGE_DATA_PUBLISH_INTERVAL_OVERRIDE_REQUEST, &testVoltageDataPublishIntervalOverride }, @@ -257,6 +259,22 @@ { MSG_ID_FP_SET_TEST_CONFIGURATION, &testSetTestConfiguration }, { MSG_ID_FP_GET_TEST_CONFIGURATION, &testGetTestConfiguration }, { MSG_ID_FP_RESET_ALL_TEST_CONFIGURATIONS, &testResetAllTestConfigurations }, + { MSG_ID_FP_RO_GET_CALCULATED_DUTY_CYCLE_REQUEST, &testROGetCurrentCalculatedDutyCycle }, + { MSG_ID_FP_FLUSH_FILTER_PUBLISH_INTERVAL_OVERRIDE_REQUEST, &testFilterFlushDataPublishIntervalOverride }, + { MSG_ID_FP_FLUSH_FILTER_TIMER_OVERRIDE_REQUEST, &testFilterFlushTimerOverride }, + { MSG_ID_FP_FLUSH_PERMEATE_PUBLISH_INTERVAL_OVERRIDE_REQUEST, &testPermeateFlushDataPublishIntervalOverride }, + { MSG_ID_FP_FLUSH_PERMEATE_TIMER_OVERRIDE_REQUEST, &testPermeateFlushTimerOverride }, + { MSG_ID_FP_FLUSH_PERMEATE_ALARM_TIMER_OVERRIDE_REQUEST, &testPermeateFlushAlarmTimerOverride }, + { MSG_ID_FP_FLUSH_CONCENTRATE_PUBLISH_INTERVAL_OVERRIDE_REQUEST, &testConcentrateFlushDataPublishIntervalOverride }, + { MSG_ID_FP_FLUSH_CONCENTRATE_TIMER_OVERRIDE_REQUEST, &testConcentrateFlushTimerOverride }, + { MSG_ID_FP_DEF_FLUSH_FILTER_PUBLISH_INTERVAL_OVERRIDE_REQUEST, &testFilterFlushDefDataPublishIntervalOverride }, + { MSG_ID_FP_DEF_FLUSH_FILTER_TIMER_OVERRIDE_REQUEST, &testFilterFlushDefTimerOverride }, + { MSG_ID_FP_DEF_PRE_GEN_PUBLISH_INTERVAL_OVERRIDE_REQUEST, &testPreGenPermeateDefDataPublishIntervalOverride}, + { MSG_ID_FP_DEF_GEN_PUBLISH_INTERVAL_OVERRIDE_REQUEST, &testGenPermeateDefDataPublishIntervalOverride}, + { MSG_ID_FP_DEF_STATUS_REQUEST, &testGetFPDefeaturedStatus }, +#ifdef __TEENSY_CONDUCTIVITY_DRIVER__ + { MSG_ID_DD_SET_CONDUCTIVITY_MODEL_REQUEST, &testSetTeenyConductivityModel }, +#endif }; /// Calculation for number of entries in the incoming message function handler look-up table.