Protokolle duplizieren

Aus Ethersex_Wiki
Version vom 25. März 2010, 09:44 Uhr von Loddel (Diskussion | Beiträge) (Die Seite wurde neu angelegt: = 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...)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

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 Walh 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 muss noch zwei Zentrale Files 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.