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