15UHAL_REGISTER_DERIVED_NODE(DACNode)
37 throw DACChannelOutOfRange(
ERS_HERE, std::to_string(channel));
44 uint32_t
address = 0x18 + (channel & 0x7);
46 this->write_i2cArray(
address, { (uint8_t)((code >> 8) & 0xff), (uint8_t)(code & 0xff) });
53 ,
DACSlave(this, this->get_slave_address(
"i2caddr"))
60 ,
DACSlave(this, this->get_slave_address(
"i2caddr"))
uhal::Node implementing single I2C Master Slave connection to control SFP expander chips.
DACNode(const uhal::Node &node)
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.
void write_i2cArray(uint32_t i2c_device_address, uint32_t i2c_reg_address, std::vector< uint8_t > data, bool send_stop=true) const
DACValueOutOfRange
< Namespace