DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dunedaq::timing::DACNode Class Reference

uhal::Node implementing single I2C Master Slave connection to control SFP expander chips. More...

#include <DACNode.hpp>

Inheritance diagram for dunedaq::timing::DACNode:
[legend]
Collaboration diagram for dunedaq::timing::DACNode:
[legend]

Public Member Functions

 DACNode (const uhal::Node &node)
 
 DACNode (const DACNode &node)
 
virtual ~DACNode ()
 
- Public Member Functions inherited from dunedaq::timing::I2CMasterNode
 I2CMasterNode (const uhal::Node &node)
 
 I2CMasterNode (const I2CMasterNode &node)
 
virtual ~I2CMasterNode ()
 
virtual uint16_t get_i2c_clock_prescale () const
 
virtual std::vector< std::string > get_slaves () const
 
virtual uint8_t get_slave_address (const std::string &name) const
 
virtual const I2CSlaveget_slave (const std::string &name) const
 
void reset () const
 
virtual uint8_t read_i2c (uint8_t i2c_device_address, uint32_t i2c_reg_address) const
 commodity functions
 
virtual void write_i2c (uint8_t i2c_device_address, uint32_t i2c_reg_address, uint8_t data, bool send_stop=true) const
 
virtual std::vector< uint8_t > read_i2cArray (uint8_t i2c_device_address, uint32_t i2c_reg_address, uint32_t number_of_words) const
 
virtual void write_i2cArray (uint8_t i2c_device_address, uint32_t i2c_reg_address, std::vector< uint8_t > data, bool send_stop=true) const
 
virtual std::vector< uint8_t > read_i2cPrimitive (uint8_t i2c_device_address, uint32_t number_of_bytes) const
 
virtual void write_i2cPrimitive (uint8_t i2c_device_address, const std::vector< uint8_t > &data, bool send_stop=true) const
 
bool ping (uint8_t i2c_device_address) const
 
std::vector< uint8_t > scan () const
 
- Public Member Functions inherited from dunedaq::timing::DACSlave
 DACSlave (const I2CMasterNode *i2c_master, uint8_t i2c_device_address)
 
virtual ~DACSlave ()=default
 
void set_interal_ref (bool internal_ref) const
 Use DAC internal reference.
 
void set_dac (uint8_t channel, uint32_t code) const
 Configure DAC channel.
 
- Public Member Functions inherited from dunedaq::timing::I2CSlave
virtual ~I2CSlave ()
 
uint8_t get_i2c_address () const
 
uint8_t read_i2c (uint32_t i2c_device_address, uint32_t i2c_reg_address) const
 comodity functions
 
uint8_t read_i2c (uint32_t i2c_reg_address) const
 
void write_i2c (uint32_t i2c_device_address, uint32_t i2c_reg_address, uint8_t data, bool send_stop=true) const
 
void write_i2c (uint32_t i2c_reg_address, uint8_t data, bool send_stop=true) const
 
std::vector< uint8_t > read_i2cArray (uint32_t i2c_device_address, uint32_t i2c_reg_address, uint32_t number_of_words) const
 
std::vector< uint8_t > read_i2cArray (uint32_t i2c_reg_address, uint32_t number_of_words) const
 
void write_i2cArray (uint32_t i2c_device_address, uint32_t i2c_reg_address, std::vector< uint8_t > data, bool send_stop=true) const
 
void write_i2cArray (uint32_t i2c_reg_address, std::vector< uint8_t > data, bool send_stop=true) const
 
std::vector< uint8_t > read_i2cPrimitive (uint32_t number_of_bytes) const
 
void write_i2cPrimitive (const std::vector< uint8_t > &data, bool send_stop=true) const
 
bool ping () const
 
std::string get_master_id () const
 

Additional Inherited Members

- Protected Member Functions inherited from dunedaq::timing::I2CMasterNode
virtual std::vector< uint8_t > read_block_i2c (uint8_t i2c_device_address, uint32_t number_of_bytes) const
 
virtual void write_block_i2c (uint8_t i2c_device_address, const std::vector< uint8_t > &data, bool send_stop=true) const
 
uint8_t send_i2c_command_and_read_data (uint8_t command) const
 
void send_i2c_command_and_write_data (uint8_t command, uint8_t data) const
 
- Protected Member Functions inherited from dunedaq::timing::I2CSlave
 I2CSlave (const I2CMasterNode *i2c_master, uint8_t i2c_device_address)
 
- Protected Attributes inherited from dunedaq::timing::I2CMasterNode
std::unordered_map< std::string, uint8_t > m_i2c_device_addresses
 Slaves.
 

Detailed Description

uhal::Node implementing single I2C Master Slave connection to control SFP expander chips.

Author
Alessandro Thea
Date
April 2018

Definition at line 66 of file DACNode.hpp.

Constructor & Destructor Documentation

◆ DACNode() [1/2]

dunedaq::timing::DACNode::DACNode ( const uhal::Node & node)
explicit

Definition at line 51 of file DACNode.cpp.

52 : I2CMasterNode(node)
53 , DACSlave(this, this->get_slave_address("i2caddr"))
54{}
DACSlave(const I2CMasterNode *i2c_master, uint8_t i2c_device_address)
Definition DACNode.cpp:18
virtual uint8_t get_slave_address(const std::string &name) const
friend class I2CMasterNode
Definition I2CSlave.hpp:90

◆ DACNode() [2/2]

dunedaq::timing::DACNode::DACNode ( const DACNode & node)

Definition at line 58 of file DACNode.cpp.

59 : I2CMasterNode(node)
60 , DACSlave(this, this->get_slave_address("i2caddr"))
61{}

◆ ~DACNode()

dunedaq::timing::DACNode::~DACNode ( )
virtual

Definition at line 65 of file DACNode.cpp.

65{}

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