17#if EFI_SIMULATOR || EFI_UNIT_TEST
18#include "fifo_buffer.h"
26#if (EFI_CAN_BUS_COUNT >= 3)
33 criticalError(
"Attemp to install CAN%d bus!", idx + 1);
45 m_frame.
IDE = isExtended ? CAN_IDE_EXT : CAN_IDE_STD;
49 m_frame.common.XTD = isExtended;
72#if EFI_SIMULATOR || EFI_UNIT_TEST
76 printf(
"%s Sending CAN%d message: ID=%x/l=%x %x %x %x %x %x %x %x %x \n",
104#if (EFI_CAN_BUS_COUNT >= 3)
109 efiPrintf(
"%s Sending CAN%d message: ID=%x/l=%x %x %x %x %x %x %x %x %x",
121 msg_t msg = canTransmit(
device, CAN_ANY_MAILBOX, &
m_frame, TIME_MS2I(100));
const char * getCanCategory(CanCategory value)
fifo_buffer< CANTxFrame, 1024 > txCanBuffer
fifo_buffer< CANTxFrame, 1024 > txCanBuffer
uint8_t & operator[](size_t)
Read & write the raw underlying 8-byte buffer.
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)
static void setDevice(size_t idx, CANDriver *device)
static CANDriver * s_devices[EFI_CAN_BUS_COUNT]
CanTxMessage(CanCategory category, uint32_t eid, uint8_t dlc=8, size_t bus=0, bool isExtended=false)
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.
TunerStudioOutputChannels outputChannels
static EngineAccessor engine
static constexpr engine_configuration_s * engineConfiguration
uint8_t data8[8]
Frame data.
uint8_t IDE
Identifier type.
void setArrayValues(TValue(&array)[TSize], float value)