Tasmota/lib/lib_i2c/AGS02MA-0.4.3/examples/AGS02MA_PPB/AGS02MA_PPB.ino
Akshaylal S 96e174bcc6
Add support for AGS02MA TVOC Sensor (#24109)
* Add ags02ma library

* Initial commit

* fix object init

* fix bugs

* Update I2C Driver number
Device disabled by default

* refactoring for consistency
2025-12-08 11:40:42 +01:00

75 lines
1.4 KiB
C++

//
// FILE: AGS02MA_PPB.ino
// AUTHOR: Rob Tillaart
// PURPOSE: test application
// URL: https://github.com/RobTillaart/AGS02MA
#include "AGS02MA.h"
AGS02MA AGS(26);
void setup()
{
// ESP devices typically miss the first serial log lines after flashing.
// Delay somewhat to include all output.
delay(1000);
Serial.begin(115200);
Serial.println();
Serial.println(__FILE__);
Serial.print("AGS02MA_LIB_VERSION: ");
Serial.println(AGS02MA_LIB_VERSION);
Serial.println();
Wire.begin();
bool b = AGS.begin();
Serial.print("BEGIN:\t");
Serial.println(b);
Serial.print("VERSION:\t");
Serial.println(AGS.getSensorVersion());
// pre-heating improves measurement quality
// can be skipped
Serial.println("\nWarming up (120 seconds = 24 dots)");
while (AGS.isHeated() == false)
{
delay(5000);
Serial.print(".");
}
Serial.println();
b = AGS.setPPBMode();
uint8_t m = AGS.getMode();
Serial.print("MODE:\t");
Serial.print(b);
Serial.print("\t");
Serial.println(m);
uint8_t version = AGS.getSensorVersion();
Serial.print("VERS:\t");
Serial.println(version);
}
void loop()
{
delay(3000);
uint32_t value = AGS.readPPB();
Serial.print("PPB:\t");
Serial.print(value);
Serial.print("\t");
Serial.print(AGS.lastStatus(), HEX);
Serial.print("\t");
Serial.print(AGS.lastError(), HEX);
Serial.println();
}
// -- END OF FILE --