Index: firmware/App/Controllers/SyringePump.c =================================================================== diff -u -r2de8bd54fe7ce6557115820251069611b49aa0ab -r9e43275cfdf3f60042d69d9cbbfc6d74142fa5e5 --- firmware/App/Controllers/SyringePump.c (.../SyringePump.c) (revision 2de8bd54fe7ce6557115820251069611b49aa0ab) +++ firmware/App/Controllers/SyringePump.c (.../SyringePump.c) (revision 9e43275cfdf3f60042d69d9cbbfc6d74142fa5e5) @@ -2251,53 +2251,6 @@ /*********************************************************************//** * @brief - * The testSetSyringePumpDataPublishIntervalOverride function overrides the - * syringe pump data publish interval. - * @details \b Inputs: none - * @details \b Outputs: syringePumpDataPublishInterval - * @param value override syringe pump data publish interval with (in ms) - * @return TRUE if override successful, FALSE if not - *************************************************************************/ -BOOL testSetSyringePumpDataPublishIntervalOverride( U32 value ) -{ - BOOL result = FALSE; - - if ( TRUE == isTestingActivated() ) - { - U32 intvl = value / TASK_PRIORITY_INTERVAL; - - result = TRUE; - syringePumpDataPublishInterval.ovData = intvl; - syringePumpDataPublishInterval.override = OVERRIDE_KEY; - } - - return result; -} - -/*********************************************************************//** - * @brief - * The testResetSyringePumpDataPublishIntervalOverride function resets the override - * of the syringe pump data publish interval. - * @details \b Inputs: none - * @details \b Outputs: syringePumpDataPublishInterval - * @return TRUE if override reset successful, FALSE if not - *************************************************************************/ -BOOL testResetSyringePumpDataPublishIntervalOverride( void ) -{ - BOOL result = FALSE; - - if ( TRUE == isTestingActivated() ) - { - result = TRUE; - syringePumpDataPublishInterval.override = OVERRIDE_RESET; - syringePumpDataPublishInterval.ovData = syringePumpDataPublishInterval.ovInitData; - } - - return result; -} - -/*********************************************************************//** - * @brief * The testSyringePumpOperationRequest function requests a given syringe pump * operation. * @details \b Inputs: none @@ -2353,499 +2306,196 @@ /*********************************************************************//** * @brief - * The testSetSyringePumpMeasuredRateOverride function overrides the measured - * rate of the syringe pump. + * The testSyringePumpDataPublishIntervalOverride function overrides the + * syringe pump data publish interval. * @details \b Inputs: none - * @details \b Outputs: syringePumpMeasRate - * @param value override syringe pump measured rate with this value (in mL/hr) + * @details \b Outputs: syringePumpDataPublishInterval + * @param value override syringe pump data publish interval with (in ms) * @return TRUE if override successful, FALSE if not *************************************************************************/ -BOOL testSetSyringePumpMeasuredRateOverride( F32 value ) +BOOL testSyringePumpDataPublishIntervalOverride( MESSAGE_T *message ) { - BOOL result = FALSE; + BOOL result = u32BroadcastIntervalOverride( message, &syringePumpDataPublishInterval, TASK_PRIORITY_INTERVAL ); - if ( ( TRUE == isTestingActivated() ) && ( value <= SYRINGE_PUMP_MAX_RATE ) ) - { - result = TRUE; - syringePumpMeasRate.ovData = value; - syringePumpMeasRate.override = OVERRIDE_KEY; - } - return result; } /*********************************************************************//** * @brief - * The testResetSyringePumpMeasuredRateOverride function resets the override - * of the syringe pump measured rate. + * The testSyringePumpMeasuredRateOverride function overrides the measured + * rate of the syringe pump. * @details \b Inputs: none * @details \b Outputs: syringePumpMeasRate - * @return TRUE if reset successful, FALSE if not + * @param value override syringe pump measured rate with this value (in mL/hr) + * @return TRUE if override successful, FALSE if not *************************************************************************/ -BOOL testResetSyringePumpMeasuredRateOverride( void ) +BOOL testSyringePumpMeasuredRateOverride( MESSAGE_T *message ) { - BOOL result = FALSE; + BOOL result = f32Override( message, &syringePumpMeasRate ); - if ( TRUE == isTestingActivated() ) - { - result = TRUE; - syringePumpMeasRate.override = OVERRIDE_RESET; - syringePumpMeasRate.ovData = syringePumpMeasRate.ovInitData; - } - - return result; + return result; } /*********************************************************************//** * @brief - * The testSetSyringePumpMeasuredForceOverride function overrides the measured + * The testSyringePumpMeasuredForceOverride function overrides the measured * force analog signal of the syringe pump. * @details \b Inputs: none * @details \b Outputs: syringePumpMeasForce * @param value override syringe pump measured force signal with this value (in V) * @return TRUE if override successful, FALSE if not *************************************************************************/ -BOOL testSetSyringePumpMeasuredForceOverride( F32 value ) +BOOL testSyringePumpMeasuredForceOverride( MESSAGE_T *message ) { - BOOL result = FALSE; + BOOL result = f32Override( message, &syringePumpMeasForce ); - if ( ( TRUE == isTestingActivated() ) && ( value >= 0.0 ) && ( value <= SYRINGE_PUMP_ADC_REF_V ) ) - { - result = TRUE; - syringePumpMeasForce.ovData = value; - syringePumpMeasForce.override = OVERRIDE_KEY; - } - return result; } /*********************************************************************//** * @brief - * The testResetSyringePumpMeasuredForceOverride function resets the override - * of the syringe pump measured force analog signal. - * @details \b Inputs: none - * @details \b Outputs: syringePumpMeasForce - * @return TRUE if reset successful, FALSE if not - *************************************************************************/ -BOOL testResetSyringePumpMeasuredForceOverride( void ) -{ - BOOL result = FALSE; - - if ( TRUE == isTestingActivated() ) - { - result = TRUE; - syringePumpMeasForce.override = OVERRIDE_RESET; - syringePumpMeasForce.ovData = syringePumpMeasForce.ovInitData; - } - - return result; -} - -/*********************************************************************//** - * @brief - * The testSetSyringePumpMeasuredSyringeDetectOverride function overrides the measured + * The testSyringePumpMeasuredSyringeDetectOverride function overrides the measured * syringe detect analog signal of the syringe pump. * @details \b Inputs: none * @details \b Outputs: syringePumpMeasSyringeDetectionSwitch * @param value override syringe pump measured syringe detection signal with this value (in V) * @return TRUE if override successful, FALSE if not *************************************************************************/ -BOOL testSetSyringePumpMeasuredSyringeDetectOverride( F32 value ) +BOOL testSyringePumpMeasuredSyringeDetectOverride( MESSAGE_T *message ) { - BOOL result = FALSE; + BOOL result = f32Override( message, &syringePumpMeasSyringeDetectionSwitch ); - if ( ( TRUE == isTestingActivated() ) && ( value >= 0.0 ) && ( value <= SYRINGE_PUMP_ADC_REF_V ) ) - { - result = TRUE; - syringePumpMeasSyringeDetectionSwitch.ovData = value; - syringePumpMeasSyringeDetectionSwitch.override = OVERRIDE_KEY; - } - return result; } /*********************************************************************//** * @brief - * The testResetSyringePumpMeasuredSyringeDetectOverride function resets the override - * of the syringe pump measured syringe detect analog signal. - * @details \b Inputs: none - * @details \b Outputs: syringePumpMeasSyringeDetectionSwitch - * @return TRUE if reset successful, FALSE if not - *************************************************************************/ -BOOL testResetSyringePumpMeasuredSyringeDetectOverride( void ) -{ - BOOL result = FALSE; - - if ( TRUE == isTestingActivated() ) - { - result = TRUE; - syringePumpMeasSyringeDetectionSwitch.override = OVERRIDE_RESET; - syringePumpMeasSyringeDetectionSwitch.ovData = syringePumpMeasSyringeDetectionSwitch.ovInitData; - } - - return result; -} - -/*********************************************************************//** - * @brief - * The testSetSyringePumpMeasuredHomeOverride function overrides the measured + * The testSyringePumpMeasuredHomeOverride function overrides the measured * home analog signal of the syringe pump. - * @details \b Inputs: none + * @details \b Inputs: syringePumpMeasHome * @details \b Outputs: syringePumpMeasHome * @param value override syringe pump measured home signal with this value (in V) * @return TRUE if override successful, FALSE if not *************************************************************************/ -BOOL testSetSyringePumpMeasuredHomeOverride( F32 value ) +BOOL testSyringePumpMeasuredHomeOverride( MESSAGE_T *message ) { - BOOL result = FALSE; + BOOL result = f32Override( message, &syringePumpMeasHome ); - if ( ( TRUE == isTestingActivated() ) && ( value >= 0.0 ) && ( value <= SYRINGE_PUMP_ADC_REF_V ) ) - { - result = TRUE; - syringePumpMeasHome.ovData = value; - syringePumpMeasHome.override = OVERRIDE_KEY; - } - return result; } /*********************************************************************//** * @brief - * The testResetSyringePumpMeasuredHomeOverride function resets the override - * of the syringe pump measured home analog signal. - * @details \b Inputs: none - * @details \b Outputs: syringePumpMeasHome - * @return TRUE if reset successful, FALSE if not - *************************************************************************/ -BOOL testResetSyringePumpMeasuredHomeOverride( void ) -{ - BOOL result = FALSE; - - if ( TRUE == isTestingActivated() ) - { - result = TRUE; - syringePumpMeasHome.override = OVERRIDE_RESET; - syringePumpMeasHome.ovData = syringePumpMeasHome.ovInitData; - } - - return result; -} - -/*********************************************************************//** - * @brief - * The testSetSyringePumpMeasuredPositionOverride function overrides the measured + * The testSyringePumpMeasuredPositionOverride function overrides the measured * position of the syringe pump. - * @details \b Inputs: none + * @details \b Inputs: syringePumpPosition * @details \b Outputs: syringePumpPosition - * @param value override syringe pump measured position with this value (in encoder counts) + * @param message Override message from Dialin which includes the override + * value to override the syringe pump measured position (in encoder counts) * @return TRUE if override successful, FALSE if not *************************************************************************/ -BOOL testSetSyringePumpMeasuredPositionOverride( S32 value ) +BOOL testSyringePumpMeasuredPositionOverride( MESSAGE_T *message ) { - BOOL result = FALSE; + BOOL result = s32Override( message, &syringePumpPosition ); - if ( TRUE == isTestingActivated() ) - { - result = TRUE; - syringePumpPosition.ovData = value; - syringePumpPosition.override = OVERRIDE_KEY; - } - return result; } /*********************************************************************//** * @brief - * The testResetSyringePumpMeasuredPositionOverride function resets the override - * of the syringe pump measured position. - * @details \b Inputs: none - * @details \b Outputs: syringePumpPosition - * @return TRUE if reset successful, FALSE if not - *************************************************************************/ -BOOL testResetSyringePumpMeasuredPositionOverride( void ) -{ - BOOL result = FALSE; - - if ( TRUE == isTestingActivated() ) - { - result = TRUE; - syringePumpPosition.override = OVERRIDE_RESET; - syringePumpPosition.ovData = syringePumpPosition.ovInitData; - } - - return result; -} - -/*********************************************************************//** - * @brief - * The testSetSyringePumpMeasuredVolumeOverride function overrides the measured + * The testSyringePumpMeasuredVolumeOverride function overrides the measured * rate of the syringe pump measured volume delivered. - * @details \b Inputs: none + * @details \b Inputs: syringePumpVolumeDelivered * @details \b Outputs: syringePumpVolumeDelivered - * @param value override syringe pump measured volume with this value (in mL) + * @param message Override message from Dialin which includes the override + * value to override the syringe pump measured volume (in mL). * @return TRUE if override successful, FALSE if not *************************************************************************/ -BOOL testSetSyringePumpMeasuredVolumeOverride( F32 value ) +BOOL testSyringePumpMeasuredVolumeOverride( MESSAGE_T *message ) { - BOOL result = FALSE; + BOOL result = f32Override( message, &syringePumpVolumeDelivered ); - if ( TRUE == isTestingActivated() ) - { - result = TRUE; - syringePumpVolumeDelivered.ovData = value; - syringePumpVolumeDelivered.override = OVERRIDE_KEY; - } - return result; } /*********************************************************************//** * @brief - * The testResetSyringePumpMeasuredVolumeOverride function resets the override - * of the syringe pump measured volume delivered. - * @details \b Inputs: none - * @details \b Outputs: syringePumpVolumeDelivered - * @return TRUE if reset successful, FALSE if not - *************************************************************************/ -BOOL testResetSyringePumpMeasuredVolumeOverride( void ) -{ - BOOL result = FALSE; - - if ( TRUE == isTestingActivated() ) - { - result = TRUE; - syringePumpVolumeDelivered.override = OVERRIDE_RESET; - syringePumpVolumeDelivered.ovData = syringePumpVolumeDelivered.ovInitData; - } - - return result; -} - -/*********************************************************************//** - * @brief - * The testSetHeprinBolusTargetRateOverride function overrides the + * The testHeprinBolusTargetRateOverride function overrides the * heprine bolus target rate. * @details \b Inputs: heprinBolusTargetRate * @details \b Outputs: heprinBolusTargetRate * @param: value : override heprinBolusTargetRate (in mL/hour) * @return TRUE if override successful, FALSE if not *************************************************************************/ -BOOL testSetHeprinBolusTargetRateOverride( F32 value ) +BOOL testHeprinBolusTargetRateOverride( MESSAGE_T *message ) { - BOOL result = FALSE; + BOOL result = f32Override( message, &heparinBolusTargetRate ); - if ( TRUE == isTestingActivated() ) - { - heparinBolusTargetRate.ovInitData = heparinBolusTargetRate.data; - heparinBolusTargetRate.ovData = value; - heparinBolusTargetRate.override = OVERRIDE_KEY; - result = TRUE; - } - return result; } /*********************************************************************//** * @brief - * The testResetHeprinBolusTargetRateOverride function resets the override - * of the heprin bolus target rate. - * @details \b Inputs: heprinBolusTargetRate - * @details \b Outputs: heprinBolusTargetRate - * @return TRUE if override successful, FALSE if not - *************************************************************************/ -BOOL testResetHeprinBolusTargetRateOverride( void ) -{ - BOOL result = FALSE; - - if ( TRUE == isTestingActivated() ) - { - heparinBolusTargetRate.override = OVERRIDE_RESET; - heparinBolusTargetRate.ovData = heparinBolusTargetRate.ovInitData; - heparinBolusTargetRate.ovInitData = 0.0; - result = TRUE; - } - - return result; -} - -/*********************************************************************//** - * @brief - * The testSetSyringePumpStatus function overrides the syringe pump + * The testSyringePumpStatus function overrides the syringe pump * status. * @details \b Inputs: none * @details \b Outputs: syringePumpStatus * @param status override syringe pump status with this value * @return TRUE if override successful, FALSE if not *************************************************************************/ -BOOL testSetSyringePumpStatus( U32 status ) +BOOL testSyringePumpStatus( MESSAGE_T *message ) { - BOOL result = FALSE; + BOOL result = u32Override( message, &syringePumpStatus, 0, 255 ); - if ( TRUE == isTestingActivated() ) - { - result = TRUE; - syringePumpStatus.ovData = status; - syringePumpStatus.override = OVERRIDE_KEY; - } - return result; } /*********************************************************************//** * @brief - * The testResetSyringePumpStatus function resets the override of the - * syringe pump status. - * @details \b Inputs: none - * @details \b Outputs: syringePumpStatus - * @return TRUE if reset successful, FALSE if not - *************************************************************************/ -BOOL testResetSyringePumpStatus( void ) -{ - BOOL result = FALSE; - - if ( TRUE == isTestingActivated() ) - { - result = TRUE; - syringePumpStatus.override = OVERRIDE_RESET; - syringePumpStatus.ovData = syringePumpStatus.ovInitData; - } - - return result; -} - -/*********************************************************************//** - * @brief - * The testSetSyringePumpEncoderStatus function overrides the syringe + * The testSyringePumpEncoderStatus function overrides the syringe * pump encoder status. * @details \b Inputs: none * @details \b Outputs: syringePumpEncoderStatus * @param status override syringe pump encoder status with this value * @return TRUE if override successful, FALSE if not *************************************************************************/ -BOOL testSetSyringePumpEncoderStatus( U32 status ) +BOOL testSyringePumpEncoderStatus( MESSAGE_T *message ) { - BOOL result = FALSE; + BOOL result = u32Override( message, &syringePumpEncoderStatus, 0, 255 ); - if ( TRUE == isTestingActivated() ) - { - result = TRUE; - syringePumpEncoderStatus.ovData = status; - syringePumpEncoderStatus.override = OVERRIDE_KEY; - } - return result; } /*********************************************************************//** * @brief - * The testResetSyringePumpEncoderStatus function resets the override - * of the syringe pump encoder status. - * @details \b Inputs: none - * @details \b Outputs: syringePumpEncoderStatus - * @return TRUE if reset successful, FALSE if not - *************************************************************************/ -BOOL testResetSyringePumpEncoderStatus( void ) -{ - BOOL result = FALSE; - - if ( TRUE == isTestingActivated() ) - { - result = TRUE; - syringePumpEncoderStatus.override = OVERRIDE_RESET; - syringePumpEncoderStatus.ovData = syringePumpEncoderStatus.ovInitData; - } - - return result; -} - -/*********************************************************************//** - * @brief - * The testSetSyringePumpADCandDACStatus function overrides the syringe + * The testSyringePumpADCandDACStatus function overrides the syringe * pump ADC and DAC status. * @details \b Inputs: none * @details \b Outputs: syringePumpADCandDACStatus * @param status override syringe pump ADC and DAC status with this value * @return TRUE if override successful, FALSE if not *************************************************************************/ -BOOL testSetSyringePumpADCandDACStatus( U32 status ) +BOOL testSyringePumpADCandDACStatus( MESSAGE_T *message ) { - BOOL result = FALSE; + BOOL result = u32Override( message, &syringePumpADCandDACStatus, 0, 255 ); - if ( TRUE == isTestingActivated() ) - { - result = TRUE; - syringePumpADCandDACStatus.ovData = status; - syringePumpADCandDACStatus.override = OVERRIDE_KEY; - } - return result; } /*********************************************************************//** * @brief - * The testResetSyringePumpADCandDACStatus function resets the override - * of the syringe pump ADC and DAC status. - * @details \b Inputs: none - * @details \b Outputs: syringePumpADCandDACStatus - * @return TRUE if reset successful, FALSE if not - *************************************************************************/ -BOOL testResetSyringePumpADCandDACStatus( void ) -{ - BOOL result = FALSE; - - if ( TRUE == isTestingActivated() ) - { - result = TRUE; - syringePumpADCandDACStatus.override = OVERRIDE_RESET; - syringePumpADCandDACStatus.ovData = syringePumpADCandDACStatus.ovInitData; - } - - return result; -} - -/*********************************************************************//** - * @brief - * The testSetSyringePumpADCReadCounter function overrides the syringe + * The testSyringePumpADCReadCounter function overrides the syringe * pump ADC read counter. * @details \b Inputs: none * @details \b Outputs: syringePumpADCReadCtr * @param ctr override syringe pump ADC read counter with this value * @return TRUE if override successful, FALSE if not *************************************************************************/ -BOOL testSetSyringePumpADCReadCounter( U32 ctr ) +BOOL testSyringePumpADCReadCounter( MESSAGE_T *message ) { - BOOL result = FALSE; + BOOL result = u32Override( message, &syringePumpADCReadCtr, 0, 255 ); - if ( TRUE == isTestingActivated() ) - { - result = TRUE; - syringePumpADCReadCtr.ovData = ctr; - syringePumpADCReadCtr.override = OVERRIDE_KEY; - } - return result; } -/*********************************************************************//** - * @brief - * The testResetSyringePumpADCReadCounter function resets the override - * of the syringe pump ADC read counter. - * @details \b Inputs: none - * @details \b Outputs: syringePumpADCReadCtr - * @return TRUE if reset successful, FALSE if not - *************************************************************************/ -BOOL testResetSyringePumpADCReadCounter( void ) -{ - BOOL result = FALSE; - - if ( TRUE == isTestingActivated() ) - { - result = TRUE; - syringePumpADCReadCtr.override = OVERRIDE_RESET; - syringePumpADCReadCtr.ovData = syringePumpADCReadCtr.ovInitData; - } - - return result; -} - /**@}*/ Index: firmware/App/Controllers/SyringePump.h =================================================================== diff -u -r22293ecac97c3f374f90bb20e3c4cc03fbd27f9d -r9e43275cfdf3f60042d69d9cbbfc6d74142fa5e5 --- firmware/App/Controllers/SyringePump.h (.../SyringePump.h) (revision 22293ecac97c3f374f90bb20e3c4cc03fbd27f9d) +++ firmware/App/Controllers/SyringePump.h (.../SyringePump.h) (revision 9e43275cfdf3f60042d69d9cbbfc6d74142fa5e5) @@ -147,31 +147,19 @@ BOOL isSyringePumpPreLoaded( void ); F32 getSyringePumpVolumeDelivered( void ); -BOOL testSetSyringePumpDataPublishIntervalOverride( U32 value ); -BOOL testResetSyringePumpDataPublishIntervalOverride( void ); BOOL testSyringePumpOperationRequest( SYRINGE_PUMP_OP_PAYLOAD_T opParams ); -BOOL testSetSyringePumpMeasuredRateOverride( F32 value ); -BOOL testResetSyringePumpMeasuredRateOverride( void ); -BOOL testSetHeprinBolusTargetRateOverride( F32 value ); -BOOL testResetHeprinBolusTargetRateOverride( void ); -BOOL testSetSyringePumpMeasuredForceOverride( F32 value ); -BOOL testResetSyringePumpMeasuredForceOverride( void ); -BOOL testSetSyringePumpMeasuredSyringeDetectOverride( F32 value ); -BOOL testResetSyringePumpMeasuredSyringeDetectOverride( void ); -BOOL testSetSyringePumpMeasuredHomeOverride( F32 value ); -BOOL testResetSyringePumpMeasuredHomeOverride( void ); -BOOL testSetSyringePumpMeasuredPositionOverride( S32 value ); -BOOL testResetSyringePumpMeasuredPositionOverride( void ); -BOOL testSetSyringePumpMeasuredVolumeOverride( F32 value ); -BOOL testResetSyringePumpMeasuredVolumeOverride( void ); -BOOL testSetSyringePumpStatus( U32 status ); -BOOL testResetSyringePumpStatus( void ); -BOOL testSetSyringePumpEncoderStatus( U32 status ); -BOOL testResetSyringePumpEncoderStatus( void ); -BOOL testSetSyringePumpADCandDACStatus( U32 status ); -BOOL testResetSyringePumpADCandDACStatus( void ); -BOOL testSetSyringePumpADCReadCounter( U32 ctr ); -BOOL testResetSyringePumpADCReadCounter( void ); +BOOL testSyringePumpDataPublishIntervalOverride( MESSAGE_T *message ); +BOOL testSyringePumpMeasuredRateOverride( MESSAGE_T *message ); +BOOL testHeprinBolusTargetRateOverride( MESSAGE_T *message ); +BOOL testSyringePumpMeasuredForceOverride( MESSAGE_T *message ); +BOOL testSyringePumpMeasuredSyringeDetectOverride( MESSAGE_T *message ); +BOOL testSyringePumpMeasuredHomeOverride( MESSAGE_T *message ); +BOOL testSyringePumpMeasuredPositionOverride( MESSAGE_T *message ); +BOOL testSyringePumpMeasuredVolumeOverride( MESSAGE_T *message ); +BOOL testSyringePumpStatus( MESSAGE_T *message ); +BOOL testSyringePumpEncoderStatus( MESSAGE_T *message ); +BOOL testSyringePumpADCandDACStatus( MESSAGE_T *message ); +BOOL testSyringePumpADCReadCounter( MESSAGE_T *message ); /**@}*/ Index: firmware/App/Services/FpgaTD.c =================================================================== diff -u -r2de8bd54fe7ce6557115820251069611b49aa0ab -r9e43275cfdf3f60042d69d9cbbfc6d74142fa5e5 --- firmware/App/Services/FpgaTD.c (.../FpgaTD.c) (revision 2de8bd54fe7ce6557115820251069611b49aa0ab) +++ firmware/App/Services/FpgaTD.c (.../FpgaTD.c) (revision 9e43275cfdf3f60042d69d9cbbfc6d74142fa5e5) @@ -102,10 +102,10 @@ U16 fpgaGenWrRd; ///< Reg 256. FPGA general read-back register (mirrored from a general write register in write page at addr 4). U08 errorCountProcessor; ///< Reg 258. Error count for processor communications. U08 errorCountPC; ///< Reg 259. Error count for TBD. - U08 sPumpDACRdStatus; ///< Reg 260. Syringe pump DAC read status. + U08 h10DACRdStatus; ///< Reg 260. H10 Syringe pump DAC read status. U08 h6HallStatus; ///< Reg 261. H6 hall sensor status. - U16 sPumpDACSet; ///< Reg 262. Syringe pump DAC setting. - U16 sPumpDACEEProm; ///< Reg 264. Syringe pump DAC EEProm data. + U16 h10DACSet; ///< Reg 262. H10 Syringe pump DAC setting. + U16 h10DACEEProm; ///< Reg 264. H10 Syringe pump DAC EEProm data. U16 h14Pressure; ///< Reg 266. H14 raw pressure data. S16 h14Temperature; ///< Reg 268. H14 raw temperature data. U08 h14ReadCount; ///< Reg 270. H14 read count. @@ -126,15 +126,15 @@ S16 h19EncPosition; ///< Reg 298. H19 encoder position (1000 steps/rev). S16 h19MaxEncPosition; ///< Reg 300. H19 max encoder position. U16 GPIOReg; ///< Reg 302. GPIO register. - U08 HEPStatus; ///< Reg 304. HEP status register. - U08 HEPAdcReadCount; ///< Reg 305. HEP ADC read counter. - U08 HEPAdcDacStatus; ///< Reg 306. HEP ADC/DAC status register. - U08 HEPEncStatus; ///< Reg 307. HEP encoder status register. - S32 HEPEncPosition; ///< Reg 308. HEP encoder position. - U16 HEPAdcCh0; ///< Reg 312. HEP ADC channel 0 reading. - U16 HEPAdcCh1; ///< Reg 314. HEP ADC channel 1 reading. - U16 HEPAdcCh2; ///< Reg 316. HEP ADC channel 2 reading. - U16 HEPAdcCh3; ///< Reg 318. HEP ADC channel 3 reading. + U08 h10Status; ///< Reg 304. H10 Syringe pump status register. + U08 h10AdcReadCount; ///< Reg 305. H10 Syringe pump ADC read counter. + U08 h10AdcDacStatus; ///< Reg 306. H10 Syringe pump ADC/DAC status register. + U08 h10EncStatus; ///< Reg 307. H10 Syringe pump encoder status register. + S32 h10EncPosition; ///< Reg 308. H10 Syringe pump encoder position. + U16 h10AdcCh0; ///< Reg 312. H10 Syringe pump ADC channel 0 reading. + U16 h10AdcCh1; ///< Reg 314. H10 Syringe pump ADC channel 1 reading. + U16 h10AdcCh2; ///< Reg 316. H10 Syringe pump ADC channel 2 reading. + U16 h10AdcCh3; ///< Reg 318. H10 Syringe pump ADC channel 3 reading. U16 fpgaAdcTemperature; ///< Reg 320. FPGA ADC temperature. U16 fpga1msTimerCounter; ///< Reg 322. FPGA 1 millisecond timer counter. U16 alarmBuzzerCurrentAdc; ///< Reg 324. Alarm buzzer current ADC reading. @@ -165,14 +165,6 @@ U32 baroTemperature; ///< Reg 372. Baro temperature value in counts. U08 baroReadCount; ///< Reg 376. Baro read count. U08 baroErrorCount; ///< Reg 377. Baro error count. - U08 syrPumpStatus; ///< Reg 380. Syringe pump status register. - U08 syrPumpADCReadCounter; ///< Reg 381. Syringe pump ADC read counter. - U08 syrPumpADCandDACStatus; ///< Reg 382. Syringe pump ADC and DAC status register. - U08 syrPumpEncoderStatus; ///< Reg 383. Syringe pump encoder status register. - U32 syrPumpEncPosition; ///< Reg 384. Syringe pump encoder position - U16 syrPumpAdcDataReadCh0; ///< Reg 388. Syringe pump ADC channel 0 register (10 bit). - U16 syrPumpAdcDataReadCh1; ///< Reg 390. Syringe pump ADC channel 1 register (10 bit). - U16 syrPumpAdcDataReadCh2; ///< Reg 392. Syringe pump ADC channel 2 register (10 bit). } FPGA_SENSORS_T; /// Record structure for FPGA continuous priority writes. @@ -197,10 +189,10 @@ U08 h1Control; ///< Reg 30. H1 control register. U08 h1h19ValveEncoderControl; ///< Reg 31. H1/H19 valve encoder control register. U08 alarmControl; ///< Reg 32. Alarm audio control register. - U08 syrPumpControl; ///< Reg 33. Syringe pump control register. - U32 syrPumpSpeed; ///< Reg 34. Syringe pump time between step toggle (1/2 step period). - U16 syrPumpDACData; ///< Reg 38. Syringe pump DAC data (12 bits). - U16 syrPumpDACControl; ///< Reg 40. Syringe pump ADC and DAC control register. + U08 h10Control; ///< Reg 33. H10 Syringe pump control register. + U32 h10Speed; ///< Reg 34. H10 Syringe pump time between step toggle (1/2 step period). + U16 h10DACData; ///< Reg 38. H10 Syringe pump DAC data (12 bits). + U16 h10DACControl; ///< Reg 40. H10 Syringe pump ADC and DAC control register. U16 h12Period; ///< Reg 42. H12 Air pump time period for each count in PWM register. U32 h5SetSpeed; ///< Reg 44. H5 ejector motor set speed. } FPGA_ACTUATORS_T; @@ -1328,82 +1320,82 @@ * @brief * The setFPGASyringePumpControlFlags function sets the syringe pump control * register per given bit flags. - * @details Inputs: none - * @details Outputs: fpgaActuatorSetPoints + * @details \b Inputs: none + * @details \b Outputs: fpgaActuatorSetPoints * @param bitFlags control bit settings for syringe pump * @return none *************************************************************************/ void setFPGASyringePumpControlFlags( U08 bitFlags ) { - fpgaActuatorSetPoints.syrPumpControl = bitFlags; + fpgaActuatorSetPoints.h10Control = bitFlags; } /*********************************************************************//** * @brief * The setFPGASyringePumpADCandDACControlFlags function sets the syringe pump * ADC/DAC control register per given bit flags. - * @details Inputs: none - * @details Outputs: fpgaActuatorSetPoints + * @details \b Inputs: none + * @details \b Outputs: fpgaActuatorSetPoints * @param bitFlags ADC/DAC control bit settings for syringe pump * @return none *************************************************************************/ void setFPGASyringePumpADCandDACControlFlags( U08 bitFlags ) { - fpgaActuatorSetPoints.syrPumpDACControl = bitFlags; + fpgaActuatorSetPoints.h10DACControl = bitFlags; } /*********************************************************************//** * @brief * The setFPGASyringePumpDACOutputLevel function sets the syringe pump force * sensor DAC output level register to a given value. - * @details Inputs: none - * @details Outputs: fpgaActuatorSetPoints + * @details \b Inputs: none + * @details \b Outputs: fpgaActuatorSetPoints * @param counts level to set syringe pump force sensor DAC to * @return none *************************************************************************/ void setFPGASyringePumpDACOutputLevel( U16 counts ) { - fpgaActuatorSetPoints.syrPumpDACData = counts; + fpgaActuatorSetPoints.h10DACData = counts; } /*********************************************************************//** * @brief * The setFPGASyringePumpStepToggleTime function sets the syringe pump stepper * toggle time register to a given period (in uSec). - * @details Inputs: none - * @details Outputs: fpgaActuatorSetPoints + * @details \b Inputs: none + * @details \b Outputs: fpgaActuatorSetPoints * @param microSeconds toggle the stepper motor at this time interval to set pump speed * @return none *************************************************************************/ void setFPGASyringePumpStepToggleTime( U32 microSeconds ) { - fpgaActuatorSetPoints.syrPumpSpeed = microSeconds; + fpgaActuatorSetPoints.h10Speed = microSeconds; } /*********************************************************************//** * @brief * The getFPGASyringePumpStatus function gets the latest syringe pump status * register reading. Bit 0 indicates a fault. - * @details Inputs: fpgaSensorReadings - * @details Outputs: none + * @details \b Inputs: fpgaSensorReadings + * @details \b Outputs: none * @return last syringe pump status reading *************************************************************************/ U08 getFPGASyringePumpStatus( void ) { - return fpgaSensorReadings.syrPumpStatus; + return fpgaSensorReadings.h10Status; } /*********************************************************************//** * @brief * The getFPGASyringePumpADCReadCounter function gets the latest syringe pump * ADC read counter. Counter is 8-bit and rolls over when exceeding 255. - * @details Inputs: fpgaSensorReadings - * @details Outputs: none + * @details \b Inputs: fpgaSensorReadings + * @details \b Outputs: none * @return last syringe pump ADC read counter *************************************************************************/ U08 getFPGASyringePumpADCReadCounter( void ) { - return fpgaSensorReadings.syrPumpADCReadCounter; + return fpgaSensorReadings.h10AdcReadCount; } /*********************************************************************//** @@ -1413,13 +1405,13 @@ * Bit 7 = DAC write and read-back done * Bit 6 = I2C error on DAC data transfer * Bit 0..5 = count of I2C errors, rolls over after 63 - * @details Inputs: fpgaSensorReadings - * @details Outputs: none + * @details \b Inputs: fpgaSensorReadings + * @details \b Outputs: none * @return last syringe pump ADC/DAC status reading *************************************************************************/ U08 getFPGASyringePumpADCandDACStatus( void ) { - return fpgaSensorReadings.syrPumpADCandDACStatus; + return fpgaSensorReadings.h10AdcDacStatus; } /*********************************************************************//** @@ -1428,65 +1420,123 @@ * encoder status register reading. * Bit 7 = direction (0=fwd, 1=rev) * Bit 0..5 = direction error count (# of errors after power up, rolls over after 63) - * @details Inputs: fpgaSensorReadings - * @details Outputs: none + * @details \b Inputs: fpgaSensorReadings + * @details \b Outputs: none * @return last syringe pump encoder status reading *************************************************************************/ U08 getFPGASyringePumpEncoderStatus( void ) { - return fpgaSensorReadings.syrPumpEncoderStatus; + return fpgaSensorReadings.h10EncStatus; } /*********************************************************************//** * @brief * The getFPGASyringePumpEncoderPosition function gets the latest syringe pump * encoder position reading. - * @details Inputs: fpgaSensorReadings - * @details Outputs: none + * @details \b Inputs: fpgaSensorReadings + * @details \b Outputs: none * @return last syringe pump encoder position reading *************************************************************************/ U32 getFPGASyringePumpEncoderPosition( void ) { - return fpgaSensorReadings.syrPumpEncPosition; + return fpgaSensorReadings.h10EncPosition; } /*********************************************************************//** * @brief * The getFPGASyringePumpADCChannel0 function gets the latest syringe pump ADC * channel 0 register reading (syringe pump force sensor). - * @details Inputs: fpgaSensorReadings - * @details Outputs: none + * @details \b Inputs: fpgaSensorReadings + * @details \b Outputs: none * @return last syringe pump ADC channel 0 reading *************************************************************************/ U16 getFPGASyringePumpADCChannel0( void ) { - return fpgaSensorReadings.syrPumpAdcDataReadCh0; + return fpgaSensorReadings.h10AdcCh0; } /*********************************************************************//** * @brief * The getFPGASyringePumpADCChannel1 function gets the latest syringe pump ADC * channel 1 register reading (syringe detection switch). - * @details Inputs: fpgaSensorReadings - * @details Outputs: none + * @details \b Inputs: fpgaSensorReadings + * @details \b Outputs: none * @return last syringe pump ADC channel 1 reading *************************************************************************/ U16 getFPGASyringePumpADCChannel1( void ) { - return fpgaSensorReadings.syrPumpAdcDataReadCh1; + return fpgaSensorReadings.h10AdcCh1; } /*********************************************************************//** * @brief * The getFPGASyringePumpADCChannel2 function gets the latest syringe pump ADC * channel 2 register reading (syringe pump home position sensor). - * @details Inputs: fpgaSensorReadings - * @details Outputs: none + * @details \b Inputs: fpgaSensorReadings + * @details \b Outputs: none * @return last syringe pump ADC channel 2 reading *************************************************************************/ U16 getFPGASyringePumpADCChannel2( void ) { - return fpgaSensorReadings.syrPumpAdcDataReadCh2; + return fpgaSensorReadings.h10AdcCh2; } +/*********************************************************************//** + * @brief + * The getFPGASyringePumpADCChannel3 function gets the latest syringe pump ADC + * channel 3 register reading. + * @details \b Inputs: fpgaSensorReadings + * @details \b Outputs: none + * @return last syringe pump ADC channel 3 reading + *************************************************************************/ +U16 getFPGASyringePumpADCChannel3( void ) +{ + return fpgaSensorReadings.h10AdcCh3; +} + +/*********************************************************************//** + * @brief + * The getFPGASyringePumpDACStatus function gets the latest syringe pump + * DAC status. + * Bit 0: PD0 + * Bit 1: PD1 + * Bit 2: POR + * Bit 3: Ready (not busy) + * Bits 4..7: N/A + * @details \b Inputs: fpgaSensorReadings + * @details \b Outputs: none + * @return last syringe pump DAC status reading + *************************************************************************/ +U08 getFPGASyringePumpDACStatus( void ) +{ + return fpgaSensorReadings.h10DACRdStatus; +} + +/*********************************************************************//** + * @brief + * The getFPGASyringePumpDACSetting function gets the latest syringe pump + * DAC setting. + * @details \b Inputs: fpgaSensorReadings + * @details \b Outputs: none + * @return last syringe pump DAC setting + *************************************************************************/ +U16 getFPGASyringePumpDACSetting( void ) +{ + return fpgaSensorReadings.h10DACSet; +} + +/*********************************************************************//** + * @brief + * The getFPGASyringePumpDACStoredSetting function gets the latest syringe + * pump DAC setting stored in sensor's EEPROM. + * @details \b Inputs: fpgaSensorReadings + * @details \b Outputs: none + * @return last syringe pump DAC setting stored in EEPROM + *************************************************************************/ +U16 getFPGASyringePumpDACStoredSetting( void ) +{ + return fpgaSensorReadings.h10DACEEProm; +} + + /**@}*/ Index: firmware/App/Services/FpgaTD.h =================================================================== diff -u -r2de8bd54fe7ce6557115820251069611b49aa0ab -r9e43275cfdf3f60042d69d9cbbfc6d74142fa5e5 --- firmware/App/Services/FpgaTD.h (.../FpgaTD.h) (revision 2de8bd54fe7ce6557115820251069611b49aa0ab) +++ firmware/App/Services/FpgaTD.h (.../FpgaTD.h) (revision 9e43275cfdf3f60042d69d9cbbfc6d74142fa5e5) @@ -162,6 +162,10 @@ U16 getFPGASyringePumpADCChannel0( void ); U16 getFPGASyringePumpADCChannel1( void ); U16 getFPGASyringePumpADCChannel2( void ); +U16 getFPGASyringePumpADCChannel3( void ); +U08 getFPGASyringePumpDACStatus( void ); +U16 getFPGASyringePumpDACSetting( void ); +U16 getFPGASyringePumpDACStoredSetting( void ); /**@}*/