Diese Sektion erlaubt es ihnen alle Beiträge dieses Mitglieds zu sehen. Beachten sie, dass sie nur solche Beiträge sehen können, zu denen sie auch Zugriffsrechte haben.
20
Hallo Telekatz,
ich versuche gerade eine "LIRC" Config für die REV 008340 Fernbedienung mit HS2260A-R4 zu erstellen.
Leider reagiert die Steckdose nicht..
/*
RF codes for REV 008340 remote control HS2260A-R4
based on hx2262 by telekatz
2010-10-04 by eme
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
// Bit translation:
// HX2262 LIRC_RF
// 0 00
// F (floating) 01
// 1 11
// "channel" (A0-A3)
// A: 1FFF -> 11010101 -> 0xD5
// B: F1FF -> 01110101 -> 0x75
// C: FF1F -> 01011101 -> 0x5D
// D: FFF1 -> 01010111 -> 0x57
// "device" (A4-A7)
// 1: 1FF0 -> 11010100 -> 0xD4
// 2: F1F0 -> 01110100 -> 0x74
// 3: FFF1 -> 01010111 -> 0x57
// "action" (D3-D0)
// 1: 0010 (on/+) -> 00001100 -> 0x0C
// 0: 0001 (off/-) -> 00000011 -> 0x03
/*pre_data*/ 0xD5, // A0-A3
/*post_data*/ 0x00,
/*toggle_bit_mask*/ 0x00,
/*gap*/ 58280,
/*repeat_gap*/ 58280, // gap after min_repeats
/*bits*/ 16, // data bits
/*pre_data_bits*/ 8,
/*post_data_bits*/ 0,
/*rc6_bit*/ 0,
/*frequency*/ 0x00101234, // 433,919861MHz
/*flags*/ LIRC_RF,
/*header*/ 0,0,
/*three*/ 0,0,
/*two*/ 0,0,
/*one*/ 1410,470,
/*zero*/ 470,1410,
/*plead*/ 0,
/*ptrail*/ 470, // sync pulse
/*foot*/ 0,0,
/*pre*/ 0,0,
/*post*/ 0,0,
/*repeat*/ 0,0,
/*min_repeat*/ 10,
/*duty cycle*/ 0,
{
0x0000, // A ->
0x0000, // B ->
0x0000, // C ->
0x0000, // D ->
0x0000, // Betty ->
0x0000, // Exit ->
0x0000, // Up ->
0x0000, // Down ->
0x0000, // Left ->
0x0000, // Right ->
0x0000, // OK ->
0x0000, // Vol+ ->
0x0000, // Vol- ->
0x0000, // Mute ->
0x0000, // Prog+ ->
0x0000, // Prog- ->
0xD40C, // 1 -> 1 on
0xD403, // 2 -> 1 off
0x0000, // 3 ->
0x740C, // 4 -> dim2 +
0x7403, // 5 -> dim2 -
0x0000, // 6 ->
0x570C, // 7 -> dim3 +
0x5703, // 8 -> dim3 -
0x0000, // 9 ->
0x0000, // 0 ->
0x0000, // -/-- ->
0x0000, // AV ->
0x0000, // Menu ->
0x0000, // PiP ->
0x0000, // A/B ->
0x0000, // 16:9 ->
0x0000, // Info ->
0x0000, // VTX1 ->
0x0000, // VTX2 ->
0x0000, // VTX3 ->
0x0000, // Blue ->
0x0000, // Yello ->
0x0000, // Green ->
0x0000, // Red ->
0x0000, // TV ->
0x0000 // Power ->
},
Ein Puls hat beim Original 470 µs. Es werden 12 Bits plus Synch am Ende gesendet.
Leider hat die Steckdose anscheinend keinen Ausgang für das demodulierte Signal und auch sonst fällt mir nicht ein, wie ich das Gesendete prüfen kann. Vielleicht fällt dir ja so schon auf, wo das Problem liegen könnte. Danke.
24
Das ist gar kein neues Problem, dasselbe hatte ich schonmal vor Längerem:
http://bettyhacks.com/forum/index.php?topic=54.msg833#msg833Nachdem in openBootLoader der Baudratenwechsel deaktiviert ist läuft es weiter bis "executing code at ram adress"
Ist so lange her.. jedenfalls geht das Ganze wohl mit 19200 baud los
Ok, noch besser, "setBaud(38400);" in openSerial und die Änderungen aus dem Wiki (lpctool_serial.h Zeile 5:
#define TOOLBAUD 115200
muss geändert werden in
#define TOOLBAUD 38400
serial.c Zeile 170:
serial_setbrg (115200);
muss geändert werden in
serial_setbrg (38400)
so komme ich bis "opening ram tool"
Man kann das Pfad-Problem (ARM unter cygwin) umgehen, indem man das Makefile so anpasst, dass unter Windows cmd ramtool etc gebaut werden, und in cygwin lpctool.. Nicht elegant :-)
Tortzdem komme ich nicht weiter, auf dem Stand war ich wohl schon.
reconfSerial in openRamTool auskommentiert..
und auch sonst ... geht. :-)
anbei, gepackt mit upx und gezippt
26
Hallo allerseits,
ich möchte nun doch noch einmal versuchen, lpctool unter Windows zum Laufen zu bekommen.
lpctool-cygwin bleibt bei mir leider an ganz neuer Stelle hängen:
[font=courier]lpctool-cygwin>lpctool.exe -d /dev/com3 -i -v -e -a boop_rom.bin
lpctool V0.9
This Software is free Software under GNU GPL 3 or later
(c) 2007 Ch. Klippel <
ck@mamalala.net>
Info : erasing flash #0 before write
Info : using flash #0 image boop_rom.bin
Info : opening serial device /dev/com3
Info : reset into bootmode
Info : opening bootloader
Info : initiating auto-baud
Info : awaiting autobaud response
Info : got response, answering
Info : setting frequency
Info : switching baudrate
Info : disabling echo[/font]
Das ist unter Windows 7 und mit einem Prolific USB-UART Wandler.
Cygwin habe ich per Default installiert - kann mir jemand sagen, welche Pakete ich brauche (gcc-??)?
27
Ich habe wegen deiner Fragen meine am Wochenende gewonnenen Erkenntnisse mal eingecheckt (Kommentare und serielle Ausgabe für RF_viewer). Das entspricht im Wesentlichen den Infos aus
http://bettyhacks.com/forum/index.php?topic=225.0 Da der HX2262 auf einer anderen Frequenz läuft muss ich wahrscheinlich erstmal die Parameter für den CC1100 anpassen, damit überhaupt was geht, oder? Die Frequenz soll laut Aufkleber auf dem Quarz 443,92 MHz sein. Wenn ich das geschafft habe, müsste ich dann im FS20 Dekoder etwas sehen können?
Nein, FS20 ist 868 MHz (das kann zwar der Funkchip, aber die Antenne ist nicht dafür beschaltet, deswegen schlechte Wirkung).
Die Einstellungen findest du in cc1100.c in zwei Arrays am Anfang. Im Datenblatt stehen die Bedeutungen der Bytes und Bits und auch Formeln zur Berechnung. Müsste derzeit 433,919861 MHz sein. Aber je nach Filtereinstellungen und Datenrate etc. : Du könntest im RF Viewer was sehen. Da musst du dann aber flink sein, weil jeweils nur ein paar Millisekunden dargestellt werden (oder Taste gedrückt halten und dann schnell loslassen, wenn Pulse aufkreuzen).
Im Wiki habe ich unter CC1100 (glaube ich) einen Link auf das TI-Tool gesetzt, dass diese Einstellungen per GUI berechnet (ist auch in dem Thread erwähnt).
Fall der FS20 Dekoder für meine Zwecke nichts bringt: Wie kann ich am besten eine Aufzeichnung der gesendeten Bits bekommen, hat jemand da schon was gemacht? Mein Ansatz wäre, ein kleines Programm ins Ram zu laden, das den Ausgang des CC1100 Pins in festen und kurzen Zeitabständen ins verbliebene Ram schreibt. Den Ram Inhalt würde ich dann per serielle Schnittstelle auslesen und z.b. mit gtkwave analysieren.
Siehe Link auf Thread weiter oben.
In testmenu.c in RF_viewer habe ich experimentellen Code eingefügt, der die Daten mit 230 kbaud ausgibt. Daten heisst in dem Fall: Puls oder nicht Puls, und das ganze bitweise, also 8 Abtastungen pro Byte. Mit HTerm lässt sich das binär anzeigen und als Textdatei speichern (dann mit '0' und '1').
Um das zu aktivieren musst du ein define de-kommentieren.
Ach so: die Interrupts habe ich nicht deaktiviert, das könnte noch dazwicshenfunken, auf die 50 Mikrosekunden Abtastperiode ist also kein Verlass..
Viel Erfolg!
PS: Im Wiki habe ich auch unter boop_features Links auf einige Seiten gesetzt, die sich mit Funksteckdosen beschäftigen. Dort ist das Protokoll mit Spannungsteiler und Soundkarte aufgezeichnet worden.
PPS: haben die Dinger nicht immer auch einen Kodierschalter?