Re: [ethersex-devel] RFM12_ASK Modul für W0369DGP Codierchip
Hi, nach viel rumprobieren hab ich’s geschafft. Das Problem war wie bereits gedacht nicht das Timing, sondern die Codierung des W0369DGP Chips. Da hätte ein Paar Chinesisch Kenntnisse wohl doch nicht geschadet beim Studieren des Datenblattes. 😊 Anders als bei dem 2272 Chip, wo alle 12 Codierbits den Zustand 00 (für 0-Bit), 11 (für 1-Bit) und 01 (für float-Bit) haben können, sind bei dem W0369DGP Chip nur die ersten 8 Adress-Bits tristate. Alle anderen können nur den Zustand 00 oder 11 haben. Ansonsten ist die Codierung identisch. Damit im Hinterkopf kann man also die Deckenleuchten mit dem W0369DGP Chip auch mit dem 2272_ask Modul und dem richtigen Codewort schalten. Vielen Dank für die Antworten und das mitlesen. Gruß, Pewel Von: pe...@t-online.de Gesendet: Montag, 7. Oktober 2013 20:00 An: e...@users.sourceforge.net Cc: ethersex-devel@list.zerties.org Hi Erik, vielen Dank für den Support! Nach deinen Erläuterungen ist mir nun so einiges klarer geworden. Es hilft mir als Beginner jedenfalls den Code “etwas” besser zu verstehen. 😊 Das Datenblatt ist zwar chinesisch, jedoch steht der wichtige Teil in den Tabellen bzw. wird durch die Grafiken klar. Das Bischen Text übersetzt google dann entsprechend. Es scheint jedoch so, dass das Timing hier gar nicht mein Problem ist. Wenn ich davon ausgehe, dass das Array bei dem ask_2272_pulse_duty_factor das Verhältnis zwischen “on” und “off” wiederspiegelt, welches wir bei angenommenen 10kHz Oszillatorfrequenz des Decodierchips hätten, dass müsste ich, um das Verhältnis bei 15kHz nicht mit 1,5 multiplizieren, sondern mit 0,66 multiplizieren bzw. durch 1,5 dividieren. Das ergibt dann näherungsweise das Array, welches ich bei dem ask_1527_pulse_duty_factor habe. Dass es mit der Oszillatorfrequenz nicht so genau genommen wird, zeigt auch der Test an einer 2272 Funksteckdose mit dem rfm12 1527 command. Diese laasen sich auch damit schalten, obwohl dort ein anderer Duty factor hinterlegt ist. Auch der Gegentest funktioniert: Ich kann mit der Fernbedienung für die Leuchte (mit W0369DGP chip mit 15kHz) die Funksteckdose (mit 2262 chip mit 10kHz) schalten, was wiederum der Beweis ist, dass beide Chips (W0369DGP und 2272) gleich kodieren. Bloß aus irgendeinem Grund lässt sich die Leuchte nicht mit dem rfm12 schalten??? Danke und Gruß, Pewel Von: e...@users.sourceforge.net Gesendet: Montag, 7. Oktober 2013 07:58 An: pe...@t-online.de Hallo Pewel, > Das Datenblatt zu dem W0369DGP Codierchip habe ich angehängt. oops, das ist ja in Mandarin. > Ich würde schon ein weiteres Array anlegen, für den W0369DGP > Chip, jedoch weiß ich nicht mit welchem Inhalt ich dieses > füllen sollte. rfm12_ask_2272_1527_send konvteriert zunächst die zu sendenden Information bitweise mit Hilfe des ask_2272_pulse_duty_factor. Bit == 0 => 7 on, 11 off Bit == 1 => 13 on, 5 off Siehe http://old.ethersex.de/index.php/HowToRFM12_ASK#Codierung Wie man sieht, enthält ask_2272_pulse_duty_factor nicht exakt die doppelten Werte wie in obigem Artikel beschrieben. Die Werte wurden durch Probieren ermittelt, da die Laufzeiten des Programms in der Berechnung zu berücksichtigen sind. > Ich habe keine Ahnung in welchem Zusammenhang diese Zahlen > mit der Oszillator Frequenz von 10kHz stehen und welche > Zahlen man dort reinschreiben müsste um eine Oszillatorf- > requenz von 15kHz für den W0369DGP abzubilden. ASK bedeutet, dass der Träger ein- und ausgeschaltet aber nicht moduliert wird. Durch das Verhältnis von Ein und Aus werden die Bits kodiert. Ich würde an Deiner Stelle im ersten Schritt den Code für den 2272 nutzen und nur das Array ask_2272_pulse_duty_factor solange modifizieren, bis es funktioniert und erst dann den Code separieren. Erster Anhaltspunkt: Werte * 1,5___ Ethersex-devel mailing list Ethersex-devel@list.zerties.org https://list.zerties.org/cgi-bin/mailman/listinfo/ethersex-devel
Re: [ethersex-devel] RFM12_ASK Modul für W0369DGP Codierchip
Hi Erik, vielen Dank für den Support! Nach deinen Erläuterungen ist mir nun so einiges klarer geworden. Es hilft mir als Beginner jedenfalls den Code “etwas” besser zu verstehen. 😊 Das Datenblatt ist zwar chinesisch, jedoch steht der wichtige Teil in den Tabellen bzw. wird durch die Grafiken klar. Das Bischen Text übersetzt google dann entsprechend. Es scheint jedoch so, dass das Timing hier gar nicht mein Problem ist. Wenn ich davon ausgehe, dass das Array bei dem ask_2272_pulse_duty_factor das Verhältnis zwischen “on” und “off” wiederspiegelt, welches wir bei angenommenen 10kHz Oszillatorfrequenz des Decodierchips hätten, dass müsste ich, um das Verhältnis bei 15kHz nicht mit 1,5 multiplizieren, sondern mit 0,66 multiplizieren bzw. durch 1,5 dividieren. Das ergibt dann näherungsweise das Array, welches ich bei dem ask_1527_pulse_duty_factor habe. Dass es mit der Oszillatorfrequenz nicht so genau genommen wird, zeigt auch der Test an einer 2272 Funksteckdose mit dem rfm12 1527 command. Diese laasen sich auch damit schalten, obwohl dort ein anderer Duty factor hinterlegt ist. Auch der Gegentest funktioniert: Ich kann mit der Fernbedienung für die Leuchte (mit W0369DGP chip mit 15kHz) die Funksteckdose (mit 2262 chip mit 10kHz) schalten, was wiederum der Beweis ist, dass beide Chips (W0369DGP und 2272) gleich kodieren. Bloß aus irgendeinem Grund lässt sich die Leuchte nicht mit dem rfm12 schalten??? Danke und Gruß, Pewel Von: e...@users.sourceforge.net Gesendet: Montag, 7. Oktober 2013 07:58 An: pe...@t-online.de Hallo Pewel, > Das Datenblatt zu dem W0369DGP Codierchip habe ich angehängt. oops, das ist ja in Mandarin. > Ich würde schon ein weiteres Array anlegen, für den W0369DGP > Chip, jedoch weiß ich nicht mit welchem Inhalt ich dieses > füllen sollte. rfm12_ask_2272_1527_send konvteriert zunächst die zu sendenden Information bitweise mit Hilfe des ask_2272_pulse_duty_factor. Bit == 0 => 7 on, 11 off Bit == 1 => 13 on, 5 off Siehe http://old.ethersex.de/index.php/HowToRFM12_ASK#Codierung Wie man sieht, enthält ask_2272_pulse_duty_factor nicht exakt die doppelten Werte wie in obigem Artikel beschrieben. Die Werte wurden durch Probieren ermittelt, da die Laufzeiten des Programms in der Berechnung zu berücksichtigen sind. > Ich habe keine Ahnung in welchem Zusammenhang diese Zahlen > mit der Oszillator Frequenz von 10kHz stehen und welche > Zahlen man dort reinschreiben müsste um eine Oszillatorf- > requenz von 15kHz für den W0369DGP abzubilden. ASK bedeutet, dass der Träger ein- und ausgeschaltet aber nicht moduliert wird. Durch das Verhältnis von Ein und Aus werden die Bits kodiert. Ich würde an Deiner Stelle im ersten Schritt den Code für den 2272 nutzen und nur das Array ask_2272_pulse_duty_factor solange modifizieren, bis es funktioniert und erst dann den Code separieren. Erster Anhaltspunkt: Werte * 1,5___ Ethersex-devel mailing list Ethersex-devel@list.zerties.org https://list.zerties.org/cgi-bin/mailman/listinfo/ethersex-devel
Re: [ethersex-devel] RFM12_ASK Modul für W0369DGP Codierchip
Hallo Pawel, > Diese Leuchten arbeiten ebenfalls mit 433,92MHz jedoch haben diese nicht > den 2262 Codierchip, sondern einen Codierchip mit der Bezeichnung W0369DGP. > Im Internet habe ich das Datenblatt zu dem Chip gefunden und daraus geht > hervor, dass dieser Chip genauso codiert und die selben DatenFrames schickt > wie der 2262. Woher kann man das Datenblatt herunterladen? Link? > Nutze ich allerdings das 2272 RFM12_ASK Modul lässt sich die Leuchte nicht > schalten. Ein weiterer genauer Blick in das Datenblatt des Chips zeigt den > einzigen Unterschied auf, es ist die Oszillator Frequenz des Codierchips. > Der 2262 arbeitet mit 10kHz der W0369DGP arbeitet mit 15kHz. > Das 2272 RFM12_ASK Modul in Ethersex hat vermutlich eine feste Zeitkostante > für eine gesendete “1” bzw. gesendete “0” (wie lange in µs) bzw. die > Frequenz von 10kHz des 2262 Codierchips ist vermutlich fest im Code > imlementiert. Kann ich diese Zeitkonstante irgendwie anpassen, damit diese > 15kHz Zykluslänge des W0369DGP Codierchips entspricht? Schau Dir bitte die Datei hardware/radio/rfm12/rfm12_ask.c an. Das Array ask_2272_pulse_duty_factor ist für die Zeitkonstanten und rfm12_ask_2272_1527_send fürs Senden zuständig. Auch gibt es da ein ask_1527_pulse_duty_factor für 1527er Chips. Eventuell reicht es ja, ein weiteres Array pulse_duty_factor für den W0369DGP hinzuzufügen und das ECMD-Interface zu erweitern. Leg Dir einen Fork an, mach die Änderungen in einem Branch und stell bitte einen Pull-Request wenn es läuft. ___ Ethersex-devel mailing list Ethersex-devel@list.zerties.org https://list.zerties.org/cgi-bin/mailman/listinfo/ethersex-devel