Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
workshop:rf433ctl_workshop [2012-04-18 23:48]
homunkoloss
workshop:rf433ctl_workshop [2015-09-23 02:04]
xro
Line 1: Line 1:
-====== Workshop mit dem geilen Otti ====== +====== Workshop: Mikrocontrollerprogrammierung ​mit teensy ​====== 
-====== ​hidrc ====== +====== ​Vorbereitung ​====== 
-====== Einrichtung ====== +Es müssen folgende Pakete installiert werden: ​ 
-===== Kommandos lernen ===== +<code>~ % sudo apt-get install subversion gcc-avr avr-libc build-essential ​
-<html><​pre>​ +avrdude binutils-avr libusb-dev python-matplotlib</​code>​ 
-~ % sudo apt-get install subversion gcc-avr avr-libc build-essential avrdude binutils-avr libusb-dev python-matplotlib+ 
 +Weiters ist es ratsam einen eigenen Ordner für den Workshop anzulegen. 
 +<​code>​
 ~ % mkdir teensy_workshop ~ % mkdir teensy_workshop
 ~ % cd teensy_workshop ~ % cd teensy_workshop
-~/teensy_workshop % svn checkout https://​krypta.wirdorange.org/​svn/​hidrc/​trunk hidrc +</code>
-A    hidrc/​usb_keyboard_debug.c +
-A    hidrc/​hid_listen +
-A    hidrc/​hid_listen/​rawhid.c +
-A    hidrc/​hid_listen/​gpl3.txt +
-A    hidrc/​hid_listen/​hid_listen.c +
-A    hidrc/​hid_listen/​rawhid.h +
-A    hidrc/​hid_listen/​Makefile +
-A    hidrc/​print.h +
-A    hidrc/​teensy_loader_cli +
-A    hidrc/​teensy_loader_cli/​gpl3.txt +
-A    hidrc/​teensy_loader_cli/​Makefile.bsd +
-A    hidrc/​teensy_loader_cli/​teensy_loader_cli.c +
-A    hidrc/​teensy_loader_cli/​Makefile +
-A    hidrc/​usb_keyboard_debug.h +
-A    hidrc/​keymap_example.h +
-A    hidrc/​udev-rules +
-A    hidrc/​udev-rules/​49-teensy.rules +
-A    hidrc/​example.c +
-A    hidrc/​Makefile +
-A    hidrc/​print.c +
- ​U ​  ​hidrc +
-Ausgecheckt,​ Revision 16. +
-~/​teensy_workshop % cd hidrc +
-~/​teensy_workshop/​hidrc (svn)-[trunk:​16] % make+
  
--------- begin -------- +====== hidrc ====== 
-avr-gcc (GCC) 4.3.5 +Mit hidrc kann man einen Linux-PC mit NEC-Fernbedienungen fernsteuernAndere Protokolle wie RC5 oder RC6 werden derzeit ​nicht unterstützt.
-Copyright (C) 2008 Free Software Foundation, Inc. +
-Dies ist freie Software; die Kopierbedingungen stehen in den Quellen. Es +
-gibt KEINE Garantie; auch nicht für MARKTGÄNGIGKEIT oder FÜR SPEZIELLE ZWECKE.+
  
 +===== Benötigte Bauteile =====
 +  * Teensy
 +  * TSOP1838
  
-Compiling C: example.c +==== Pinbelegung ==== 
-avr-gcc -c -mmcu=atmega32u4 ​        -I. -gdwarf-2 -DF_CPU=16000000UL -Os -funsigned-char -funsigned-bitfields -ffunction-sections -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=./​example.lst ​ -std=gnu99 -MMD -MP -MF .dep/​example.o.d example.c -o example.o ​ +TSOP1838
-example.c:38:20: Fehler: keymap.h: Datei oder Verzeichnis nicht gefunden +D3Data 
-example.c: In Funktion »__vector_23«+Gesamter Port D ist als Input konfiguriert
-example.c:110: Fehler: »mapping« nicht deklariert (erste Benutzung in dieser Funktion) +PC7 = VCC 
-example.c:​110:​ Fehler: (Jeder nicht deklarierte Bezeichner wird nur einmal aufgeführt +PC6 = GND
-example.c:​110:​ Fehler: für jede Funktion in der er auftritt.) +
-make: *** [example.o] Fehler 1 +
-2 ~/​teensy_workshop/​hidrc (svn)-[trunk:​16] % cp keymap_example.h keymap.h +
-~/​teensy_workshop/​hidrc (svn)-[trunk:​16] % make+
  
--------- begin -------- +Ansicht von vorne (Runde empfänger Teil sichtbar) 
-avr-gcc (GCC) 4.3.5 +<​html><​pre>​ 
-Copyright (C) 2008 Free Software Foundation, Inc. +_________ 
-Dies ist freie Software; die Kopierbedingungen stehen in den Quellen. Es +|       | 
-gibt KEINE Garantie; auch nicht für MARKTGÄNGIGKEIT oder FÜR SPEZIELLE ZWECKE.+|   ​O ​  | 
 +|       | 
 +--------- 
 +|   ​| ​  | 
 +|   ​| ​  | 
 +D  Gnd Vcc 
 +</​pre></​html>​
  
 +==== Quellcode herunterladen ====
 +<​html><​pre>​
 +~/​teensy_workshop % svn checkout https://​krypta.wirdorange.org/​svn/​hidrc/​trunk hidrc
 +~/​teensy_workshop % cd hidrc
 +</​pre></​html>​
  
