Index: firmware/App/Controllers/DrainPump.c =================================================================== diff -u -rfcdecd8b2c6b086ddf4700ecc1892bd47aef08c1 -r7fe3d2932b501e323a6fb0eb47964b32da6798d9 --- firmware/App/Controllers/DrainPump.c (.../DrainPump.c) (revision fcdecd8b2c6b086ddf4700ecc1892bd47aef08c1) +++ firmware/App/Controllers/DrainPump.c (.../DrainPump.c) (revision 7fe3d2932b501e323a6fb0eb47964b32da6798d9) @@ -122,7 +122,7 @@ static F32 targetDrainPumpOutletFlowLPM; ///< Target outlet pressure for the drain pump. static U32 drainControlTimerCtr; ///< Determines when to perform control on drain pump. static BOOL hasClosedLoopBeenRequested; ///< Closed loop pump control flag. -static OVERRIDE_U32_T drainPumpMeasuredRPM = { 0, 0, 0, 0 }; ///< Measured drain pump RPM from feedback. +static OVERRIDE_U32_T drainPumpHallMeasuredRPM = { 0, 0, 0, 0 }; ///< Measured drain pump RPM from feedback. static OVERRIDE_U32_T drainPumpMaxonMeasuredRPM = { 0, 0, 0, 0 }; ///< Measured Maxon drain pump RPM. static OVERRIDE_F32_T drainPumpMeasuredCurrentA = { 0.0F, 0.0F, 0.0F, 0 }; ///< Measured drain pump current feedback. static OVERRIDE_U32_T drainPumpMeasuredDir = { 0, 0, 0, 0 }; ///< Measured drain pump direction. @@ -341,8 +341,8 @@ U32 dirHallSensorErrorCount = (U32)( getFPGADrainPumpDirection() & DRAIN_PUMP_DIR_ERROR_CNT_BIT_MASK ); // Update the override variables - drainPumpMaxonMeasuredRPM.data = MAX_DRAIN_PUMP_RPM * ( fpgaMaxonADCSpeedCount / BITS_12_FULL_SCALE ); - drainPumpMeasuredRPM.data = ( DRAIN_PUMP_OFF_RPM_ADC_COUNT == fpgaADCSpeedCount ? 0 : (U32)( RPM_CONVERSION_COEFF / (F32)fpgaADCSpeedCount ) ); + drainPumpMaxonMeasuredRPM.data = MAX_DRAIN_PUMP_RPM * ( (F32)fpgaMaxonADCSpeedCount / (F32)BITS_12_FULL_SCALE ); + drainPumpHallMeasuredRPM.data = ( DRAIN_PUMP_OFF_RPM_ADC_COUNT == fpgaADCSpeedCount ? 0 : (U32)( RPM_CONVERSION_COEFF / (F32)fpgaADCSpeedCount ) ); drainPumpMeasuredCurrentA.data = (F32)fpgaADCCurrentCount * CURRENT_CONVERSION_COEFF; drainPumpMeasuredDir.data = (U32)( ( getFPGADrainPumpDirection() & DRAIN_PUMP_DIR_BIT_MASK ) >> SHIFT_BITS_BY_7 ); @@ -385,14 +385,24 @@ // The RPM is only checked in open loop state that the pump is run at a fixed RPM. case DRAIN_PUMP_OPEN_LOOP_STATE: { + U32 rpmHall = getDrainPumpMeasuredRPM( DRAIN_PUMP_HALL_SNSR_FB ); + U32 rpmMaxon = getDrainPumpMeasuredRPM( DRAIN_PUMP_MAXON_SNSR_FB ); + BOOL isRPMOutOfRange = FALSE; U32 direction = getDrainPumpMeasuredDirection(); BOOL isDirInvalid = ( direction != DRAIN_PUMP_FORWARD_DIR ? TRUE : FALSE ); - U32 rpmDiff = abs( getDrainPumpTargetRPM() - getDrainPumpMeasuredRPM( DRAIN_PUMP_HALL_SNSR_FB ) ); - BOOL isRPMOutOfRange = ( rpmDiff > MAX_ALLOWED_OPEN_LOOP_RPM_OUT_OF_RANGE ? TRUE : FALSE ); + U32 rpmHallDiff = abs( getDrainPumpTargetRPM() - rpmHall ); + U32 rpmMaxonDiff = abs( getDrainPumpTargetRPM() - rpmMaxon ); - checkPersistentAlarm( ALARM_ID_DG_DRAIN_PUMP_RPM_OUT_OF_RANGE, isRPMOutOfRange, getDrainPumpMeasuredRPM(), MAX_ALLOWED_OPEN_LOOP_RPM_OUT_OF_RANGE ); - checkPersistentAlarm( ALARM_ID_DG_DRAIN_PUMP_OFF_FAULT, FALSE, getDrainPumpMeasuredRPM(), MIN_DRAIN_PUMP_RPM ); + isRPMOutOfRange |= ( rpmHallDiff > MAX_ALLOWED_OPEN_LOOP_RPM_OUT_OF_RANGE ? TRUE : FALSE ); + if ( getHardwareConfigStatus() != HW_CONFIG_BETA ) + { + isRPMOutOfRange |= ( rpmMaxonDiff > MAX_ALLOWED_OPEN_LOOP_RPM_OUT_OF_RANGE ? TRUE : FALSE ); + } + + checkPersistentAlarm( ALARM_ID_DG_DRAIN_PUMP_RPM_OUT_OF_RANGE, isRPMOutOfRange, rpmHall, MAX_ALLOWED_OPEN_LOOP_RPM_OUT_OF_RANGE ); + checkPersistentAlarm( ALARM_ID_DG_DRAIN_PUMP_OFF_FAULT, FALSE, rpmHall, MIN_DRAIN_PUMP_RPM ); + if ( ( getHardwareConfigStatus() != HW_CONFIG_BETA ) && ( getCurrentOperationMode() != DG_MODE_INIT ) ) { checkPersistentAlarm( ALARM_ID_DG_DRAIN_PUMP_DIRECTION_INVALID, isDirInvalid, (F32)direction, DRAIN_PUMP_FORWARD_DIR ); @@ -414,8 +424,8 @@ default: // There are not out of range conditions, clear the alarms - checkPersistentAlarm( ALARM_ID_DG_DRAIN_PUMP_RPM_OUT_OF_RANGE, FALSE, getDrainPumpMeasuredRPM(), MAX_ALLOWED_OPEN_LOOP_RPM_OUT_OF_RANGE ); - checkPersistentAlarm( ALARM_ID_DG_DRAIN_PUMP_OFF_FAULT, FALSE, getDrainPumpMeasuredRPM(), MIN_DRAIN_PUMP_RPM ); + checkPersistentAlarm( ALARM_ID_DG_DRAIN_PUMP_RPM_OUT_OF_RANGE, FALSE, getDrainPumpMeasuredRPM( DRAIN_PUMP_HALL_SNSR_FB ), MAX_ALLOWED_OPEN_LOOP_RPM_OUT_OF_RANGE ); + checkPersistentAlarm( ALARM_ID_DG_DRAIN_PUMP_OFF_FAULT, FALSE, getDrainPumpMeasuredRPM( DRAIN_PUMP_HALL_SNSR_FB ), MIN_DRAIN_PUMP_RPM ); checkPersistentAlarm( ALARM_ID_DG_DRAIN_PUMP_DIRECTION_INVALID, FALSE, getFPGADrainPumpDirection(), DRAIN_PUMP_FORWARD_DIR ); break; } @@ -553,12 +563,28 @@ * pump RPM sensor. * @details Inputs: drainPumpMeasuredRPM * @details Outputs: none + * @param sensor to get its RPM from (Hall sensor or Maxon board in DVT) * @return drain pump RPM *************************************************************************/ -U32 getDrainPumpMeasuredRPM( DRAIN_PUMP_SPEED_FB_SNSR_T speed ) +U32 getDrainPumpMeasuredRPM( DRAIN_PUMP_SPEED_FB_SNSR_T sensor ) { - U32 rpm = getU32OverrideValue( &drainPumpMeasuredRPM ); + U32 rpm = 0; + switch ( sensor ) + { + case DRAIN_PUMP_HALL_SNSR_FB: + rpm = getU32OverrideValue( &drainPumpHallMeasuredRPM ); + break; + + case DRAIN_PUMP_MAXON_SNSR_FB: + rpm = getU32OverrideValue( &drainPumpMaxonMeasuredRPM ); + break; + + default: + // Do nothing. Software fault? + break; + } + return rpm; } @@ -781,10 +807,11 @@ drainPumpData.rpmSetPoint = getDrainPumpTargetRPM(); drainPumpData.pumpDACSet = drainPumpDACSet; drainPumpData.drainPumpState = (U32)drainPumpState; - drainPumpData.drainPumpRPM = getDrainPumpMeasuredRPM(); + drainPumpData.drainPumpHallRPM = getDrainPumpMeasuredRPM( DRAIN_PUMP_HALL_SNSR_FB ); drainPumpData.trgtOutletFlowLPM = targetDrainPumpOutletFlowLPM; drainPumpData.drainPumpCurrentA = getDrainPumpMeasuredCurrentA(); drainPumpData.drainPumpDirection = getDrainPumpMeasuredDirection(); + drainPumpData.drainPumpMaxonRPM = getDrainPumpMeasuredRPM( DRAIN_PUMP_MAXON_SNSR_FB ); broadcastData( MSG_ID_DRAIN_PUMP_DATA, COMM_BUFFER_OUT_CAN_DG_BROADCAST, (U08*)&drainPumpData, sizeof( DRAIN_PUMP_DATA_T ) ); @@ -934,21 +961,34 @@ * The testSetDrainPumpMeasuredRPMOverride function overrides the drain pump * measured RPM data. * @details Inputs: none - * @details Outputs: drainPumpMeasuredRPM + * @details Outputs: drainPumpHallMeasuredRPM, drainPumpMaxonMeasuredRPM + * @param sensor the type of sensor to pick (hall sensor or Maxon board) * @param value override drain pump measured data * @return TRUE if override successful, FALSE if not *************************************************************************/ -BOOL testSetDrainPumpMeasuredRPMOverride( U32 value ) +BOOL testSetDrainPumpMeasuredRPMOverride( U32 sensor, U32 value ) { BOOL status = FALSE; // Check if the user is logged in - if ( TRUE == isTestingActivated() ) + if ( ( TRUE == isTestingActivated() ) && ( (DRAIN_PUMP_SPEED_FB_SNSR_T)sensor < NUM_OF_DRAIN_PUMP_SNSR_FB ) ) { - drainPumpMeasuredRPM.ovData = value; - drainPumpMeasuredRPM.override = OVERRIDE_KEY; - drainPumpMeasuredRPM.ovInitData = drainPumpMeasuredRPM.data; - status = TRUE; + switch( (DRAIN_PUMP_SPEED_FB_SNSR_T)sensor ) + { + case DRAIN_PUMP_HALL_SNSR_FB: + drainPumpHallMeasuredRPM.ovData = value; + drainPumpHallMeasuredRPM.override = OVERRIDE_KEY; + drainPumpHallMeasuredRPM.ovInitData = drainPumpHallMeasuredRPM.data; + break; + + case DRAIN_PUMP_MAXON_SNSR_FB: + drainPumpMaxonMeasuredRPM.ovData = value; + drainPumpMaxonMeasuredRPM.override = OVERRIDE_KEY; + drainPumpMaxonMeasuredRPM.ovInitData = drainPumpMaxonMeasuredRPM.data; + break; + } + + status = TRUE; } return status; @@ -960,18 +1000,30 @@ * measured RPM data. * @details Inputs: none * @details Outputs: drainPumpMeasuredRPM + * @param sensor the type of sensor to pick (hall sensor or Maxon board) * @return TRUE if override reset successful, FALSE if not *************************************************************************/ -BOOL testResetDrainPumpMeasuredRPMOverride( void ) +BOOL testResetDrainPumpMeasuredRPMOverride( U32 sensor ) { BOOL status = FALSE; // Check if the user is logged in - if ( TRUE == isTestingActivated() ) + if ( ( TRUE == isTestingActivated() ) && ( (DRAIN_PUMP_SPEED_FB_SNSR_T)sensor < NUM_OF_DRAIN_PUMP_SNSR_FB ) ) { - drainPumpMeasuredRPM.ovData = drainPumpMeasuredRPM.ovInitData; - drainPumpMeasuredRPM.override = OVERRIDE_RESET; - status = TRUE; + switch( (DRAIN_PUMP_SPEED_FB_SNSR_T)sensor ) + { + case DRAIN_PUMP_HALL_SNSR_FB: + drainPumpHallMeasuredRPM.ovData = drainPumpHallMeasuredRPM.ovInitData; + drainPumpHallMeasuredRPM.override = OVERRIDE_RESET; + break; + + case DRAIN_PUMP_MAXON_SNSR_FB: + drainPumpMaxonMeasuredRPM.ovData = drainPumpMaxonMeasuredRPM.ovInitData; + drainPumpMaxonMeasuredRPM.override = OVERRIDE_RESET; + break; + } + + status = TRUE; } return status; Index: firmware/App/Controllers/DrainPump.h =================================================================== diff -u -rfcdecd8b2c6b086ddf4700ecc1892bd47aef08c1 -r7fe3d2932b501e323a6fb0eb47964b32da6798d9 --- firmware/App/Controllers/DrainPump.h (.../DrainPump.h) (revision fcdecd8b2c6b086ddf4700ecc1892bd47aef08c1) +++ firmware/App/Controllers/DrainPump.h (.../DrainPump.h) (revision 7fe3d2932b501e323a6fb0eb47964b32da6798d9) @@ -41,7 +41,7 @@ { DRAIN_PUMP_HALL_SNSR_FB = 0, ///< Drain pump hall sensor feedback. DRAIN_PUMP_MAXON_SNSR_FB, ///< Drain pump Maxon sensor feedback. - NUM_OF_DRAIN_PUMP_FB ///< Number of drain pump feedbacks. + NUM_OF_DRAIN_PUMP_SNSR_FB ///< Number of drain pump sensor feedbacks. } DRAIN_PUMP_SPEED_FB_SNSR_T; /// Drain pump data publish @@ -50,10 +50,11 @@ U32 rpmSetPoint; ///< Drain pump speed set point (for open loop). U32 pumpDACSet; ///< Drain pump DAC set value. U32 drainPumpState; ///< Drain pump state machine state. - U32 drainPumpRPM; ///< Drain pump current RPM. + U32 drainPumpHallRPM; ///< Drain pump current RPM from Hall sensor. F32 trgtOutletFlowLPM; ///< Drain pump target outlet flow in L/min. F32 drainPumpCurrentA; ///< Drain pump current in amps. U32 drainPumpDirection; ///< Drain pump direction. + U32 drainPumpMaxonRPM; ///< Drain pump current RPM from Maxon board. } DRAIN_PUMP_DATA_T; // ********** public function prototypes ********** @@ -73,7 +74,7 @@ void signalDrainPumpHardStop( void ); U32 getDrainPumpTargetRPM( void ); -U32 getDrainPumpMeasuredRPM( DRAIN_PUMP_SPEED_FB_SNSR_T speed ); +U32 getDrainPumpMeasuredRPM( DRAIN_PUMP_SPEED_FB_SNSR_T sensor ); BOOL isDrainPumpOn( void ); @@ -85,10 +86,8 @@ BOOL testSetTargetDrainPumpRPM( U32 value ); BOOL testSetTargetDrainPumpOutletFlowLPM( F32 value ); -BOOL testSetDrainPumpMeasuredRPMOverride( U32 value ); -BOOL testResetDrainPumpMeasuredRPMOverride( void ); -BOOL testSetDrainPumpMeasuredCurrentOverride( F32 value ); -BOOL testResetDrainPumpMeasuredCurrentOverride( void ); +BOOL testSetDrainPumpMeasuredRPMOverride( U32 sensor, U32 value ); +BOOL testResetDrainPumpMeasuredRPMOverride( U32 sensor ); BOOL testSetDrainPumpMeasuredCurrentOverride( F32 value ); BOOL testResetDrainPumpMeasuredCurrentOverride( void ); Index: firmware/App/Controllers/Thermistors.c =================================================================== diff -u -r34ae229d1508df89630f4dc5fbe9291d135f0686 -r7fe3d2932b501e323a6fb0eb47964b32da6798d9 --- firmware/App/Controllers/Thermistors.c (.../Thermistors.c) (revision 34ae229d1508df89630f4dc5fbe9291d135f0686) +++ firmware/App/Controllers/Thermistors.c (.../Thermistors.c) (revision 7fe3d2932b501e323a6fb0eb47964b32da6798d9) @@ -238,9 +238,11 @@ #ifndef _RELEASE_ if ( HW_CONFIG_BETA == getHardwareConfigStatus() ) { + // In Beta thermistor power supply 2 is printed as thermistor power supply 1. The corresponding ADC channel has been + // reassigned to non-isolated power supply voltage in DVT. So its enums has been renamed. thermistorsStatus[ THERMISTOR_ONBOARD_NTC ].rawADCRead = getIntADCReading( INT_ADC_BOARD_THERMISTOR ); thermistorsStatus[ THERMISTOR_POWER_SUPPLY_1 ].rawADCRead = getIntADCReading( INT_ADC_POWER_SUPPLY_1_THERMISTOR ); - thermistorsStatus[ THERMISTOR_POWER_SUPPLY_2 ].rawADCRead = getIntADCReading( INT_ADC_POWER_SUPPLY_2_THERMISTOR ); + thermistorsStatus[ THERMISTOR_POWER_SUPPLY_2 ].rawADCRead = getIntADCReading( INT_ADC_POWER_SUPPLY_1_THERMISTOR ); } else { Index: firmware/App/Controllers/Voltages.c =================================================================== diff -u -re12f1b3d41ae133bc0975fcb126e431c2bedda59 -r7fe3d2932b501e323a6fb0eb47964b32da6798d9 --- firmware/App/Controllers/Voltages.c (.../Voltages.c) (revision e12f1b3d41ae133bc0975fcb126e431c2bedda59) +++ firmware/App/Controllers/Voltages.c (.../Voltages.c) (revision 7fe3d2932b501e323a6fb0eb47964b32da6798d9) @@ -88,6 +88,7 @@ 1.98, // MONITORED_LINE_FPGA_AUX_V 0.1, // MONITORED_LINE_FPGA_VPVN_V 5.5, // MONITORED_LINE_PS_GATE_DRIVER_V + 26.4, // MONITORED_LINE_NON_ISOLATED_24_V_MAIN 26.4, // MONITORED_LINE_24V_PRIM_HTR_V 26.4, // MONITORED_LINE_24V_PRIM_HTR_GND_V 26.4, // MONITORED_LINE_24V_SEC_HTR_V @@ -112,6 +113,7 @@ 1.62, // MONITORED_LINE_FPGA_AUX_V -0.1, // MONITORED_LINE_FPGA_VPVN_V 4.5, // MONITORED_LINE_PS_GATE_DRIVER_V + 21.6, // MONITORED_LINE_NON_ISOLATED_24_V_MAIN 0.0, // MONITORED_LINE_24V_PRIM_HTR_V 0.0, // MONITORED_LINE_24V_PRIM_HTR_GND_V 0.0, // MONITORED_LINE_24V_SEC_HTR_V @@ -323,9 +325,11 @@ { F32 volts = getMonitoredLineLevel( channel ); - if ( ( isSafetyShutdownActivated() != TRUE ) || ( ( channel != MONITORED_LINE_24V_MAIN ) && ( channel != MONITORED_LINE_24V_POWER_PRIM_HTR_V ) ) ) + if ( ( isSafetyShutdownActivated() != TRUE ) || + ( ( channel != MONITORED_LINE_24V_MAIN ) && ( channel != MONITORED_LINE_24V_POWER_PRIM_HTR_V ) && + ( channel != MONITORED_LINE_NON_ISOLATED_24_V_MAIN ) ) ) { - if ( volts > MAX_VOLTAGES[ channel ] ) + /*if ( volts > MAX_VOLTAGES[ channel ] ) { if ( ++voltageAlarmPersistenceCtr[ channel ] > VOLTAGES_ALARM_PERSISTENCE ) { @@ -342,7 +346,7 @@ else { voltageAlarmPersistenceCtr[ channel ] = 0; - } + }*/ } else { @@ -411,6 +415,7 @@ data.fpgaIntVCC = getMonitoredLineLevel( MONITORED_LINE_FPGA_VCC_V ); data.fpgaAuxVCC = getMonitoredLineLevel( MONITORED_LINE_FPGA_AUX_VCC_V ); data.fpgaVPVN = getMonitoredLineLevel( MONITORED_LINE_FPGA_VPVN_V ); + data.acdNonIsolated24V = getMonitoredLineLevel( MONITORED_LINE_NON_ISOLATED_24_V_MAIN ); broadcastData( MSG_ID_DG_VOLTAGES_DATA, COMM_BUFFER_OUT_CAN_DG_BROADCAST, (U08*)&data, sizeof( VOLTAGES_DATA_PAYLOAD_T ) ); voltagesDataPublicationTimerCounter = 0; Index: firmware/App/Controllers/Voltages.h =================================================================== diff -u -re12f1b3d41ae133bc0975fcb126e431c2bedda59 -r7fe3d2932b501e323a6fb0eb47964b32da6798d9 --- firmware/App/Controllers/Voltages.h (.../Voltages.h) (revision e12f1b3d41ae133bc0975fcb126e431c2bedda59) +++ firmware/App/Controllers/Voltages.h (.../Voltages.h) (revision 7fe3d2932b501e323a6fb0eb47964b32da6798d9) @@ -51,6 +51,7 @@ MONITORED_LINE_FPGA_AUX_VCC_V, ///< FPGA auxiliary Vcc voltage (3V) MONITORED_LINE_FPGA_VPVN_V, ///< FPGA VPVN voltage (1V) MONITORED_LINE_PS_GATE_DRIVER_V, ///< P/S gate driver voltage (5V) + MONITORED_LINE_NON_ISOLATED_24_V_MAIN, ///< Non-isolated MONITORED_LINE_24V_POWER_PRIM_HTR_V, ///< Primary heater voltage (24V) (isolated) MONITORED_LINE_LAST_RANGE_CHECKED_LINE = MONITORED_LINE_24V_POWER_PRIM_HTR_V, ///< The last monitored line that is checked per fixed range. MONITORED_LINE_24V_GND_MAIN_PRIM_HTR_V, ///< Main primary heater ground voltage (24V when off, <5V when on) @@ -82,6 +83,7 @@ F32 fpgaIntVCC; ///< FPGA internal VCC for 1V F32 fpgaAuxVCC; ///< FPGA auxiliary VCC for 1.8V F32 fpgaVPVN; ///< FPGA VPVN for 0V + F32 acdNonIsolated24V; ///< Internal ADC channel for the non-isloated 24V } VOLTAGES_DATA_PAYLOAD_T; // ********** public function prototypes ********** Index: firmware/App/Drivers/InternalADC.c =================================================================== diff -u -r6499ea25921fcf67826fa0c35bb03caf411ba542 -r7fe3d2932b501e323a6fb0eb47964b32da6798d9 --- firmware/App/Drivers/InternalADC.c (.../InternalADC.c) (revision 6499ea25921fcf67826fa0c35bb03caf411ba542) +++ firmware/App/Drivers/InternalADC.c (.../InternalADC.c) (revision 7fe3d2932b501e323a6fb0eb47964b32da6798d9) @@ -56,7 +56,7 @@ INT_ADC_REF_IN2, // 20 INT_ADC_BOARD_THERMISTOR, // 21 INT_ADC_POWER_SUPPLY_1_THERMISTOR, // 22 - INT_ADC_POWER_SUPPLY_2_THERMISTOR, // 23 + INT_ADC_MAIN_NON_ISOLATED_24_VOLTS, // 23 }; const F32 ADC_CHANNEL_READ_TO_UNITS[ NUM_OF_INT_ADC_CHANNELS ] = @@ -84,7 +84,7 @@ 0.0014652, // V - INT_ADC_REF_IN1 (3V) 0.0014652, // V - INT_ADC_REF_IN2 (3V) 0.001221, // V - INT_ADC_POWER_SUPPLY_1_THERMISTOR - 0.001221, // V - INT_ADC_POWER_SUPPLY_2_THERMISTOR + 0.00700441, // V - INT_ADC_MAIN_NON_ISOLATED_24_VOLTS 0.00304608 // V - INT_ADC_POWER_SUPPLY_GATE_DRIVER (5V) }; Index: firmware/App/Drivers/InternalADC.h =================================================================== diff -u -r6499ea25921fcf67826fa0c35bb03caf411ba542 -r7fe3d2932b501e323a6fb0eb47964b32da6798d9 --- firmware/App/Drivers/InternalADC.h (.../InternalADC.h) (revision 6499ea25921fcf67826fa0c35bb03caf411ba542) +++ firmware/App/Drivers/InternalADC.h (.../InternalADC.h) (revision 7fe3d2932b501e323a6fb0eb47964b32da6798d9) @@ -60,7 +60,7 @@ INT_ADC_REF_IN1, ///< DG internal ADC external ADC1 reference voltage channel INT_ADC_REF_IN2, ///< DG internal ADC external ADC2 reference voltage channel INT_ADC_POWER_SUPPLY_1_THERMISTOR, ///< DG internal ADC DG power supply 1 thermistor - INT_ADC_POWER_SUPPLY_2_THERMISTOR, ///< DG internal ADC DG power supply 2 thermistor + INT_ADC_MAIN_NON_ISOLATED_24_VOLTS, ///< DG internal ADC DG 24 volts non-isolated voltage channel INT_ADC_POWER_SUPPLY_GATE_DRIVER, ///< DG internal ADC DG power supply gate driver NUM_OF_INT_ADC_CHANNELS ///< Number of DG internal ADC channels } INT_ADC_CHANNEL_T; Index: firmware/App/Services/Reservoirs.c =================================================================== diff -u -re12f1b3d41ae133bc0975fcb126e431c2bedda59 -r7fe3d2932b501e323a6fb0eb47964b32da6798d9 --- firmware/App/Services/Reservoirs.c (.../Reservoirs.c) (revision e12f1b3d41ae133bc0975fcb126e431c2bedda59) +++ firmware/App/Services/Reservoirs.c (.../Reservoirs.c) (revision 7fe3d2932b501e323a6fb0eb47964b32da6798d9) @@ -860,7 +860,7 @@ { BOOL result = FALSE; F32 loadcellWeightML = getLoadCellSmallFilteredWeight( associatedLoadCell[ reservoirId ] ); - U32 drainPumpFeedbackRPM = getDrainPumpMeasuredRPM(); + U32 drainPumpFeedbackRPM = getDrainPumpMeasuredRPM( DRAIN_PUMP_HALL_SNSR_FB ); // Check if the drain pump is running, the drain pump usually starts with delay so it might take several // milliseconds to see the RPM feedback is greater than 0. If the feedback is not greater than 0, checking Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -re12f1b3d41ae133bc0975fcb126e431c2bedda59 -r7fe3d2932b501e323a6fb0eb47964b32da6798d9 --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision e12f1b3d41ae133bc0975fcb126e431c2bedda59) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 7fe3d2932b501e323a6fb0eb47964b32da6798d9) @@ -3532,20 +3532,20 @@ *************************************************************************/ void handleSetDrainPumpMeasuredRPMOverrideRequest( MESSAGE_T *message ) { - TEST_OVERRIDE_PAYLOAD_T payload; + TEST_OVERRIDE_ARRAY_PAYLOAD_T payload; BOOL result = FALSE; // verify payload length - if ( sizeof( TEST_OVERRIDE_PAYLOAD_T ) == message->hdr.payloadLen ) + if ( sizeof( TEST_OVERRIDE_ARRAY_PAYLOAD_T ) == message->hdr.payloadLen ) { - memcpy( &payload, message->payload, sizeof( TEST_OVERRIDE_PAYLOAD_T ) ); + memcpy( &payload, message->payload, sizeof( TEST_OVERRIDE_ARRAY_PAYLOAD_T ) ); if ( FALSE == payload.reset ) { - result = testSetDrainPumpMeasuredRPMOverride( payload.state.u32 ); + result = testSetDrainPumpMeasuredRPMOverride( payload.index, payload.state.u32 ); } else { - result = testResetDrainPumpMeasuredRPMOverride(); + result = testResetDrainPumpMeasuredRPMOverride( payload.index ); } } @@ -3889,38 +3889,6 @@ } /*********************************************************************//** -* The handleTestDGDrainPumpCurrentOverrideRequest function handles a -* request to override the drain pump measured current. -* @details Inputs: none -* @details Outputs: message handled -* @param message a pointer to the message to handle -* @return none -*************************************************************************/ -void handleTestDGDrainPumpCurrentOverrideRequest( MESSAGE_T *message ) -{ - TEST_OVERRIDE_PAYLOAD_T payload; - BOOL result = FALSE; - - // verify payload length - if ( sizeof( TEST_OVERRIDE_PAYLOAD_T ) == message->hdr.payloadLen ) - { - memcpy( &payload, message->payload, sizeof( TEST_OVERRIDE_PAYLOAD_T ) ); - - if ( FALSE == payload.reset ) - { - result = testSetDrainPumpMeasuredCurrentOverride( payload.state.f32 ); - } - else - { - result = testResetDrainPumpMeasuredCurrentOverride(); - } - } - - // Respond to request - sendTestAckResponseMsg( (MSG_ID_T)message->hdr.msgID, result ); -} - -/*********************************************************************//** * The handleTestDGDrainPumpDirectionOverrideRequest function handles a * request to override the drain pump measured direction. * @details Inputs: none Index: firmware/App/Services/SystemCommMessages.h =================================================================== diff -u -r5652568f680408e60fe5fb84eee926e8804c07d7 -r7fe3d2932b501e323a6fb0eb47964b32da6798d9 --- firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision 5652568f680408e60fe5fb84eee926e8804c07d7) +++ firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision 7fe3d2932b501e323a6fb0eb47964b32da6798d9) @@ -431,9 +431,6 @@ // MSG_ID_DG_GEN_IDLE_PUBLISH_INTERVAL_OVERRIDE void handleTestGenIdlePublishIntervalOverride( MESSAGE_T * message ); -// MSG_ID_DG_DRAIN_PUMP_CURRENT_OVERRIDE -void handleTestDGDrainPumpCurrentOverrideRequest( MESSAGE_T *message ); - // MSG_ID_DG_DRAIN_PUMP_DIRECTION_OVERRIDE void handleTestDGDrainPumpDirectionOverrideRequest( MESSAGE_T *message );