The AB Electronics UK Knowledge Base provides support solutions, tutorials and troubleshooting guides.
- Home
- Help and Support
- Knowledge Base
- Code & Languages
- C Library and Demos
- ADC Differential Pi C Library
-
Raspberry Pi
- PCB Header Assembly Jig
- Raspberry Pi GPIO Pins
- Samba Setup on Raspberry Pi
- Set a static IP Address on Raspberry Pi OS Bookworm
- I2C Part 1 - Introducing I2C
- I2C Part 2 - Enabling I2C on the Raspberry Pi
- I2C Part 3 - I2C tools in Linux
- I2C Part 4 - Programming I2C with Python
- SPI and Python on Raspberry Pi OS
- Using Pythonpath with our Python Libraries
- Connecting Development Boards to the Raspberry Pi 400
- General
- Code & Languages
- Raspberry Pi Pico Tutorials
- 1 Wire Pi Tutorials
- ADC Pi Tutorials
- ADC DAC Pi Zero Tutorials
- ADC Differential Pi Tutorials
- Expander Pi Tutorials
-
IO Pi Plus Tutorials
- IO Pi Plus FAQ
- IO Pi Plus Tutorial 1 - The Blinking LED
- IO Pi Plus Tutorial 2 - Push the Button
- IO Pi Plus Tutorial 3 - Introducing Interrupts
- IO Pi Plus Tutorial 4 - More Interrupts
- IO Pi Plus Tutorial - MQTT Reading the Ports
- IO Pi Plus with Raspberry Pi Pico
- IO Pi Plus Tutorial - MQTT Control
- Driving Relays or Higher Loads with the IO Pi Plus
- 16 Channel Opto-Isolated Input Board
- Relay Board for the IO Pi Plus 2.1
- IO Zero 32 Tutorials
- RTC Pi Tutorials
- Serial Pi
- Servo PWM Pi Tutorials
-
Home Assistant
- Using 1 Wire with Home Assistant and the Raspberry Pi OS
- Using I2C Devices on the Raspberry Pi with Home Assistant
- Using the ADC Differential Pi with Home Assistant on the Raspberry Pi
- Using the ADC Pi with Home Assistant on the Raspberry Pi
- Using the IO Pi Plus with Home Assistant on the Raspberry Pi
-
Legacy Products
- ADC DAC Pi (Discontinued)
- ADC Pi (Discontinued)
- Buffer Pi - Legacy Product
- Com Pi (Discontinued)
- Delta-Sigma Pi (Discontinued)
- Expander Pi (Discontinued)
- IO Pi (Discontinued)
- IO Pi Plus 1.0 (Discontinued)
- IO Pi Zero (Discontinued)
- Logic Level Converter (Discontinued)
- RTC Alarm Pi (Discontinued)
- RTC Pi (Discontinued)
- Serial Pi (Discontinued)
- 1 Wire Pi (Discontinued)
- 1 Wire Pi Plus 1.0 (Discontinued)
- Other Supported Platforms
ADC Differential Pi C Library
ADC Differential Pi C Library Installation and Usage
C Library to use with ADC Differential Pi Raspberry Pi development board.
The example C programs can be found in /ABElectronics_C_Libraries/ADCDifferetialPi/demos
Downloading and Installing the library
To download to your Raspberry Pi type in the terminal:
git clone https://github.com/abelectronicsuk/ABElectronics_C_Libraries.git
Functions
read_raw(uint8_t address, uint8_t channel, uint8_t bitrate, uint8_t pga, uint8_t conversionmode)
Reads the raw value from the selected ADC channel
Parameter: (uint8_t) address - I2C address for the target device e.g. 0x68
Parameter: (uint8_t) channel - 1 to 4
Parameter: (uint8_t) bitrate - 12, 14, 16 or 18
Parameter: (uint8_t) pga - 1, 2, 4 or 8
Parameter: (uint8_t) conversionmode - 0 = one shot conversion, 1 = continuous conversion
Returns: (uint32_t) value from ADC buffer
read_voltage(uint8_t address, uint8_t channel, uint8_t bitrate, uint8_t pga, uint8_t conversionmode);
Reads the voltage from the selected ADC channel
Parameter: (uint8_t) address - I2C address for the target device e.g. 0x68
Parameter: (uint8_t) channel - 1 to 4
Parameter: (uint8_t) bitrate - 12, 14, 16 or 18
Parameter: (uint8_t) pga - 1, 2, 4 or 8
Parameter: (uint8_t) conversionmode - 0 = one shot conversion, 1 = continuous conversion
Returns: (double) voltage value from ADC