-Compiling C: example.c +==== hidrc kompilieren ​==== 
-avr-gcc -c -mmcu=atmega32u4 ​        -I. -gdwarf-2 -DF_CPU=16000000UL -Os -funsigned-char -funsigned-bitfields -ffunction-sections -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=./​example.lst ​ -std=gnu99 -MMD -MP -MF .dep/​example.o.d example.c -o example.o  +<​html><​pre>​ 
- +~/teensy_workshop/hidrc (svn)-[trunk:16] % cp keymap_example.h keymap.h 
-Compiling C: usb_keyboard_debug.c +~/​teensy_workshop/​hidrc (svn)-[trunk:16] % make
-avr-gcc -c -mmcu=atmega32u4 ​        -I. -gdwarf-2 -DF_CPU=16000000UL -Os -funsigned-char -funsigned-bitfields -ffunction-sections -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=./​usb_keyboard_debug.lst ​ -std=gnu99 -MMD -MP -MF .dep/​usb_keyboard_debug.o.d usb_keyboard_debug.c -o usb_keyboard_debug.o ​ +
- +
-Compiling C: print.c +
-avr-gcc -c -mmcu=atmega32u4 ​        -I. -gdwarf-2 -DF_CPU=16000000UL -Os -funsigned-char -funsigned-bitfields -ffunction-sections -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,​-adhlns=./print.lst ​ -std=gnu99 -MMD -MP -MF .dep/print.o.d print.c ​-o print.o  +
- +
-Linkingexample.elf +
-avr-gcc -mmcu=atmega32u4 ​        -I-gdwarf-2 -DF_CPU=16000000UL -Os -funsigned-char -funsigned-bitfields -ffunction-sections -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,​-adhlns=example.o ​ -std=gnu99 -MMD -MP -MF .dep/​example.elf.d example.o usb_keyboard_debug.o print.o --output example.elf -Wl,​-Map=example.map,​--cref -Wl,--relax -Wl,​--gc-sections ​    -lm +
- +
-Creating load file for Flash: example.hex +
-avr-objcopy -O ihex -R .eeprom -R .fuse -R .lock -R .signature example.elf example.hex +
- +
-Creating load file for EEPROM: example.eep +
-avr-objcopy -j .eeprom --set-section-flags=.eeprom="​alloc,​load"​ \ +
- --change-section-lma .eeprom=0 --no-change-warnings -O ihex example.elf example.eep || exit 0 +
- +
-Creating Extended Listing: example.lss +
-avr-objdump --S -z example.elf > example.lss +
- +
-Creating Symbol Table: example.sym +
-avr-nm -n example.elf > example.sym +
- +
-Size after: +
-   ​text  ​  ​data  ​   bss     dec     hex filename +
-   ​2600  ​    ​34  ​    ​26  ​  ​2660  ​   a64 example.elf +
- +
--------- end -------- +
 ~/​teensy_workshop/​hidrc (svn)-[trunk:​16] % cd teensy_loader_cli ~/​teensy_workshop/​hidrc (svn)-[trunk:​16] % cd teensy_loader_cli
-...eensy_workshop/​hidrc/​teensy_loader_cli (svn)-[trunk:​16] % make +~/​teensy_workshop/​hidrc/​teensy_loader_cli (svn)-[trunk:​16] % make 
-cc -O2 -Wall -s -DUSE_LIBUSB -o teensy_loader_cli teensy_loader_cli.c -lusb +~/​teensy_workshop/​hidrc/​teensy_loader_cli (svn)-[trunk:​16] % cd ../​hid_listen
-...eensy_workshop/​hidrc/​teensy_loader_cli (svn)-[trunk:​16] % cd .. +
-~/teensy_workshop/​hidrc (svn)-[trunk:​16] % cd hid_listen+
 ~/​teensy_workshop/​hidrc/​hid_listen (svn)-[trunk:​16] % make ~/​teensy_workshop/​hidrc/​hid_listen (svn)-[trunk:​16] % make
-gcc -O2 -Wall -DLINUX ​  -c -o hid_listen.o hid_listen.c +</​pre></​html>​ 
-gcc -O2 -Wall -DLINUX ​  -c -o rawhid.o rawhid.c + 
-rawhid.c:​53:​45:​ warning: assertions are a deprecated extension +==== udev-Regel kopieren ==== 
-gcc -o hid_listen hid_listen.o rawhid.o ​ +<​html><​pre>​
-strip hid_listen+
 ~/​teensy_workshop/​hidrc/​hid_listen (svn)-[trunk:​16] % cd .. ~/​teensy_workshop/​hidrc/​hid_listen (svn)-[trunk:​16] % cd ..
 ~/​teensy_workshop/​hidrc (svn)-[trunk:​16] % sudo cp udev-rules/​49-teensy.rules /​etc/​udev/​rules.d/​49-teensy.rules ~/​teensy_workshop/​hidrc (svn)-[trunk:​16] % sudo cp udev-rules/​49-teensy.rules /​etc/​udev/​rules.d/​49-teensy.rules
 ~/​teensy_workshop/​hidrc (svn)-[trunk:​16] % sudo /​etc/​init.d/​udev reload ~/​teensy_workshop/​hidrc (svn)-[trunk:​16] % sudo /​etc/​init.d/​udev reload
-Rather than invoking init scripts through ​/etc/init.d, use the service(8) +</pre></html>
-utility, e.g. service udev reload+
  
-Since the script you are attempting to invoke has been converted to an +==== Programm auf teensy brennen ==== 
-Upstart job, you may also use the reload(8) utility, e.g. reload udev+<​html><​pre>​
 ~/​teensy_workshop/​hidrc (svn)-[trunk:​16] % make program ~/​teensy_workshop/​hidrc (svn)-[trunk:​16] % make program
-./teensy_loader_cli/teensy_loader_cli -mmcu=atmega32u4 -w example.hex+</pre></html> 
 + 
 +==== Kommandos lernen ==== 
 +<​html><​pre>​
 ~/​teensy_workshop/​hidrc (svn)-[trunk:​16] % cd hid_listen ~/​teensy_workshop/​hidrc (svn)-[trunk:​16] % cd hid_listen
 ~/​teensy_workshop/​hidrc/​hid_listen (svn)-[trunk:​16] % ./​hid_listen ~/​teensy_workshop/​hidrc/​hid_listen (svn)-[trunk:​16] % ./​hid_listen
Line 122: Line 79:
 ^C ^C
 130 ~/​teensy_workshop/​hidrc/​hid_listen (svn)-[trunk:​16] % vim ../keymap.h 130 ~/​teensy_workshop/​hidrc/​hid_listen (svn)-[trunk:​16] % vim ../keymap.h
 +</​pre></​html>​
 +
 +=== Keycode eintragen ===
 +Den vorher ausgelesenen Wert (hier 722EEDD1) trägt man in die Datei /​hid_listen/​keymap.h ein.
  
