Am 11. April 2013 22:35 schrieb Thorben Thuermer <r...@constancy.org>:
> On Thu, 11 Apr 2013 20:29:03 +0200 Jan Tamm <v...@tamms.net> wrote: > > Am 11. April 2013 09:55 schrieb Thorben Thuermer <r...@constancy.org>: > > > ich habe den code schonmal gelesen und einen groeberen bug gefixt, > > > wohl dummerweise mal wieder nur in einer (der c-) version, > > > anscheinend hast du gerade den gleichen in der c++ version gefunden? > > > > http://volkszaehler.org/pipermail/volkszaehler-users/2012-December/000757.html > > > > https://github.com/volkszaehler/vzlogger/commit/d5c0a10ec3a08c47dd0d55972ce3d3a8b4906c25 > > > > > > Genau, der Bug ist in der C++ Version noch enthalten. Zusätzlich wurde > der > > > Meter in der C++ Version aber ergänzt, sodass er nun drei Readings > > > ermittelt: > > 1) Identifier "counter" mit value gleich einem internen Zähler, der > erhöht > > wird. Mein Verständnis war, dass bei Countern immer nur Impulse > übermittelt > > werden, und im Frontend der value Wert ignoriert wird (was leider die > > Aggregation in der Middleware vor dem Frontend unmöglich macht). Also > > sollte der doch Value 1 haben. > > 2) Einen NilIdentifier mit Wert 1 der sich mir nicht erschließt. Habt Ihr > > eine Idee was das sein könnte? > > 3) einen Power Identifier der die errechnete Leistung ausgibt. Leider > > werden zur Errechnung der Leistung jedesmal zwei Impulse gezählt und > nicht > > ein Zeitstempel vom vorherigen Lauf herangezogen. Folglich wird im > counter > > nur jeder zweite Impuls weitergegeben. > > der code war mir noch nicht bekannt, muss ich bei gelegenheit mal > reinschauen... > vielleicht moegen die autoren mal was dazu sagen? > > > Ganz komisch wird es, das zwar die drei Readings errechnet werden aber > die > > Funktion mit "return 1" nur den ersten Wert im counter zurückgibt, der > wie > > oben beschrieben nur die halbe Frequenz hat. Also insgesamt bin ich > stutzig > > ob jemand den S0 Meter in der c++ Variante nutzt. > > vermutlich nicht. > in der C-version sollte er aber soweit funktionieren, mit dem erwaehnten > fix. > Da sich niemand gemeldet hat, habe ich selbst Änderungen eingebaut. Wenn ich, wie in der C++ Version angefangen, auch den aus den Impulsen ausgerechnete Leistung übergeben will, muss ich den MeterS0 umstellen und StringIdentifier einbauen. Damit brechen wir die Kompatibilität zu der C Version. Da ist es wohl besser, den C++ Code der C Version anzugleichen und weiterhin ohne Identifier die Impulse zurückzugeben. Wie würde das nun ins Repository kommen, kann ich einfach einen Pull Request starten? --Jan