FHEM Forum

CUL => Hard- und Firmware => Thema gestartet von: wlanrouter am 24 April 2023, 14:33:35

Titel: Nanocul mit SCREEN die amplification auslesen bzw. ändern
Beitrag von: wlanrouter am 24 April 2023, 14:33:35
Hallo liebe Community. Ich nutze meine NanoCul leider nicht mit FHEM. Daher muss ich versuchen auf Linux über SCREEN die Konfiguration anzupassen. (Ich schreibe etwas ausführlicher falls jemand der es nachmachen will auf dem Schlauch steht)

Verbinde ich mit mit Screen
# screen /dev/ttyUSB0 38400und gebe
SHIFT+V und ENTER ein, erhalte ich folgende Version:
V 1.25.01 a-culfw Build: 257 (2017-07-14_17-38-58) nanoCUL868 (F-Band: 868MHz)
Nur würde ich gerne die Sendeleistung auslesen, bzw. anpassen.
Soweit ich verstanden habe müsste ich dazu folgendes eingeben:
x<pp> und ENTER(wobei <pp> zwischen 00 und 09 sein darf)
Danach müsste ich
X21 und ENTER eingeben, damit das EEPROM dauerhaft gespeichert wird.

Zwei Fragen:
1. Stimmt das soweit?
2. Wie kann ich über SCREEN den aktuellen Wert lesen?

P.S. für Anfänger: SCREEN beendet man mit Strg+a :quit und ENTER
Titel: Aw: Nanocul mit SCREEN die amplification auslesen bzw. ändern
Beitrag von: rudolfkoenig am 24 April 2023, 16:15:38
Ich kenne weder nanocul noch a-culfw, aber ich habe grundlegende Teile der Original-culfw geschrieben.

Da gilt:
- x aendert (je nach Compilerflag) einige Werte in EEPROM
- X kopiert u.a. diese Werte aus dem EEPROM in die CC1100 Register

Diese mit X initialisierte Konfiguration wird typischerweise fuer die sog. SlowRF Protokolle verwendet, wie FS20, HMS, EM1000, S300, etc. Etliche weitere Protokolle, wie WMBUS, ZWave, HM verwenden ihre eigenen Tabellen, da is x / X sinnlos.


Zum Auslesen muss man die CC1100 Register direkt anschauen, z.Bsp. mit C99.
Wenn ich den Code richtig lese, die PA (Power Amplification?) "Tabelle" geht ab 0x3e los, es sind 8 Bytes.

ZitatP.S. für Anfänger: SCREEN beendet man mit STRG+a und d
Strg+a und d macht ein detach, screen laeuft weiter, mit "screen -x" kann man wieder attachen.
Ich beende screen mit Strg+a :quit<return>
Titel: Aw: Nanocul mit SCREEN die amplification auslesen bzw. ändern
Beitrag von: wlanrouter am 24 April 2023, 16:33:36
Zitat von: rudolfkoenig am 24 April 2023, 16:15:38Ich beende screen mit Strg+a :quit<return>
Vielen Dank für den Hinweis. Korrigiert.

Zitat von: rudolfkoenig am 24 April 2023, 16:15:38Da gilt:
- x aendert (je nach Compilerflag) einige Werte in EEPROM
- X kopiert u.a. diese Werte aus dem EEPROM in die CC1100 Register

Diese mit X initialisierte Konfiguration wird typischerweise fuer die sog. SlowRF Protokolle verwendet, wie FS20, HMS, EM1000, S300, etc. Etliche weitere Protokolle, wie WMBUS, ZWave, HM verwenden ihre eigenen Tabellen, da is x / X sinnlos.

Deswegen hader ich ja. Wobei ich immer wieder den x<pp> Befehl als direkten Befehl verstehe. Die Werte <pp> scheinen dann den lediglich den Wert darzustellen, ohne eine Adressangabe.
Sowohl in der Anleitung selbst:
http://culfw.de/commandref.html
Zitatx<pp> Change the (EEPROM) PA tables (power amplification for RF sending)
<pp> is a one-byte hex value, valid values are 00 to 09, with following values: the first 5 is -10/-5/0/5/10 dBm with PA ramping, the next 5 is the same without PA ramping. If the value is outside this spec, then the 5dBm variant (03) will be used.
Notes:
after changing the value (in the EEPROM) an X command (X21) will be necessary to write the EEPROM changes to the CC1101.
The default CUL_V2 firmware has no PA ramping compiled in (see board.h)
The CUL itself cannot receive data sent with PA ramping, FS devices have no problem receiving such data.
Example: x03

Als auch in dem Befehl über das FHEM Terminal:
https://forum.fhem.de/index.php?topic=80092.0

Mir ist also nicht klar wo der Part mit der Adresse bleibt bzw. wie ich den Wert rücklesen kann.
Titel: Aw: Nanocul mit SCREEN die amplification auslesen bzw. ändern
Beitrag von: wlanrouter am 25 April 2023, 14:46:16
Hat jemand von euch die Sendeleistung maniupiliert? Dürft ich um Hilfe bitten?

Unter Linux verbinden mit: screen /dev/ttyUSB0 38400Alternativ: screen /dev/ttyACM0@38400
Dann folgendem Befehl die ersten 48 Register auslesen und schauen ob der Wert vorkommt?
C99 und ENTER
Titel: Aw: Nanocul mit SCREEN die amplification auslesen bzw. ändern
Beitrag von: rudolfkoenig am 25 April 2023, 15:42:25
ZitatDann folgendem Befehl die ersten 48 Register auslesen und schauen ob der Wert vorkommt?
Der Wert wird nicht so direkt vorkommen, es werden je nach Wert unterschiedliche 8-Bytes uebernommen, siehe diese (https://sourceforge.net/p/culfw/code/HEAD/tree/trunk/culfw/clib/cc1100.c#l25) und folgende 10 Zeilen
Auf dem CUL_V2 mit seinem minimalen Speicher wird nur ein Byte modifiziert, und die Werte fuer 0-4 und 5-9 sind identisch. Diese Werte stehen hier (https://sourceforge.net/p/culfw/code/HEAD/tree/trunk/culfw/clib/cc1100.c#l39).


ZitatMir ist also nicht klar wo der Part mit der Adresse bleibt [...]
Beim x-Befehl wird die "richtige" Zeile aus dem Programmspeicher ins EEPROM kopiert in der cc_set_pacc_set_pa (https://sourceforge.net/p/culfw/code/HEAD/tree/trunk/culfw/clib/cc1100.c#l201) Funktion.
Als Teil des X-Befehls werden diese EEPROM Daten ins CC1100 Register geladen, hier (https://sourceforge.net/p/culfw/code/HEAD/tree/trunk/culfw/clib/cc1100.c#l186).
CC1100_PATABLE ist 0x3e, deswegen erwarte ich die entsprechenden 8-Bytes beim Auslesen da.
Habs nie verifiziert.
Titel: Aw: Nanocul mit SCREEN die amplification auslesen bzw. ändern
Beitrag von: wlanrouter am 26 April 2023, 10:20:26
Das sind wertvolle und ausführliche Informationen. Vielen vielen Dank! Ich will aber trotzdem keinen Ausfall riskieren und kauf mit mal eine zweite NanoCul und teste mal mit Konfiguration mittels Screen.