-Keycode eintragen 
 722EEDD1 -> 0x72,​0x2E,​0xED,​0xD1 722EEDD1 -> 0x72,​0x2E,​0xED,​0xD1
  
 0x72,​0x2E,​0xED,​0xD1,//​Key//,​ //​Modifier//,​ 0x72,​0x2E,​0xED,​0xD1,//​Key//,​ //​Modifier//,​
 +
 z.B.: 0x72,​0x2E,​0xED,​0xD1,​ KEY_DELETE, KEY_ALT | KEY_CTRL, z.B.: 0x72,​0x2E,​0xED,​0xD1,​ KEY_DELETE, KEY_ALT | KEY_CTRL,
 +
 Gültige Werte für //Key// und //​Modifier//​ stehen in der Datei **usb_keyboard_debug.h** Gültige Werte für //Key// und //​Modifier//​ stehen in der Datei **usb_keyboard_debug.h**
  
-</​pre></​html>​ 
  
- 
-==== Pinbelegung ==== 
- 
-TSOP1838: 
-D3: Data 
-Gesamter Port D ist als Input konfiguriert. 
-PC7 = VCC 
-PC6 = GND 
- 
-Ansicht von vorne (Runde empfänger Teil sichtbar) 
-<​html><​pre>​ 
-_________ 
-|       | 
-|   ​O ​  | 
-|       | 
---------- 
-|   ​| ​  | 
-|   ​| ​  | 
-D  Gnd Vcc 
-</​pre></​html>​ 
  
 ===== rf433ctl ===== ===== rf433ctl =====
-<html><​pre+==== Quellcode herunterladen ==== 
-homunkoloss@vidar ~/​teensy_workshop % svn checkout ​https://svn.spreadspace.org/​realraum/​rf433rcv+<code
-A    rf433rcv/​pc +homunkoloss@vidar ~/​teensy_workshop % git clone https://github.com/​realraum/​rf433rcv
-A    rf433rcv/​pc/​uncompress.c +
-A    rf433rcv/​pc/​decode2.pl +
-A    rf433rcv/​pc/​plot_bin.sh +
-A    rf433rcv/​pc/​autotaste.sh +
-A    rf433rcv/​pc/​swap.pl +
-A    rf433rcv/​pc/​hid.h +
-A    rf433rcv/​pc/​codes +
-A    rf433rcv/​pc/​decode.pl +
-A    rf433rcv/​pc/​rawhid_test.c +
-A    rf433rcv/​pc/​hid_MACOSX.c +
-A    rf433rcv/​pc/​hid_WINDOWS.c +
-A    rf433rcv/​pc/​realraum_codes.pl +
-A    rf433rcv/​pc/​send.sh +
-A    rf433rcv/​pc/​reset.c +
-A    rf433rcv/​pc/​hid_LINUX.c +
-A    rf433rcv/​pc/​plot.py +
-A    rf433rcv/​pc/​data2sample.pl +
-A    rf433rcv/​pc/​sample2data.pl +
-A    rf433rcv/​pc/​testdata +
-A    rf433rcv/​pc/​testdata/​11111_d_bin +
-A    rf433rcv/​pc/​testdata/​sw2on_bin +
-A    rf433rcv/​pc/​testdata/​11111_a_bin_off +
-A    rf433rcv/​pc/​testdata/​11111_b_bin_off +
-A    rf433rcv/​pc/​testdata/​11111_c_bin_off +
-A    rf433rcv/​pc/​testdata/​11111_d_bin_off +
-A    rf433rcv/​pc/​testdata/​11111_a_bin +
-A    rf433rcv/​pc/​testdata/​11111_b_bin +
-A    rf433rcv/​pc/​testdata/​11111_c_bin +
-A    rf433rcv/​pc/​compress.c +
-A    rf433rcv/​pc/​Makefile +
-A    rf433rcv/​teensy +
-A    rf433rcv/​teensy/​usb_rawhid.c +
-A    rf433rcv/​teensy/​example.c +
-A    rf433rcv/​teensy/​Makefile +
-A    rf433rcv/​teensy/​usb_rawhid.h +
-Ausgecheckt,​ Revision 516. +
-homunkoloss@vidar ~/​teensy_workshop % ll +
-insgesamt 8 +
-drwxr-xr-x 7 homunkoloss homunkoloss 4096 2012-04-18 23:35 hidrc/ +
-drwxr-xr-x 5 homunkoloss homunkoloss 4096 2012-04-18 23:37 rf433rcv/+
 homunkoloss@vidar ~/​teensy_workshop % cd rf433rcv homunkoloss@vidar ~/​teensy_workshop % cd rf433rcv
-homunkoloss@vidar ~/​teensy_workshop/​rf433rcv (svn)-[rf433rcv:​516] % ll 
-insgesamt 8 
-drwxr-xr-x 4 homunkoloss homunkoloss 4096 2012-04-18 23:37 pc/ 
-drwxr-xr-x 3 homunkoloss homunkoloss 4096 2012-04-18 23:37 teensy/ 
 homunkoloss@vidar ~/​teensy_workshop/​rf433rcv (svn)-[rf433rcv:​516] % cd pc homunkoloss@vidar ~/​teensy_workshop/​rf433rcv (svn)-[rf433rcv:​516] % cd pc
 homunkoloss@vidar ~/​teensy_workshop/​rf433rcv/​pc (svn)-[rf433rcv:​516] % make homunkoloss@vidar ~/​teensy_workshop/​rf433rcv/​pc (svn)-[rf433rcv:​516] % make
-gcc -Wall -O2 -DOS_LINUX ​  -c -o rawhid_test.o rawhid_test.c +</​code>​ 
-gcc -Wall -O2 -DOS_LINUX -c -o hid.o hid_LINUX.c + 
-gcc -o rawhid_test rawhid_test.o hid.o -lusb +==== teensy_loader_cli verlinken ==== 
-strip rawhid_test +<​code>​
-gcc -o compress compress.c +
-gcc -o uncompress uncompress.c +
-gcc -Wall -O2 -DOS_LINUX -c -o reset.o reset.c +
-gcc -o reset reset.o hid.o -lusb +
-strip reset +
-homunkoloss@vidar ~/​teensy_workshop/​rf433rcv/​pc (svn)-[rf433rcv:​516] % vim Makefile+
 homunkoloss@vidar ~/​teensy_workshop/​rf433rcv/​pc (svn)-[rf433rcv:​516] % cd ~ homunkoloss@vidar ~/​teensy_workshop/​rf433rcv/​pc (svn)-[rf433rcv:​516] % cd ~
 homunkoloss@vidar ~ % ln -s teensy_workshop/​hidrc/​teensy_loader_cli ​ homunkoloss@vidar ~ % ln -s teensy_workshop/​hidrc/​teensy_loader_cli ​
