This module contains the Zerynth driver for Maxim MAX1164X low-power Analog-to-Digital Converters with I2C interface (datasheet).
from maxim.max11644 import max11644 ... my_adc = max11644.MAX11644(I2C1) # set the internal reference ON and use it as reference voltage my_adc.setup(ref = 5) # configure the adc to read Ain1 - Ain0 differential input my_adc.config(3, 1, 0) # get the raw converted value from the adc value = my_adc.get_raw_data()
MAX11644(i2cdrv, clk = 100000)¶
Creates an instance of the MAX11644 class. This class allows the control of both MAX11644 and MAX11645 devices. The I2C slave address of these devices is factory programmed to 0x36.
- i2cdrv – I2C Bus used ‘(I2C0, ...)’
- clk – Clock speed. Allowed values are 100000, 400000, 1000000
setup(ref = 0, clk = 0, mode = 0, rst = 1)¶
Writes the device’s setup register.
ref : select the reference voltage.
ref Reference Voltage REF pin Internal reference state 0-1 Vdd Not connected Always on 2-3 External Reference input Always on 4 Internal Not connected Always on 5 Internal Not connected Always on 6 Internal Reference output Always off 7 Internal Reference output Always on
clk : set the clock source:
0: internal clock
1: external clock
mode : select the operating mode:
0: unipolar, differential input from 0 to Vref, digital output code is binary
1: bipolar, differential input from -Vref/2 to Vref/2, digital output is two’s complement
rst : reset the configuration register to default:
0: reset the configuration
1: no action
config(scan = 0, ch = 0, in_mode = 0)¶
Writes the device’s configuration register.
scan : select the scanning configuration.
scan Scanning configuration 0 Scans up from Ain0 to the input selected by ch 1 Converts the input selected by ch 8 times 2 do not use 3 Converts the input selected by ch
ch : select input channels to be used for conversion.
ch Single-ended mode Differential mode positive channel negative channel positive channel negative channel 0 Ain0 GND Ain0 Ain1 1 Ain1 GND Ain1 Ain0
in_mode : select the input mode:
0: differential mode, digital output depends on mode (see setup()).
1: single-ended mode, digital output is binary
get_raw_data(n = 1)¶
Return a list containing the conversion results. If n is
1, return a single value. If the current operating mode is bipolar and the input mode is differential, the values are returned as signed integers, otherwise as unsigned integers.