13#if defined(CANTYPE_2B)
58 CAN_HandleTypeDef *
hcan =
nullptr;
71 CAN_TxHeaderTypeDef
header = {0,0,0,CAN_RTR_DATA,8,(FunctionalState)0};
CAN_TxHeaderTypeDef header
static const uint32_t sendTimeout
bool sendMessage(CAN_tx_msg &msg)
const ClassType getClassType() override
void canErrorCallback(CANPort *port, uint32_t code) override
const OutputPin * silentPin
static const uint8_t slaveFilterStart
CommandStatus command(const ParsedCommand &cmd, std::vector< CommandReply > &replies)
void setSpeedPreset(uint8_t preset)
std::vector< CAN_FilterTypeDef > canFilters
int32_t addCanFilter(CAN_filter filter)
void canTxAbortCallback(CANPort *port, uint32_t mailbox) override
void setSilentMode(bool silent)
static ClassIdentifier info
void setSpeed(uint32_t speed)
void canTxCpltCallback(CANPort *port, uint32_t mailbox) override
CANPort_2B(CAN_HandleTypeDef &hcan, const CANPortHardwareConfig &presets, const OutputPin *silentPin=nullptr, uint8_t instance=0)
const ClassIdentifier getInfo()
Command handlers always have class infos. Works well with ChoosableClass.
void removeCanFilter(uint8_t filterId)
virtual uint8_t speedToPreset(uint32_t speed)
Gets preset index for a speed.
const CANPortHardwareConfig & presets
CAN port presets for different speeds. Hardware dependent.