mirror of
https://github.com/UtilitechAS/amsreader-firmware.git
synced 2026-02-05 16:16:13 +00:00
Clean up HanToJson library and per meter header files
This commit is contained in:
@@ -6,49 +6,49 @@
|
||||
|
||||
static void hanToJsonKaifa3phase(int listSize, JsonObject& data, HanReader& hanReader, Stream *debugger)
|
||||
{
|
||||
if (listSize >= (int)Kaifa::List2)
|
||||
if (listSize >= (int)Kaifa::List3PhaseShort)
|
||||
{
|
||||
data["lv"] = hanReader.getString( (int)Kaifa_List3::ListVersionIdentifier);
|
||||
data["id"] = hanReader.getString( (int)Kaifa_List3::MeterID);
|
||||
data["type"] = hanReader.getString( (int)Kaifa_List3::MeterType);
|
||||
data["P"] = hanReader.getInt( (int)Kaifa_List3::ActiveImportPower);
|
||||
data["Q"] = hanReader.getInt( (int)Kaifa_List3::ReactiveImportPower);
|
||||
data["I1"] = hanReader.getInt( (int)Kaifa_List3::CurrentL1);
|
||||
data["I2"] = hanReader.getInt( (int)Kaifa_List3::CurrentL2);
|
||||
data["I3"] = hanReader.getInt( (int)Kaifa_List3::CurrentL3);
|
||||
data["U1"] = hanReader.getInt( (int)Kaifa_List3::VoltageL1);
|
||||
data["U2"] = hanReader.getInt( (int)Kaifa_List3::VoltageL2);
|
||||
data["U3"] = hanReader.getInt( (int)Kaifa_List3::VoltageL3);
|
||||
data["lv"] = hanReader.getString( (int)Kaifa_List3Phase::ListVersionIdentifier);
|
||||
data["id"] = hanReader.getString( (int)Kaifa_List3Phase::MeterID);
|
||||
data["type"] = hanReader.getString( (int)Kaifa_List3Phase::MeterType);
|
||||
data["P"] = hanReader.getInt( (int)Kaifa_List3Phase::ActiveImportPower);
|
||||
data["Q"] = hanReader.getInt( (int)Kaifa_List3Phase::ReactiveImportPower);
|
||||
data["I1"] = hanReader.getInt( (int)Kaifa_List3Phase::CurrentL1);
|
||||
data["I2"] = hanReader.getInt( (int)Kaifa_List3Phase::CurrentL2);
|
||||
data["I3"] = hanReader.getInt( (int)Kaifa_List3Phase::CurrentL3);
|
||||
data["U1"] = hanReader.getInt( (int)Kaifa_List3Phase::VoltageL1);
|
||||
data["U2"] = hanReader.getInt( (int)Kaifa_List3Phase::VoltageL2);
|
||||
data["U3"] = hanReader.getInt( (int)Kaifa_List3Phase::VoltageL3);
|
||||
}
|
||||
|
||||
if (listSize >= (int)Kaifa::List3)
|
||||
if (listSize >= (int)Kaifa::List3PhaseLong)
|
||||
{
|
||||
data["tPI"] = hanReader.getInt( (int)Kaifa_List3::CumulativeActiveImportEnergy);
|
||||
data["tPO"] = hanReader.getInt( (int)Kaifa_List3::CumulativeActiveExportEnergy);
|
||||
data["tQI"] = hanReader.getInt( (int)Kaifa_List3::CumulativeReactiveImportEnergy);
|
||||
data["tQO"] = hanReader.getInt( (int)Kaifa_List3::CumulativeReactiveExportEnergy);
|
||||
data["tPI"] = hanReader.getInt( (int)Kaifa_List3Phase::CumulativeActiveImportEnergy);
|
||||
data["tPO"] = hanReader.getInt( (int)Kaifa_List3Phase::CumulativeActiveExportEnergy);
|
||||
data["tQI"] = hanReader.getInt( (int)Kaifa_List3Phase::CumulativeReactiveImportEnergy);
|
||||
data["tQO"] = hanReader.getInt( (int)Kaifa_List3Phase::CumulativeReactiveExportEnergy);
|
||||
}
|
||||
}
|
||||
|
||||
static void hanToJsonKaifa1phase(int listSize, JsonObject& data, HanReader& hanReader, Stream *debugger)
|
||||
{
|
||||
if (listSize >= (int)Kaifa::List21)
|
||||
if (listSize >= (int)Kaifa::List1PhaseShort)
|
||||
{
|
||||
data["lv"] = hanReader.getString( (int)Kaifa_List31::ListVersionIdentifier);
|
||||
data["id"] = hanReader.getString( (int)Kaifa_List31::MeterID);
|
||||
data["type"] = hanReader.getString( (int)Kaifa_List31::MeterType);
|
||||
data["P"] = hanReader.getInt( (int)Kaifa_List31::ActiveImportPower);
|
||||
data["Q"] = hanReader.getInt( (int)Kaifa_List31::ReactiveImportPower);
|
||||
data["I1"] = hanReader.getInt( (int)Kaifa_List31::CurrentL1);
|
||||
data["U1"] = hanReader.getInt( (int)Kaifa_List31::VoltageL1);
|
||||
data["lv"] = hanReader.getString( (int)Kaifa_List1Phase::ListVersionIdentifier);
|
||||
data["id"] = hanReader.getString( (int)Kaifa_List1Phase::MeterID);
|
||||
data["type"] = hanReader.getString( (int)Kaifa_List1Phase::MeterType);
|
||||
data["P"] = hanReader.getInt( (int)Kaifa_List1Phase::ActiveImportPower);
|
||||
data["Q"] = hanReader.getInt( (int)Kaifa_List1Phase::ReactiveImportPower);
|
||||
data["I1"] = hanReader.getInt( (int)Kaifa_List1Phase::CurrentL1);
|
||||
data["U1"] = hanReader.getInt( (int)Kaifa_List1Phase::VoltageL1);
|
||||
}
|
||||
|
||||
if (listSize >= (int)Kaifa::List31)
|
||||
if (listSize >= (int)Kaifa::List1PhaseLong)
|
||||
{
|
||||
data["tPI"] = hanReader.getInt( (int)Kaifa_List31::CumulativeActiveImportEnergy);
|
||||
data["tPO"] = hanReader.getInt( (int)Kaifa_List31::CumulativeActiveExportEnergy);
|
||||
data["tQI"] = hanReader.getInt( (int)Kaifa_List31::CumulativeReactiveImportEnergy);
|
||||
data["tQO"] = hanReader.getInt( (int)Kaifa_List31::CumulativeReactiveExportEnergy);
|
||||
data["tPI"] = hanReader.getInt( (int)Kaifa_List1Phase::CumulativeActiveImportEnergy);
|
||||
data["tPO"] = hanReader.getInt( (int)Kaifa_List1Phase::CumulativeActiveExportEnergy);
|
||||
data["tQI"] = hanReader.getInt( (int)Kaifa_List1Phase::CumulativeReactiveImportEnergy);
|
||||
data["tQO"] = hanReader.getInt( (int)Kaifa_List1Phase::CumulativeReactiveExportEnergy);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -64,11 +64,11 @@ static void hanToJsonKaifa(JsonObject& data, HanReader& hanReader, Stream *debug
|
||||
}
|
||||
|
||||
switch (listSize) {
|
||||
case (int)Kaifa::List2:
|
||||
case (int)Kaifa::List3:
|
||||
case (int)Kaifa::List3PhaseShort:
|
||||
case (int)Kaifa::List3PhaseLong:
|
||||
return hanToJsonKaifa3phase(listSize, data, hanReader, debugger);
|
||||
case (int)Kaifa::List21:
|
||||
case (int)Kaifa::List31:
|
||||
case (int)Kaifa::List1PhaseShort:
|
||||
case (int)Kaifa::List1PhaseLong:
|
||||
return hanToJsonKaifa1phase(listSize, data, hanReader, debugger);
|
||||
default:
|
||||
if (debugger) debugger->printf("Warning: Unknown listSize %d\n", listSize);
|
||||
@@ -76,6 +76,51 @@ static void hanToJsonKaifa(JsonObject& data, HanReader& hanReader, Stream *debug
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static void hanToJsonAidon3phase(int listSize, JsonObject& data, HanReader& hanReader, Stream *debugger)
|
||||
{
|
||||
if (listSize >= (int)Aidon::List3PhaseShort)
|
||||
{
|
||||
data["lv"] = hanReader.getString( (int)Aidon_List3Phase::ListVersionIdentifier);
|
||||
data["id"] = hanReader.getString( (int)Aidon_List3Phase::MeterID);
|
||||
data["type"] = hanReader.getString( (int)Aidon_List3Phase::MeterType);
|
||||
data["P"] = hanReader.getInt( (int)Aidon_List3Phase::ActiveImportPower);
|
||||
data["Q"] = hanReader.getInt( (int)Aidon_List3Phase::ReactiveExportPower);
|
||||
data["I1"] = ((double) hanReader.getInt( (int)Aidon_List3Phase::CurrentL1)) / 10;
|
||||
data["I2"] = ((double) hanReader.getInt( (int)Aidon_List3Phase::CurrentL2)) / 10;
|
||||
data["I3"] = ((double) hanReader.getInt( (int)Aidon_List3Phase::CurrentL3)) / 10;
|
||||
data["U1"] = ((double) hanReader.getInt( (int)Aidon_List3Phase::VoltageL1)) / 10;
|
||||
data["U2"] = ((double) hanReader.getInt( (int)Aidon_List3Phase::VoltageL2)) / 10;
|
||||
data["U3"] = ((double) hanReader.getInt( (int)Aidon_List3Phase::VoltageL3)) / 10;
|
||||
}
|
||||
|
||||
if (listSize >= (int)Aidon::List3PhaseShort)
|
||||
{
|
||||
data["tPI"] = hanReader.getInt( (int)Aidon_List3Phase::CumulativeActiveImportEnergy);
|
||||
data["tPO"] = hanReader.getInt( (int)Aidon_List3Phase::CumulativeActiveExportEnergy);
|
||||
data["tQI"] = hanReader.getInt( (int)Aidon_List3Phase::CumulativeReactiveImportEnergy);
|
||||
data["tQO"] = hanReader.getInt( (int)Aidon_List3Phase::CumulativeReactiveExportEnergy);
|
||||
}
|
||||
|
||||
// TODO Aidon::List3PhaseLong
|
||||
// TODO: Do not divide Aidon values by 10!
|
||||
}
|
||||
|
||||
static void hanToJsonAidon1phase(int listSize, JsonObject& data, HanReader& hanReader, Stream *debugger)
|
||||
{
|
||||
if (listSize >= (int)Aidon::List1PhaseShort)
|
||||
{
|
||||
data["lv"] = hanReader.getString( (int)Aidon_List1Phase::ListVersionIdentifier);
|
||||
data["id"] = hanReader.getString( (int)Aidon_List1Phase::MeterID);
|
||||
data["type"] = hanReader.getString( (int)Aidon_List1Phase::MeterType);
|
||||
data["P"] = hanReader.getInt( (int)Aidon_List1Phase::ActiveImportPower);
|
||||
data["Q"] = hanReader.getInt( (int)Aidon_List1Phase::ReactiveExportPower);
|
||||
data["I1"] = ((double) hanReader.getInt( (int)Aidon_List1Phase::CurrentL1)) / 10;
|
||||
data["U1"] = ((double) hanReader.getInt( (int)Aidon_List1Phase::VoltageL1)) / 10;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static void hanToJsonAidon(JsonObject& data, HanReader& hanReader, Stream *debugger)
|
||||
{
|
||||
int listSize = hanReader.getListSize();
|
||||
@@ -89,79 +134,64 @@ static void hanToJsonAidon(JsonObject& data, HanReader& hanReader, Stream *debug
|
||||
return;
|
||||
}
|
||||
|
||||
if (listSize >= (int)Aidon::List21)
|
||||
{
|
||||
data["lv"] = hanReader.getString( (int)Aidon_List3::ListVersionIdentifier);
|
||||
data["id"] = hanReader.getString( (int)Aidon_List3::MeterID);
|
||||
data["type"] = hanReader.getString( (int)Aidon_List3::MeterType);
|
||||
data["P"] = hanReader.getInt( (int)Aidon_List3::ActiveImportPower);
|
||||
data["Q"] = hanReader.getInt( (int)Aidon_List3::ReactiveExportPower);
|
||||
data["I1"] = ((double) hanReader.getInt( (int)Aidon_List3::CurrentL1)) / 10;
|
||||
data["I2"] = ((double) hanReader.getInt( (int)Aidon_List3::CurrentL2)) / 10;
|
||||
}
|
||||
|
||||
if (listSize >= (int)Aidon::List2)
|
||||
{
|
||||
data["I3"] = ((double) hanReader.getInt( (int)Aidon_List3::CurrentL3)) / 10;
|
||||
data["U1"] = ((double) hanReader.getInt( (int)Aidon_List3::VoltageL1)) / 10;
|
||||
data["U2"] = ((double) hanReader.getInt( (int)Aidon_List3::VoltageL2)) / 10;
|
||||
data["U3"] = ((double) hanReader.getInt( (int)Aidon_List3::VoltageL3)) / 10;
|
||||
}
|
||||
|
||||
if (listSize >= (int)Aidon::List3)
|
||||
{
|
||||
data["tPI"] = hanReader.getInt( (int)Aidon_List3::CumulativeActiveImportEnergy);
|
||||
data["tPO"] = hanReader.getInt( (int)Aidon_List3::CumulativeActiveExportEnergy);
|
||||
data["tQI"] = hanReader.getInt( (int)Aidon_List3::CumulativeReactiveImportEnergy);
|
||||
data["tQO"] = hanReader.getInt( (int)Aidon_List3::CumulativeReactiveExportEnergy);
|
||||
switch (listSize) {
|
||||
case (int)Aidon::List3PhaseShort:
|
||||
case (int)Aidon::List3PhaseLong:
|
||||
return hanToJsonAidon3phase(listSize, data, hanReader, debugger);
|
||||
case (int)Aidon::List1PhaseShort:
|
||||
case (int)Aidon::List1PhaseLong:
|
||||
return hanToJsonAidon1phase(listSize, data, hanReader, debugger);
|
||||
default:
|
||||
if (debugger) debugger->printf("Warning: Unknown listSize %d\n", listSize);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
static void hanToJsonKamstrup3phase(int listSize, JsonObject& data, HanReader& hanReader, Stream *debugger)
|
||||
{
|
||||
if (listSize >= (int)Kamstrup::List1)
|
||||
if (listSize >= (int)Kamstrup::List3PhaseShort)
|
||||
{
|
||||
data["lv"] = hanReader.getString( (int)Kamstrup_List2::ListVersionIdentifier);
|
||||
data["id"] = hanReader.getString( (int)Kamstrup_List2::MeterID);
|
||||
data["type"] = hanReader.getString( (int)Kamstrup_List2::MeterType);
|
||||
data["P"] = hanReader.getInt( (int)Kamstrup_List2::ActiveImportPower);
|
||||
data["Q"] = hanReader.getInt( (int)Kamstrup_List2::ReactiveImportPower);
|
||||
data["I1"] = hanReader.getInt( (int)Kamstrup_List2::CurrentL1);
|
||||
data["I2"] = hanReader.getInt( (int)Kamstrup_List2::CurrentL2);
|
||||
data["I3"] = hanReader.getInt( (int)Kamstrup_List2::CurrentL3);
|
||||
data["U1"] = hanReader.getInt( (int)Kamstrup_List2::VoltageL1);
|
||||
data["U2"] = hanReader.getInt( (int)Kamstrup_List2::VoltageL2);
|
||||
data["U3"] = hanReader.getInt( (int)Kamstrup_List2::VoltageL3);
|
||||
data["lv"] = hanReader.getString( (int)Kamstrup_List3Phase::ListVersionIdentifier);
|
||||
data["id"] = hanReader.getString( (int)Kamstrup_List3Phase::MeterID);
|
||||
data["type"] = hanReader.getString( (int)Kamstrup_List3Phase::MeterType);
|
||||
data["P"] = hanReader.getInt( (int)Kamstrup_List3Phase::ActiveImportPower);
|
||||
data["Q"] = hanReader.getInt( (int)Kamstrup_List3Phase::ReactiveImportPower);
|
||||
data["I1"] = hanReader.getInt( (int)Kamstrup_List3Phase::CurrentL1);
|
||||
data["I2"] = hanReader.getInt( (int)Kamstrup_List3Phase::CurrentL2);
|
||||
data["I3"] = hanReader.getInt( (int)Kamstrup_List3Phase::CurrentL3);
|
||||
data["U1"] = hanReader.getInt( (int)Kamstrup_List3Phase::VoltageL1);
|
||||
data["U2"] = hanReader.getInt( (int)Kamstrup_List3Phase::VoltageL2);
|
||||
data["U3"] = hanReader.getInt( (int)Kamstrup_List3Phase::VoltageL3);
|
||||
}
|
||||
|
||||
if (listSize >= (int)Kamstrup::List2)
|
||||
if (listSize >= (int)Kamstrup::List3PhaseLong)
|
||||
{
|
||||
data["tPI"] = hanReader.getInt( (int)Kamstrup_List2::CumulativeActiveImportEnergy);
|
||||
data["tPO"] = hanReader.getInt( (int)Kamstrup_List2::CumulativeActiveExportEnergy);
|
||||
data["tQI"] = hanReader.getInt( (int)Kamstrup_List2::CumulativeReactiveImportEnergy);
|
||||
data["tQO"] = hanReader.getInt( (int)Kamstrup_List2::CumulativeReactiveExportEnergy);
|
||||
data["tPI"] = hanReader.getInt( (int)Kamstrup_List3Phase::CumulativeActiveImportEnergy);
|
||||
data["tPO"] = hanReader.getInt( (int)Kamstrup_List3Phase::CumulativeActiveExportEnergy);
|
||||
data["tQI"] = hanReader.getInt( (int)Kamstrup_List3Phase::CumulativeReactiveImportEnergy);
|
||||
data["tQO"] = hanReader.getInt( (int)Kamstrup_List3Phase::CumulativeReactiveExportEnergy);
|
||||
}
|
||||
}
|
||||
|
||||
static void hanToJsonKamstrup1phase(int listSize, JsonObject& data, HanReader& hanReader, Stream *debugger)
|
||||
{
|
||||
if (listSize >= (int)Kamstrup::List3)
|
||||
if (listSize >= (int)Kamstrup::List1PhaseShort)
|
||||
{
|
||||
data["lv"] = hanReader.getString( (int)Kamstrup_List4::ListVersionIdentifier);
|
||||
data["id"] = hanReader.getString( (int)Kamstrup_List4::MeterID);
|
||||
data["type"] = hanReader.getString( (int)Kamstrup_List4::MeterType);
|
||||
data["P"] = hanReader.getInt( (int)Kamstrup_List4::ActiveImportPower);
|
||||
data["Q"] = hanReader.getInt( (int)Kamstrup_List4::ReactiveImportPower);
|
||||
data["I1"] = hanReader.getInt( (int)Kamstrup_List4::CurrentL1);
|
||||
data["U1"] = hanReader.getInt( (int)Kamstrup_List4::VoltageL1);
|
||||
data["lv"] = hanReader.getString( (int)Kamstrup_List1Phase::ListVersionIdentifier);
|
||||
data["id"] = hanReader.getString( (int)Kamstrup_List1Phase::MeterID);
|
||||
data["type"] = hanReader.getString( (int)Kamstrup_List1Phase::MeterType);
|
||||
data["P"] = hanReader.getInt( (int)Kamstrup_List1Phase::ActiveImportPower);
|
||||
data["Q"] = hanReader.getInt( (int)Kamstrup_List1Phase::ReactiveImportPower);
|
||||
data["I1"] = hanReader.getInt( (int)Kamstrup_List1Phase::CurrentL1);
|
||||
data["U1"] = hanReader.getInt( (int)Kamstrup_List1Phase::VoltageL1);
|
||||
}
|
||||
|
||||
if (listSize >= (int)Kamstrup::List4)
|
||||
if (listSize >= (int)Kamstrup::List1PhaseLong)
|
||||
{
|
||||
data["tPI"] = hanReader.getInt( (int)Kamstrup_List4::CumulativeActiveImportEnergy);
|
||||
data["tPO"] = hanReader.getInt( (int)Kamstrup_List4::CumulativeActiveExportEnergy);
|
||||
data["tQI"] = hanReader.getInt( (int)Kamstrup_List4::CumulativeReactiveImportEnergy);
|
||||
data["tQO"] = hanReader.getInt( (int)Kamstrup_List4::CumulativeReactiveExportEnergy);
|
||||
data["tPI"] = hanReader.getInt( (int)Kamstrup_List1Phase::CumulativeActiveImportEnergy);
|
||||
data["tPO"] = hanReader.getInt( (int)Kamstrup_List1Phase::CumulativeActiveExportEnergy);
|
||||
data["tQI"] = hanReader.getInt( (int)Kamstrup_List1Phase::CumulativeReactiveImportEnergy);
|
||||
data["tQO"] = hanReader.getInt( (int)Kamstrup_List1Phase::CumulativeReactiveExportEnergy);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -170,11 +200,11 @@ static void hanToJsonKamstrup(JsonObject& data, HanReader& hanReader, Stream *de
|
||||
int listSize = hanReader.getListSize();
|
||||
|
||||
switch (listSize) {
|
||||
case (int)Kamstrup::List1:
|
||||
case (int)Kamstrup::List2:
|
||||
case (int)Kamstrup::List3PhaseShort:
|
||||
case (int)Kamstrup::List3PhaseLong:
|
||||
return hanToJsonKamstrup3phase(listSize, data, hanReader, debugger);
|
||||
case (int)Kamstrup::List3:
|
||||
case (int)Kamstrup::List4:
|
||||
case (int)Kamstrup::List1PhaseShort:
|
||||
case (int)Kamstrup::List1PhaseLong:
|
||||
return hanToJsonKamstrup1phase(listSize, data, hanReader, debugger);
|
||||
default:
|
||||
if (debugger) debugger->printf("Warning: Unknown listSize %d\n", listSize);
|
||||
|
||||
Reference in New Issue
Block a user