Line 221: Line 112:
 drwxr-xr-x ​ 4 homunkoloss homunkoloss ​  4096 2012-04-18 23:37 teensy_workshop/​ drwxr-xr-x ​ 4 homunkoloss homunkoloss ​  4096 2012-04-18 23:37 teensy_workshop/​
 [...] [...]
 +
 homunkoloss@vidar ~ % cd - homunkoloss@vidar ~ % cd -
 ~/​teensy_workshop/​rf433rcv/​pc ~/​teensy_workshop/​rf433rcv/​pc
 homunkoloss@vidar ~/​teensy_workshop/​rf433rcv/​pc (svn)-[rf433rcv:​516] % cd ../teensy homunkoloss@vidar ~/​teensy_workshop/​rf433rcv/​pc (svn)-[rf433rcv:​516] % cd ../teensy
 homunkoloss@vidar ~/​teensy_workshop/​rf433rcv/​teensy (svn)-[rf433rcv:​516] % make homunkoloss@vidar ~/​teensy_workshop/​rf433rcv/​teensy (svn)-[rf433rcv:​516] % make
- 
--------- begin -------- 
-avr-gcc (GCC) 4.3.5 
-Copyright (C) 2008 Free Software Foundation, Inc. 
-Dies ist freie Software; die Kopierbedingungen stehen in den Quellen. Es 
-gibt KEINE Garantie; auch nicht für MARKTGÄNGIGKEIT oder FÜR SPEZIELLE ZWECKE. 
- 
- 
-Compiling C: example.c 
-avr-gcc -c -mmcu=atmega32u4 ​        -I. -gdwarf-2 -DF_CPU=16000000UL -Os -funsigned-char -funsigned-bitfields -ffunction-sections -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,​-adhlns=./​example.lst ​ -std=gnu99 -MMD -MP -MF .dep/​example.o.d example.c -o example.o ​ 
-example.c:​52:​ Warnung: Funktionsdeklaration ist kein Prototyp 
- 
-Compiling C: usb_rawhid.c 
-avr-gcc -c -mmcu=atmega32u4 ​        -I. -gdwarf-2 -DF_CPU=16000000UL -Os -funsigned-char -funsigned-bitfields -ffunction-sections -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,​-adhlns=./​usb_rawhid.lst ​ -std=gnu99 -MMD -MP -MF .dep/​usb_rawhid.o.d usb_rawhid.c -o usb_rawhid.o ​ 
- 
-Linking: example.elf 
-avr-gcc -mmcu=atmega32u4 ​        -I. -gdwarf-2 -DF_CPU=16000000UL -Os -funsigned-char -funsigned-bitfields -ffunction-sections -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,​-adhlns=example.o ​ -std=gnu99 -MMD -MP -MF .dep/​example.elf.d example.o usb_rawhid.o --output example.elf -Wl,​-Map=example.map,​--cref -Wl,--relax -Wl,​--gc-sections ​    -lm 
- 
-Creating load file for Flash: example.hex 
-avr-objcopy -O ihex -R .eeprom -R .fuse -R .lock -R .signature example.elf example.hex 
- 
-Creating load file for EEPROM: example.eep 
-avr-objcopy -j .eeprom --set-section-flags=.eeprom="​alloc,​load"​ \ 
- --change-section-lma .eeprom=0 --no-change-warnings -O ihex example.elf example.eep || exit 0 
- 
-Creating Extended Listing: example.lss 
-avr-objdump -h -S -z example.elf > example.lss 
- 
-Creating Symbol Table: example.sym 
-avr-nm -n example.elf > example.sym 
- 
-Size after: 
-   ​text  ​  ​data  ​   bss     dec     hex filename 
-   ​3604  ​     0     710    ​4314  ​  ​10da example.elf 
- 
--------- end -------- 
- 
 homunkoloss@vidar ~/​teensy_workshop/​rf433rcv/​teensy (svn)-[rf433rcv:​516] % make program homunkoloss@vidar ~/​teensy_workshop/​rf433rcv/​teensy (svn)-[rf433rcv:​516] % make program
 ../pc/reset || true ../pc/reset || true
 ~/​teensy_loader_cli/​teensy_loader_cli -mmcu=atmega32u4 -w example.hex ~/​teensy_loader_cli/​teensy_loader_cli -mmcu=atmega32u4 -w example.hex
-</pre></​html>+</code>
  
 ===== Variante Easy ===== ===== Variante Easy =====
 +{{:​workshop:​rf-433-proto.jpg|}}
 <​html><​pre>​ <​html><​pre>​
 homunkoloss@vidar ~/​teensy_workshop/​rf433rcv/​pc (svn)-[rf433rcv:​516] % ./​autotaste.sh 0 > taste.txt homunkoloss@vidar ~/​teensy_workshop/​rf433rcv/​pc (svn)-[rf433rcv:​516] % ./​autotaste.sh 0 > taste.txt
