Re: [ethersex-devel] RFM12_ASK Modul für W0369DGP Codierchip

2013-10-11 Diskussionsfäden pewel
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​.​ ​D​a​s​ ​B​i​s​c​h​e​n​ ​T​e​x​t​ 
​ü​b​e​r​s​e​t​z​t​ ​g​o​o​g​l​e​ ​d​a​n​n​ ​e​n​t​s​p​r​e​c​h​e​n​d​.​




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

2013-10-07 Diskussionsfäden pewel
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​.​ ​D​a​s​ ​B​i​s​c​h​e​n​ ​T​e​x​t​ 
​ü​b​e​r​s​e​t​z​t​ ​g​o​o​g​l​e​ ​d​a​n​n​ ​e​n​t​s​p​r​e​c​h​e​n​d​.​


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

2013-10-05 Diskussionsfäden eku
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