Skip to content

Odd numbers are read correctly, even numbers not #7

@sjfaustino

Description

@sjfaustino

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions