|
|
# 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
|