SIGNALDuino Empfänger Firmware V 3.3.2r-dev

Begonnen von Ralf9, 07 Januar 2018, 21:37:44

Vorheriges Thema - Nächstes Thema

Ralf9

ZitatM.E. macht das Fifo hauptsächlich Sinn wenn Du das Sync Pattern nutzen kannst, da dann die Bytes schon korrekt synchronisiert sind.
Kann demnach der Fifo nur genutzt werden, wenn die Preamble and sync word detection aktiv ist


Sync Mode bedeutet dann, daß z.B. GDO2 der Takt ist und auf GDO0 die Datenbits sind. Dann müsste bei jeder fallender Flanke von GDO2 ein Interrupt ausgelöst und das Datenbit auf GDO0 in einen Fifo gespeichert werden.
Die Frage ist ob dies mit sehr kurzen Taktpulsen wie z.B. denen von HomeAuto_User geschwindigskeitsmässig noch mit einem Nano funktioniert.
Wenn ich dies richtig sehe wird da dann alle 100us ein Interrupt ausgelöst.

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

RaspII

#376
Nachtrag:
Das Fifo kann auch ohne Sync genutzt werden.

Ja, stimmt, Mammuts dieUnterrupts dann Laufzeioptimieren.
Ich hab glaube ich auch einen Denkfehler gemacht.
Der Signalduino schickt die Daten ja auch Byteweise weiter, dann kann man die Daten auch gleich Byteweise holen.
Ich bin von der CUL Implementierung ausgegangen, dort wird die Botschaft gleich interpretiert
RaspII

RaspII

Aber nochmal zum Fehler: es muss einen Unterschied zwischen der Alten und neuen Firmwarevariante geben
RaspII

Ralf9

Durch die erhöhung der max Pattern Anzahl wurden nach den 7 x 0 (P5=-1400) noch 2 zusätzliche 6 x 0 mit einem Pattern von ca -1200 angehängt

MU;P0=-18956;P1=260;P2=-154;P4=-367;P5=-1253;P6=1724;P7=940;P8=-572;P9=1312;PA=468;PB=-784;CP=1;R=246;D=
ohne die Erhöhung sah es so aus
...156214127812129274

mit der Erhöhung sah es so aus
...156214127812129274A5751B121;


die erste 5 war ursprünglich (P5=-1400),
da das zweite 5 (6 x 0) ein Pattern von ca -1200 hat liegt es in der Toleranz von der ersten 5 (-1400),
es wird nun von beiden ein Mittelwert gebildet (1200+1400)/2 =  1300, P5 ist dann -1300,
und da die dritte 5 mit ca -1200 auch in der Toleranz ist, wird wieder ein Mittelwert gebildet und P5 ist jetzt -1250
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

HomeAuto_User

Hallo Ralf, ich schaute mal etwas und versuchte Infos zu sammeln.

Zitat von: Ralf9 am 20 Dezember 2019, 17:48:39
Die Frage ist ob dies mit sehr kurzen Taktpulsen wie z.B. denen von HomeAuto_User geschwindigskeitsmässig noch mit einem Nano funktioniert.
Wenn ich dies richtig sehe wird da dann alle 100us ein Interrupt ausgelöst.

Gruß Ralf

Ich denke, das sollte klappen weil es werden Jeelinks vertrieben mit Cc1101 und einem Nano. Dem würde ich entnehmen, das wir vielleicht nur die falschen Einstellungen haben oder noch etwas vielleicht übersehen. Ich möchte mal schauen, ob wir über die dortige FW mehr Erkenntnisse sammeln können.

Lg


Gesendet von iPhone mit Tapatalk Pro
"Developer" heißt nicht, das man alles wissen kann!
- FHEM v5.9 | Rasberry PI 3
- radino CC1101 433Mhz (SIGNALduino)| - radino CC1101 868Mhz (CUL) | nano 433Mhz (SIGNALduino) - Sensoren: purer Dschungel querbeet

Ralf9

Wenn der TX35TH-IT eine Datenrate von 9.579 kbps hat und die Bitlänge von ca 100us,
hat dann ein Sensor mit einer Datenrate von 17.241 kbps wie z.B. TX25-IT eine Bitlänge von ca 55us? 
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

