[vz-dev] vzlogger MeterD0.cpp Master branch parity
Thorben Thuermer
r00t at constancy.org
Thu Nov 21 00:57:49 CET 2013
On Wed, 20 Nov 2013 23:36:13 +0100
Reinhard Wilzeck <reinhard at wilzeck.de> wrote:
> erfreulicherweise kann man nun für das Protokoll D0 parity und baud rate
> über die vzlogger.conf konfigurieren.
> (Nötig z.B. für Landis+Gyr E350 EDL21 .)
> "protocol" : "d0",
> "parity": "7e1",
> "baudrate":300,
> Leider hat sich ein Fehler beim Setzen der einzelnen bits eingeschlichen.
> (Ich weiss nicht, ob es schon jemand gesehen hat)
> Dadurch wird unbeabsichtigt u.a. CRTSCTS gesetzt.
> Damit sendet Udos USB IR Schreiblesekopf nicht. (macht er richtig, denn
> ohne den vzlogger arbeitet er einwandfrei.)
>
> falsch ist z.B.
> case parity_7e1:
> tio.c_cflag |= ~ PARENB;
> Damit werden alle bits gesetzt (außer PARENB)
> Richtig ist:
> switch(_parity) {
> case parity_8n1:
> tio.c_cflag &= ~ PARENB;
das koennte die probleme erklaeren die andere user schon mit porteinstellungen
bei vzlogger hatten...
(finde den thread gerade nicht)
> An dem Acknowledge, das der Zähler braucht arbeite ich noch. Außerdem
> kann man die Schnittstelle auch mit einem Timeout versehen, so das der
> read nicht für immer hängen bleibt.
> /* Set return rules for read to prevent endless waiting*/
> tio.c_cc[VTIME] = 50; /* inter-character timer 50*0.1s*/
> tio.c_cc[VMIN] = 0; /* VTIME is timeout counter */
>
> Der praktische Beweis der Funktion steht aber noch aus.
ich kann das leider mangels zaehlern wenig testen.
schickst du uns einen patch, sobald du eine version hast die laeuft?
danke!
> Gruß
> Reinhard
- Thorben
More information about the volkszaehler-dev
mailing list