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
workshop:rf433ctl_workshop [2012-04-19 00:03]
homunkoloss
workshop:rf433ctl_workshop [2015-09-24 13:29] (current)
xro
Line 1: Line 1:
-====== ​Workshop ​mit dem geilen Otti ====== +====== ​Funksteckdosen Fernsteuern ​mit teensy  ​====== 
-====== ​hidrc ====== +====== ​aka Workshop: Mikrocontrollerprogrammierung mit teensy ​====== 
-====== ​Einrichtung ​====== +====== ​Vorbereitung ​====== 
-===== Kommandos lernen ===== +Es müssen folgende Pakete installiert werden: ​ 
-<html><​pre>​ +<code>~ % sudo apt-get install subversion gcc-avr avr-libc build-essential ​
-~ % sudo apt-get install subversion gcc-avr avr-libc build-essential avrdude binutils-avr libusb-dev python-matplotlib+avrdude binutils-avr libusb-dev python-matplotlib</​code>​ 
 + 
 +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 80:
 ^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 113:
 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 459: Line 316:
  
  
 +
 +
 +
 +
 +===== 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/attic/workshop/rf433ctl_workshop.1334786622.txt.gz
  • Last modified: 2012-04-19 00:03
  • by homunkoloss