Protokolle duplizieren: Unterschied zwischen den Versionen

Aus Ethersex_Wiki
Wechseln zu: Navigation, Suche
(Protokolle duplizieren)
(Protokolle duplizieren)
 
(2 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 4: Zeile 4:
 
Diese zwei Schnittstellen wollte ich zum auslesen meiner Wechselrichter nutzen.
 
Diese zwei Schnittstellen wollte ich zum auslesen meiner Wechselrichter nutzen.
  
Das Protokoll der Walh war bei mir sll (serial_line_log)
+
Das Protokoll der Wahl war bei mir sll (serial_line_log)
  
 
Leider muste ich feststellen, das ich immer nur ein Protokoll auf ein UART binden kann.
 
Leider muste ich feststellen, das ich immer nur ein Protokoll auf ein UART binden kann.
Zeile 26: Zeile 26:
 
* die config.in und das MAKEFILE an die neuen Namen anpassen
 
* die config.in und das MAKEFILE an die neuen Namen anpassen
  
Zum Schluss muss noch zwei Zentrale Files angepasst werden.
+
Zum Schluss müssen noch zwei zentrale Dateien angepasst werden.
  
 
<code>
 
<code>
Zeile 46: Zeile 46:
  
 
Jetzt sollte unter Protokolle das Serial Line Log zweimal vorhanden sein.
 
Jetzt sollte unter Protokolle das Serial Line Log zweimal vorhanden sein.
 +
 +
Anmerkung: Das gleiche Verfahren funktioniert auch mit dem yport-Protokoll. Wenn man z.B. einen ATMega644p besitzt und beide UARTs "gleichzeitig" benutzen will, kann man das yport-Protokoll mit dem hier vorgestellten Verfahren duplizieren. nc <ip> 7970 bzw nc <ip> 7971 liefert dann die Ausgabe der beiden Ports.

Aktuelle Version vom 25. Oktober 2011, 09:19 Uhr

Protokolle duplizieren

Es kommt immer mal wider vor, das man das gleiche Protokoll zweimal benötigt. Bei mir war der Fall, das ich ein Net-IO mit einem ATMega 644p ausgestattet habe, der zwei UART besitz. Diese zwei Schnittstellen wollte ich zum auslesen meiner Wechselrichter nutzen.

Das Protokoll der Wahl war bei mir sll (serial_line_log)

Leider muste ich feststellen, das ich immer nur ein Protokoll auf ein UART binden kann. Da es bist jetzt noch keine gute Idee gibt, wie man so etwas besser lösen kann, hier ein kleiner Trick. Das Protokoll serial_line_log wird einfach dupliziert. Ich habe jedes "seria_" in ein "serialzwei_" gewandelt.

  • Kopieren des Ordners (cp -a ethersex/protocols/serial_line_log ethersex/protocols/serialzwei_line_log)
  • alle Dateien im Ordner umbenannt (auser Makefile und config.in) (cd ethersex/protocols/serialzwei_line_log; mv serial_<...>.c serialzwei_<...>.c
  • mit einem Editor Alle Variabeln und Symbolenamen geändert

vim serialzwei_line_log.c

%s/SERIAL_/SERIALZWEI_/g
%s/serial_/serialzwei_/g
%s/sll_/sllzwei_/g

  • in der serialzwei_line_log_ecmd.c muss noch der ecmd Befehl angepasst werden (ganz am Schluss der META abschnitt)

vim serialzwei_line_log_ecmd.c

%s/sll get/sll2 get

  • die config.in und das MAKEFILE an die neuen Namen anpassen

Zum Schluss müssen noch zwei zentrale Dateien angepasst werden.

cd ethersex/ vim Makefile SUBDIRS += protocols/serialzwei_line_log

vim config.in source protocols/serialzwei_line_log/config.in

Danach sollte

make menuconfig

Jetzt sollte unter Protokolle das Serial Line Log zweimal vorhanden sein.

Anmerkung: Das gleiche Verfahren funktioniert auch mit dem yport-Protokoll. Wenn man z.B. einen ATMega644p besitzt und beide UARTs "gleichzeitig" benutzen will, kann man das yport-Protokoll mit dem hier vorgestellten Verfahren duplizieren. nc <ip> 7970 bzw nc <ip> 7971 liefert dann die Ausgabe der beiden Ports.