I am working on a custom application to upload .apj files to Pixhawk 6C CUPE Plus Orange using the Bootloader protocol. The application is built using Qt QML + C++.
This is not an existing product. It is a weird verbal mashup of at least 2 or more companies and their autopilots.
Additionally, this is the ArduPilot forum, and you are using the PX4 bootloader, but you are uploading entirely different firmware, it seems. I’m not sure how we can help.
First, I meant Pixhawk 6C as the board, and CUPE OrangePlus as a different board, yes, they are separate and I did not intend to mix their names.
Second, regarding the protocol:
I understand your point, but I want to clarify that ArduPilot actually uses the same PX4 bootloader protocol for uploading firmware. The script located at:
ardupilot/Tools/scripts/uploader.py
uses the PX4 Bootloader protocol to upload ArduPilot .apj firmware.
This is why I am using the same protocol in my own Qt/QML application.
My issue is that some parts of the protocol work correctly (GET_SYNC, REBOOT), but other commands such as CHIP_ERASE and PROG_MULTI do not work.
Because of this inconsistency, I am trying to understand why only part of the protocol is functioning while the rest fails, and I am looking for help or clarification.
I apologize for any confusion — I am simply trying to replicate the same upload behavior that ArduPilot’s uploader uses.