Implement ADS1115 register reading and writing
This commit is contained in:
17
src/main.c
17
src/main.c
@@ -6,7 +6,7 @@
|
||||
|
||||
#include <avr/interrupt.h>
|
||||
|
||||
// TODO: Get readings from ADC ADS1115 over I2C.
|
||||
// TODO: Convert raw data from ADS1115 to usable values.
|
||||
// TODO: Implement optional sensor value check with CRC8.
|
||||
// TODO: Set timeouts for polling based things like I2C.
|
||||
// TODO: Write an improved serial parser (low priority).
|
||||
@@ -78,18 +78,27 @@ int Init(void)
|
||||
void Update(void)
|
||||
{
|
||||
float temp, rhum;
|
||||
short raw[4];
|
||||
|
||||
I2C_SetChannel(AHT01);
|
||||
if (I2C_AHT20_Read(&temp, &rhum))
|
||||
if (I2C_AHT20_Read(&temp, &rhum) == 0)
|
||||
Info("TEMP=%.2fC, RHUM=%.2f%", temp, rhum);
|
||||
|
||||
I2C_SetChannel(AHT02);
|
||||
if (I2C_AHT20_Read(&temp, &rhum))
|
||||
if (I2C_AHT20_Read(&temp, &rhum) == 0)
|
||||
Info("TEMP=%.2fC, RHUM=%.2f%", temp, rhum);
|
||||
|
||||
I2C_SetChannel(AHT03);
|
||||
if (I2C_AHT20_Read(&temp, &rhum))
|
||||
if (I2C_AHT20_Read(&temp, &rhum) == 0)
|
||||
Info("TEMP=%.2fC, RHUM=%.2f%", temp, rhum);
|
||||
|
||||
raw[0] = I2C_ADS1115_Read(0);
|
||||
raw[1] = I2C_ADS1115_Read(1);
|
||||
raw[2] = I2C_ADS1115_Read(2);
|
||||
raw[3] = I2C_ADS1115_Read(3);
|
||||
|
||||
Info("ADC0=%04X, ADC1=%04X, ADC2=%04X, ADC3=%04X",
|
||||
raw[0], raw[1], raw[2], raw[3]);
|
||||
}
|
||||
|
||||
int main(void)
|
||||
|
||||
Reference in New Issue
Block a user