Autor Thema: culfw: Initialisierung der RF Parameter im EEPROM bzw. CC1101  (Gelesen 372 mal)

Offline RaspII

  • Developer
  • Full Member
  • ****
  • Beiträge: 326
Hi,
gibt es irgendwo eine Beschreibung nach welchen Regeln bzw. zu welchen Zeitpunkten die C1101 Parameter in das EEPROM und danach in den CC1101 geschrieben werden?

Falls nicht wäre es schön wenn mir das jemand erklären kann.



Gesendet von meinem SM-G900F mit Tapatalk

RaspII

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 16005
Antw:culfw: Initialisierung der RF Parameter im EEPROM bzw. CC1101
« Antwort #1 am: 22 Februar 2017, 14:12:19 »
Da die Frage ungenau ist, ist die Antwort auch: Beim booten, aktiviert wird es durch X21.

Ich warne von culfw "hacking", wenn man sowas nicht durch Code-Lesen beantworten kann. Der Code ist nicht fuer Lehrzwecke entstanden, und ist inzwischen durch die vielen "Parallel-Maintainer" relativ verwirrend.

Offline RaspII

  • Developer
  • Full Member
  • ****
  • Beiträge: 326
Antw:culfw: Initialisierung der RF Parameter im EEPROM bzw. CC1101
« Antwort #2 am: 22 Februar 2017, 20:18:31 »
Hallo Rudolf,
Danke für die schnelle Antwort (wie immer)
Ich interpretiere Deine Antwort auf meine ungenaue Frage wie folgt:
  • Die Initialisierungswerte werden beim Booten ins EEPROM geschrieben
  • Die Übertragung vom EEPROM auf den CC1101 erfolgt (Atkivierung) ausschliesslich durch X21 (also kein automatisches Übertragen/Initialisieren des CC1101 z.B. beim Booten)

Zur Erklärung:
Ich habe diese Frage gestellt, weil ich eben nicht hacken werde/will.
Den Code habe ich auf die schnelle überflogen, konnte mir aber keine Reim daraus machen.
 
Ich habe EEPROMs bisher nur genutzt, wenn Informationen z.B. das Abstecken/Anstecken eines Systems "überleben" sollen.
Das ein EEPROM jedesmal beim Booten neu initialisiert wird verstehe ich nicht, d.h. das macht aus meiner Sicht keinen Sinn (dann kann man die Werte ja gleich im Dauerspeicher=Flash ablegen).
Desweiteren habe ich im Code gesehen, dass viele Module (Somfy-RTS, auch mein KOPP_FC...) den CC1101 selbst initialisieren und den EEPROM Inhalt ignorieren, das macht alles aus meiner Sicht wenig Sinn (aber es gibt sicher Gründe dagfür)

Deshalb habe ich mal die Frage nach dem Ablauf gestellt.

Und jetzt mein eigentliches Problem
Da ich in meinem Modul die RF Parameter hart initialisiere, wenn in FHEM das KOPP_FC Protokoll einstellt, werden natürlich alle Frequenzen etc. hart geschrieben (Das KOPP Protokoll läuft nicht mit den Standard Parametern. In meiner Routine wird der CC1101 auch jedes mal vor dem Senden komplett neu konfiguriert).
Es gibt jetzt aber einige CC1101 Bausteine die eine relativ hohe Frequenzabweichung haben. Mich hat ein Anwender gefragt ob ich nicht zulassen will, dass die Frequenz über Standard CUL Kommandos geändert werden kann.

Dazu muss ich aber verstehen wie das ursprüngliche CUL Design gedacht war.
(Du schreibst selbst, dass der Code nicht für Lehrzwecke geschrieben wurde)

Eine Frage die ich mir stelle (wenn nicht mehr meine KOPF_FC Firmware den CC1101 initialisiert sondern ich mich auf die EEPROM Werte verlasse):
Schalte ich dann in FHEM z.B. in der fhem.cfg, nach dem Anlegen des CUL Devices, die Frequenz um, wirkt diese Umschaltung dann auch noch, wenn der CUL z.B. durch einen Reset geht.....

Hoffe ich konnte meine Frage hiermit etwas präzisieren.
RaspII

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 16005
Antw:culfw: Initialisierung der RF Parameter im EEPROM bzw. CC1101
« Antwort #3 am: 22 Februar 2017, 20:40:06 »
Sorry, ich habe mich falsch ausgedrueckt: beim Flashen wird das EEPROM geschrieben, und beim X21 das EEPROM ins CC1101 geladen. Das gilt nur fuer SlowRF. Andere Protokolle (MAX/HM/ZWave) haben einen festen Satz an Parameter im Code, den kann man nicht aendern, d.h. freq und co ist fuer diese wirkungslos. Wie es mit KOPP ausschaut, weiss ich nicht.

Offline RaspII

  • Developer
  • Full Member
  • ****
  • Beiträge: 326
Antw:culfw: Initialisierung der RF Parameter im EEPROM bzw. CC1101
« Antwort #4 am: 22 Februar 2017, 21:22:28 »
ok, dann habe ich das verstanden.

D.h. das EEPROM bleibt immer erhalten, nur beim Flashen wird es neu initialisiert.
Bei Kopp ist es derzeit wie bei MAX/HM/ZWave implementiert. Das ist das eigentliche Problem, wenn man später noch die Frequenz anpassen will weil man CC1101 Bausteine mit "schlechtem" Quarz vom Chinesen verwendet.

Mal ins unreine gedacht:
Wenn das Kopp Protokoll beim einem CUL nur exclusiv genutzt wird (ist zur Zeit so implementiert):
Dann könnte ich mir doch in der KOPP Firmware einen Befehl erstellen, der die KOPP-CC1101 Konfiguration einmalig ins EEPROM schreibt.
(dieser Befehl würde ich an der FHEM Oberfläche nur anbieten sobald das Kopp Protokoll auf einem Device aktiviert ist)
Danach könnte jeder die Standard Befehle nutzen um die Kopp-Default Werte zu ändern. (Dummerweise ist die Kopp-Konfiguration dann nach jedem Firmware Update wieder weg und man muss die Parameter neu setzen).

Gibt des aus Deiner Sicht noch eine besser geeignete Vorgehensweise?
(Das Problem scheint mit der aktuellen Implementierung der culfw nicht einfach lösbar zu sein)
RaspII
Zustimmung Zustimmung x 1 Liste anzeigen

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 16005
Antw:culfw: Initialisierung der RF Parameter im EEPROM bzw. CC1101
« Antwort #5 am: 23 Februar 2017, 10:38:14 »
Ich favorisiere auch deine Idee.

Als ich mit culfw angefangen habe, habe ich nicht im Traum daran gedacht, mehrere unterschiedliche Protokolle zu unterstuetzen. Beim Einbau von HM (das war das "zweite" Protokoll) schien eine Konfiguration nicht notwendig zu sein, da die Gegenstelle auch CC1101 verwendet. Weiterhin habe ich kein "Filesystem" fuers EEPROM geschrieben, deswegen ist es ein Qual, freie Plaetze in EEPROM zuverlaessig zu finden oder zu erweitern.