/* pfodMeterPaser example Using Arudino Mega2560 and two hardware serial connections. this code parses RS232 measurement reading from TEKPOWER TP4000ZC, Digitech QM1538, Digitech QM1537, Digitek DT-9062, Digitek INO2513, Digitech QM1462, PeakTech 3330, Tenma 72-7745, Uni-Trend UT30A, Uni-Trend UT30E, Uni-Trend UT60E, Voltcraft VC 820, Voltcraft VC 840 c)2016 Forward Computing and Control Pty. Ltd. www.forward.com.au This code may be freely used for both private and commercial use. Provide this copyright is maintained. */ #include "pfodVC820MeterParser.h" pfodVC820MeterParser meter; // void setup() { // Open serial communications and wait for port to open: Serial.begin(115200); for (int i = 10; i > 0; i--) { delay(500); Serial.print(i); Serial.print(' '); } Serial1.begin(2400); // Serial1 RX is pin D19, TX not used // meter.setDebugOut(&Serial); // need to uncomment #define DEBUG in pfodVC820MeterParser as well. meter.connect(&Serial1); Serial.println(F("Ready")); } float reading; void loop() { if (meter.haveReading()) { reading = meter.getAsFloat(); // use this for Arduino calculations Serial.print("Reading with units: "); Serial.print(meter.getDigits()); Serial.print(meter.getScalingAsStr()); Serial.print(meter.getTypeAsStr()); Serial.print(F(" = as float printed (6 digits):")); Serial.println(reading,6); Serial.println("Time(sec) and Reading as string for logging"); Serial.print(((float)millis())/1000.0); Serial.print(",sec,"); Serial.print(meter.getAsStr()); Serial.print(','); Serial.println(meter.getTypeAsStr()); } }