RaspII

Zitat von: Ralf9 am 20 Dezember 2019, 19:38:02

die erste 5 war ursprünglich (P5=-1400),
da das zweite 5 (6 x 0) ein Pattern von ca -1200 hat liegt es in der Toleranz von der ersten 5 (-1400),
es wird nun von beiden ein Mittelwert gebildet (1200+1400)/2 =  1300, P5 ist dann -1300,
und da die dritte 5 mit ca -1200 auch in der Toleranz ist, wird wieder ein Mittelwert gebildet und P5 ist jetzt -1250

Hab ich jetzt noch nicht verstanden.
Kannst Du mir den Code senden der diese Mittelwetbildung macht?
Irgendwie hört sich das alles noch nicht logisch für mich an
RaspII

Ralf9

FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

HomeAuto_User

#383
Hallo,

Zitat von: Ralf9 am 20 Dezember 2019, 22:02:46
Wenn der TX35TH-IT eine Datenrate von 9.579 kbps hat und die Bitlänge von ca 100us,
hat dann ein Sensor mit einer Datenrate von 17.241 kbps wie z.B. TX25-IT eine Bitlänge von ca 55us?

ich habe mal geschaut und folgendes bisher gefunden.

Hier sind Informationen zu dem TX35DTH und TX29-IT.
Laut hier, hat der
- TX35-IT eine Datenrate von 9,579 kbit/s mit einer Pulslänge von 105
- TX29-IT mit der Daterate von 17,241 kbit/s mit einer Pulslänge von 55
- TX25-IT mit der Daterate von 17,241 kbit/s

Da viele Sensortypen auch die gleiche Datenrate verwenden, so vermute ich mal, das diese den selben Puls haben können. Leider habe ich bisher zu den anderen Bezeichnungen noch keine Referenzen gefunden.

Edit:
Hier sind mal noch ein paar RAWMSG wo die Pattern > 7 sind nachdem ich mal das Register ein wenig versuchte anzupassen.

2019.12.21 02:25:36 4: nano_868Mhz: Read, msg: MU;P0=140;P1=-102;P2=100;P3=-320;P4=212;P5=316;P6=-210;P7=-468;P9=420;CP=2;R=203;D=012121212121212121212123214151212626562726272641212121912;e;
2019.12.21 02:25:46 4: nano_868Mhz: Read, msg: MU;P0=96;P1=-103;P2=132;P3=-312;P4=210;P5=312;P6=-211;P7=-468;P8=420;P9=-142;CP=0;R=203;D=01210101010101010101010103014151010606560706070641010101812909;e;
2019.12.21 02:25:56 4: nano_868Mhz: Read, msg: MU;P0=-103;P1=164;P2=105;P3=-312;P4=212;P5=316;P6=-209;P7=-468;P9=420;CP=2;R=203;D=0102020202020202020202023204050202626562726272640202020902;e;
2019.12.21 02:26:06 4: nano_868Mhz: Read, msg: MU;P0=102;P1=-105;P3=-312;P4=210;P5=316;P6=-207;P7=-468;P9=420;PA=136;CP=0;R=203;D=01010101010101010101010301415101060656070607064101010191A1;e;
2019.12.21 02:26:16 4: nano_868Mhz: Read, msg: MU;P0=-105;P1=154;P2=103;P3=-312;P4=210;P5=316;P6=-209;P7=-470;P8=420;CP=2;R=203;D=0102020202020202020202023204050202626562726272640202020801;e;
2019.12.21 02:26:26 4: nano_868Mhz: Read, msg: MU;P0=-103;P1=102;P2=-312;P3=210;P4=316;P5=-208;P6=-468;P8=416;P9=132;CP=1;R=203;D=0101010101010101010101012103040101515451615161530101010809;e;
2019.12.21 02:26:36 4: nano_868Mhz: Read, msg: MU;P0=103;P1=-207;P2=154;P3=-101;P5=-312;P6=208;P7=316;P9=-468;PA=416;CP=0;R=203;D=0123030303030303030303030305036373030101710901090163030303A32;e;
2019.12.21 02:26:46 4: nano_868Mhz: Read, msg: MU;P0=-96;P1=101;P2=-312;P3=206;P4=312;P5=-210;P6=-466;P7=416;P8=-128;CP=1;R=203;D=0101010101010101010101012103040101515451615161530101010701830;e;
2019.12.21 02:26:56 4: nano_868Mhz: Read, msg: MU;P0=104;P1=-100;P2=-312;P3=198;P4=312;P5=-210;P6=-470;P7=420;CP=0;R=203;D=01010101010101010101010201314101050545060506053101010171310;e;
2019.12.21 02:27:06 4: nano_868Mhz: Read, msg: MU;P0=144;P1=-100;P2=110;P3=-312;P4=212;P5=316;P6=-209;P7=-466;P8=420;CP=2;R=203;D=01212121212121212121212321415121262656272627264121212181212;e;
2019.12.21 02:27:16 4: nano_868Mhz: Read, msg: MU;P0=103;P1=-103;P2=-312;P3=212;P4=312;P5=-206;P6=-470;P7=420;CP=0;R=203;D=0101010101010101010101020131410105054506050605310101017101;e;
2019.12.21 02:27:26 4: nano_868Mhz: Read, msg: MU;P0=-103;P1=116;P2=-312;P3=210;P4=312;P5=-206;P6=-468;P7=420;CP=1;R=203;D=0101010101010101010101010121030401015154516151615301010107010;e;


