22 alignas(
alignof(uintptr_t)) std::array<uint8_t, 8>
data;
87 virtual std::optional<size_t>
89 void (*callback)(
const CanMessage &msg,
void *context),
95 std::function<
void(
const CanMessage &)> &&callback) {
96 callback_ = std::move(callback);
101 reinterpret_cast<std::function<
void(
const CanMessage &)
> *>(
108 template <
class Queue>
113 auto *queue =
reinterpret_cast<Queue *
>(context);
120 std::function<void(
const CanMessage &)> callback_;
virtual ~CanBase()
Definition common.hpp:83
std::optional< size_t > attach_rx_filter(const CanFilter &filter, std::function< void(const CanMessage &)> &&callback)
Definition common.hpp:94
std::optional< size_t > attach_rx_queue(const CanFilter &filter, Queue &queue)
Definition common.hpp:109
virtual std::optional< size_t > attach_rx_filter(const CanFilter &filter, void(*callback)(const CanMessage &msg, void *context), void *context)=0
virtual bool detach_rx_filter(size_t filter_index)=0
virtual bool transmit(const CanMessage &msg, uint32_t timeout)=0
uint32_t id
Definition common.hpp:13
bool ide
Definition common.hpp:15
uint32_t mask
Definition common.hpp:14
uint8_t dlc
Definition common.hpp:21
std::array< uint8_t, 8 > data
Definition common.hpp:22
uint32_t id
Definition common.hpp:19
bool ide
Definition common.hpp:20