vif parsing

This commit is contained in:
Wolfgang Hottgenroth 2020-11-17 18:34:55 +01:00
parent 0eba87a107
commit c7ac9a9dc3
Signed by: wn
GPG Key ID: 6C1E5E531E0D5D7F

View File

@ -8,12 +8,26 @@
static parsedVIB_t parseVIB_FB(mbus_value_information_block vib) { static parsedVIB_t parseVIB_FB(mbus_value_information_block vib) {
parsedVIB_t parsedVIB = { .name = "FB unknown", .unit = "?", .exponent = 1 }; parsedVIB_t parsedVIB = { .name = "FB unknown", .unit = "?", .exponent = 1 };
coloredMsg(LOG_RED, true, "mpe pvd_fb unknown vife 0x%02x", vib.vife[0]);
return parsedVIB; return parsedVIB;
} }
static parsedVIB_t parseVIB_FD(mbus_value_information_block vib) { static parsedVIB_t parseVIB_FD(mbus_value_information_block vib) {
parsedVIB_t parsedVIB = { .name = "FD unknown", .unit = "?", .exponent = 1 }; parsedVIB_t parsedVIB = { .name = "FD unknown", .unit = "?", .exponent = 1 };
if ((vib.vife[0] & 0b01110000) == 0b01000000) {
strcpy(parsedVIB.name, "Voltage");
strcpy(parsedVIB.unit, "V");
parsedVIB.exponent = (vib.vife[0] & 0b01111) - 9;
} else if ((vib.vife[0] & 0b01110000) == 0b01010000) {
strcpy(parsedVIB.name, "Current");
strcpy(parsedVIB.unit, "A");
parsedVIB.exponent = (vib.vife[0] & 0b01111) - 12;
} else {
coloredMsg(LOG_RED, true, "mpe pvd_fd unknown vife 0x%02x", vib.vife[0]);
}
return parsedVIB; return parsedVIB;
} }