Welche Variante nun von den RAMSG´s die plausibelste ist zu einem Ergebnis, das müssen wir noch herausfinden.

PS, Ralf, was ist der Kürzel
- e am Ende der RAWMSG ?
- i am Ende der RAWMSG ?
"Developer" heißt nicht, das man alles wissen kann!
- FHEM v5.9 | Rasberry PI 3
- radino CC1101 433Mhz (SIGNALduino)| - radino CC1101 868Mhz (CUL) | nano 433Mhz (SIGNALduino) - Sensoren: purer Dschungel querbeet

RaspII

Hallo Ralf
ich denke es ist einfacher wenn wir die Daten im Sync Mode lesen, danach kann man sehr leicht den Fifo Mode implementieren.

Mit welcher Entwicklungsumgebung arbeitest Du?
Sobald ich etwas Zeit habe könnte ich mich dann auch mal selbst ans Wer machen, evt gleich mit einer Variante auf Github?
RaspII

RaspII

@Ralf
Zitathier wird mit einer Toleranz von 0.2 gesucht ob es das Pattern schon gibt

Ich denke ich hab das jetzt verstanden.
Ab 5 identischen Bit ist die Toleranz > 1 Bit, so kann das nicht werden.

Könntest Du noch eine Variante mit .1 machen?
Mich würde interessieren ob die Theorie stimmt
RaspII

Ralf9

ZitatKönntest Du noch eine Variante mit .1 machen?
Macht es evtl Sinn gleich auf 0.08 runter zu gehen oder ist dies dann für kleine Pulse zu klein.
Bei 200 ist die Toleranz dann 16 und bei 100 nur 8

ZitatMit welcher Entwicklungsumgebung arbeitest Du?
Ich arbeite mit der Arduino IDE
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

RaspII

Ja, mache Sinn

Arduino IDE ist nicht mein Ding 😎
Ich mache mal die erste Schritte auf dem NanoCul und poste hier die Ergebnisse
RaspII

Ralf9

#388
hier ist die 3.3.2.2-rc10t mit Tol = 0.08

Da an der Firmware in der Anlage irgendwas nicht gepasst hat, habe ich sie gelöscht
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

RaspII

Hat leider gar nicht funktioniert, das Problem bleibt exakt identisch (keine Änderung sichtbar)

Eigentlich müsse man die Tol. auf 0.2xMinimale Bitzeit programmieren, dann bleibt die Toleranz für alle Klassen gleich.
Mininale Bitzeit = (Betrag(Minimale Lowzeit) + Minimale Highzeit)/2

Noch was:
Der Signalduino verliert jetzt nach jedem Powerfail seine Konfiguration, da ist irgendwie ein größeres Problem reingerutscht
RaspII