@barometz@social.treehouse.systems
Post #2201245
2026-05-07 10:20 UTC
regret to inform you have I learned more about SocketCAN filtering options.
can.h:21
/* special address description flags for the CAN_ID */
#define CAN_EFF_FLAG 0x80000000U /* EFF/SFF is set in the MSB */
#define CAN_RTR_FLAG 0x40000000U /* remote transmission request */
#define CAN_ERR_FLAG 0x20000000U /* error message frame */
can.h:160
#define CAN_INV_FILTER 0x20000000U /* to be set in can_filter.can_id */
careful readers may notice a problem
(edit: ok apparently one of those goes in the mask, not the can_id field. That's on me, but also what the heck.)
Replies (1)
-
@barometz@social.treehouse.systems 2026-05-07 10:23
now admittedly we are using it wrong; normally you could simply not set any filters and the default behaviour would be what you want: all actual frames, no thousands of error frames. Unfortunately we've hardcoded the number of filters into this and changing that would be tricky at this stage.