Line 328: Line 184:
 homunkoloss@vidar ~/​teensy_workshop/​rf433rcv/​pc (svn)-[rf433rcv:​516] %    homunkoloss@vidar ~/​teensy_workshop/​rf433rcv/​pc (svn)-[rf433rcv:​516] %   
 </​pre></​html>​ </​pre></​html>​
 +
 ===== Beschreibung der einzelnen Schritte ===== ===== Beschreibung der einzelnen Schritte =====
 +Autotaste: Versucht eine Periode herauszufiltern,​ schneidet den Rest weg.
 +./​rawhid_test:​ Rohes Signal aufnehmen, auf stdout ausgeben. Ohne Parameter: Empfangen, mit filename als Parameter: Sende File, mit "​-"​ sende stdin.
 +compress: string -> binörformat,​ mit parameter: kein längenfeld
 +uncompress: binärformat -> string
 +./​realraum_codes.pl:​ Bitmuster erzeugen.
 +
 +<​html><​pre>​
 +homunkoloss@vidar ~/​teensy_workshop/​rf433rcv/​pc (svn)-[rf433rcv:​516] % ./​rawhid_test
 +00000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111110000000000111111111000000000000000000000000000111111111111111111111111111100000000011111111100000000000000000000000000001111111111111111111111111110000000000111111111111111111111111111000000000111111111111111111111111111100000000011111111100000000000000000000000000001111111111111111111111111110000000000111111110000000000000000000000000000111111111000000000000000000000000000011111111100000000000000000000000000001111111100000000000000000000000000001111111110000000000000000000000000000111111111000000000000000000000000000011111111111111111111111111100000000011111111111111111111111111110000000001111111110000000000000000000000000000111111111000000000000000000000000000011111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111000000000000000000000000000111111111111111111111111111100000000011111111111111111111111111110000000001111111111111111111111111110000000000111111111000000000000000000000000000111111111111111111111111111100000000011111111100000000000000000000000000001111111111111111111111111110000000000111111111000000000000000000000000000111111111111111111111111111100000000011111111111111111111111111100000000001111111111111111111111111110000000000111111110000000000000000000000000000111111111111111111111111111000000000011111111100000000000000000000000000001111111110000000000000000000000000001111111110000000000000000000000000000111111111000000000000000000000000000011111111100000000000000000000000000001111111100000000000000000000000000001111111111111111111111111110000000000111111111111111111111111111000000000011111111100000000000000000000000000011111111100000000000000000000000000001111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111110000000000000000000000000001111111111111111111111111111000000000111111111111111111111111111000000000011111111111111111111111111100000000011111111100000000000000000000000000001111111111111111111111111110000000000111111111000000000000000000000000000011111111111111111111111111100000000011111111100000000000000000000000000001111111111111111111111111110000000000111111111111111111111111111000000000011111111111111111111111111100000000011111111100000000000000000000000000001111111111111111111111111110000000000111111110000000000000000000000000000111111111000000000000000000000000000011111111100000000000000000000000000001111111110000000000000000000000000001111111110000000000000000000000000000111111111000000000000000000000000000011111111111111111111111111100000000001111111111111111111111111110000000001111111110000000000000000000000000000111111111000000000000000000000000000011111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111000000000000000000000000000011111111111111111111111111100000000001111111111111111111111111110000000001111111111111111111111111111000000000111111111000000000000000000000000000011111111111111111111111111100000000011111111100000000000000000000000000001111111111111111111111111110000000000111111111000000000000000000000000000011111111111111111111111111100000000011111111111111111111111111110000000001111111111111111111111111110000000000111111111000000000000000000000000000011111111111111111111111111100000000011111111100000000000000000000000000001111111110000000000000000000000000000111111110000000000000000000000000000111111111000000000000000000000000000011111111100000000000000000000000000001111111110000000000000000000000000000111111111111111111111111111000000000111111111111111111111111111000000000011111111100000000000000000000000000001111111110000000000000000000000000001111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111110000000000000000000000000001111111111111111111111111111000000000111111111111111111111111111100000000011111111111111111111111111100000000001111111110000000000000000000000000001111111111111111111111111111000000000111111111000000000000000000000000000011111111111111111111111111100000000001111111100000000000000000000000000001111111111111111111111111111000000000111111111111111111111111111000000000011111111111111111111111111100000000001111111100000000000000000000000000001111111111111111111111111110000000000111111111000000000000000000000000000011111111000000000000000000000000000011111111100000000000000000000000000001111111110000000000000000000000000000111111111000000000000000000000000000011111111000000000000000000000000000011111111111111111111111111100000000001111111111111111111111111110000000000111111110000000000000000000000000000111111111000000000000000000000000000011111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111100000000000000000000000000011111111111111111111111111110000000001111111111111111111111111110000000000111111111111111111111111111000000000111111111000000000000000000000000000011111111111111111111111111100000000001111111110000000000000000000000000000111111111111111111111111111000000000111111111000000000000000000000000000011111111111111111111111111100000000001111111111111111111111111110000000000111111111111111111111111111000000000111111111000000000000000000000000000011111111111111111111111111100000000001111111100000000000000000000000000001111111110000000000000000000000000000111111111000000000000000000000000000011111111100000000000000000000000000001111111100000000000000000000000000001111111110000000000000000000000000000111111111111111111111111111000000000011111111111111111111111111100000000011111111100000000000000000000000000001111111110000000000000000000000000000111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111110000000000000000000000000000111111111111111111111111111000000000011111111111111111111111111100000000011111111111111111111111111110000000001111111110000000000000000000000000000111111111111111111111111111000000000011111111100000000000000000000000000011111111111111111111111111100000000001111111110000000000000000000000000000111111111111111111111111111000000000111111111111111111111111111100000000011111111111111111111111111100000000001111111110000000000000000000000000000111111111111111111111111111000000000011111111000000000000000000000000000011111111100000000000000000000000000001111111110000000000000000000000000000111111110000000000000000000000000000111111111000000000000000000000000000011111111100000000000000000000000000001111111111111111111111111110000000001111111111111111111111111111000000000111111111000000000000000000000000000011111111100000000000000000000000000001111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111100000000000000000000000000001111111111111111111111111110000000001111111111111111111111111111000000000111111111111111111111111111100000000011111111100000000000000000000000000001111111111111111111111111110000000001111111110000000000000000000000000000111111111111111111111111111000000000011111111100000000000000000000000000001111111111111111111111111110000000001111111111111111111111111110000000000111111111111111111111111111000000000011111111100000000000000000000000000001111111111111111111111111110000000001111111110000000000000000000000000000111111111000000000000000000000000000011111111000000000000000000000000000011111111100000000000000000000000000001111111110000000000000000000000000000111111111000000000000000000000000000111111111111111111111111111100000000011111111111111111111111111100000000001111111110000000000000000000000000000111111110000000000000000000000000000011111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111000000000000000000000000000011111111111111111111111111100000000011111111111111111111111111110000000001111111111111111111111111110000000000111111111000000000000000000000000000111111111111111111111111111100000000011111111100000000000000000000000000001111111111111111111111111110000000000111111110000000000000000000000000000111111111111111111111111111100000000011111111111111111111111111100000000001111111111111111111111111110000000000111111110000000000000000000000000000111111111111111111111111111000000000011111111100000000000000000000000000001111111100000000000000000000000000001111111110000000000000000000000000000111111111000000000000000000000000000011111111100000000000000000000000000001111111100000000000000000000000000001111111111111111111111111110000000000111111111111111111111111111000000000011111111000000000000000000000000000011111111100000000000000000000000000001111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111110000000000000000000000000001111111111111111111111111111000000000111111111111111111111111111000000000011111111111111111111111111100000000001111111100000000000000000000000000001111111111111111111111111111000000000111111111000000000000000000000000000011111111111111111111111111100000000001111111100000000000000000000000000001111111111111111111111111110000000000111111111111111111111111111000000000011111111111111111111111111100000000011111111100000000000000000000000000001111111111111111111111111110000000000111111111000000000000000000000000000011111111000000000000000000000000000011111111100000000000000000000000000001111111110000000000000000000000000000111111110000000000000000000000000000111111111000000000000000000000000000011111111111111111111111111100000000001111111111111111111111111110000000000111111110000000000000000000000000000111111111000000000000000000000000000011111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111100000000000000000000000000011111111111111111111111111110000000001111111111111111111111111110000000000111111111111111111111111111000000000111111111000000000000000000000000000011111111111111111111111111100000000001111111110000000000000000000000000000111111111111111111111111111000000000111111111000000000000000000000000000011111111111111111111111111100000000001111111111111111111111111110000000000111111111111111111111111111000000000111111111000000000000000000000000000011111111111111111111111111100000000001111111100000000000000000000000000000111111110000000000000000000000000000111111111000000000000000000000000000011111111100000000000000000000000000001111111100000000000000000000000000001111111110000000000000000000000000000111111111111111111111111111000000000011111111111111111111111111100000000001111111100000000000000000000000000001111111110000000000000000000000000000111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111110000000000000000000000000000111111111111111111111111111000000000011111111111111111111111111100000000001111111111111111111111111110000000001111111110000000000000000000000000000111111111111111111111111111000000000011111111100000000000000000000000000001111111111111111111111111110000000001111111110000000000000000000000000000111111111111111111111111111000000000011111111111111111111111111100000000001111111111111111111111111100000000001111111110000000000000000000000000000111111111111111111111111111000000000011111111000000000000000000000000000011111111100000000000000000000000000001111111110000000000000000000000000000111111111000000000000000000000000000011111111000000000000000000000000000011111111100000000000000000000000000001111111111111111111111111110000000000111111111111111111111111111000000000111111111000000000000000000000000000011111111100000000000000000000000000001111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111100000000000000000000000000001111111111111111111111111110000000000111111111111111111111111111000000000011111111111111111111111111100000000011111111100000000000000000000000000001111111111111111111111111110000000000111111111000000000000000000000000000111111111111111111111111111100000000011111111100000000000000000000000000001111111111111111111111111110000000000111111111111111111111111111000000000111111111111111111111111111000000000011111111100000000000000000000000000001111111111111111111111111110000000000111111110000000000000000000000000000111111111000000000000000000000000000011111111100000000000000000000000000001111111100000000000000000000000000000111111110000000000000000000000000000111111111000000000000000000000000000011111111111111111111111111100000000001111111111111111111111111110000000001111111110000000000000000000000000000111111111000000000000000000000000000011111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111000000000000000000000000000011111111111111111111111111100000000001111111111111111111111111110000000001111111111111111111111111111000000000111111111000000000000000000000000000011111111111111111111111111100000000001111111110000000000000000000000000001111111111111111111111111111000000000111111111000000000000000000000000000011111111111111111111111111100000000001111111111111111111111111110000000001111111111111111111111111110000000000111111111000000000000000000000000000011111111111111111111111111100000000001111111100000000000000000000000000001111111110000000000000000000000000000111111111000000000000000000000000000011111111000000000000000000000000000011111111100000000000000000000000000001111111110000000000000000000000000000111111111111111111111111111000000000011111111111111111111111111100000000011111111100000000000000000000000000001111111110000000000000000000000000000111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111110000000000000000000000000000111111111111111111111111111000000000011111111111111111111111111100000000011111111111111111111111111110000000001111111110000000000000000000000000000111111111111111111111111111000000000011111111100000000000000000000000000011111111111111111111111111110000000001111111110000000000000000000000000000111111111111111111111111111000000000011111111111111111111111111100000000011111111111111111111111111100000000001111111110000000000000000000000000000111111111111111111111111111000000000011111111000000000000000000000000000011111111100000000000000000000000000001111111110000000000000000000000000000111111110000000000000000000000000000111111111000000000000000000000000000011111111100000000000000000000000000001111111111111111111111111110000000000111111111111111111111111111000000000111111111000000000000000000000000000011111111100000000000000000000000000001111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111100000000000000000000000000001111111111111111111111111110000000000111111111111111111111111111000000000111111111111111111111111111100000000011111111100000000000000000000000000001111111111111111111111111110000000000111111111000000000000000000000000000111111111111111111111111111100000000011111111100000000000000000000000000001111111111111111111111111110000000000111111111111111111111111111000000000111111111111111111111111111000000000011111111100000000000000000000000000001111111111111111111111111110000000000111111110000000000000000000000000000111111111000000000000000000000000000011111111100000000000000000000000000001111111100000000000000000000000000000111111110000000000000000000000000000111111111000000000000000000000000000011111111111111111111111111100000000001111111111111111111111111110000000000111111110000000000000000000000000000111111111000000000000000000000000000011111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111000000000000000000000000000011111111111111111111111111100000000001111111111111111111111111110000000000111111111111111111111111111000000000111111111000000000000000000000000000011111111111111111111111111100000000001111111110000000000000000000000000001111111111111111111111111111000000000111111111000000000000000000000000000011111111111111111111111111100000000001111111111111111111111111110000000001111111111111111111111111111000000000111111111000000000000000000000000000011111111111111111111111111100000000001111111100000000000000000000000000001111111110000000000000000000000000000111111111000000000000000000000000000011111111100000000000000000000000000011111111100000000000000000000000000001111111110000000000000000000000000000111111111111111111111111111000000000011111111111111111111111111100000000011111111100000000000000000000000000001111111110000000000000000000000000000111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111110000000000000000000000000000111111111111111111111111111000000000011111111111111111111111111100000000001111111111111111111111111110000000001111111110000000000000000000000000000111111111111111111111111111000000000011111111100000000000000000000000000001111111111111111111111111110000000001111111110000000000000000000000000000111111111111111111111111111000000000011111111111111111111111111100000000011111111111111111111111111110000000001111111110000000000000000000000000000111111111111111111111111111000000000011111111000000000000000% ​                                                        ​homunkoloss@vidar ~/​teensy_workshop/​rf433rcv/​pc (svn)-[rf433rcv:​516] % ./​rawhid_test | ./plot.py
 +cat ^CTraceback (most recent call last):
 +  File "​./​plot.py",​ line 12, in <​module>​
 +    pylab.show()
 +  File "/​usr/​lib/​pymodules/​python2.7/​matplotlib/​backends/​backend_tkagg.py",​ line 79, in show
 +    Tk.mainloop()
 +  File "/​usr/​lib/​python2.7/​lib-tk/​Tkinter.py",​ line 328, in mainloop
 +    _default_root.tk.mainloop(n)
 +KeyboardInterrupt
 +1 homunkoloss@vidar ~/​teensy_workshop/​rf433rcv/​pc (svn)-[rf433rcv:​516] % cat autotaste.sh
 +#!/bin/sh
 +
 +FN=`mktemp`
 +FN2=`mktemp`
 +FN3=`mktemp`
 +echo $FN >&2
 +echo $FN2 >&​2 ​
 +echo $FN3 >&2
 +./​rawhid_test > $FN
 +./decode.pl $FN $1 | xargs ./​decode2.pl $FN > $FN2
 +if [ $1 -eq 1 ]; then
 +  ./swap.pl < $FN2 >$FN3
 +else
 +  cat $FN2 > $FN3
 +fi
 +./plot.py < $FN3
 +cat $FN3
 +homunkoloss@vidar ~/​teensy_workshop/​rf433rcv/​pc (svn)-[rf433rcv:​516] % ll
 +insgesamt 388
 +-rwxr-xr-x 1 homunkoloss homunkoloss ​  261 2012-04-18 23:37 autotaste.sh*
 +-rw-r--r-- 1 homunkoloss homunkoloss ​  762 2012-04-18 23:37 codes
 +-rwxr-xr-x 1 homunkoloss homunkoloss ​ 7332 2012-04-18 23:37 compress*
 +-rw-r--r-- 1 homunkoloss homunkoloss ​  640 2012-04-18 23:37 compress.c
 +-rwxr-xr-x 1 homunkoloss homunkoloss ​  274 2012-04-18 23:37 data2sample.pl*
 +-rwxr-xr-x 1 homunkoloss homunkoloss ​  182 2012-04-18 23:37 decode2.pl*
 +-rwxr-xr-x 1 homunkoloss homunkoloss ​ 1173 2012-04-18 23:37 decode.pl*
 +-rw-r--r-- 1 homunkoloss homunkoloss ​  219 2012-04-18 23:37 hid.h
 +-rw-r--r-- 1 homunkoloss homunkoloss 11445 2012-04-18 23:37 hid_LINUX.c
 +-rw-r--r-- 1 homunkoloss homunkoloss 11770 2012-04-18 23:37 hid_MACOSX.c
 +-rw-r--r-- 1 homunkoloss homunkoloss ​ 3660 2012-04-18 23:37 hid.o
 +-rw-r--r-- 1 homunkoloss homunkoloss ​ 8537 2012-04-18 23:37 hid_WINDOWS.c
 +-rw-r--r-- 1 homunkoloss homunkoloss ​ 1485 2012-04-18 23:37 Makefile
 +-rwxr-xr-x 1 homunkoloss homunkoloss ​   41 2012-04-18 23:37 plot_bin.sh*
 +-rwxr-xr-x 1 homunkoloss homunkoloss ​  258 2012-04-18 23:37 plot.py*
 +-rwxr-xr-x 1 homunkoloss homunkoloss ​ 9688 2012-04-18 23:37 rawhid_test*
 +-rw-r--r-- 1 homunkoloss homunkoloss ​ 2426 2012-04-18 23:37 rawhid_test.c
 +-rw-r--r-- 1 homunkoloss homunkoloss ​ 2904 2012-04-18 23:37 rawhid_test.o
 +-rwxr-xr-x 1 homunkoloss homunkoloss ​ 2263 2012-04-18 23:37 realraum_codes.pl*
 +-rwxr-xr-x 1 homunkoloss homunkoloss ​ 9668 2012-04-18 23:37 reset*
 +-rw-r--r-- 1 homunkoloss homunkoloss ​  869 2012-04-18 23:37 reset.c
 +-rw-r--r-- 1 homunkoloss homunkoloss ​ 1344 2012-04-18 23:37 reset.o
 +-rwxr-xr-x 1 homunkoloss homunkoloss ​  458 2012-04-18 23:37 sample2data.pl*
 +-rwxr-xr-x 1 homunkoloss homunkoloss ​   48 2012-04-18 23:37 send.sh*
 +-rwxr-xr-x 1 homunkoloss homunkoloss ​   73 2012-04-18 23:37 swap.pl*
 +-rw-r--r-- 1 homunkoloss homunkoloss ​ 1174 2012-04-18 23:44 taste.txt
 +drwxr-xr-x 3 homunkoloss homunkoloss ​ 4096 2012-04-18 23:37 testdata/
 +-rwxr-xr-x 1 homunkoloss homunkoloss ​ 7336 2012-04-18 23:37 uncompress*
 +-rw-r--r-- 1 homunkoloss homunkoloss ​  518 2012-04-18 23:37 uncompress.c
 +homunkoloss@vidar ~/​teensy_workshop/​rf433rcv/​pc (svn)-[rf433rcv:​516] % cat taste.txt | ./plot.py
 +homunkoloss@vidar ~/​teensy_workshop/​rf433rcv/​pc (svn)-[rf433rcv:​516] % cat taste.txt | ./​sample2data.pl
 +Base 9
 +011101010111010000001100% ​                                                                                                    ​homunkoloss@vidar ~/​teensy_workshop/​rf433rcv/​pc (svn)-[rf433rcv:​516] % cat taste.txt | ./plot.py
 +^Z
 +[1]  + 4205 done       cat taste.txt | 
 +       4206 suspended ​ ./plot.py
 +20 homunkoloss@vidar ~/​teensy_workshop/​rf433rcv/​pc (svn)-[rf433rcv:​516] % bg
 +[1]  + 4205 done       cat taste.txt | 
 +       4206 continued ​ ./plot.py
 +homunkoloss@vidar ~/​teensy_workshop/​rf433rcv/​pc (svn)-[rf433rcv:​516] % cat taste.txt | ./​sample2data.pl > taste-data
 +Base 9
 +homunkoloss@vidar ~/​teensy_workshop/​rf433rcv/​pc (svn)-[rf433rcv:​516] % cat taste-data | ./​data2sample.pl 5 | ./plot.py
 +^C
 +Traceback (most recent call last):
 +  File "​./​plot.py",​ line 12, in <​module>​
 +    pylab.show()
 +  File "/​usr/​lib/​pymodules/​python2.7/​matplotlib/​backends/​backend_tkagg.py",​ line 79, in show
 +    Tk.mainloop()
 +  File "/​usr/​lib/​python2.7/​lib-tk/​Tkinter.py",​ line 328, in mainloop
 +    _default_root.tk.mainloop(n)
 +KeyboardInterrupt
 +1 homunkoloss@vidar ~/​teensy_workshop/​rf433rcv/​pc (svn)-[rf433rcv:​516] % 
 +1 homunkoloss@vidar ~/​teensy_workshop/​rf433rcv/​pc (svn)-[rf433rcv:​516] % cat taste-data | ./​data2sample.pl 5 | ./compress| ./​rawhid_test -
 +Clearing Buffer
 +Sending Buffer 63 bytes
 +66 02 80 1f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1f 00 f0 ff 07 ff 7f f0 ff 07 1f 00 f0 ff 07 1f 00 f0 ff 07 1f 00 f0 ff 07 ff 7f f0 ff 07 1f 00 f0 ff 07 1f 00 f0 01 00 1f 
 +Sending Buffer 19 bytes
 +66 00 f0 01 00 1f 00 f0 01 00 ff 7f f0 ff 07 1f 00 f0 01 00 
 +Executing Send command
 +
 +homunkoloss@vidar ~/​teensy_workshop/​rf433rcv/​pc (svn)-[rf433rcv:​516] % ./​realraum_codes.pl
 +Usage ./​realraum_codes.pl {pollin,​rsl336t,​weiss,​schwarz} remote parameters at ./​realraum_codes.pl line 28.
 +255 homunkoloss@vidar ~/​teensy_workshop/​rf433rcv/​pc (svn)-[rf433rcv:​516] % ./​realraum_codes.pl pollin
 +parameters 00000 {a|b|c|d} {0|1} at ./​realraum_codes.pl line 74.
 +255 homunkoloss@vidar ~/​teensy_workshop/​rf433rcv/​pc (svn)-[rf433rcv:​516] % ./​realraum_codes.pl pollin 11111 b 1
 +000000000001000101010001% ​                                                                                                    ​homunkoloss@vidar ~/​teensy_workshop/​rf433rcv/​pc (svn)-[rf433rcv:​516] % ./​realraum_codes.pl pollin 11111 b 1 | ./​data2sample.pl 5 | ./compress| ./​rawhid_test -
 +Clearing Buffer
 +Sending Buffer 63 bytes
 +66 02 80 1f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1f 00 f0 01 00 1f 00 f0 01 00 1f 00 f0 01 00 1f 00 f0 01 00 1f 00 f0 01 00 1f 00 f0 ff 07 1f 00 f0 01 00 1f 00 f0 ff 07 1f 
 +Sending Buffer 19 bytes
 +66 00 f0 ff 07 1f 00 f0 ff 07 1f 00 f0 01 00 1f 00 f0 ff 07 
 +Executing Send command
 +
 +homunkoloss@vidar ~/​teensy_workshop/​rf433rcv/​pc (svn)-[rf433rcv:​516] % ./​realraum_codes.pl pollin 11111 b 0 | ./​data2sample.pl 5 | ./compress| ./​rawhid_test -
 +Clearing Buffer
 +Sending Buffer 63 bytes
 +66 02 80 1f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1f 00 f0 01 00 1f 00 f0 01 00 1f 00 f0 01 00 1f 00 f0 01 00 1f 00 f0 01 00 1f 00 f0 ff 07 1f 00 f0 01 00 1f 00 f0 ff 07 1f 
 +Sending Buffer 19 bytes
 +66 00 f0 ff 07 1f 00 f0 ff 07 1f 00 f0 ff 07 1f 00 f0 01 00 
 +Executing Send command
 +
 +homunkoloss@vidar ~/​teensy_workshop/​rf433rcv/​pc (svn)-[rf433rcv:​516] %                                                       
 +</​pre></​html>​
 +
  
  
