ad5592r

class adi.ad5592r.ad5592r(uri='', device_name='')

Bases: context_manager

AD5592R and AD5593R SPI / I2C interface, 8-channel, 12-bit Confiburable ADC/DAC, digital GPIO

Analog I/O pins are configured in the device tree and can be ADC, DAC, or both. Channel attributes are as follows, where X corresponds to device channel number:

voltageX_adc.raw: Raw 12-bit ADC code. read only for ADC channels

voltageX_adc.scale: ADC scale, millivolts per lsb

voltageX_adc.scale_available: Available scales, corresponding to Vref*1, Vref*2

voltageX(): Returns ADC reading in millivolts (read only)

voltageX_dac.raw: Raw 12-bit DAC code. read/write for DAC channels

voltageX_dac.scale: ADC scale, millivolts per lsb

voltageX_dac.scale_available: Available scales (corresponding to 1X/2X gain)

voltageX(1234.5): Sets/Returns ADC reading in millivolts

temp.raw: Temperature raw value

temp.scale: Temperature scale value

temp.offset Temperature offset value

temp(): Returns temperature in degrees Celsius

class channel_adc(ctrl, channel_name, output)

Bases: attribute

AD5592R Input Voltage Channels

property raw
property scale
property scale_available

Available scales

class channel_dac(ctrl, channel_name, output)

Bases: channel_adc

AD5592R Output Voltage Channels (Add setter to raw property)

property raw
class channel_temp(ctrl, channel_name, output)

Bases: attribute

AD5592R Temperature Channel

property offset
property raw
property scale

The number of individual channels is based on the hardware configuration of the device. The are individually accessed as properties like so:

dev = adi.ad5592r(uri="ip:analog")
dev.dac_0.raw = 10
dev.dac_1.raw = 30
data = dev.adc_0.raw
print(data)
temp_c = (dev.temp_0.raw + dev.temp_0.offset) * dev.temp_0.scale
print(temp_c)