AppImage: Firmware flashing fails
Closed this issue · 4 comments
Version: test230514
Platform: AppImage on Debian 11
Trying to flash the AYAB firmware fails.
First reason:
The firmware flash tool tries to use firmware/uno/uno_0-95.hex
, whereas it should be firmware/ayab_monolithic_uno.hex
I assume.
2023-05-14 13:17:35,510 FirmwareFlash DEBUG port /dev/ttyACM2
CompletedProcess(args=['which', 'avrdude'], returncode=0, stdout=b'/usr/bin/avrdude\n', stderr=b'')
2023-05-14 13:17:35,524 FirmwareFlash DEBUG /usr/bin/avrdude -p atmega328p -c arduino -P /dev/ttyACM2 -b115200 -D -Uflash:w:"/tmp/.mount_AYAB-tInOpEi/src/main/resources/base/ayab/firmware/uno/uno_0-95.hex":i
2023-05-14 13:17:36,860 FirmwareFlash INFO Error flashing firmware: Command '/usr/bin/avrdude -p atmega328p -c arduino -P /dev/ttyACM2 -b115200 -D -Uflash:w:"/tmp/.mount_AYAB-tInOpEi/src/main/resources/base/ayab/firmware/uno/uno_0-95.hex":i ' returned non-zero exit status 1.
2023-05-14 13:17:36,861 root DEBUG MessageBox error: 'Error flashing firmware.'
Additionally:
ls /tmp/.mount_AYAB-tInOpEi/src/main/resources/base/ayab/firmware
shows there is no *.hex file contained in the AppImage at all.
➜ firmware pwd
/tmp/.mount_AYAB-tInOpEi/src/main/resources/base/ayab/firmware
➜ firmware ls
avrdude_bin avrdude.exe firmware.json libusb0.dll
avrdude.conf avrdude_mac lib manifest.txt
I've located the devops bug.
The firmware flash dialog needs to be updated to reflect the new way that we are bundling the firmware. Instead of the user choosing from a menu to select which hex file to flash, it should just flash whatever hex file is there under src/resources/.../firmware. I'll put that in a separate PR.
The firmware flash dialog needs to be updated to reflect the new way that we are bundling the firmware. Instead of the user choosing from a menu to select which hex file to flash, it should just flash whatever hex file is there under src/resources/.../firmware. I'll put that in a separate PR.
As the way we handle the firmware in the application will change sooner or later by #414, we may just alter the firmware.json for now
{
"controller": {
"uno":[
{
"url":"/",
"version":"1.0.0 (prototype)",
"file":"ayab_monolithic_uno.hex"
}
]
}
}
tested, works so far at least under Linux with test230626