M1M3 Support System
Loading...
Searching...
No Matches
LSST::M1M3::SS::IExpansionFPGA Class Referenceabstract

Abstract interface for communication with expansion FPGA. More...

#include <IExpansionFPGA.h>

Inheritance diagram for LSST::M1M3::SS::IExpansionFPGA:

Public Member Functions

void setResource (bool enabled, std::string resource)
 
virtual void initialize ()=0
 Initialize FPGA.
 
virtual void open ()=0
 Load & run FPGA code, setup interrupts.
 
virtual void close ()=0
 Close FPGA, stop FPGA code.
 
virtual void finalize ()=0
 Should be called after closing FPGA.
 
virtual void sample ()=0
 Writes sample request.
 
virtual void readSlot1 (float *data)=0
 Read 6 float from float array indicator.
 
virtual void readSlot2 (uint32_t *data)=0
 Reads 32 bitfield of DIO status.
 

Static Public Member Functions

static IExpansionFPGAget ()
 

Protected Attributes

bool _disabled
 
std::string _fpga_resource
 

Detailed Description

Abstract interface for communication with expansion FPGA.

Expansion FPGA controls various relays and measures voltage on the power buses.

The class is parent to two child classes, ExpansionFPGA and SimulatedExpansionFPGA.

See also
ExpansionFPGA
SimulatedExpansionFPGA

Member Function Documentation

◆ close()

virtual void LSST::M1M3::SS::IExpansionFPGA::close ( )
pure virtual

Close FPGA, stop FPGA code.

Exceptions
NiErroron NI error

Implemented in LSST::M1M3::SS::ExpansionFPGA, and LSST::M1M3::SS::SimulatedExpansionFPGA.

◆ finalize()

virtual void LSST::M1M3::SS::IExpansionFPGA::finalize ( )
pure virtual

Should be called after closing FPGA.

Exceptions
NiErroron NI error

Implemented in LSST::M1M3::SS::ExpansionFPGA, and LSST::M1M3::SS::SimulatedExpansionFPGA.

◆ initialize()

virtual void LSST::M1M3::SS::IExpansionFPGA::initialize ( )
pure virtual

Initialize FPGA.

Exceptions
NiErroron NI error

Implemented in LSST::M1M3::SS::ExpansionFPGA, and LSST::M1M3::SS::SimulatedExpansionFPGA.

◆ open()

virtual void LSST::M1M3::SS::IExpansionFPGA::open ( )
pure virtual

Load & run FPGA code, setup interrupts.

Exceptions
NiErroron NI error

Implemented in LSST::M1M3::SS::ExpansionFPGA, and LSST::M1M3::SS::SimulatedExpansionFPGA.

◆ readSlot1()

virtual void LSST::M1M3::SS::IExpansionFPGA::readSlot1 ( float * data)
pure virtual

Read 6 float from float array indicator.

Data corresponds to Expansion FPGA slot 1 channels.

Data:

  1. current meter DC A [V]
  2. current meter DC B [V]
  3. current meter DC C [V]
  4. current meter DC D [V]
  5. current meter controllers [V]
  6. current meter lights [V]
Parameters
datafills values from indicators
Exceptions
NiErroron NI error

Implemented in LSST::M1M3::SS::ExpansionFPGA, and LSST::M1M3::SS::SimulatedExpansionFPGA.

◆ readSlot2()

virtual void LSST::M1M3::SS::IExpansionFPGA::readSlot2 ( uint32_t * data)
pure virtual

Reads 32 bitfield of DIO status.

The reported values are:

  1. MCU - 1 Circuit breaker auxiliary contact
  2. MCU - 2 Circuit breaker auxiliary contact
  3. MCU - 3 Circuit breaker auxiliary contact
  4. Support cabinet utility outlet Circuit breaker auxiliary contact
  5. External equipment Circuit breaker auxiliary contact
  6. DC power network A redundancy module status
  7. DC power network B redundancy module status
  8. DC power network C redundancy module status
  9. DC power network D redundancy module status
  10. DC power network controllers redundancy module status DC network A power supply 1 status
  11. DC network A power supply 2 status
  12. DC network B power supply 3 status
  13. DC network B power supply 4 status
  14. DC network C power supply 5 status
  15. DC network C power supply 6 status
  16. DC network D power supply 7 status
  17. DC network D power supply 8 status
  18. DC network controllers power supply 9 status DC network LED lights power supply 11 status
  19. DC network external control power supply 12 status
  20. DC network laser tracker power supply 13 status
Exceptions
NiErroron NI error

Implemented in LSST::M1M3::SS::ExpansionFPGA, and LSST::M1M3::SS::SimulatedExpansionFPGA.

◆ sample()

virtual void LSST::M1M3::SS::IExpansionFPGA::sample ( )
pure virtual

Writes sample request.

After sample request, measured values can be read from float array and U32 indicators.

Exceptions
NiErroron NI error

Implemented in LSST::M1M3::SS::ExpansionFPGA, and LSST::M1M3::SS::SimulatedExpansionFPGA.


The documentation for this class was generated from the following files: