| 66 | | * Firmware für Tests patchen: Da an unserem Gerät keine Temperatursensoren angeschlossen waren, haben wir die entsprechnede Fehlererkennung auskommentiert (`temperature.cpp:956,959,965,968`). |
| 67 | | |
| 68 | | * Firmware Kompilieren: Die modifizierte FW haben wir mit der arduino IDE kompiliert. Dazu mussten wir das Board in der IDE nachinstallieren (http://www.pjrc.com/teensy/td_download.html). Das Kompilat landet irgendwo in `/tmp/build*.tmp/Marlin.cpp.hex`. |
| 69 | | |
| 70 | | * Firmware flashen: |
| 71 | | {{{ |
| 72 | | sudo avrdude -p usb1286 -v -P usb -c usbasp -U flash:w:Marlin.cpp.hex |
| 73 | | }}} |
| 74 | | |
| 75 | | * gcode für Test patchen |
| 76 | | Wegen der fehlenden Temperatursensoren, mussten wir für unsere Achsentests noch das Warten auf die Heiztemperatur auskommentieren: |
| | 66 | * Firmware für Tests patchen: Da an unserem Gerät keine Temperatursensoren angeschlossen waren, haben wir die entsprechnede Fehlererkennung auskommentiert (`temperature.cpp:956,959,965,968`) |
| | 67 | * gcode für Test patchen: Wegen der fehlenden Temperatursensoren, mussten wir für unsere Achsentests noch das Warten auf die Heiztemperatur auskommentieren: |
| | 72 | |
| | 73 | * Firmware Kompilieren: Die modifizierte FW haben wir mit der arduino IDE kompiliert. Dazu mussten wir das Board in der IDE nachinstallieren (http://www.pjrc.com/teensy/td_download.html). Das Kompilat landet irgendwo in `/tmp/build*.tmp/Marlin.cpp.hex`: |
| | 74 | {{{ |
| | 75 | find /tmp -name \*.cpp.hex |
| | 76 | }}} |
| | 77 | |
| | 78 | [[BR]] |
| | 79 | == Firmware flashen == |
| | 80 | |
| | 81 | === per ISP (mit usbasp im Beispiel) === |
| | 82 | {{{ |
| | 83 | sudo avrdude -p usb1286 -v -P usb -c usbasp -U flash:w:Marlin.cpp.hex |
| | 84 | }}} |
| | 85 | === Fuses (8kB bootloader, 16MHz Xtal) === |
| | 86 | {{{ |
| | 87 | sudo avrdude -v -P usb -c usbasp -p USB1286 -U lfuse:w:0xcf:m -U hfuse:w:0xd9:m -U efuse:w:0xf0:m |
| | 88 | }}} |
| | 89 | === per Bootloader mit dfu-programmer (hier LUFA-DFU) === |
| | 90 | * USB abziehen |
| | 91 | * BOOT-Jumper abnehmen bei !PrintrBoard '''Rev.C''', stecken bei '''Rev.D''' |
| | 92 | * und USB wieder anstecken, RESET drücken |
| | 93 | {{{ |
| | 94 | Bus 002 Device 113: ID 03eb:2ffb Atmel Corp. at90usb AVR DFU bootloader |
| | 95 | }}} |
| | 96 | * wenn lsusb dieses nicht anzeigt: weiter RESET, power cycle und fuses checken --> !PrintrBoard ist dann nicht im Bootloader-Modus |
| | 97 | * jetzt mit dfu den Bootloader ansprechen: |
| | 98 | {{{ |
| | 99 | $ dfu-programmer at90usb1286 get |
| | 100 | }}} |
| | 101 | Wenn hierbei was nicht geklappt hat, meldet dfu: |
| | 102 | {{{ |
| | 103 | dfu-programmer: no device present. |
| | 104 | }}} |
| | 105 | {{{ |
| | 106 | $ dfu-programmer at90usb1286 get |
| | 107 | Bootloader Version: 0x20 (32) |
| | 108 | }}} |
| | 109 | * Firmware aufspielen: |
| | 110 | {{{ |
| | 111 | $ dfu-programmer at90usb1286 erase |
| | 112 | }}} |
| | 113 | und dann |
| | 114 | {{{ |
| | 115 | $ dfu-programmer at90usb1286 flash Marlin.cpp.hex |
| | 116 | }}} |
| | 117 | {{{ |
| | 118 | Validating... |
| | 119 | 62452 bytes used (47.65%) |
| | 120 | }}} |
| | 121 | * BOOT-Jumper drauf (Rev.C , oder abnehmen: Rev.D), RESET drücken, ggf. USB repluggen, dann sollte das Board am USB wie folgt erkannt werden: |
| | 122 | {{{ |
| | 123 | Bus 002 Device 122: ID 16c0:0483 VOTI |
| | 124 | }}} |
| | 125 | |
| | 126 | Success !! Es sollte ein '''/dev/ttyACM0''' (oder ACM1 usw.) enstanden sein. |
| | 127 | |
| | 128 | [[BR]] |