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 from 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 from rainerumrobotics/MicroBridge-Arduino-ATMega2560
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
ADAFruit micro sdcard 5V ready:
SDCARD on ATMEGA 2560 or ADK
pin 50 - DO
pin 51 - DI
pin 52 - CLK
pin 53 - CS
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.
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