72 lines
2.8 KiB
Markdown
72 lines
2.8 KiB
Markdown
# Modifications to PowerWASP firmware with a few extras
|
||
The later versions of the PowerWASP controller board have power loss detection on pin 65 (low on loss). this has been configured in POWER_LOSS_RECOVERY. Because of this there is no need to save each command line just in case of a power loss to the machine. The board will hold enough power to allow the print to be saved to the SD card.
|
||
|
||
The retract position on finishing the print has been set at Z190 X0 Y0
|
||
|
||
There are provisions made here to use ESP3D wireless printer control.
|
||
|
||
https://github.com/luc-github/ESP3D
|
||
|
||
The original PowerWASP board has available a internal serial port connection with Arduino Serial3.
|
||
The connections are as follows:
|
||
```
|
||
.------------.---------------------.
|
||
| | Serial3 |
|
||
| | [O] 5V | Front
|
||
| FAN | [O] GND | panel
|
||
| | [O] TX | side
|
||
| | [O] RX |
|
||
`------------´---------------------´
|
||
```
|
||
|
||
With the option of wireless file upload to the SD card, the idea of updating the Firmware
|
||
from the SD can also be useful. This option has been selected, but requires a modified boot loader
|
||
that can be found here:
|
||
|
||
https://github.com/rainerumrobotics/MicroBridge-Arduino-ATMega2560
|
||
|
||
USB and SDCARD Firmware flashing for the ARDUINO ATMEGA 2560 and ADK
|
||
---------------------------------------------------------------------
|
||
The bootloader looks for byte in eeprom at address 0x3FF:
|
||
|
||
-if it is set to 0xF0 bootloader will look for a bin file on the sdcard named
|
||
firmware.bin and use it to flash the firmware then reset the byte to 0xFF so it
|
||
does this only once
|
||
|
||
-otherwise no action is taken and bootloader works as a arduino bootloader except
|
||
some of the debugging functions are missing
|
||
|
||
Setup
|
||
|
||
ADAFruit micro sdcard 5V ready:
|
||
|
||
SDCARD on ATMEGA 2560 or ADK
|
||
|
||
pin 50 - DO
|
||
|
||
pin 51 - DI
|
||
|
||
pin 52 - CLK
|
||
|
||
pin 53 - CS
|
||
|
||
Generate BIN file for firmware update:
|
||
|
||
To generate a bin file you need issue the following command on you apps elf executable:
|
||
|
||
avr-objcopy -I elf32-avr -O binary firmware.cpp.elf firmware.bin
|
||
|
||
this generates firmware.bin which can be put on the sd for flashing your firmware. You can find the elf
|
||
file in you apps build directory.
|
||
|
||
Using olimex usb to upload bootloader:
|
||
|
||
avrdude -c stk500v2 -p m2560 -P /dev/tty.usbmodemfd131 -B 500 -e -u -U lock:w:0x3F:m -U efuse:w:0xFD:m -U hfuse:w:0xD8:m -U efuse:w:0xFF:m -F
|
||
|
||
avrdude -p m2560 -c stk500v2 -P /dev/tty.usbmodemfa131 -F -U flash:w:stk500boot.hex -b 115200 -B1 -U lock:w:0x0F:m
|
||
|
||
avrdude -p m168 -c usbtiny -e -u -U lock:w:0x3f:m -U efuse:w:0x00:m -U hfuse:w:0xDD:m -U lfuse:w:0xFF:m
|
||
|
||
|
||
avrdude -p m2560 -c stk500v2 -P /dev/tty.usbmodemfd131 -U flash:w:stk500boot_v2_mega2560.hex -U lock:w:0x0F:m -v
|
||
avrdude -c stk500v2 -p m2560 -P /dev/tty.usbmodemfd131 -U lock:w:0x3F:m -U efuse:w:0xFD:m -U hfuse:w:0xD8:m -U lfuse:w:0xFF:m -e -v
|