Skip to content

Commit 500f0c8

Browse files
v0 FD remarks
1 parent 40ff30f commit 500f0c8

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

libcanard/canard.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1062,6 +1062,8 @@ typedef struct
10621062
// In non-first frames, we attempt to parse the frame as both versions simultaneously and then let the caller
10631063
// decide which one is correct by checking for incomplete multi-frame reassembly states.
10641064
// The return value is a bitmask indicating which of the versions have been parsed at this level.
1065+
// This function admits v0 frames with MTU>8 even though this is not compliant with the v0 specification;
1066+
// there are a few non-compliant implementations out there that use this and there is value in liberal acceptance.
10651067
static byte_t rx_parse(const uint32_t can_id,
10661068
const canard_bytes_t payload_raw,
10671069
frame_t* const out_v0,
@@ -1593,7 +1595,7 @@ static void node_id_occupancy_update(canard_t* const self, const byte_t src, con
15931595
(void)src;
15941596
(void)dst;
15951597
// TODO not implemented.
1596-
// TODO filtering.
1598+
// TODO purge pending TX transfers that have already emitted the first frame.
15971599
rx_filter_configure(self);
15981600
}
15991601

libcanard/canard.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -335,7 +335,7 @@ struct canard_t
335335
/// the setting only affects the mode used for outgoing frames.
336336
///
337337
/// Legacy v0 transfers (UAVCAN/DroneCAN) are always sent in Classic CAN mode regardless of this flag,
338-
/// because UAVCAN v0 does not define CAN FD support.
338+
/// because UAVCAN v0 does not define CAN FD support. CAN FD v0 transfers can still be received though.
339339
bool fd;
340340

341341
/// Queue size and capacity are measured in CAN frames for convenience, but the TX pipeline actually operates

0 commit comments

Comments
 (0)