Commit Graph

36 Commits

Author SHA1 Message Date
Thomas Watson 4df758f52a AP_Bootloader: reject allocation of broadcast node ID
It is technically legal to receive an "allocation" of the broadcast node
ID. Fortunately, this was already ignored by `canardSetLocalNodeID`,
though it would trigger an assertion failure if those were enabled.

Fix by rejecting that ID. There is effectively no change in behavior but
the code now correctly ignores that ID and retries the allocation as it
did before.
2024-10-08 11:52:05 +11:00
Andrew Tridgell ef4fce80fb AP_Bootloader: support CAN multicast server
allows for fw update of network peripheral devices
2024-09-17 10:02:29 +10:00
Thomas Watson 308ee11ca2 AP_Bootloader: remove redundant DroneCAN packet buffer initialization
The <msg>_encode method always zeros the buffer up to <msg>_MAX_SIZE
bytes so there is no need to do it before calling the function.

Saves at least 8 bytes per instance.
2024-08-03 19:02:39 +10:00
bugobliterator e499c2d39f AP_Bootloader: fix stuck in bl on reboot from firmware with network and CAN bootlaoders 2024-07-24 17:47:23 +10:00
Andrew Tridgell ae031c4f3f AP_Bootloader: prevent external flash in DroneCAN bootloader 2024-01-21 12:30:08 +11:00
Andrew Tridgell 335ed9ebf1 AP_Bootloader: save a few bytes of flash 2024-01-21 12:30:08 +11:00
Andrew Tridgell 1bee4630cc AP_Bootloader: show IP as CAN debug msg in bootloader
this also saves a few bytes of flash for normal periph bootloader
2024-01-21 12:30:08 +11:00
Andrew Tridgell 212bde0b61 AP_Bootloader: use IP address from periph if available 2024-01-21 12:30:08 +11:00
Andrew Tridgell f353ae4933 AP_Bootloader: speed up DroneCAN fw update
pipeline file read requests to reduce impact of transport latency
2023-09-06 11:21:51 +10:00
Andrew Tridgell 23811af626 AP_Bootloader: use libcanard decoders
bugs in TAO handling are fixed, so no need for manual decoding
2023-09-06 11:21:51 +10:00
bugobliterator 0b3197727a AP_Bootloader: use dronecan_dsdlc generated code instead 2022-11-16 18:05:59 +11:00
Andrew Tridgell e60550a005 AP_Bootloader: use AP_CheckFirmware 2022-08-15 09:18:34 +10:00
bugobliterator 1f6c380f69 AP_Bootloader: add value for extra argument in encode methods 2022-03-11 18:13:54 +11:00
Andrew Tridgell 1ba5e33474 AP_Bootloader: fix for include changes 2022-02-22 12:13:19 +11:00
Andrew Tridgell 2c50ea56e8 AP_Bootloader: raise timeout on FileRead calls
this is needed to make it possible to update firmware over 56k SiK
radios using CAN_FRAME
2022-02-19 18:24:56 +11:00
Andrew Tridgell 16725f2dd4 AP_Bootloader: support ALT_BOARD_ID 2022-02-17 14:37:41 +11:00
Andrew Tridgell 432c2d1758 AP_Bootloader: support firmware update from px4 firmware
allows droncan_gui_tool to update px4 firmware with ArduPilot
bootloader
2022-02-17 14:37:41 +11:00
bugobliterator 8a4b9c2b36 AP_Periph: add support for handling Notify State message 2021-09-30 08:52:27 +10:00
Andrew Tridgell 22c936140e Tools: removed assert calls
these waste flash space and do not do us any good
2021-03-25 14:03:40 +11:00
Andrew Tridgell 3590fe36e8 AP_Bootloader: support dual CAN 2021-03-23 12:01:20 +11:00
Andrew Tridgell e0e4198358 AP_Bootloader: fixed can bootloader with old UAVCAN GUI tool
the part that was failing was the write of the leading words. That
part is not actually needed in this bootloader as we use a CRC before
running, so remove it, which fixes the old windows GUI tool.

This also saves some memory and flash
2020-12-15 12:26:14 -08:00
Tom Pittenger f62a27ca8a Tools/AP_Bootloader: differentiate FAIL_REASON_BAD_LENGTH errors 2020-12-08 14:23:11 +11:00
Andrew Tridgell 246e790484 AP_Bootloader: use new hal CAN interface for CAN support 2020-09-24 12:32:19 +10:00
Siddharth Purohit 4bfd3c0782 AP_Bootloader: add support for HAL CANIface based bootloader 2020-09-24 12:32:19 +10:00
Siddharth Purohit b8e3d9c6e8 AP_Bootloader: add fail reason bad length 2020-09-24 12:32:19 +10:00
Siddharth Purohit 2edcd852eb AP_Bootloader: add support for app start offset 2020-09-24 12:32:19 +10:00
Andrew Tridgell c998f93949 AP_Bootloader: removed use of float in can code 2020-01-07 12:37:35 +11:00
Andrew Tridgell e612ab92ff AP_Bootloader: added error codes for failing to load app
use the vendor code to indicate failure reason
2019-10-28 15:53:16 +11:00
Andrew Tridgell dcc417f27b AP_Bootloader: use crc32_small() 2019-10-28 15:53:16 +11:00
Andrew Tridgell cc1f86e1f1 AP_Bootloader: use MAINTAINENCE mode for CAN bootloader
this makes it obvious we are in the bootloader
2019-10-26 15:32:10 +11:00
Andrew Tridgell c1ef2e29d7 AP_Bootloader: stay in CAN bootloader if in watchdog reset
if the app has not been running for at least 30s then stay in
bootloader to allow used to load new fw
2019-10-26 15:32:10 +11:00
Andrew Tridgell 34e0ac51f5 AP_Bootloader: use APJ_BOARD_ID in hw major/minor 2019-10-25 09:35:27 +11:00
Andrew Tridgell 9c4a01e0b0 AP_Bootloader: speed up CAN fw load 2019-10-21 19:12:01 +11:00
Andrew Tridgell 92bd1a485a AP_Bootloader: added app descriptor checking for CAN fw 2019-10-21 19:12:01 +11:00
Andrew Tridgell 6ad762f727 AP_Bootloader: support app comms area for CAN fw update
this allows MissionPlanner to update firmware
2019-10-21 19:12:01 +11:00
Andrew Tridgell 3bc5458a82 AP_Bootloader: added CAN support for AP_Periph 2019-08-27 10:29:56 +10:00