Index: firmware/App/Controllers/BloodLeak.c =================================================================== diff -u -r974df7d9f041fac87788c400220e9e049f25ea7e -rf9a866abfc44db38c01cb795fea894cce1042eec --- firmware/App/Controllers/BloodLeak.c (.../BloodLeak.c) (revision 974df7d9f041fac87788c400220e9e049f25ea7e) +++ firmware/App/Controllers/BloodLeak.c (.../BloodLeak.c) (revision f9a866abfc44db38c01cb795fea894cce1042eec) @@ -527,9 +527,8 @@ static BLOOD_LEAK_STATE_T handleBloodLeakCheckZeroAndSelfTestState( void ) { U08 i; - BLOOD_LEAK_STATE_T state = BLOOD_LEAK_CHECK_ZERO_AND_SELF_TEST_STATE; - BOOL areCommandsReady = TRUE; - bloodLeakEmbModeHasZeroBeenRqustd = FALSE; + BLOOD_LEAK_STATE_T state = BLOOD_LEAK_CHECK_ZERO_AND_SELF_TEST_STATE; + BOOL areCommandsReady = TRUE; for ( i = 0; i < NUM_OF_EMB_CMDS; i++ ) { @@ -578,6 +577,7 @@ { // Done with zero sequence, transition to other states bloodLeakEmbModeCmd[ Z_EMB_MODE_CMD ].commandRetryCount = 0; + bloodLeakEmbModeHasZeroBeenRqustd = FALSE; bloodLeakSelfTestStatus = SELF_TEST_STATUS_PASSED; state = BLOOD_LEAK_NORMAL_STATE; } @@ -1364,7 +1364,7 @@ *************************************************************************/ static U08 dequeueEmbModeCmd( void ) { - U08 command; + U08 command = 0; U08 tempIndex; _disable_IRQ(); Index: firmware/App/Controllers/Valves.c =================================================================== diff -u -r1f669c93c03ac8f246a2b791678b4b65ecb2dbd4 -rf9a866abfc44db38c01cb795fea894cce1042eec --- firmware/App/Controllers/Valves.c (.../Valves.c) (revision 1f669c93c03ac8f246a2b791678b4b65ecb2dbd4) +++ firmware/App/Controllers/Valves.c (.../Valves.c) (revision f9a866abfc44db38c01cb795fea894cce1042eec) @@ -88,7 +88,7 @@ #define TRANSITION_STEP_CHANGE_IN_COUNTS 15000 ///< Step change in counts during normal operations #define MAX_DEVIATION_FROM_TARGET_IN_COUNTS 1000 ///< Maximum deviation from target in counts -#define MAX_DEVIATION_FROM_TGT_IN_TRAVEL_CNTS 1000 ///< Maximum deviation from target in counts +#define MAX_DEVIATION_FROM_TGT_IN_TRAVEL_CNTS 150 ///< Maximum deviation from target in counts #define MAX_DEVIATION_FROM_TRAGET_IN_POS_B 1000 ///< Maximum allowed deviation from position B in counts #define MAX_ALLOWED_FAILED_HOMINGS 3U ///< Maximum allowed failed homings /// The time that the valve must be at the edge to be considered for edge detection @@ -201,10 +201,8 @@ static VALVE_SELF_TEST_STATE_T valveSelfTestState = VALVE_SELF_TEST_ENABLE_VALVES; ///< Valves self test state static SELF_TEST_STATUS_T valvesSelfTestResult = SELF_TEST_STATUS_IN_PROGRESS; ///< Valves self test result +static VALVE_STATUS_T valvesStatus[ NUM_OF_VALVES ]; ///< Array of type VALVE_STATUS_T structure that holds the status of each valve -/// Array of type VALVE_STATUS_T structure that holds the status of each valve -static VALVE_STATUS_T valvesStatus[ NUM_OF_VALVES ]; - static OVERRIDE_U32_T valvesDataPublishInterval = { VALVES_DATA_PUB_INTERVAL, VALVES_DATA_PUB_INTERVAL, 0, 0 }; ///< Valves data publish interval static OVERRIDE_U32_T valvesPositionOverride[ NUM_OF_VALVES ] = { VALVE_POSITION_C_CLOSE, VALVE_POSITION_C_CLOSE, 0, 0 }; ///< Valves position override @@ -224,7 +222,7 @@ { VBA_INIT_STATUS_BIT_MASK, VBA_ENABLE_PID_STATUS_BIT_MASK, VBA_ENABLE_BYPASS_STATUS_BIT_MASK, VBA_RESET_CONTROL_BIT_MASK }, { VBV_INIT_STATUS_BIT_MASK, VBV_ENABLE_PID_STATUS_BIT_MASK, VBV_ENABLE_BYPASS_STATUS_BIT_MASK, VBV_RESET_CONTROL_BIT_MASK } }; ///< Valves control status bits -static U16 valvesControlSetBits = 0x0000; ///< Valves control set bit +static U16 valvesControlSetBits; ///< Valves control set bit static OPN_CLS_STATE_T valveAirTrapStatus; ///< Air trap valve status (open/close) static HD_VALVES_CAL_RECORD_T valvesCalibrationRecord; ///< Valves calibration record. @@ -283,9 +281,9 @@ for ( valve = VDI; valve < NUM_OF_VALVES; valve++ ) { valvesStatus[ valve ].execState = VALVE_STATE_WAIT_FOR_POST; - valvesStatus[ valve ].current.data = 0.0; - valvesStatus[ valve ].current.ovData = 0.0; - valvesStatus[ valve ].current.ovInitData = 0.0; + valvesStatus[ valve ].current.data = 0.0F; + valvesStatus[ valve ].current.ovData = 0.0F; + valvesStatus[ valve ].current.ovInitData = 0.0F; valvesStatus[ valve ].current.override = 0; valvesStatus[ valve ].dataPublishCounter = DATA_PUBLISH_COUNTER_START_COUNT; } @@ -719,7 +717,7 @@ S16 energizedEdge = valvesStatus[ valve ].positions[ VALVE_POSITION_B_OPEN ]; S16 deltaEdges = energizedEdge - currentPosition; - // The range from energized to de-energized should be in between 9000 to 13000 steps + // The range from energized to de-energized should be in between 10750 to 13250 steps if ( ( deltaEdges <= INITIAL_ENERGIZED_EDGE_UPPER_RANGE ) && ( deltaEdges >= INITIAL_ENERGIZED_EDGE_LOWER_RANGE ) ) { S16 positionC = currentPosition + INITIAL_EDGE_OFFSET_READ_COUNT; @@ -839,8 +837,7 @@ *************************************************************************/ static VALVE_STATE_T handleValveStateInTransition( VALVE_T valve ) { - VALVE_STATE_T state = VALVE_STATE_IN_TRANSITION; - + VALVE_STATE_T state = VALVE_STATE_IN_TRANSITION; VALVE_POSITION_T commandedPositionEnum = valvesStatus[ valve ].commandedPosition; // Get the corresponding counts of the positions Index: firmware/App/HDCommon.h =================================================================== diff -u -r5c7b301b677c60519a9d89f4624c6020958de752 -rf9a866abfc44db38c01cb795fea894cce1042eec --- firmware/App/HDCommon.h (.../HDCommon.h) (revision 5c7b301b677c60519a9d89f4624c6020958de752) +++ firmware/App/HDCommon.h (.../HDCommon.h) (revision f9a866abfc44db38c01cb795fea894cce1042eec) @@ -43,7 +43,7 @@ // #define DISABLE_FPGA_COUNTER_CHECKS 1 // Disable alarms associated with FPGA read/error counters // #define EMC_TEST_BUILD 1 // EMC test build - HD/DG run separately but connected, HD pumps toggle on/off w/ stop button // #define DISABLE_WD_AND_SFTY_POST_TESTS 1 // Disable watchdog and safety shutdown POST tests - #define DISABLE_UI_POST_TEST 1 // Disable the UI POST +// #define DISABLE_UI_POST_TEST 1 // Disable the UI POST #include #include Index: firmware/App/Modes/BloodPrime.c =================================================================== diff -u -r402885eda2ed755a079c854d1228ac5f76cbec7c -rf9a866abfc44db38c01cb795fea894cce1042eec --- firmware/App/Modes/BloodPrime.c (.../BloodPrime.c) (revision 402885eda2ed755a079c854d1228ac5f76cbec7c) +++ firmware/App/Modes/BloodPrime.c (.../BloodPrime.c) (revision f9a866abfc44db38c01cb795fea894cce1042eec) @@ -228,7 +228,7 @@ // Update blood prime volume delivered so far cumulativeBloodPrimeVolume_mL.data += ( getMeasuredBloodFlowRate() * BLOOD_PRIME_FLOW_INTEGRATOR ); - expectedBloodPrimeVolume_mL += ( (F32)getTargetBloodFlowRate() * BLOOD_PRIME_FLOW_INTEGRATOR ); + expectedBloodPrimeVolume_mL += ( (F32)getTargetBloodFlowRate() * BLOOD_PRIME_FLOW_INTEGRATOR ); // Has blood prime completed? if ( getBloodPrimeVolume() >= bloodPrimeTargetVolume_mL ) Index: firmware/App/Modes/Dialysis.c =================================================================== diff -u -ra4e044315bbfaaeff11cb9391485897458a48a5f -rf9a866abfc44db38c01cb795fea894cce1042eec --- firmware/App/Modes/Dialysis.c (.../Dialysis.c) (revision a4e044315bbfaaeff11cb9391485897458a48a5f) +++ firmware/App/Modes/Dialysis.c (.../Dialysis.c) (revision f9a866abfc44db38c01cb795fea894cce1042eec) @@ -911,7 +911,7 @@ #ifndef RUN_PUMPS_OPEN_LOOP setDialInPumpTargetFlowRate( DIALYSATE_FLOW_RATE_FOR_RECIRC, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_CLOSED_LOOP ); #else - setDialInPumpTargetFlowRate( DIALYSATE_FLOW_RATE_FOR_RECIRC, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP); + setDialInPumpTargetFlowRate( DIALYSATE_FLOW_RATE_FOR_RECIRC, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); #endif // Begin saline bolus result = SALINE_BOLUS_STATE_IN_PROGRESS; Index: firmware/App/Modes/ModeFault.c =================================================================== diff -u -rbad6e3217cf7ed758db71f5aef9372838e6d7b61 -rf9a866abfc44db38c01cb795fea894cce1042eec --- firmware/App/Modes/ModeFault.c (.../ModeFault.c) (revision bad6e3217cf7ed758db71f5aef9372838e6d7b61) +++ firmware/App/Modes/ModeFault.c (.../ModeFault.c) (revision f9a866abfc44db38c01cb795fea894cce1042eec) @@ -66,7 +66,7 @@ *************************************************************************/ U32 transitionToFaultMode( void ) { - HD_OP_MODE_T previousOpMode = getPreviousOperationMode(); + HD_OP_MODE_T previousOpMode = getPreviousOperationMode(); DG_OP_MODE_T dgOperationMode = getDGOpMode(); initFaultMode(); Index: firmware/App/Modes/Prime.c =================================================================== diff -u -rbad6e3217cf7ed758db71f5aef9372838e6d7b61 -rf9a866abfc44db38c01cb795fea894cce1042eec --- firmware/App/Modes/Prime.c (.../Prime.c) (revision bad6e3217cf7ed758db71f5aef9372838e6d7b61) +++ firmware/App/Modes/Prime.c (.../Prime.c) (revision f9a866abfc44db38c01cb795fea894cce1042eec) @@ -143,11 +143,10 @@ *************************************************************************/ void initPrime( void ) { - currentPrimeState = HD_PRIME_START_STATE; - currentReservoirMgmtState = PRIME_RESERVOIR_MGMT_START_STATE; - - primeStartTime = 0; - primePauseStartTime = 0; + currentPrimeState = HD_PRIME_START_STATE; + currentReservoirMgmtState = PRIME_RESERVOIR_MGMT_START_STATE; + primeStartTime = 0; + primePauseStartTime = 0; primeStatusBroadcastTimerCounter = 0; } Index: firmware/App/Services/FPGA.c =================================================================== diff -u -rc4597167d133bcafd1a0576d0f7c53f430d98d4b -rf9a866abfc44db38c01cb795fea894cce1042eec --- firmware/App/Services/FPGA.c (.../FPGA.c) (revision c4597167d133bcafd1a0576d0f7c53f430d98d4b) +++ firmware/App/Services/FPGA.c (.../FPGA.c) (revision f9a866abfc44db38c01cb795fea894cce1042eec) @@ -138,18 +138,18 @@ { U08 errorCountProcessor; ///< Reg 256. TBD. U08 errorCountPC; ///< Reg 257. TBD. - U08 bloodFlowMeterDataPktCount; ///< Reg 258. Blood flow sensor data packet count. (OBSOLETE) - U08 bloodFlowMeterSlowPktCounts; ///< Reg 259. Blood flow sensor slow data packet count. (OBSOLETE) - F32 bloodFlowLast; ///< Reg 260. Blood flow rate data. (OBSOLETE) - U08 bloodFlowMeterDeviceStatus; ///< Reg 264. Blood flow sensor status. (OBSOLETE) - U08 bloodFlowMeterResponse; ///< Reg 265. TBD. (OBSOLETE) - U08 dialysateFlowMeterDataPktCount; ///< Reg 266. Dialysate flow sensor data packet count. (OBSOLETE) - U08 dialysateFlowMeterSlowPckCounts; ///< Reg 267. Dialysate flow sensor slow data packet count. (OBSOLETE) - F32 dialysateFlowLast; ///< Reg 268. Dialysate flow rate data. (OBSOLETE) - U08 dialysateFlowMeterDeviceStatus; ///< Reg 272. Dialysate flow sensor status. (OBSOLETE) - U08 dialysateFlowMeterResponse; ///< Reg 273. TBD. (OBSOLETE) - U08 bloodFlowMeterErrorCount; ///< Reg 274. Blood flow sensor error count. (OBSOLETE) - U08 dialysateFlowMeterErrorCount; ///< Reg 275. Dialysate flow sensor error count. (OBSOLETE) + U08 reserved1; ///< Reg 258. Reserved. + U08 reserved2; ///< Reg 259. Reserved. + F32 reserved3; ///< Reg 260. Reserved. + U08 reserved4; ///< Reg 264. Reserved. + U08 reserved5; ///< Reg 265. Reserved. + U08 reserved6; ///< Reg 266. Reserved. + U08 reserved7; ///< Reg 267. Reserved. + F32 reserved8; ///< Reg 268. Reserved. + U08 reserved9; ///< Reg 272. Reserved. + U08 reserved10; ///< Reg 273. Reserved. + U08 reserved11; ///< Reg 274. Reserved. + U08 reserved12; ///< Reg 275. Reserved. U16 bloodOcclusionData; ///< Reg 276. Blood pump occlusion sensor data. U08 bloodOcclusionReadCount; ///< Reg 278. Blood pump occlusion sensor read count. U08 bloodOcclusionErrorCount; ///< Reg 279. Blood pump occlusion sensor error count. @@ -164,9 +164,9 @@ U08 dialInPumpHallSensorStatus; ///< Reg 291. Dialysate inlet pump hall sensor status. U32 adc1Channel0; ///< Reg 292. ADC1 channel 0 data. U32 adc1Channel1; ///< Reg 296. ADC1 channel 1 data. - U32 bloodFlowSoundSpeedData; ///< Reg 300. Blood flow sensor - sound speed data. (OBSOLETE) - U32 bloodFlowAccFlowData; ///< Reg 304. Blood flow sensor - accumulated flow data. (OBSOLETE) - F32 bloodFlowSignalStrength; ///< Reg 308. Blood flow sensor - signal strength. (OBSOLETE) + U32 reserved13; ///< Reg 300. Reserved. + U32 reserved14; ///< Reg 304. Reserved. + F32 reserved15; ///< Reg 308. Reserved. U08 adc1SequenceCount; ///< Reg 312. ADC1 round robin channel sequence count. U08 adc1ErrorCount; ///< Reg 313. ADC1 error count. U16 accelX; ///< Reg 314. Accelerometer X axis data. @@ -183,9 +183,9 @@ U08 dialOutPumpSensorStatus; ///< Reg 335. Dialysate outlet pump hall sensor status. U16 dialInPumpHallSensorCount; ///< Reg 336. Dialysate inlet pump hall sensor count. U16 dialOutPumpHallSensorCount; ///< Reg 338. Dialysate outlet pump hall sensor count. - U32 dialysateFlowSoundSpeedData; ///< Reg 340. Dialysate flow sensor - sound speed data. (OBSOLETE) - U32 dialysateFlowAccFlowData; ///< Reg 344. Dialysate flow sensor - accumulated flow data. (OBSOLETE) - F32 dialysateFlowSignalStrength; ///< Reg 348. Dialysate flow sensor - signal strength. (OBSOLETE) + U32 reserved16; ///< Reg 340. Reserved. + U32 reserved17; ///< Reg 344. Reserved. + F32 reserved18; ///< Reg 348. Reserved. U16 fan1PulseTime; ///< Reg 352. Fan 1 pulse time in 2.5 uSec resolution. 0xFFFF if fan RPM < 500 RPM. U16 fan2PUlseTime; ///< Reg 354. Fan 2 pulse time in 2.5 uSec resolution. 0xFFFF if fan RPM < 500 RPM. U16 fpgaGPIO; ///< Reg 356. FPGA GPIO register. @@ -227,15 +227,15 @@ U08 V4EncError; ///< Reg 423. Pinch valve V4 encoder error counter. U08 ADACounter; ///< Reg 424. ADA bubble counter. U08 ADVCounter; ///< Reg 425. ADV bubble counter. - U08 ZLeakCounter; ///< Reg 426. Blood leak zero status counter. (OBSOLETE) - U08 BLeakCounter; ///< Reg 427. Blood leak counter. (OBSOLETE) + U08 reserved19; ///< Reg 426. Reserved. + U08 reserved20; ///< Reg 427. Reserved. U08 VenousErrorCounter; ///< Reg 428. Venous error counter. - U08 bloodLeakZeroedStatus; ///< Reg 429. Blood leak and sensor zeored status. (OBSOLETE) - U16 bloodLeakDetectSetPoint; ///< Reg 430. Blood leak stored set point value. (OBSOLETE) - U16 bloodLeakDetectLevel; ///< Reg 432. Blood leak detection stored level value. (OBSOLETE) - U16 bloodLeakStCount; ///< Reg 434. Blood leak St Count. (OBSOLETE) - U16 bloodLeakLEDIntensity; ///< Reg 436. Blood leak LED intensity. (OBSOLETE) - U16 bloodLeakRdCounter; ///< Reg 438. Blood leak register counter. (OBSOLETE) + U08 reserved21; ///< Reg 429. Reserved. + U16 reserved22; ///< Reg 430. Reserved. + U16 reserved23; ///< Reg 432. Reserved. + U16 reserved24; ///< Reg 434. Reserved. + U16 reserved25; ///< Reg 436. Reserved. + U16 reserved26; ///< Reg 438. Reserved. U16 arterialPressure; ///< Reg 440. Arterial pressure sensor. U16 arterialPressureTemperature; ///< Reg 442. Arterial pressure sensor temperature. U08 arterialPressureReadCount; ///< Reg 444. Arterial pressure sensor read count. @@ -290,7 +290,7 @@ U16 fpgaVAux11Voltage; ///< Reg 534. Aux. voltage 11. F32 bloodFlowSoundSpeed; ///< Reg 536. Blood flow sound speed. F32 bloodFlowAccFlow; ///< Reg 540. Blood flow accumulated flow. - F32 bloodFlowSignalStrength; ///< Reg 544. Blood flow signal strength. + F32 reserved15; ///< Reg 544. Reserved. F32 dialysateInFlowSoundSpeed; ///< Reg 548. Dialysate inlet flow sound speed. F32 dialysateInFlowAccFlow; ///< Reg 552. Dialysate inlet flow accumulated flow. F32 dialysateInFlowSignalStrength; ///< Reg 556. Dialysate inlet flow signal strength. @@ -1283,108 +1283,6 @@ /*********************************************************************//** * @brief - * The getFPGABloodFlowSignalStrength function gets the latest blood flow - * signal strength reading. - * @details Inputs: fpgaSensorReadings2 - * @details Outputs: none - * @return last blood flow signal strength reading - *************************************************************************/ -F32 getFPGABloodFlowSignalStrength( void ) -{ - return fpgaSensorReadings.bloodFlowSignalStrength; -} - -/*********************************************************************//** - * @brief - * The getFPGADialysateFlowSignalStrength function gets the latest dialysate - * flow signal strength reading. - * @details Inputs: fpgaSensorReadings2 - * @details Outputs: none - * @return last dialysate flow signal strength reading - *************************************************************************/ -F32 getFPGADialysateFlowSignalStrength( void ) -{ - return fpgaSensorReadings.dialysateFlowSignalStrength; -} - -/*********************************************************************//** - * @brief - * The getFPGADialysateFlow function gets the latest dialysate flow reading. - * @details Inputs: fpgaSensorReadings - * @details Outputs: none - * @return last dialysate flow reading - *************************************************************************/ -F32 getFPGADialysateFlow( void ) -{ - return fpgaSensorReadings.dialysateFlowLast; -} - -/*********************************************************************//** - * @brief - * The getFPGADialysateFlowMeterStatus function gets the dialysate flow meter status. - * @details Inputs: fpgaSensorReadings - * @details Outputs: none - * @return current dialysate flow meter status - *************************************************************************/ -U08 getFPGADialysateFlowMeterStatus( void ) -{ - return fpgaSensorReadings.dialysateFlowMeterDeviceStatus; -} - -/*********************************************************************//** - * @brief - * The getFPGADialysateFlowFastPacketReadCounter function gets the dialysate - * flow meter fast packet read counter. - * @details Inputs: fpgaSensorReadings - * @details Outputs: none - * @return current dialysate flow meter fast packet read counter - *************************************************************************/ -U08 getFPGADialysateFlowFastPacketReadCounter( void ) -{ - return fpgaSensorReadings.dialysateFlowMeterDataPktCount; -} - -/*********************************************************************//** - * @brief - * The getFPGADialysateFlowSlowPacketReadCounter function gets the dialysate - * flow meter slow packet read counter. - * @details Inputs: fpgaSensorReadings - * @details Outputs: none - * @return current dialysate flow meter slow packet read counter - *************************************************************************/ -U08 getFPGADialysateFlowSlowPacketReadCounter( void ) -{ - return ( fpgaSensorReadings.dialysateFlowMeterSlowPckCounts & MASK_OFF_NIBBLE_LSB ) >> SHIFT_BITS_BY_4; -} - -/*********************************************************************//** - * @brief - * The getFPGADialysateFlowStatusPacketReadCounter function gets the dialysate - * flow meter status packet read counter. - * @details Inputs: fpgaSensorReadings - * @details Outputs: none - * @return current dialysate flow meter status packet read counter - *************************************************************************/ -U08 getFPGADialysateFlowStatusPacketReadCounter( void ) -{ - return ( fpgaSensorReadings.dialysateFlowMeterSlowPckCounts & MASK_OFF_NIBBLE_MSB ); -} - -/*********************************************************************//** - * @brief - * The getFPGADialysateFlowErrorCounter function gets the dialysate flow meter - * error counter. - * @details Inputs: fpgaSensorReadings - * @details Outputs: none - * @return current dialysate flow meter error counter - *************************************************************************/ -U08 getFPGADialysateFlowErrorCounter( void ) -{ - return fpgaSensorReadings.dialysateFlowMeterErrorCount; -} - -/*********************************************************************//** - * @brief * The getFPGABloodPumpHallSensorCount function gets the latest blood pump * hall sensor count. Count is a 16 bit free running counter. If counter is * counting up, indicates motor is running in forward direction. If counter is @@ -2022,105 +1920,6 @@ /*********************************************************************//** * @brief - * The getFPGABloodLeakZeroStatusCounter function returns the blood leak - * zero status counter - * @details Inputs: none - * @details Outputs: none - * @return fpgaSensorReadings.ZLeakCounter - *************************************************************************/ -U08 getFPGABloodLeakZeroStatusCounter( void ) -{ - return fpgaSensorReadings.ZLeakCounter; -} - -/*********************************************************************//** - * @brief - * The getFPGABloodLeakCounter function returns the blood leak counter. - * @details Inputs: none - * @details Outputs: none - * @return fpgaSensorReadings.BLeakCounter - *************************************************************************/ -U08 getFPGABloodLeakCounter( void ) -{ - return fpgaSensorReadings.BLeakCounter; -} - -/*********************************************************************//** - * @brief - * The getFPGABloodLeakZeroedStatus function returns the blood leak zeroed status. - * @details Inputs: none - * @details Outputs: none - * @return fpgaSensorReadings.bloodLeakZeroedStatus - *************************************************************************/ -U08 getFPGABloodLeakZeroedStatus( void ) -{ - return fpgaSensorReadings.bloodLeakZeroedStatus; -} - -/*********************************************************************//** - * @brief - * The getFPGABloodLeakDetectSetPoint function returns the blood leak detect - * set point. - * @details Inputs: none - * @details Outputs: none - * @return fpgaSensorReadings.bloodDetectSetPoint - *************************************************************************/ -U16 getFPGABloodLeakDetectSetPoint( void ) -{ - return fpgaSensorReadings.bloodLeakDetectSetPoint; -} - -/*********************************************************************//** - * @brief - * The getFPGABloodLeakDetectLevel function returns the blood leak detect level. - * @details Inputs: none - * @details Outputs: none - * @return fpgaSensorReadings.bloodDetectLevel - *************************************************************************/ -U16 getFPGABloodLeakDetectLevel( void ) -{ - return fpgaSensorReadings.bloodLeakDetectLevel; -} - -/*********************************************************************//** - * @brief - * The getFPGABloodLeakStCount function returns the blood leak st count. - * @details Inputs: none - * @details Outputs: none - * @return fpgaSensorReadings.bloodStCount - *************************************************************************/ -U16 getFPGABloodLeakStCount( void ) -{ - return fpgaSensorReadings.bloodLeakStCount; -} - -/*********************************************************************//** - * @brief - * The getFPGABloodLeakLEDIntensity function returns the blood leak LED intensity. - * @details Inputs: none - * @details Outputs: none - * @return fpgaSensorReadings.bloodLEDIntensity - *************************************************************************/ -U16 getFPGABloodLeakLEDIntensity( void ) -{ - return fpgaSensorReadings.bloodLeakLEDIntensity; -} - -/*********************************************************************//** - * @brief - * The getFPGABloodLeakRegisterCounter function returns the blood leak register - * counter. - * @details Inputs: none - * @details Outputs: none - * @return fpgaSensorReadings.bloodRdCounter - *************************************************************************/ -U16 getFPGABloodLeakRegisterCounter( void ) -{ - return fpgaSensorReadings.bloodLeakRdCounter; -} - -/*********************************************************************//** - * @brief * The getFPGABloodLeakTxFIFOCount function returns the blood leak transmit * FIFO count. * @details Inputs: none Index: firmware/App/Services/FPGA.h =================================================================== diff -u -rc4597167d133bcafd1a0576d0f7c53f430d98d4b -rf9a866abfc44db38c01cb795fea894cce1042eec --- firmware/App/Services/FPGA.h (.../FPGA.h) (revision c4597167d133bcafd1a0576d0f7c53f430d98d4b) +++ firmware/App/Services/FPGA.h (.../FPGA.h) (revision f9a866abfc44db38c01cb795fea894cce1042eec) @@ -60,15 +60,7 @@ void setAlarmAudioState( U32 state, U32 volumeLevel, U32 volumeDivider ); F32 getFPGABloodFlowSignalStrength( void ); -F32 getFPGADialysateFlowSignalStrength( void ); -F32 getFPGADialysateFlow( void ); -U08 getFPGADialysateFlowMeterStatus( void ); -U08 getFPGADialysateFlowFastPacketReadCounter( void ); -U08 getFPGADialysateFlowSlowPacketReadCounter( void ); -U08 getFPGADialysateFlowStatusPacketReadCounter( void ); -U08 getFPGADialysateFlowErrorCounter( void ); - U16 getFPGABloodPumpHallSensorCount( void ); U08 getFPGABloodPumpHallSensorStatus( void ); U16 getFPGADialInPumpHallSensorCount( void ); @@ -128,14 +120,7 @@ void setFPGABloodLeakUARTControl( U08 value ); void setFPGABloodLeakUARTTransmit( U08 value ); -U08 getFPGABloodLeakZeroStatusCounter( void ); -U08 getFPGABloodLeakCounter( void ); -U08 getFPGABloodLeakZeroedStatus( void ); -U16 getFPGABloodLeakDetectSetPoint( void ); -U16 getFPGABloodLeakDetectLevel( void ); -U16 getFPGABloodLeakStCount( void ); -U16 getFPGABloodLeakLEDIntensity( void ); -U16 getFPGABloodLeakRegisterCounter( void ); + U08 getFPGABloodLeakTxFIFOCount( void ); U16 getFPGABloodLeakRxFIFOCount( void ); U08 getFPGABloodLeakRxErrorCount( void ); Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -r88e9ed0f8ed4fa0ee3424a1e241787aab8e60683 -rf9a866abfc44db38c01cb795fea894cce1042eec --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 88e9ed0f8ed4fa0ee3424a1e241787aab8e60683) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision f9a866abfc44db38c01cb795fea894cce1042eec) @@ -3206,26 +3206,28 @@ MESSAGE_T msg; HD_SERVICE_RECORD_T service; DG_SERVICE_AND_USAGE_DATA_T dgData; + U08 *payloadPtr = msg.payload; getNVRecord2Driver( GET_SRV_RECORD, (U08*)&service, sizeof( HD_SERVICE_RECORD_T ), 0, ALARM_ID_NO_ALARM ); getHDVersionDGServiceAndUsageData( &dgData ); - U08 *payloadPtr = msg.payload; + if ( 0 == message->hdr.payloadLen ) + { + // Create a message record + blankMessage( &msg ); + msg.hdr.msgID = MSG_ID_HD_SERVICE_SCHEDULE_DATA; + msg.hdr.payloadLen = sizeof( U32 ) + sizeof( U32 ); - // Create a message record - blankMessage( &msg ); - msg.hdr.msgID = MSG_ID_HD_SERVICE_SCHEDULE_DATA; - msg.hdr.payloadLen = sizeof( U32 ) + sizeof( U32 ); + // Fill message payload + memcpy( payloadPtr, &service.lastServiceEpochDate, sizeof( U32 ) ); + payloadPtr += sizeof( U32 ); + memcpy( payloadPtr, &service.serviceIntervalSeconds, sizeof( U32 ) ); + payloadPtr += sizeof( U32 ); + memcpy( payloadPtr, &dgData.dgServiceRecord.lastServiceDateEpoch, sizeof( U32 ) ); + payloadPtr += sizeof( U32 ); + memcpy( payloadPtr, &dgData.dgServiceRecord.serviceIntervalSeconds, sizeof( U32 ) ); + } - // Fill message payload - memcpy( payloadPtr, &service.lastServiceEpochDate, sizeof( U32 ) ); - payloadPtr += sizeof( U32 ); - memcpy( payloadPtr, &service.serviceIntervalSeconds, sizeof( U32 ) ); - payloadPtr += sizeof( U32 ); - memcpy( payloadPtr, &dgData.dgServiceRecord.lastServiceDateEpoch, sizeof( U32 ) ); - payloadPtr += sizeof( U32 ); - memcpy( payloadPtr, &dgData.dgServiceRecord.serviceIntervalSeconds, sizeof( U32 ) ); - // Serialize the message (w/ sync, CRC, and appropriate CAN padding) and add serialized message data to appropriate comm buffer serializeMessage( msg, COMM_BUFFER_OUT_CAN_HD_2_UI, ACK_REQUIRED ); } Index: firmware/App/Services/WatchdogMgmt.c =================================================================== diff -u -r2140a55e7bba381ec3b62aa2af47b967c8adaa31 -rf9a866abfc44db38c01cb795fea894cce1042eec --- firmware/App/Services/WatchdogMgmt.c (.../WatchdogMgmt.c) (revision 2140a55e7bba381ec3b62aa2af47b967c8adaa31) +++ firmware/App/Services/WatchdogMgmt.c (.../WatchdogMgmt.c) (revision f9a866abfc44db38c01cb795fea894cce1042eec) @@ -109,13 +109,13 @@ allTasksCheckedIn = haveAllTasksCheckedIn(); // If all monitored tasks checked in, pet watchdog and clear the slate - if ( ( TRUE == allTasksCheckedIn ) && ( didTimeout( lastWatchdogPetTime, MIN_WATCHDOG_PET_INTERVAL_MS ) ) ) + if ( ( TRUE == allTasksCheckedIn ) && ( TRUE == didTimeout( lastWatchdogPetTime, MIN_WATCHDOG_PET_INTERVAL_MS ) ) ) { petWatchdog(); resetWDTaskCheckIns(); } // Check to see if watchdog has expired - if ( getCPLDWatchdogExpired() == PIN_SIGNAL_LOW ) + if ( PIN_SIGNAL_LOW == getCPLDWatchdogExpired() ) { // Ignore expired watchdog until after watchdog POST if ( ( WATCHDOG_SELF_TEST_STATE_COMPLETE == watchdogSelfTestState ) || @@ -171,7 +171,7 @@ { // Waiting here for w.d. test period to prevent this task from checking in - watchdog should expire } - if ( getCPLDWatchdogExpired() == PIN_SIGNAL_LOW ) + if ( PIN_SIGNAL_LOW == getCPLDWatchdogExpired() ) { F32 v24 = getIntADCVoltageConverted( INT_ADC_24V_ACTUATORS ); F32 audioCurrent = getFPGABackupAlarmAudioCurrent(); @@ -206,7 +206,7 @@ case WATCHDOG_SELF_TEST_STATE_RECOVER: if ( TRUE == didTimeout( watchdogSelfTestTimerCount, WATCHDOG_RECOVERY_TIME_MS ) ) { // Verify watchdog expired signal no longer active - if ( getCPLDWatchdogExpired() == PIN_SIGNAL_HIGH ) + if ( PIN_SIGNAL_HIGH == getCPLDWatchdogExpired() ) { F32 v24 = getIntADCVoltageConverted( INT_ADC_24V_ACTUATORS ); F32 audioCurrent = getFPGABackupAlarmAudioCurrent(); Index: firmware/App/Tasks/TaskGeneral.c =================================================================== diff -u -rbad6e3217cf7ed758db71f5aef9372838e6d7b61 -rf9a866abfc44db38c01cb795fea894cce1042eec --- firmware/App/Tasks/TaskGeneral.c (.../TaskGeneral.c) (revision bad6e3217cf7ed758db71f5aef9372838e6d7b61) +++ firmware/App/Tasks/TaskGeneral.c (.../TaskGeneral.c) (revision f9a866abfc44db38c01cb795fea894cce1042eec) @@ -83,16 +83,15 @@ // Monitor temperatures execTemperatures(); -#endif +#endif + // Monitor processor RAM status + execRAMMonitor(); // Run operation mode state machine execOperationModes(); #ifndef BOARD_WITH_NO_HARDWARE - // Monitor processor RAM status - execRAMMonitor(); - // Manage RTC execRTC();