18#if EFI_SIMULATOR || EFI_UNIT_TEST
19#include "fifo_buffer.h"
50 static void setDevice(CANDriver* device1, CANDriver* device2);
74 void setBit(
size_t byteIdx,
size_t bitIdx);
85 void setArray(
const uint8_t *data,
size_t len) {
86 for (
size_t i = 0; i < std::min(len,
size_t(8)); i++) {
112template <
typename TData>
140template <
typename TData>
static void populateFrame(Aim5f0 &msg)
fifo_buffer< CANTxFrame, 1024 > txCanBuffer
void transmitStruct(CanCategory category, uint32_t id, bool isExtended, bool canChannel)
uint8_t & operator[](size_t)
Read & write the raw underlying 8-byte buffer.
static void setDevice(CANDriver *device1, CANDriver *device2)
void setBit(size_t byteIdx, size_t bitIdx)
Set a single bit in the transmit buffer. Useful for single-bit flags.
void setShortValueMsb(uint16_t value, size_t offset)
const CANTxFrame * getFrame() const
static CANDriver * s_devices[2]
void setShortValue(uint16_t value, size_t offset)
Write a 16-bit short value to the buffer. Note: this writes in Intel little endian byte order.
void setArray(const uint8_t(&data)[N])
void setArray(const uint8_t *data, size_t len)
CanTxTyped(CanCategory p_category, uint32_t p_id, bool p_isExtended, size_t canChannel)
uint8_t data8[8]
Frame data.
static CanTsChannel canChannel