Index: firmware/App/Services/FpgaDD.c =================================================================== diff -u -rbce6e6d1cfb6e8a0b186419416460ead3a44e5e1 -r9102c5da21a15bdaf4bb3bc38795ceb064e3c443 --- firmware/App/Services/FpgaDD.c (.../FpgaDD.c) (revision bce6e6d1cfb6e8a0b186419416460ead3a44e5e1) +++ firmware/App/Services/FpgaDD.c (.../FpgaDD.c) (revision 9102c5da21a15bdaf4bb3bc38795ceb064e3c443) @@ -198,17 +198,17 @@ U08 fpgaValveUFStates; ///< Reg 364. Ultrafiltration Valves states U08 fpgaValveUFPWMStates; ///< Reg 365. Ultrafiltration Valves PWM states U08 fpgaCPACPBFault; ///< Reg 366. Concentrate pump fault register for CPA and CPB - U16 fpgaCPAHallSense; ///< Reg 367. Concentrate pump CPA hall sensor pulse width - U16 fpgaCPBHallSense; ///< Reg 369. Concentrate pump CPB hall sensor pulse width + U08 fpgaRTDCountErrorCycles; ///< Reg 367. Count of each incomplete seq of reads from RTD ADC. + U16 fpgaCPAHallSense; ///< Reg 368. Concentrate pump CPA hall sensor pulse width + U16 fpgaCPBHallSense; ///< Reg 370. Concentrate pump CPB hall sensor pulse width - F32 fpgaTax1Temp; ///< Reg 371. Inlet heat exchanger temperature - F32 fpgaTH2Temp; ///< Reg 375. Inlet heat exchanger temperature - F32 fpgaTH1Temp; ///< Reg 379. Hydraulics primary heater temperature - F32 fpgaTH3Temp; ///< Reg 383. Trimmer heater temperature - U08 fpgaRTDReadCnt; ///< Reg 387. Read count for all RTD sensors + F32 fpgaTax1Temp; ///< Reg 372. Inlet heat exchanger temperature + F32 fpgaTH2Temp; ///< Reg 376. Inlet heat exchanger temperature + F32 fpgaTH1Temp; ///< Reg 380. Hydraulics primary heater temperature + F32 fpgaTH3Temp; ///< Reg 384. Trimmer heater temperature + U08 fpgaRTDReadCnt; ///< Reg 388. Read count for all RTD sensors - U08 fpgaBaroReadCount; ///< Reg 388. Barometric sensor read count - U08 fpgaBaroErrorCount; ///< Reg 389. Barometric sensor error count + U08 fpgaBaroReadCount; ///< Reg 389. Barometric sensor read count U16 fpgaBaroManufacInfo; ///< Reg 390. Barometric sensor manufacturing information U16 fpgaBaroPROMCoeff1; ///< Reg 392. Barometric sensor PROM coefficient 1 U16 fpgaBaroPROMCoeff2; ///< Reg 394. Barometric sensor PROM coefficient 2 @@ -222,13 +222,14 @@ U16 fpgaDGPMeasuredSpeed; ///< Reg 414. Fresh dialysate pump measured speed U16 fpgaSDPMeasuredSpeed; ///< Reg 416. Spent dialysate pump measured speed - U08 fpgaDGPSDPPumpStatus; ///< Reg 418. Dialysate pumps Error status - U16 fpgaDGPCurrentFeedback; ///< Reg 419. Fresh dialysate pump current feedback - U16 fpgaSDPCurrentFeedback; ///< Reg 421. Spent dialysate pump current feedback - U08 fpgaDGPHallStatus; ///< Reg 423. Fresh dialysate pump hall sensor direction status - U08 fpgaSDPHallStatus; ///< Reg 424. Spent dialysate pump hall sensor direction status - U08 fpgaFloater1Status; ///< Reg 425. Floater 1 level sensor status - U08 fpgaFloater2Status; ///< Reg 426. Floater 2 level sensor status + U08 fpgaBaroErrorCount; ///< Reg 418. Barometric sensor Error count + U08 fpgaDGPSDPPumpStatus; ///< Reg 419. Dialysate pumps Error status + U16 fpgaDGPCurrentFeedback; ///< Reg 420. Fresh dialysate pump current feedback + U16 fpgaSDPCurrentFeedback; ///< Reg 422. Spent dialysate pump current feedback + U08 fpgaDGPHallStatus; ///< Reg 424. Fresh dialysate pump hall sensor direction status + U08 fpgaSDPHallStatus; ///< Reg 425. Spent dialysate pump hall sensor direction status + U08 fpgaFloater1Status; ///< Reg 426. Floater 1 level sensor status + U08 fpgaFloater2Status; ///< Reg 427. Floater 2 level sensor status } DD_FPGA_SENSORS_T; typedef struct @@ -281,7 +282,6 @@ U16 fpgaVWiPWMPeriod; ///< Reg 88. VWi PWM period U16 fpgaVWiPWMPullin; ///< Reg 90. VWi PWM pull in - U08 fpgaBCValveControl; ///< Reg 92. Balancing Chamber Valves Control Registers U08 fpgaBCValvePWMControl; ///< Reg 93. Balancing Chamber Valves PWM control U08 fpgaUFValveControl; ///< Reg 94. Ultra filtration Valves Control Registers @@ -310,6 +310,14 @@ U08 fpgaBloodLeakFIFOTx; ///< Reg 126. Blood leak sensor FIFO transmit control U08 fpgaPrimaryHeaterPWMControl; ///< Reg 127. Primary heater PWM control U08 fpgaTrimmerHeaterPWMControl; ///< Reg 128. Trimmer heater PWM control + U08 fpgaNotUsed; ///< Reg 129. Not used + + U16 fpgaVBCPWMLow; ///< Reg 130. VBC PWM low ( Balancing chamber valves) + U16 fpgaVBCPWMPeriod; ///< Reg 132. VBC PWM period + U16 fpgaVBCPWMPullin; ///< Reg 134. VBC PWM pull in + U16 fpgaVUFPWMLow; ///< Reg 136. VUF PWM low ( Ultra filteration valves ) + U16 fpgaVUFPWMPeriod; ///< Reg 138. VUF PWM period + U16 fpgaVUFPWMPullin; ///< Reg 140. VUF PWM pull in } FPGA_ACTUATORS_T; #pragma pack(pop) @@ -420,7 +428,8 @@ { if ( TRUE == incTimeWindowedCount( TIME_WINDOWED_COUNT_FPGA_CLOCK_SPEED_ERROR ) ) { - SET_ALARM_WITH_2_U32_DATA( ALARM_ID_DD_FPGA_CLOCK_SPEED_CHECK_FAILURE, diffFPGATimerCount, diffTimerCount ); + //TODO : Enable alarm later + //SET_ALARM_WITH_2_U32_DATA( ALARM_ID_DD_FPGA_CLOCK_SPEED_CHECK_FAILURE, diffFPGATimerCount, diffTimerCount ); } } } @@ -2358,6 +2367,19 @@ /*********************************************************************//** * @brief + * The getFPGARTDCountErrorCycles function gets the FPGA incomplete sequences + * of reads from RTD ADC. + * @details \b Inputs: fpgaSensorReadings + * @details \b Outputs: none + * @return count of in-complete sequences of reads from RTD ADC. + *************************************************************************/ +U08 getFPGARTDCountErrorCycles( void ) +{ + return fpgaSensorReadings.fpgaRTDCountErrorCycles; +} + +/*********************************************************************//** + * @brief * The getFPGABaroReadCount function gets the FPGA barometric sensor read count. * @details \b Inputs: fpgaSensorReadings * @details \b Outputs: none @@ -2377,7 +2399,7 @@ *************************************************************************/ U08 getFPGABaroErrorCount( void ) { - return fpgaSensorReadings.fpgaBaroErrorCount; + return fpgaSensorReadings.fpgaBaroErrorCount; } /*********************************************************************//** @@ -2525,7 +2547,8 @@ { if ( TRUE == incTimeWindowedCount( TIME_WINDOWED_COUNT_FPGA_COMM_FAILURES ) ) { - SET_ALARM_WITH_2_U32_DATA( ALARM_ID_DD_FPGA_COMM_TIMEOUT, MAX_FPGA_COMM_FAILURES, (U32)fpgaSensorReadings.fpgaIOErrorCntProcessor ) + //TODO : Enable alarm later + //SET_ALARM_WITH_2_U32_DATA( ALARM_ID_DD_FPGA_COMM_TIMEOUT, MAX_FPGA_COMM_FAILURES, (U32)fpgaSensorReadings.fpgaIOErrorCntProcessor ) } } } @@ -2553,7 +2576,8 @@ { if ( TRUE == incTimeWindowedCount( TIME_WINDOWED_COUNT_FPGA_COMM_FAILURES ) ) { - SET_ALARM_WITH_2_U32_DATA( ALARM_ID_DD_FPGA_COMM_TIMEOUT, MAX_FPGA_COMM_FAILURES, (U32)fpgaSensorReadings.fpgaIOErrorCntProcessor ) + //TODO : Enable alarm later + //SET_ALARM_WITH_2_U32_DATA( ALARM_ID_DD_FPGA_COMM_TIMEOUT, MAX_FPGA_COMM_FAILURES, (U32)fpgaSensorReadings.fpgaIOErrorCntProcessor ) status = TRUE; } }