CAN PMU Upgrade Firmware
CAN PMU can add new features or improve performance by upgrading firmware. The following describes how to upgrade CAN pmu firmware.
ArduPilot AC4.0/AP4.0 or above version of the flight control firmware, support UAVCAN device firmware upgrade and debugging through the flight control (PX4 firmware is not supported), the following tutorial requires that the flight control firmware must be the above firmware version.
Configuration parameter
Before upgrading the firmware you need to set the flight control parameters to Enable CAN PMU; then set the following parameters to enable CAN Slcan:
CAN_SLCAN_CPORT
set to 1.Serial7_protocol
set to 22.- reboot flight control
AP/AC4.0 and above firmware, there will be two USB serial ports, one is the slcan port and the other is the MAVLINK port(if not, please reinstall your USB driver).
for Pixhack series/FMUv2/FMU V3/FMU V4 Flight control
CAN_SLCAN_CPORT
set to 1CAN_SLCAN_TIMEOUT
set to 130000CAN_SLCAN_SERNUM
set to 0- usb will stop mavlink transmission and become Slcan port.
STM32F4XX does not support dual virtual USB ports, so FMU v5 and below (not included) flight control can only be used for SLCAN after MAVlink transmission is closed; mavlink output is restored after restarting the flight control.
connection
- Connect CAN and Power cable
- Use usb to connect the flight controller to the computer while using the battery to power the CAN PMU
Process
method one:
Firmware upgrade using Mission planner
- Select the device port corresponding to slcan.
- Click "slcan mode CAN1" on the UAVCAN interface.
- Click "Update", select NO in the pop-up prompt box (yes is to select online firmware; No select local firmware)
- Select firmware file
- Wait for the writer to complete
method two:
Upgrade with UAVCAN GUI TOOL software
- Select the device port corresponding to slcan and click "ok"
- Click "√"; then double-click on the device information (marked in Figure 2 below)
- Click "update firmware", the message box will pop up "yes"
The mode/heakth/uptime entry becomes "SOftware_update"
Waiting for firmware write to complete