Index: firmware/App/Controllers/ConcentratePumps.c =================================================================== diff -u -r0f4fbb2a56cdbe35dcedd9cad23867fd7248f86e -ra4669c80291e85fa5ce17d77ebcfd0c882831202 --- firmware/App/Controllers/ConcentratePumps.c (.../ConcentratePumps.c) (revision 0f4fbb2a56cdbe35dcedd9cad23867fd7248f86e) +++ firmware/App/Controllers/ConcentratePumps.c (.../ConcentratePumps.c) (revision a4669c80291e85fa5ce17d77ebcfd0c882831202) @@ -8,7 +8,7 @@ * @file ConcentratePumps.c * * @author (last) Dara Navaei -* @date (last) 25-May-2022 +* @date (last) 04-Aug-2022 * * @author (original) Quang Nguyen * @date (original) 22-Oct-2020 @@ -141,6 +141,7 @@ void initConcentratePump( void ) { CONCENTRATE_PUMPS_T pumpId; + concentratePumpMonitorTimerCounter = DATA_PUBLISH_COUNTER_START_COUNT; for ( pumpId = CONCENTRATEPUMPS_CP1_ACID; pumpId < NUM_OF_CONCENTRATE_PUMPS; ++pumpId ) @@ -198,6 +199,7 @@ U08 cp2Direction = concentratePumps[ CONCENTRATEPUMPS_CP2_BICARB ].direction; F32 cp2SetSpeed = concentratePumps[ CONCENTRATEPUMPS_CP2_BICARB ].currentPumpSpeed; F32 cp2Speed = getMeasuredPumpSpeed( CONCENTRATEPUMPS_CP2_BICARB ); + // Use the above values to prepare the broadcast data data.cp1CurrentSetSpeed = ( CONCENTRATE_PUMP_REVERSE_DIR == cp1Direction ? cp1SetSpeed * -1.0 : cp1SetSpeed ); data.cp1MeasuredSpeed = ( CONCENTRATE_PUMP_REVERSE_DIR == cp1Direction ? cp1Speed * -1.0 : cp1Speed ); @@ -470,15 +472,27 @@ concentratePumps[ pumpId ].measuredPumpSpeed.data = 0.0; #ifndef _RELEASE_ - if ( SW_CONFIG_ENABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_ENABLE_V3_SYSTEM ) ) + if ( SW_CONFIG_ENABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_ENABLE_V3_SYSTEM ) ) + { + if ( CONCENTRATEPUMPS_CP1_ACID == pumpId ) { - CONCENTRATEPUMPS_CP1_ACID == pumpId ? setFPGAV3AcidPumpControl( CONCENTRATE_PUMP_OFF_CONTROL ) : - setFPGAV3BicarbPumpControl( CONCENTRATE_PUMP_OFF_CONTROL ); + setFPGAV3AcidPumpControl( CONCENTRATE_PUMP_OFF_CONTROL ); } + else + { + setFPGAV3BicarbPumpControl( CONCENTRATE_PUMP_OFF_CONTROL ); + } + } #endif - CONCENTRATEPUMPS_CP1_ACID == pumpId ? setFPGAAcidPumpSetStepSpeed( CONCENTRATE_PUMP_ZERO_FLOW_RATE ) : - setFPGABicarbSetStepSpeed( CONCENTRATE_PUMP_ZERO_FLOW_RATE ); + if ( CONCENTRATEPUMPS_CP1_ACID == pumpId ) + { + setFPGAAcidPumpSetStepSpeed( CONCENTRATE_PUMP_ZERO_FLOW_RATE ); + } + else + { + setFPGABicarbSetStepSpeed( CONCENTRATE_PUMP_ZERO_FLOW_RATE ); + } } /*********************************************************************//** @@ -633,8 +647,9 @@ *************************************************************************/ static void calcMeasuredPumpsSpeed( CONCENTRATE_PUMPS_T pumpId, U16 pulseWidthCount ) { - F32 pulseWidthInMicroSeconds = (F32)pulseWidthCount * CONCENTRATE_PUMP_HALL_SENSE_PERIOD_RESOLUTION; - BOOL isPulseWidthOut = ( pulseWidthInMicroSeconds <= (F32)CONCENTRATE_PUMP_MIN_ALLOWED_HALL_SENSOR_COUNT ? TRUE : FALSE ); + F32 pulseWidthInMicroSeconds = (F32)pulseWidthCount * CONCENTRATE_PUMP_HALL_SENSE_PERIOD_RESOLUTION; + BOOL isPulseWidthOut = ( pulseWidthInMicroSeconds <= (F32)CONCENTRATE_PUMP_MIN_ALLOWED_HALL_SENSOR_COUNT ? TRUE : FALSE ); + concentratePumps[ pumpId ].pulseWidthUS = pulseWidthInMicroSeconds; checkPersistentAlarm( ALARM_ID_DG_CONC_PUMP_HALL_SENSOR_OUT_OF_RANGE, isPulseWidthOut, pulseWidthInMicroSeconds, @@ -644,8 +659,7 @@ { concentratePumps[ pumpId ].measuredPumpSpeed.data = ( US_PER_SECOND / pulseWidthInMicroSeconds ) * CONCENTRATE_PUMP_VOLUME_PER_PULSE * SEC_PER_MIN; } - - if ( CONCENTRATE_PUMP_ZERO_FLOW_RATE == pulseWidthCount ) + else if ( CONCENTRATE_PUMP_ZERO_FLOW_RATE == pulseWidthCount ) { concentratePumps[ pumpId ].measuredPumpSpeed.data = 0.0; } Index: firmware/App/Controllers/DialysateFlow.c =================================================================== diff -u -rae823785919192402707da5083e9b0ad40bd4938 -ra4669c80291e85fa5ce17d77ebcfd0c882831202 --- firmware/App/Controllers/DialysateFlow.c (.../DialysateFlow.c) (revision ae823785919192402707da5083e9b0ad40bd4938) +++ firmware/App/Controllers/DialysateFlow.c (.../DialysateFlow.c) (revision a4669c80291e85fa5ce17d77ebcfd0c882831202) @@ -8,7 +8,7 @@ * @file DialysateFlow.c * * @author (last) Dara Navaei -* @date (last) 25-May-2022 +* @date (last) 15-Jul-2022 * * @author (original) Hung Nguyen * @date (original) 20-Oct-2021 Index: firmware/App/Controllers/DrainPump.c =================================================================== diff -u -ra7a7874f47ccddc122af67273851881477880ff9 -ra4669c80291e85fa5ce17d77ebcfd0c882831202 --- firmware/App/Controllers/DrainPump.c (.../DrainPump.c) (revision a7a7874f47ccddc122af67273851881477880ff9) +++ firmware/App/Controllers/DrainPump.c (.../DrainPump.c) (revision a4669c80291e85fa5ce17d77ebcfd0c882831202) @@ -8,7 +8,7 @@ * @file DrainPump.c * * @author (last) Dara Navaei -* @date (last) 20-Apr-2022 +* @date (last) 11-Jul-2022 * * @author (original) Sean * @date (original) 08-Apr-2020 Index: firmware/App/Controllers/Fans.c =================================================================== diff -u -rae823785919192402707da5083e9b0ad40bd4938 -ra4669c80291e85fa5ce17d77ebcfd0c882831202 --- firmware/App/Controllers/Fans.c (.../Fans.c) (revision ae823785919192402707da5083e9b0ad40bd4938) +++ firmware/App/Controllers/Fans.c (.../Fans.c) (revision a4669c80291e85fa5ce17d77ebcfd0c882831202) @@ -7,8 +7,8 @@ * * @file Fans.c * -* @author (last) Dara Navaei -* @date (last) 20-Apr-2022 +* @author (last) Sean Nash +* @date (last) 15-Jul-2022 * * @author (original) Dara Navaei * @date (original) 25-Nov-2020 Index: firmware/App/Controllers/Heaters.c =================================================================== diff -u -r0f4fbb2a56cdbe35dcedd9cad23867fd7248f86e -ra4669c80291e85fa5ce17d77ebcfd0c882831202 --- firmware/App/Controllers/Heaters.c (.../Heaters.c) (revision 0f4fbb2a56cdbe35dcedd9cad23867fd7248f86e) +++ firmware/App/Controllers/Heaters.c (.../Heaters.c) (revision a4669c80291e85fa5ce17d77ebcfd0c882831202) @@ -8,7 +8,7 @@ * @file Heaters.c * * @author (last) Dara Navaei -* @date (last) 23-May-2022 +* @date (last) 04-Aug-2022 * * @author (original) Dara Navaei * @date (original) 23-Apr-2020 @@ -641,6 +641,7 @@ F32 targetTemperature = heatersStatus[ DG_TRIMMER_HEATER ].targetTemp; F32 targetFlowLPM = heatersStatus[ DG_TRIMMER_HEATER ].targetFlow; F32 dutyCycle = calculateTrimmerHeaterDutyCycle( targetTemperature, outletRedundantTemperature, targetFlowLPM, TRUE ); + trimmerHeaterControlCounter = 0; setHeaterDutyCycle( DG_TRIMMER_HEATER, ( heatersStatus[ DG_TRIMMER_HEATER ].dutycycle + dutyCycle ) ); } @@ -821,6 +822,7 @@ if ( ++dataPublicationTimerCounter >= getU32OverrideValue( &heatersDataPublishInterval ) ) { HEATERS_DATA_T data; + data.mainPrimayHeaterDC = heatersStatus[ DG_PRIMARY_HEATER ].dutycycle * 100.0; // The duty cycle of the primary heater is divided into 2 parts and is applied to main // and small primary heaters. So they are always the same. Index: firmware/App/Controllers/Heaters.h =================================================================== diff -u -r3d413ac026e89a1324c4b0e99516735ec382fed8 -ra4669c80291e85fa5ce17d77ebcfd0c882831202 --- firmware/App/Controllers/Heaters.h (.../Heaters.h) (revision 3d413ac026e89a1324c4b0e99516735ec382fed8) +++ firmware/App/Controllers/Heaters.h (.../Heaters.h) (revision a4669c80291e85fa5ce17d77ebcfd0c882831202) @@ -8,7 +8,7 @@ * @file Heaters.h * * @author (last) Dara Navaei -* @date (last) 05-May-2022 +* @date (last) 21-Jun-2022 * * @author (original) Dara Navaei * @date (original) 23-Apr-2020 Index: firmware/App/Controllers/Pressures.c =================================================================== diff -u -r79e0b1152e278a3b09d7d93c83a27f8998a2f3b6 -ra4669c80291e85fa5ce17d77ebcfd0c882831202 --- firmware/App/Controllers/Pressures.c (.../Pressures.c) (revision 79e0b1152e278a3b09d7d93c83a27f8998a2f3b6) +++ firmware/App/Controllers/Pressures.c (.../Pressures.c) (revision a4669c80291e85fa5ce17d77ebcfd0c882831202) @@ -8,7 +8,7 @@ * @file Pressures.c * * @author (last) Dara Navaei -* @date (last) 25-May-2022 +* @date (last) 06-Jul-2022 * * @author (original) Sean * @date (original) 04-Apr-2020 Index: firmware/App/Controllers/ROPump.c =================================================================== diff -u -r0f4fbb2a56cdbe35dcedd9cad23867fd7248f86e -ra4669c80291e85fa5ce17d77ebcfd0c882831202 --- firmware/App/Controllers/ROPump.c (.../ROPump.c) (revision 0f4fbb2a56cdbe35dcedd9cad23867fd7248f86e) +++ firmware/App/Controllers/ROPump.c (.../ROPump.c) (revision a4669c80291e85fa5ce17d77ebcfd0c882831202) @@ -8,7 +8,7 @@ * @file ROPump.c * * @author (last) Dara Navaei -* @date (last) 25-May-2022 +* @date (last) 03-Aug-2022 * * @author (original) Sean * @date (original) 04-Apr-2020 @@ -613,7 +613,7 @@ RO_PUMP_STATE_T state = RO_PUMP_OFF_STATE; // If there is a flow, transition to the PI controller to get the corresponding pressure of that flow - if ( getTargetROPumpFlowRateLPM() > 0 && roPumpControlMode == PUMP_CONTROL_MODE_CLOSED_LOOP ) + if ( getTargetROPumpFlowRateLPM() > 0.0F && roPumpControlMode == PUMP_CONTROL_MODE_CLOSED_LOOP ) { // Set pump to on isROPumpOn = TRUE; @@ -623,7 +623,7 @@ } // If the target duty cycle is greater than zero (minimum is 10%) and the mode has been set to open // loop, set the duty cycle - if ( roPumpOpenLoopTargetDutyCycle > 0 && roPumpControlMode == PUMP_CONTROL_MODE_OPEN_LOOP ) + if ( roPumpOpenLoopTargetDutyCycle > 0.0F && roPumpControlMode == PUMP_CONTROL_MODE_OPEN_LOOP ) { setROPumpControlSignalDutyCycle( roPumpOpenLoopTargetDutyCycle ); isROPumpOn = TRUE; Index: firmware/App/Controllers/TemperatureSensors.c =================================================================== diff -u -rae823785919192402707da5083e9b0ad40bd4938 -ra4669c80291e85fa5ce17d77ebcfd0c882831202 --- firmware/App/Controllers/TemperatureSensors.c (.../TemperatureSensors.c) (revision ae823785919192402707da5083e9b0ad40bd4938) +++ firmware/App/Controllers/TemperatureSensors.c (.../TemperatureSensors.c) (revision a4669c80291e85fa5ce17d77ebcfd0c882831202) @@ -8,7 +8,7 @@ * @file TemperatureSensors.c * * @author (last) Dara Navaei -* @date (last) 25-May-2022 +* @date (last) 04-Aug-2022 * * @author (original) Dara Navaei * @date (original) 08-Apr-2020 @@ -194,8 +194,8 @@ static void processADCRead( U32 sensorIndex, S32 adc ); static void publishTemperatureSensorsData( void ); static void monitorTemperatureSenors( void ); -static void adjustTemperatureSensorsV3DVTRefResistance( void ); static void checkBaroSensorCRC( void ); +static void adjustTemperatureSensorsRefResistance( void ); /*********************************************************************//** * @brief @@ -374,7 +374,7 @@ void execTemperatureSensors( void ) { // Check the status of the software configuration - adjustTemperatureSensorsV3DVTRefResistance(); + adjustTemperatureSensorsRefResistance(); // Read the sensors all the time switch ( tempSensorsExecState ) @@ -459,6 +459,8 @@ if ( sensorIndex < NUM_OF_TEMPERATURE_SENSORS ) { temperature = getF32OverrideValue( &tempSensors[ sensorIndex ].temperatureValues ); + +#ifndef _RELEASE_ // If the system is V3 and THd or its ADC internal temperature is requested, return TRo instead. V3 does not have // the electrical connection of THd sensor. if ( SW_CONFIG_ENABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_ENABLE_V3_SYSTEM ) ) @@ -468,6 +470,7 @@ temperature = getF32OverrideValue( &tempSensors[ TEMPSENSORS_OUTLET_REDUNDANT ].temperatureValues ); } } +#endif } else { @@ -637,6 +640,7 @@ case TEMPSENSORS_INTERNAL_THD_RTD: { U08 i; + // Shift bits by 31 to right to check the error bit status tempSensors[ sensorIndex ].sensorErrorBitStatus = adc >> SHIFT_BITS_BY_31; @@ -766,6 +770,7 @@ BOOL isADCNotValid = FALSE; U32 index = tempSensors[ sensorIndex ].adcNextIndex; S32 indexValue = tempSensors[ sensorIndex ].rawADCReads [ index ]; + // Update the temperature sensors' structure tempSensors[ sensorIndex ].rawADCReads[ index ] = adc; tempSensors[ sensorIndex ].adcNextIndex = INC_WRAP( index, 0, MAX_NUM_OF_RAW_ADC_SAMPLES - 1 ); @@ -969,6 +974,7 @@ if ( ++dataPublicationTimerCounter >= getU32OverrideValue( &tempSensorsPublishInterval ) ) { TEMPERATURE_SENSORS_DATA_T data; + data.inletPrimaryHeater = getTemperatureValue( TEMPSENSORS_INLET_PRIMARY_HEATER ); data.heatDisinfect = getTemperatureValue( TEMPSENSORS_HEAT_DISINFECT ); data.outletPrimaryHeater = getTemperatureValue( TEMPSENSORS_OUTLET_PRIMARY_HEATER ); @@ -1037,22 +1043,27 @@ /*********************************************************************//** * @brief - * The adjustTemperatureSensorsV3DVTRefResistance function adjusts the temperature + * The adjustTemperatureSensorsRefResistance function adjusts the temperature * sensors V3 or DVT reference resistance values. * @details Inputs: tempSensors * @details Outputs: tempSensors * @return none *************************************************************************/ -static void adjustTemperatureSensorsV3DVTRefResistance( void ) +static void adjustTemperatureSensorsRefResistance( void ) { // The defaults are DVT values U32 primaryAndCondSensorsRefResistance = PRIMARY_HEATER_EXT_TEMP_SENSORS_REF_RESISTANCE; U32 externalTempSesnorsRefResitance = TRIMMER_HEATER_EXT_TEMP_SENSORS_REF_RESISTANCE; - if ( ( getCurrentOperationMode() != DG_MODE_INIT ) && ( SW_CONFIG_ENABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_ENABLE_V3_SYSTEM ) ) ) +#ifndef _RELEASE_ + if ( SW_CONFIG_ENABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_ENABLE_V3_SYSTEM ) ) +#endif { - primaryAndCondSensorsRefResistance = PRIMARY_HEATER_EXT_TEMP_SENSORS_V3_REF_RESISTANCE; - externalTempSesnorsRefResitance = TRIMMER_HEATER_EXT_TEMP_SENSORS_V3_REF_RESISTANCE; + if ( getCurrentOperationMode() != DG_MODE_INIT ) + { + primaryAndCondSensorsRefResistance = PRIMARY_HEATER_EXT_TEMP_SENSORS_V3_REF_RESISTANCE; + externalTempSesnorsRefResitance = TRIMMER_HEATER_EXT_TEMP_SENSORS_V3_REF_RESISTANCE; + } } tempSensors[ TEMPSENSORS_INLET_PRIMARY_HEATER ].refResistance = primaryAndCondSensorsRefResistance; Index: firmware/App/Controllers/TemperatureSensors.h =================================================================== diff -u -r544e9782a1b8d444224f41efef38a5204c262722 -ra4669c80291e85fa5ce17d77ebcfd0c882831202 --- firmware/App/Controllers/TemperatureSensors.h (.../TemperatureSensors.h) (revision 544e9782a1b8d444224f41efef38a5204c262722) +++ firmware/App/Controllers/TemperatureSensors.h (.../TemperatureSensors.h) (revision a4669c80291e85fa5ce17d77ebcfd0c882831202) @@ -8,7 +8,7 @@ * @file TemperatureSensors.h * * @author (last) Dara Navaei -* @date (last) 13-Apr-2022 +* @date (last) 12-Jul-2022 * * @author (original) Dara Navaei * @date (original) 08-Apr-2020 Index: firmware/App/DGCommon.h =================================================================== diff -u -r48ef855ef60af244443cd6a84c94f2132c144bbd -ra4669c80291e85fa5ce17d77ebcfd0c882831202 --- firmware/App/DGCommon.h (.../DGCommon.h) (revision 48ef855ef60af244443cd6a84c94f2132c144bbd) +++ firmware/App/DGCommon.h (.../DGCommon.h) (revision a4669c80291e85fa5ce17d77ebcfd0c882831202) @@ -8,7 +8,7 @@ * @file DGCommon.h * * @author (last) Dara Navaei -* @date (last) 24-May-2022 +* @date (last) 03-Aug-2022 * * @author (original) Sean * @date (original) 27-Feb-2020 @@ -25,7 +25,7 @@ #define DG_VERSION_MAJOR 0 #define DG_VERSION_MINOR 6 #define DG_VERSION_MICRO 0 -#define DG_VERSION_BUILD 27 +#define DG_VERSION_BUILD 28 // ********** build switches ********** Index: firmware/App/Modes/ModeChemicalDisinfect.c =================================================================== diff -u -raa2517012c7b26de27143c135a5f284ca6721fa1 -ra4669c80291e85fa5ce17d77ebcfd0c882831202 --- firmware/App/Modes/ModeChemicalDisinfect.c (.../ModeChemicalDisinfect.c) (revision aa2517012c7b26de27143c135a5f284ca6721fa1) +++ firmware/App/Modes/ModeChemicalDisinfect.c (.../ModeChemicalDisinfect.c) (revision a4669c80291e85fa5ce17d77ebcfd0c882831202) @@ -8,7 +8,7 @@ * @file ModeChemicalDisinfect.c * * @author (last) Dara Navaei -* @date (last) 23-May-2022 +* @date (last) 13-Jun-2022 * * @author (original) Sean * @date (original) 04-Apr-2020 Index: firmware/App/Modes/ModeDrain.c =================================================================== diff -u -raa2517012c7b26de27143c135a5f284ca6721fa1 -ra4669c80291e85fa5ce17d77ebcfd0c882831202 --- firmware/App/Modes/ModeDrain.c (.../ModeDrain.c) (revision aa2517012c7b26de27143c135a5f284ca6721fa1) +++ firmware/App/Modes/ModeDrain.c (.../ModeDrain.c) (revision a4669c80291e85fa5ce17d77ebcfd0c882831202) @@ -8,7 +8,7 @@ * @file ModeDrain.c * * @author (last) Dara Navaei -* @date (last) 20-Apr-2022 +* @date (last) 13-Jun-2022 * * @author (original) Leonardo Baloa * @date (original) 20-Dec-2019 Index: firmware/App/Modes/ModeFault.c =================================================================== diff -u -raa2517012c7b26de27143c135a5f284ca6721fa1 -ra4669c80291e85fa5ce17d77ebcfd0c882831202 --- firmware/App/Modes/ModeFault.c (.../ModeFault.c) (revision aa2517012c7b26de27143c135a5f284ca6721fa1) +++ firmware/App/Modes/ModeFault.c (.../ModeFault.c) (revision a4669c80291e85fa5ce17d77ebcfd0c882831202) @@ -7,8 +7,8 @@ * * @file ModeFault.c * -* @author (last) Sean Nash -* @date (last) 12-Nov-2021 +* @author (last) Dara Navaei +* @date (last) 12-Jul-2022 * * @author (original) Dara Navaei * @date (original) 05-Nov-2019 Index: firmware/App/Modes/ModeFill.c =================================================================== diff -u -raa2517012c7b26de27143c135a5f284ca6721fa1 -ra4669c80291e85fa5ce17d77ebcfd0c882831202 --- firmware/App/Modes/ModeFill.c (.../ModeFill.c) (revision aa2517012c7b26de27143c135a5f284ca6721fa1) +++ firmware/App/Modes/ModeFill.c (.../ModeFill.c) (revision a4669c80291e85fa5ce17d77ebcfd0c882831202) @@ -8,7 +8,7 @@ * @file ModeFill.c * * @author (last) Dara Navaei -* @date (last) 24-May-2022 +* @date (last) 04-Aug-2022 * * @author (original) Leonardo Baloa * @date (original) 19-Nov-2019 Index: firmware/App/Modes/ModeFlush.c =================================================================== diff -u -raa2517012c7b26de27143c135a5f284ca6721fa1 -ra4669c80291e85fa5ce17d77ebcfd0c882831202 --- firmware/App/Modes/ModeFlush.c (.../ModeFlush.c) (revision aa2517012c7b26de27143c135a5f284ca6721fa1) +++ firmware/App/Modes/ModeFlush.c (.../ModeFlush.c) (revision a4669c80291e85fa5ce17d77ebcfd0c882831202) @@ -8,7 +8,7 @@ * @file ModeFlush.c * * @author (last) Dara Navaei -* @date (last) 30-Apr-2022 +* @date (last) 13-Jun-2022 * * @author (original) Leonardo Baloa * @date (original) 20-Dec-2019 Index: firmware/App/Modes/ModeHeatDisinfect.c =================================================================== diff -u -raa2517012c7b26de27143c135a5f284ca6721fa1 -ra4669c80291e85fa5ce17d77ebcfd0c882831202 --- firmware/App/Modes/ModeHeatDisinfect.c (.../ModeHeatDisinfect.c) (revision aa2517012c7b26de27143c135a5f284ca6721fa1) +++ firmware/App/Modes/ModeHeatDisinfect.c (.../ModeHeatDisinfect.c) (revision a4669c80291e85fa5ce17d77ebcfd0c882831202) @@ -8,7 +8,7 @@ * @file ModeHeatDisinfect.c * * @author (last) Dara Navaei -* @date (last) 23-May-2022 +* @date (last) 13-Jun-2022 * * @author (original) Sean * @date (original) 20-Apr-2020 Index: firmware/App/Modes/ModeInitPOST.c =================================================================== diff -u -raa2517012c7b26de27143c135a5f284ca6721fa1 -ra4669c80291e85fa5ce17d77ebcfd0c882831202 --- firmware/App/Modes/ModeInitPOST.c (.../ModeInitPOST.c) (revision aa2517012c7b26de27143c135a5f284ca6721fa1) +++ firmware/App/Modes/ModeInitPOST.c (.../ModeInitPOST.c) (revision a4669c80291e85fa5ce17d77ebcfd0c882831202) @@ -8,7 +8,7 @@ * @file ModeInitPOST.c * * @author (last) Dara Navaei -* @date (last) 20-Apr-2022 +* @date (last) 06-Jul-2022 * * @author (original) Dara Navaei * @date (original) 05-Nov-2019 Index: firmware/App/Modes/ModeService.c =================================================================== diff -u -raa2517012c7b26de27143c135a5f284ca6721fa1 -ra4669c80291e85fa5ce17d77ebcfd0c882831202 --- firmware/App/Modes/ModeService.c (.../ModeService.c) (revision aa2517012c7b26de27143c135a5f284ca6721fa1) +++ firmware/App/Modes/ModeService.c (.../ModeService.c) (revision a4669c80291e85fa5ce17d77ebcfd0c882831202) @@ -8,7 +8,7 @@ * @file ModeService.c * * @author (last) Dara Navaei -* @date (last) 24-Oct-2021 +* @date (last) 03-Aug-2022 * * @author (original) Dara Navaei * @date (original) 05-Nov-2019 @@ -56,6 +56,7 @@ // Deenergize all the actuators setCPLDCleanLEDColor( CPLD_CLEAN_LED_OFF ); + return 0; } Index: firmware/App/Modes/ModeStandby.c =================================================================== diff -u -rce305a62501138378aa5778e10329c6d2359d4ef -ra4669c80291e85fa5ce17d77ebcfd0c882831202 --- firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision ce305a62501138378aa5778e10329c6d2359d4ef) +++ firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision a4669c80291e85fa5ce17d77ebcfd0c882831202) @@ -8,7 +8,7 @@ * @file ModeStandby.c * * @author (last) Dara Navaei -* @date (last) 23-May-2022 +* @date (last) 31-May-2022 * * @author (original) Dara Navaei * @date (original) 05-Nov-2019 Index: firmware/App/Services/AlarmMgmt.c =================================================================== diff -u -rbc29cfd7dc00191e3f5e26c29f7e21bef178d815 -ra4669c80291e85fa5ce17d77ebcfd0c882831202 --- firmware/App/Services/AlarmMgmt.c (.../AlarmMgmt.c) (revision bc29cfd7dc00191e3f5e26c29f7e21bef178d815) +++ firmware/App/Services/AlarmMgmt.c (.../AlarmMgmt.c) (revision a4669c80291e85fa5ce17d77ebcfd0c882831202) @@ -8,7 +8,7 @@ * @file AlarmMgmt.c * * @author (last) Dara Navaei -* @date (last) 26-Mar-2022 +* @date (last) 06-Jul-2022 * * @author (original) Sean * @date (original) 04-Feb-2020 Index: firmware/App/Services/FPGA.c =================================================================== diff -u -rae823785919192402707da5083e9b0ad40bd4938 -ra4669c80291e85fa5ce17d77ebcfd0c882831202 --- firmware/App/Services/FPGA.c (.../FPGA.c) (revision ae823785919192402707da5083e9b0ad40bd4938) +++ firmware/App/Services/FPGA.c (.../FPGA.c) (revision a4669c80291e85fa5ce17d77ebcfd0c882831202) @@ -9,7 +9,7 @@ * @file FPGA.c * * @author (last) Dara Navaei -* @date (last) 24-May-2022 +* @date (last) 04-Aug-2022 * * @author (original) Dara Navaei * @date (original) 05-Nov-2019 @@ -384,10 +384,6 @@ memset( &fpgaWriteResponseBuffer, 0, FPGA_WRITE_RSP_BUFFER_LEN ); memset( &fpgaReadResponseBuffer, 0, FPGA_READ_RSP_BUFFER_LEN ); - // Assume the read byte size is set for V3 since V3 contains less number of bytes. - // Once the V3 or DVT build switch is set resize the number of bytes to read. - fpgaReadByteSize = FPGA_SIZE_OF_V3_READ_BYTES; - // enable interrupt notifications for FPGA serial port sciEnableNotification( scilinREG, SCI_OE_INT | SCI_FE_INT ); @@ -771,7 +767,7 @@ fpgaReadCmdBuffer[ 0 ] = FPGA_READ_CMD_CODE; fpgaReadCmdBuffer[ 1 ] = GET_LSB_OF_WORD( FPGA_BULK_READ_START_ADDR ); fpgaReadCmdBuffer[ 2 ] = GET_MSB_OF_WORD( FPGA_BULK_READ_START_ADDR ); - fpgaReadCmdBuffer[ 3 ] = fpgaReadByteSize; //sizeof( DG_FPGA_SENSORS_T ); + fpgaReadCmdBuffer[ 3 ] = fpgaReadByteSize; crc = crc16( fpgaReadCmdBuffer, FPGA_READ_CMD_HDR_LEN ); fpgaReadCmdBuffer[ 4 ] = GET_MSB_OF_WORD( crc ); fpgaReadCmdBuffer[ 5 ] = GET_LSB_OF_WORD( crc ); @@ -782,7 +778,7 @@ // prep DMA for sending the bulk read cmd and receiving its response setupDMAForReadCmd( FPGA_READ_CMD_HDR_LEN + FPGA_CRC_LEN ); - setupDMAForReadResp( FPGA_READ_RSP_HDR_LEN + fpgaReadByteSize /*sizeof( DG_FPGA_SENSORS_T )*/ + FPGA_CRC_LEN ); + setupDMAForReadResp( FPGA_READ_RSP_HDR_LEN + fpgaReadByteSize + FPGA_CRC_LEN ); // set fpga comm flags for bulk write cmd and follow-up bulk read command fpgaWriteCommandInProgress = TRUE; @@ -818,7 +814,7 @@ // did FPGA Ack the read command? if ( fpgaReadResponseBuffer[ 0 ] == FPGA_READ_CMD_ACK ) { - U32 rspSize = FPGA_READ_RSP_HDR_LEN + fpgaReadByteSize; //sizeof( DG_FPGA_SENSORS_T ); + U32 rspSize = FPGA_READ_RSP_HDR_LEN + fpgaReadByteSize; U32 crcPos = rspSize; U16 crc = MAKE_WORD_OF_BYTES( fpgaReadResponseBuffer[ crcPos ], fpgaReadResponseBuffer[ crcPos + 1 ] ); @@ -827,7 +823,7 @@ { fpgaCommRetryCount = 0; // capture the read values - memcpy( &fpgaSensorReadings, &fpgaReadResponseBuffer[ FPGA_READ_RSP_HDR_LEN ], fpgaReadByteSize /*sizeof( DG_FPGA_SENSORS_T )*/ ); + memcpy( &fpgaSensorReadings, &fpgaReadResponseBuffer[ FPGA_READ_RSP_HDR_LEN ], fpgaReadByteSize ); result = FPGA_STATE_WRITE_ALL_ACTUATORS; } else // bad CRC @@ -1199,8 +1195,6 @@ fpgaActuatorSetPoints.fpgaCP2StepSpeed = stepSpeed; } -/****************************DVT Functions*******************************************/ - /*********************************************************************//** * @brief * The setFPGAAcidPumpControl function sets the DVT concentrate pump 1 Index: firmware/App/Services/FPGA.h =================================================================== diff -u -rae823785919192402707da5083e9b0ad40bd4938 -ra4669c80291e85fa5ce17d77ebcfd0c882831202 --- firmware/App/Services/FPGA.h (.../FPGA.h) (revision ae823785919192402707da5083e9b0ad40bd4938) +++ firmware/App/Services/FPGA.h (.../FPGA.h) (revision a4669c80291e85fa5ce17d77ebcfd0c882831202) @@ -8,7 +8,7 @@ * @file FPGA.h * * @author (last) Dara Navaei -* @date (last) 14-Mar-2022 +* @date (last) 12-Jul-2022 * * @author (original) Dara Navaei * @date (original) 05-Nov-2019 Index: firmware/App/Services/Reservoirs.c =================================================================== diff -u -rddc20ee738e1c688d5a16e2f3f94613d3663597d -ra4669c80291e85fa5ce17d77ebcfd0c882831202 --- firmware/App/Services/Reservoirs.c (.../Reservoirs.c) (revision ddc20ee738e1c688d5a16e2f3f94613d3663597d) +++ firmware/App/Services/Reservoirs.c (.../Reservoirs.c) (revision a4669c80291e85fa5ce17d77ebcfd0c882831202) @@ -8,7 +8,7 @@ * @file Reservoirs.c * * @author (last) Dara Navaei -* @date (last) 23-May-2022 +* @date (last) 03-Aug-2022 * * @author (original) Sean * @date (original) 18-Mar-2020 @@ -51,7 +51,7 @@ #define MAX_REDUNDANT_LOAD_CELL_DIFF 50.0F ///< Maximum difference in redundant load cells when determining if fill completed. #define MAX_DRAIN_RPM_MLP 2400.0F ///< Maximum drain RPM in mL/min. #define DATA_PUBLISH_COUNTER_START_COUNT 5 ///< Data publish counter start count. -#define ENVIRONMENT_TEMPERATURE_C 23.5F ///< Device's environment temperature in C. // TODo add this to the cal records +#define ENVIRONMENT_TEMPERATURE_C 23.5F ///< Device's environment temperature in C. // TODO add this to the cal records // ********** private data ********** @@ -260,8 +260,8 @@ { DG_CMD_RESPONSE_T cmdResponse; - cmdResponse.commandID = DG_CMD_VALVE_SETTING; - cmdResponse.rejected = TRUE; + cmdResponse.commandID = DG_CMD_VALVE_SETTING; + cmdResponse.rejected = TRUE; cmdResponse.rejectCode = DG_CMD_REQUEST_REJECT_REASON_NONE; // valve setting command only valid in generation idle mode @@ -590,7 +590,7 @@ F32 fillPart = ( ( targetFillVolML - heatingConstsCalRecord.ultrafilterVolmL ) / targetFillVolML ) * tempAvgFill; F32 tempReservoir0Actual = ultrafilterPart + fillPart; - F32 tempReservoirEndfillActual = tempReservoir0Actual + ( ( heatersTempCalc.timeReservoirFillMS * 0.5 ) * RsrvrTauCPerMS ); + F32 tempReservoirEndfillActual = tempReservoir0Actual + ( ( heatersTempCalc.timeReservoirFillMS * HALF ) * RsrvrTauCPerMS ); heatersTempCalc.tempReservoirUseActual = tempReservoirEndfillActual + ( heatersTempCalc.timeReservoirFill2SwitchMS * RsrvrTauCPerMS ); } else @@ -632,7 +632,7 @@ tempReservoirUse = heatersTempCalc.tempTargetTrimmer + RESERVOIR_EXTRA_TEMPERATURE; heatersTempCalc.tempReservoirEndFill = tempReservoirUse - ( heatersTempCalc.timeReservoirFill2SwitchMS * RsrvrTauCPerMS ); - heatersTempCalc.tempReservoir0 = heatersTempCalc.tempReservoirEndFill - ( ( heatersTempCalc.timeReservoirFillMS * 0.5 ) * RsrvrTauCPerMS ); + heatersTempCalc.tempReservoir0 = heatersTempCalc.tempReservoirEndFill - ( ( heatersTempCalc.timeReservoirFillMS * HALF ) * RsrvrTauCPerMS ); heatersTempCalc.timeUFDecayMS = (F32)heatersTempCalc.timeReservoirCycleMS - heatersTempCalc.timeReservoirFillMS; UFTimeConstant = heatersTempCalc.timeUFDecayMS * UFTauCPerMS; @@ -688,9 +688,9 @@ ( ( ( targetFillVolML - heatingConstsCalRecord.ultrafilterVolmL ) / targetFillVolML ) * heatersTempCalc.tempFillMixAvgTrimmer ); - heatersTempCalc.tempRsrvrEndFillTrimmer = heatersTempCalc.tempRsrvr0ActualTrimmer + ( ( heatersTempCalc.timeReservoirFillMS * 0.5 ) * rsrvrTauCPerMS ); + heatersTempCalc.tempRsrvrEndFillTrimmer = heatersTempCalc.tempRsrvr0ActualTrimmer + ( ( heatersTempCalc.timeReservoirFillMS * HALF ) * rsrvrTauCPerMS ); - tempRsrvrActual = heatersTempCalc.tempRsrvrEndFillTrimmer + ( ( heatersTempCalc.timeReservoirFillMS * 0.5 ) * rsrvrTauCPerMS ); + tempRsrvrActual = heatersTempCalc.tempRsrvrEndFillTrimmer + ( ( heatersTempCalc.timeReservoirFillMS * HALF ) * rsrvrTauCPerMS ); } return tempRsrvrActual; Index: firmware/App/Services/Reservoirs.h =================================================================== diff -u -r544e9782a1b8d444224f41efef38a5204c262722 -ra4669c80291e85fa5ce17d77ebcfd0c882831202 --- firmware/App/Services/Reservoirs.h (.../Reservoirs.h) (revision 544e9782a1b8d444224f41efef38a5204c262722) +++ firmware/App/Services/Reservoirs.h (.../Reservoirs.h) (revision a4669c80291e85fa5ce17d77ebcfd0c882831202) @@ -8,7 +8,7 @@ * @file Reservoirs.h * * @author (last) Dara Navaei -* @date (last) 07-Mar-2022 +* @date (last) 31-May-2022 * * @author (original) Sean * @date (original) 18-Mar-2020 Index: firmware/App/Services/SystemComm.c =================================================================== diff -u -r0f6b35ef8da4d30793a181750d0a6d5898118120 -ra4669c80291e85fa5ce17d77ebcfd0c882831202 --- firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision 0f6b35ef8da4d30793a181750d0a6d5898118120) +++ firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision a4669c80291e85fa5ce17d77ebcfd0c882831202) @@ -8,7 +8,7 @@ * @file SystemComm.c * * @author (last) Dara Navaei -* @date (last) 23-May-2022 +* @date (last) 12-Jul-2022 * * @author (original) Dara Navaei * @date (original) 05-Nov-2019 Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -r0f6b35ef8da4d30793a181750d0a6d5898118120 -ra4669c80291e85fa5ce17d77ebcfd0c882831202 --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 0f6b35ef8da4d30793a181750d0a6d5898118120) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision a4669c80291e85fa5ce17d77ebcfd0c882831202) @@ -8,7 +8,7 @@ * @file SystemCommMessages.c * * @author (last) Dara Navaei -* @date (last) 25-May-2022 +* @date (last) 21-Jun-2022 * * @author (original) Dara Navaei * @date (original) 05-Nov-2019 Index: firmware/App/Tasks/TaskPriority.c =================================================================== diff -u -r5c53288436774f0cf6a24132ace29a64a66d619d -ra4669c80291e85fa5ce17d77ebcfd0c882831202 --- firmware/App/Tasks/TaskPriority.c (.../TaskPriority.c) (revision 5c53288436774f0cf6a24132ace29a64a66d619d) +++ firmware/App/Tasks/TaskPriority.c (.../TaskPriority.c) (revision a4669c80291e85fa5ce17d77ebcfd0c882831202) @@ -8,7 +8,7 @@ * @file TaskPriority.c * * @author (last) Dara Navaei -* @date (last) 23-May-2022 +* @date (last) 06-Jul-2022 * * @author (original) Dara Navaei * @date (original) 05-Nov-2019