> man man in cc1100.c die Zeile "0x2D, // 10 MDMCFG4 (x)" durch 0x2B
> austauscht und damit die Datenrate auf 62kHz reduziert.
Auch die Anpassung der Datenrate hatte ich schon gemacht --> keine
Änderung. Diese Änderung gilt doch nur für den "FASTRF-Mode", was wird
den von fhem am Basis-CUL gesetzt ? Muss dieser Modus per Hand an
beiden CUL's gesetzt werden?
Was mit noch auffällt ist folgendes:
- Umschaltung am RFR mit "fr" auf Snooping:
--> Übertragene Kommandos von der Basis werden angezeigt, es sind
keine Antworten ersichtlich.
- Umschaltung am RFR mit "fx" gefolgt von X21
--> jetzt werden am RFR nur noch Sonderzeichen angezeigt:
z.B.
201C9Z�0M��u0201C9Z�0000MZ�u0201MZ�u020M��9100000u
201C9Z�0M��u0201C9Z�0000MZ�u0201MZ�u020M��9100000u
201C9Z�0M��u0201C9Z�0000Z��u0201MZ�u020M��9100000u
201C9Z�0M��u0201C9Z�0000MZ�u0201MZ�u020M��9100000u
201C9Z�0M��u0201C9Z�0000Z��M��u02Z�C991M��00u1X�}
201C9Z�0M��u0201C9Z�0000MZ�u0201MZ�u020M��9100000u
201C9Z�0M��u0201C9Z�0000Z��M��u0Z�1C991M��u020X�}
1CZ�1000M��u0201C99100000u�4�_��.Z�I���M�
201C9Z�0M��u0201C9Z�0000Z��M��u0Z�1C991M��u020XX�}
1C99100000u02011X�}�g7��i$�4�_��.o�I���t/
Stefan
Evtl. hilft dir der RFR Abschnitt im commandref.html. Hier mit anderen Worten:
- Normalmodus heisst 868.3 MHz, 1kHz Datenrate, ASK/OOK Kodierung. FS20/FHT/EM/HMS
senden alle mit diesen Parameter, nur mit unterschiedlichen Timings was 1
bzw. 0 Bit bedeutet. Senden und dekodieren wird vom Atmel MCU durchgefuehrt,
damit kann man theoretisch beliebige Protokolle integrieren, wenn die mit
diese Datenrate senden.
- FastRF ist 868.3 MHz, 250kHz Datenrate, GFSK Kodierung, empfangene Pakete
werden "nur" ausgegeben. Die Uebertragung wird vom CC1101 durchgefuehrt, samt
Sync-Bits und Checksum.
- RFR sendet im Normalmodus 5 bits (RFR-Ping), dann wird auf FastRF geschaltet,
Daten gesendet, und dann wieder auf Normalmodus zurueckgeschaltet. Empfangene
"Befehle" werden ausgefuehrt.
> - Umschaltung am RFR mit "fx" gefolgt von X21
> --> jetzt werden am RFR nur noch Sonderzeichen angezeigt:
> z.B.
> 201C9Z???0M??????u0201C9Z???0000MZ???u0201MZ???u020M??????9100000u
Das ist definitiv Muell. Wobei u... nur auf dem FastRF Kanal uebertragen wird,
die Zurueckschaltung auf Normalmodus (X21) ist also nicht erfolgt.
RFR-Paketformat: uTTSSXXXXX
- u: RFR Kenner
- TT: TARGET-Id: Sendung sollte nur dieser Adressat auswerten.
- SS: Source-Id
- XXXXX: beliebiges culfw Kommando. Ein Spezielles Kommando 'U' ist dabei echo.
Wenn also das RFR mit der id 02 die FS20 Nachricht F12340100 der Basis 01
melden will, dann muesste man mit einem Snoop-CUL im FastRF Modus (fr)
folgendes sehen:
u0102UF12340100
Der Basis wurde dann
0102UF12340100
ausgeben, was normalerweise beim fhem landet, der es an dem 02 erkennen wuerde,
von welchem RFR die Nachricht stammt.
Ich vermute es hat was damit zu tun, dass google die bei allen Gruppen das
Welcome-Message und die Datei-Ablage zumachenwill. Ab Februar werden auch die
alten Dateien aus unsere Gruppenablage verschwinden. Google empfiehlt
google docs, ich kann aber dazu nichts sagen, da ich es selber nie getestet
habe.
Wie gesagt (bin nicht sicher ob Du es befolgst :)
- Normalmodus nach dem booten
X21
- FastRF (snooping)
fr
- Aus FastRF wieder ins Normal
fx
X21
> Ich frage mich nur, habe nur ich die Probleme mit CULv3 und RFR-Modus?
> Funktioniert das bei allen anderen einwandfrei - oder nutzt das nur
> keiner?
Ich weiss nicht ob andere Probleme haben, z.Zt bist Du der einzige der sich
meldet. Ich habe ausfuehrliche Tests mit allen Moeglichen CUL Versionen von
V1.1 bis V3.2c gemacht, und alle funktionierten einwandfrei bis auf die Version
3.1. Und meine Vermutung bei der V3.1 ist, dass irgendwas mit dem Hochfrequenz
kaputt ist. Hab uebrigens heute Nachmittag mit einem V3.2 gespielt (wg.
FHEM2FHEM), und der hat einwandfrei RFR empfangen, sogar mit der aufgeloeteten
Stabantenne.
> Welches Debugging kann man einschalten um dem Problem n�her zu kommen?
>
> >X21 Laedt Register fuer SlowRF,
> Frage: gilt das auch f�r alle anderen X<RR> Befehle: (darf ich die
> alle nicht nach einem fr Kommando nutzen? wenn ja, dann sollte die
> Doku angepa�t werden)
?? fr muss man halt mit fx beenden, und dann X.. beliebig setzen. Siehe auch
die fastrf_on Variable im fastrf_func() in culfw/clib/fastrf.c bzw. in
culfw/clib/rf_receive.c
Und nein, ich will das nicht umbauen, das ist ein Firmware und muss nicht
Benutzerfreundlich sein...
Wie im commandref.html beschrieben. Es ist dabei zu beachten, dass als RFR
Client konfigurierte CULs der Version 2.x oder kleiner wg. Speichermangel RFR
Befehle nicht auf dem USB Port ausgeben, man kann also bei solchen CUL's nicht
mit screen/hyperterminal zuschauen (Feature RFR_SHADOW).
Falls diese Eigenschaft unerwuenscht ist, dann muss man in culfw/Devices/CUL/board.h
im CUL_V2 Abschnitt TTY_BUFSIZE von 48 auf 32 gesenkt werden, und dann kann
RFR_SHADOW auskommentiert werden.
Wg. dem kleineren Speicher koennen V2.x CULs im Standardkonfiguration RFR
Pakete der Groesse 48Byte verarbeiten, ab V3 bzw CUN sind das 64 Byte.
Beim aelteren culfw Versionen (vor 1.37) waren das noch 32Byte
Ich gehe davon aus...
> Was kann ich sonst noch tun?
Ich hatte bei 62kHz RFR Datenrate keine Probleme mit der Version V3.1
->
Bei beiden die FastRF Datenrate von 250kHz auf 62kHz drehen indem man in
culfw/cc1100.c die Zeile "0x2D, // 10 MDMCFG4 (x)" durch "0x2B," austauscht,
culfw uebersetzt und neu brennt. Das muesste auch ohne flashen mit dem culfw
Befehl W472B klappen, getestet habe ich das aber nicht. R47 sollte vorher auf
jedenfall 2D zurueckliefern. Das "W472B" wird nach einem reset (e) bzw. flashen
mit einer anderen(!) culfw Version zurueckgesetzt.
Kannst Du bitte folgendes testen (mit 62kHz):
- beide CULs in fastrf mode setzen mit "fr".
- die beiden sollten nicht direkt nebeneinander liegen (ca 2-10m Abstand).
- mit dem einen eine Nachricht ans andere schicken mit "fsTestDaten"
- auf der anderen Seite sollte TestDaten erscheinen
Mal als Rückmeldung zu den RFR-Problemen:
On 2010-11-12 06:04:36 -0800, Willi wrote:
> Ah, das ist ja interessant. Nachdem ich jetzt auch eine V2 und eine
> V3.2 als RFR (übrigens auch die V3.2 auch als Basis) im Einsatz hatte,
> hat dies zwar in den ersten Tagen funktioniert, hat dann aber nach
> einigen Tagen Probleme bereitet.
On 12 Nov., 14:17, Michael Bussmann <goo...@mb-net.net> wrote:
> meist immer. Ich tausche nun mal die CUL aus (V2 Basis, V3.2 RFR),
> vielleicht passiert nun etwas anderes...
Seit einem Monat funktioniert dieses Setup (V2 Basis, V3.2 RFR) zumindest
hier wesentlich stabiler, als mit dem V2 als RFR. Schwierigkeiten gibt es
mit der Kommunikation mit den FHT, die über den RFR geroutet werden (wenn
viele Nachrichten geschickt werden) - das war aber auch im alten Setup der
Fall.
Aber diese Aussetzer, die nur per Reset zu beheben waren, sind bislang nicht
mehr aufgetreten.
Der nächste Schritt ist, den (noch) RFR CUL direkt an einem WLAN-AP mit
socat als eine Art "CUWLAN" zu betreiben. Dann wäre der Faktor "RFR"
testweise eliminiert.
MfG
MB
--
Michael Bussmann <b...@mb-net.net>
But I can see you -- Your brown skin shinin' in the sun; You got your hair
combed back and your sunglasses on, baby. And I can tell you my love for
you will still be strong; After the boys of summer have gone.
-- Don Henley, 'The Boys Of Summer', 1985
[ Die zweite Rückmeldung ]
On 2010-12-13 20:31:56 +0100, Michael Bussmann wrote:
> Der nächste Schritt ist, den (noch) RFR CUL direkt an einem WLAN-AP mit
> socat als eine Art "CUWLAN" zu betreiben. Dann wäre der Faktor "RFR"
> testweise eliminiert.
Weihnachtszeit ist Bastelzeit... Zwar habe ich noch keine
Langzeitergebnisse, aber zu einer ersten Einscätzung reicht es wohl:
Der (Ex-RFR) CUL ist jetzt an einem WLAN-Router im Client-Mode angeschlossen
und arbeitet nun als emulierter CUN per
| while (true)
| > do
| > nc -l -p 10000 < /dev/ttyACM0 >/dev/ttyACM0
| > done
Obwohl der WLAN-Link auch recht grenzwertig ist und man die Latenz deutlich
spürt, scheint dieses Setup weitaus zuverlässiger zu sein (ohne jetzt den
Umstand einzuberechnen, daß nun WLAN AP und WLAN Client weitere
Risikofaktoren sind). Refreshvalues von den FHTs, die über den
(remote/Ex-RFR) CUL erreicht werden, rutschen nun in max. 2 Durchläufen
durch, was früher 1 Tag gedauert hat (obwohl ein FHR gerade mal 4m vom CUL
entfernt ist). Einige Nachrichten kommen nun zwar doppelt an, was aber
verschmerzbar ist. Das ist wohl ein Ansporn für mich, doch ein paar
Netzwerkkabel ins Obergeschoss zu legen...
Um mal Ursachenforschung zu betreiben: Kann es sein, daß die Umschaltzeit
vom "normal" in den 250kHz-Mode einfach zu lange ist, so daß weitere
Nachrichten vom FHT in der Zeit einfach versumpfen? Dies könnte vielleicht
auch erklären, warum es mit dem CULv3 als RFR etwas besser funktioniert:
Dadurch, daß er einen größeren Puffer nutzt, kann er länger das
FHT-Handshaking betreiben, eh weitere Nachhrichten an den Basis-CUL
geschickt werden. Bei FS20 und WS300-Meldungen wird das eher unkritisch
sein. Ist jetzt aber nur eine aus der Hüfte geschossene Theorie.
Schöne Grüße und noch einen schönen 2. Feiertag,
MB
--
Michael Bussmann <b...@mb-net.net>
And I think I'm gonna write it on the walls of the world, so everyone will
know today the love I hold for you. I will write it on the walls of the
world, so that the sun won't fade away the words I say to you, I love you.
-- Mike Batt, 'The Walls Of The World', 1977
Eine Frequenzumschaltung dauert weniger als 3 ms, das habe ich beim RFR
Implementierung getestet. Eigentlich dauert es laut Handbuch mit Kalibrierung
ca 1ms, aber zuverlaessiger Empfang ist erst nach 3ms moeglich.
RFR sendet erst dann die empfangenen Pakete weiter, wenn es in der Umgebung
"leise" ist, d.h. fuer ca 48ms (2*3/125sec) nichts empfangen wurde. Grund:
FS20 sendet 3-mal (60ms-Funk gefolgt von 10ms-Pause), und das RFR soll
abwarten, bis alle Pakete "durch" sind.
Das ist nicht optimal fuer FHT, da es hier nicht unbegruendet wiederholt wird.
Bei refreshvalues ist der Funkraum alle 100-200ms fuer ca 60ms zu (gerade
geprueft), und das solange, bis alle 40+ Werte einzeln uebermittelt wurden.
40*0.2*2 = 16Sek in optimalfall, d.h. wenn alle Nachrichten/Acks auf Anhieb
empfangen wurden.
Das RFR hat also wahrscheinlich alle Daten bekommen und bestaetigt, konnte aber
nur das an dem Basis-CUL weiterschicken was in dem 48/64 Byte RFR-Puffer
reinpasst (4/5 Nachrichten), und das mit gut 20 Sekunden Verspaetung.
Man koennte fuer nicht FS20 Nachrichten den timeout anders waehlen, aber:
Gibt es fuer refreshvalues einen Grund?
On 2010-12-27 11:27:54 +0100, Rudolf Koenig wrote:
> Eine Frequenzumschaltung dauert weniger als 3 ms, das habe ich beim RFR
Ok, soviel zur schnellen Theorie :-)
> Gibt es fuer refreshvalues einen Grund?
Es dient mit hauptsächlich als Härtetest für den RFR, um das Problem mit
den verlorenen Datagrammen zu reproduzieren. Als etwas milderes Mittel
geht z.B. auch ein "get cul ccconf", was immerhin 6 Abfragen stellt. Auch
hier gab es im Setup Basis=V3, RFR=V2 mehr, bei Basis=V2, RFR=V3 etwas
seltener, im jetzigen USB+WLAN-Basis-Betrieb noch gar keine Probleme.
MfG