4#ifdef ATOM_SOCKET_MODULE
7 AtomSerial = &SerialData;
10 AtomSerial->begin(4800, SERIAL_8E1, RXD);
11 pinMode(RelayIO, OUTPUT);
12 VF = VolR1 / VolR2 / 1000.0;
13 CF = 1.0 / (CurrentRF * 1000.0);
17 digitalWrite(RelayIO, LOW);
22 digitalWrite(RelayIO, HIGH);
26 digitalWrite(RelayIO, LOW);
38 if (AtomSerial->available() > 0) {
43 while (AtomSerial->read() >= 0) {
53 while (AtomSerial->read() >= 0) {
57 if (Checksum() ==
false) {
88 float Vol = FVolPar / VolData;
105 float FPowerData = PowerData;
106 SerialLots.print(
"FPowerData:");
107 SerialLots.println(FPowerData);
108 SerialLots.print(
"FPowerPar:");
109 SerialLots.println(FPowerPar);
110 float Power = (FPowerPar / FPowerData) *
VF *
CF;
117 return vol * current;
123 return ActivePower / InspectingPower;
136 uint32_t PFcnt = (1 /
PowerPar) * (1 / InspectingPower) * 1000000000 * 3600;
137 float KWh = (PFData * PF) / PFcnt;
141bool ATOMSOCKET::Checksum() {
143 for (
byte a = 2; a <= 22; a++) {
float GetInspectingPower()
void Init(HardwareSerial &SerialData, int _RelayIO, int _RXD)
from: https://github.com/m5stack/M5Atom/blob/master/examples/ATOM_BASE/ATOM_Socket/AtomSocket....