Index: firmware/App/Services/FpgaTD.c =================================================================== diff -u -r41b06072545ff2013cbb16cd874da07ad563b10e -rc9ca21d4282d943ca8c68012822afb0f7c5d26fb --- firmware/App/Services/FpgaTD.c (.../FpgaTD.c) (revision 41b06072545ff2013cbb16cd874da07ad563b10e) +++ firmware/App/Services/FpgaTD.c (.../FpgaTD.c) (revision c9ca21d4282d943ca8c68012822afb0f7c5d26fb) @@ -118,7 +118,10 @@ S16 h1EncPosition; ///< Reg 280. H1 encoder position (1000 steps/rev). U16 h1Status; ///< Reg 282. H1 status. U32 reserved2; ///< Reg 284. Reserved and available for future use. - U16 reserved3; ///< Reg 288. Reserved and available for future use. + U08 h1SPICmdStatus; ///< Reg 285. H1 Magellan SPI command status. + U08 h1MotorStatus; ///< Reg 286. H1 Magellan motor status. + U08 h19SPICmdStatus; ///< Reg 287. H19 Magellan SPI command status. + U08 h19MotorStatus; ///< Reg 288. H19 Magellan motor status. S16 h4Period; ///< Reg 290. H4 measured period (10 uSec). S16 h4Torque; ///< Reg 292. H4 measured torque. S16 h4SpeedFromHall; ///< Reg 294. H4 measured speed from hall sensor(s). @@ -142,12 +145,12 @@ U16 fpgaCompatibilityRev; ///< Reg 328. Compatibility revision. U08 VBTStatus; ///< Reg 330. VBT status register. U08 VBTStatusPWM; ///< Reg 331. VBT PWM status register. - S16 ACPower1Current; ///< Reg 332. AC power current - 1. - S16 ACPower1Voltage; ///< Reg 334. AC power voltage - 1. - S16 ACPower2Current; ///< Reg 336. AC power current - 2. - S16 ACPower2Voltage; ///< Reg 338. AC power voltage - 2. - S16 ACPower3Current; ///< Reg 340. AC power current - 3. - S16 ACPower3Voltage; ///< Reg 342. AC power voltage - 3. + U16 h1OutputWord1; ///< Reg 332. H1 Magellan output word 1. + U16 h1OutputWord2; ///< Reg 334. H1 Magellan output word 2. + U16 h1OutputWord3; ///< Reg 336. H1 Magellan output word 3. + U16 h19OutputWord1; ///< Reg 338. H19 Magellan output word 1. + U16 h19OutputWord2; ///< Reg 340. H19 Magellan output word 2. + U16 h19OutputWord3; ///< Reg 342. H19 Magellan output word 3. S16 h4RotorHallCount; ///< Reg 344. H4 rotor count from hall sensor. U08 h6RotorStatus; ///< Reg 346. H6 rotor status. U08 reserved5; ///< Reg 347. Reserved register. @@ -195,6 +198,18 @@ 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. + U16 h1CmdHeader; ///< Reg 48. H1 Magellan command header. + U16 h1InputWord1; ///< Reg 50. H1 Magellan input word 1. + U16 h1InputWord2; ///< Reg 52. H1 Magellan input word 2. + U16 h1InputWord3; ///< Reg 54. H1 Magellan input word 3. + U08 h1FPGACmd; ///< Reg 56. H1 Magellan FPGA command register. + U08 h1EnableReset; ///< Reg 57. H1 Magellan enable and reset register. + U16 h19CmdHeader; ///< Reg 58. H19 Magellan command header. + U16 h19InputWord1; ///< Reg 60. H19 Magellan input word 1. + U16 h19InputWord2; ///< Reg 62. H19 Magellan input word 2. + U16 h19InputWord3; ///< Reg 64. H19 Magellan input word 3. + U08 h19FPGACmd; ///< Reg 66. H19 Magellan FPGA command register. + U08 h19EnableReset; ///< Reg 67. H19 Magellan enable and reset register. } FPGA_ACTUATORS_T; #pragma pack(pop) @@ -1575,4 +1590,142 @@ return fpgaSensorReadings.h10DACEEProm; } +/*********************************************************************//** + * @brief + * The setH1CmdHeader function sets the H1 Magellan command header. + * @details \b Inputs: fpgaActuatorSetPoints + * @details \b Outputs: none + * @param cmdHeader H1 Magellan command header. + * @return none + *************************************************************************/ +void setH1CmdHeader( U16 cmdHeader ) +{ + fpgaActuatorSetPoints.h1CmdHeader = cmdHeader; +} + +/*********************************************************************//** + * @brief + * The setH1InputWord1 function sets H1 Magellan input word 1. + * @details \b Inputs: fpgaActuatorSetPoints + * @details \b Outputs: none + * @param inputWord Input word 1 value. + * @return none + *************************************************************************/ +void setH1InputWord1( U16 inputWord ) +{ + fpgaActuatorSetPoints.h1InputWord1 = inputWord; +} + +/*********************************************************************//** + * @brief + * The setH1InputWord2 function sets H1 Magellan input word 2. + * @details \b Inputs: fpgaActuatorSetPoints + * @details \b Outputs: none + * @param inputWord Input word 2 value. + * @return none + *************************************************************************/ +void setH1InputWord2( U16 inputWord ) +{ + fpgaActuatorSetPoints.h1InputWord2 = inputWord; +} + +/*********************************************************************//** + * @brief + * The setH1InputWord3 function sets H1 Magellan input word 3. + * @details \b Inputs: fpgaActuatorSetPoints + * @details \b Outputs: none + * @param inputWord Input word 3 value. + * @return none + *************************************************************************/ +void setH1InputWord3( U16 inputWord ) +{ + fpgaActuatorSetPoints.h1InputWord3 = inputWord; +} + +/*********************************************************************//** + * @brief + * The setH1FPGACmd function sets the H1 Magellan FPGA command register. + * @details \b Inputs: fpgaActuatorSetPoints + * @details \b Outputs: none + * @param cmd FPGA command value. + * @return none + *************************************************************************/ +void setH1FPGACmd( U08 cmd ) +{ + fpgaActuatorSetPoints.h1FPGACmd = cmd; +} + +/*********************************************************************//** + * @brief + * The setH1EnableReset function sets the H1 Magellan enable/reset register. + * @details \b Inputs: fpgaActuatorSetPoints + * @details \b Outputs: none + * @param value Enable/reset register value. + * @return none + *************************************************************************/ +void setH1EnableReset( U08 value ) +{ + fpgaActuatorSetPoints.h1EnableReset = value; +} + +/*********************************************************************//** + * @brief + * The getH1SPICmdStatus function reads the H1 SPI command status. + * @details \b Inputs: fpgaSensorReadings + * @details \b Outputs: none + * @return H1 SPI command status. + *************************************************************************/ +U08 getH1SPICmdStatus( void ) +{ + return fpgaSensorReadings.h1SPICmdStatus; +} + +/*********************************************************************//** + * @brief + * The getH1MotorStatus function reads the H1 motor status. + * @details \b Inputs: fpgaSensorReadings + * @details \b Outputs: none + * @return H1 motor status. + *************************************************************************/ +U08 getH1MotorStatus( void ) +{ + return fpgaSensorReadings.h1MotorStatus; +} + +/*********************************************************************//** + * @brief + * The getH1OutputWord1 function reads H1 output word 1. + * @details \b Inputs: fpgaSensorReadings + * @details \b Outputs: none + * @return H1 output word 1. + *************************************************************************/ +U16 getH1OutputWord1( void ) +{ + return fpgaSensorReadings.h1OutputWord1; +} + +/*********************************************************************//** + * @brief + * The getH1OutputWord2 function reads H1 output word 2. + * @details \b Inputs: fpgaSensorReadings + * @details \b Outputs: none + * @return H1 output word 2. + *************************************************************************/ +U16 getH1OutputWord2( void ) +{ + return fpgaSensorReadings.h1OutputWord2; +} + +/*********************************************************************//** + * @brief + * The getH1OutputWord3 function reads H1 output word 3. + * @details \b Inputs: fpgaSensorReadings + * @details \b Outputs: none + * @return H1 output word 3. + *************************************************************************/ +U16 getH1OutputWord3( void ) +{ + return fpgaSensorReadings.h1OutputWord3; +} + /**@}*/ Index: firmware/App/Services/FpgaTD.h =================================================================== diff -u -r41b06072545ff2013cbb16cd874da07ad563b10e -rc9ca21d4282d943ca8c68012822afb0f7c5d26fb --- firmware/App/Services/FpgaTD.h (.../FpgaTD.h) (revision 41b06072545ff2013cbb16cd874da07ad563b10e) +++ firmware/App/Services/FpgaTD.h (.../FpgaTD.h) (revision c9ca21d4282d943ca8c68012822afb0f7c5d26fb) @@ -170,6 +170,18 @@ U16 getFPGASyringePumpDACSetting( void ); U16 getFPGASyringePumpDACStoredSetting( void ); +void setH1CmdHeader( U16 cmdHeader ); +void setH1InputWord1( U16 inputWord ); +void setH1InputWord2( U16 inputWord ); +void setH1InputWord3( U16 inputWord ); +void setH1FPGACmd( U08 cmd ); +void setH1EnableReset( U08 value ); +U08 getH1SPICmdStatus( void ); +U08 getH1MotorStatus( void ); +U16 getH1OutputWord1( void ); +U16 getH1OutputWord2( void ); +U16 getH1OutputWord3( void ); + /**@}*/ #endif