-
Notifications
You must be signed in to change notification settings - Fork 94
Odd numbers are read correctly, even numbers not #7
Description
When using the code below with a SDM120C:
`#include <SDM.h> //import SDM template library
SDM<2400, D1, D2> sdm; //SDM120C baud, rx pin, tx pin
void setup() {
Serial.begin(115200); //initialize serial
sdm.begin(); //initalize SDM220 communication baudrate
}
void loop() {
Serial.print("Frequency: ");
Serial.print(sdm.readVal(SDM120C_FREQUENCY), 2); //display frequency
Serial.println("Hz");
Serial.print("Voltage: ");
Serial.print(sdm.readVal(SDM120C_VOLTAGE), 2); //display voltage
Serial.println("V");
delay(1000); //wait a while before next loop
}`
I get:
Frequency: 50.00Hz
Voltage: 228.70V
Frequency: 50.00Hz
Voltage: nanV
Frequency: 50.00Hz
Voltage: nanV
Frequency: 50.00Hz
Voltage: nanV
Frequency: 50.00Hz
Voltage: nanV
Frequency: 50.04Hz
Voltage: nanV
Frequency: 50.00Hz
Voltage: nanV
If I swap the read order as on the code below:
`#include <SDM.h> //import SDM template library
SDM<2400, D1, D2> sdm; //SDM120C baud, rx pin, tx pin
void setup() {
Serial.begin(115200); //initialize serial
sdm.begin(); //initalize SDM220 communication baudrate
}
void loop() {
Serial.print("Voltage: ");
Serial.print(sdm.readVal(SDM120C_VOLTAGE), 2); //display voltage
Serial.println("V");
Serial.print("Frequency: ");
Serial.print(sdm.readVal(SDM120C_FREQUENCY), 2); //display frequency
Serial.println("Hz");
delay(1000); //wait a while before next loop
}`
I get:
Voltage: 231.20V
Frequency: 50.00Hz
Voltage: 230.80V
Frequency: nanHz
Voltage: 230.80V
Frequency: nanHz
Voltage: 230.80V
Frequency: nanHz
Voltage: 230.80V
Frequency: nanHz
Voltage: 231.30V
Frequency: nanHz