Line 337: Line 315:
  
  
 +
 +
 +
 +
 +===== Fehlersuche =====
 +==== hidrc kompiliert nicht ====
 +=== Fehler ===
 +<​html><​pre>​
 +~/​teensy_workshop/​hidrc (svn)-[trunk:​16] % make
 +-------- begin --------
 +avr-gcc (GCC) 4.3.5
 +Copyright (C) 2008 Free Software Foundation, Inc.
 +Dies ist freie Software; die Kopierbedingungen stehen in den Quellen. Es
 +gibt KEINE Garantie; auch nicht für MARKTGÄNGIGKEIT oder FÜR SPEZIELLE ZWECKE.
 +
 +
 +Compiling C: example.c
 +avr-gcc -c -mmcu=atmega32u4 ​        -I. -gdwarf-2 -DF_CPU=16000000UL -Os -funsigned-char -funsigned-bitfields -ffunction-sections -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,​-adhlns=./​example.lst ​ -std=gnu99 -MMD -MP -MF .dep/​example.o.d example.c -o example.o ​
 +example.c:​38:​20:​ Fehler: keymap.h: Datei oder Verzeichnis nicht gefunden
 +example.c: In Funktion »__vector_23«:​
 +example.c:​110:​ Fehler: »mapping« nicht deklariert (erste Benutzung in dieser Funktion)
 +example.c:​110:​ Fehler: (Jeder nicht deklarierte Bezeichner wird nur einmal aufgeführt
 +example.c:​110:​ Fehler: für jede Funktion in der er auftritt.)
 +make: *** [example.o] Fehler 1
 +</​pre></​html>​
 +
 +=== Lösung ===
 +~/​teensy_workshop/​hidrc (svn)-[trunk:​16] % cp keymap_example.h keymap.h
 +
 +----
 +{{tag>​workshop project}}
realraum Graz, Brockmanngasse 15, 8010 Graz, realraum - Verein für Technik in Kultur und Gesellschaft
  • /var/lib/dokuwiki/data/pages/workshop/rf433ctl_workshop.txt
  • Last modified: 2015-09-24 13:29
  • by xro