More documentation

pull/5/head
weetmuts 2018-04-01 10:36:31 +02:00
rodzic 8f51d8f798
commit c32eb12484
5 zmienionych plików z 29 dodań i 3 usunięć

Wyświetl plik

@ -1,7 +1,14 @@
Version 0.5:
Added difvif parser to extract as much as possible automatically
from the the telegram.
Added initial support for Omnipower electricity meter.
Version 0.4:
Added initial support for power meter Multical302.
Added initial support for heat energy meter Multical302.
Restructured to source to more easily support multiple meters.
ATTENTION! There is a difference in the command line interface.

Wyświetl plik

@ -27,7 +27,7 @@ endif
$(shell mkdir -p $(BUILD))
CXXFLAGS := $(DEBUG_FLAGS) -Wall -fmessage-length=0 -std=c++11 -Wno-unused-function "-DWMBUSMETERS_VERSION=\"0.4\""
CXXFLAGS := $(DEBUG_FLAGS) -Wall -fmessage-length=0 -std=c++11 -Wno-unused-function "-DWMBUSMETERS_VERSION=\"0.5\""
$(BUILD)/%.o: %.cc $(wildcard %.h)
$(CXX) $(CXXFLAGS) $< -c -o $@

Wyświetl plik

@ -170,6 +170,18 @@ void MeterMultical21::handleTelegram(Telegram *t)
void MeterMultical21::processContent(Telegram *t)
{
// Meter records:
// 02 dif (16 Bit Integer/Binary Instantaneous value)
// FF vif (vendor specific)
// 20 vife (vendor specific)
// xx xx (info codes)
// 04 dif (32 Bit Integer/Binary Instantaneous value)
// 13 vif (Volume l)
// xx xx xx xx (total volume)
// 44 dif (32 Bit Integer/Binary Instantaneous value KamstrupCombined)
// 13 vif (Volume l)
// xx xx (target volume in compact frame) but xx xx xx xx in full frame!
vector<uchar>::iterator bytes = t->content.begin();
int crc0 = t->content[0];

Wyświetl plik

@ -107,7 +107,8 @@ void MeterOmnipower::processContent(Telegram *t)
// Meter record:
// 04 dif (32 Bit Integer/Binary Instantaneous value)
// 83 vif (Energy Wh)
// 3b vife
// 3b vife (Forward flow contribution only)
// xx xx xx xx (total energy)
map<string,pair<int,string>> values;
parseDV(t, t->content.begin(), t->content.size(), &values);

Wyświetl plik

@ -26,6 +26,12 @@
#define LIST_OF_LINK_MODES X(LinkModeC1)X(LinkModeT1)X(UNKNOWN_LINKMODE)
// In link mode T1, the meter transmits a telegram every few seconds.
// Suitable for drive-by/walk-by collection of meter values.
// Link mode C1 is like T1 but uses less energy when transmitting due to
// a different radio encoding. Suitable for battery powered meters.
enum LinkMode {
#define X(name) name,
LIST_OF_LINK_MODES