#include <can.hpp>
|
bool | canAcceptNewTxFrame (const uavcan::CanFrame &frame) const |
|
| CanIface (bxcan::CanType *can, BusEvent &update_event, uavcan::uint8_t self_index, CanRxItem *rx_queue_buffer, uavcan::uint8_t rx_queue_capacity) |
|
void | discardTimedOutTxMailboxes (uavcan::MonotonicTime current_time) |
|
virtual uavcan::uint64_t | getErrorCount () const |
|
uavcan::uint8_t | getPeakNumTxMailboxesUsed () const |
|
unsigned | getRxQueueLength () const |
|
uavcan::uint32_t | getRxQueueOverflowCount () const |
|
uavcan::uint32_t | getVoluntaryTxAbortCount () const |
|
bool | hadActivity () |
|
void | handleRxInterrupt (uavcan::uint8_t fifo_index, uavcan::uint64_t utc_usec) |
|
void | handleTxInterrupt (uavcan::uint64_t utc_usec) |
|
int | init (const uavcan::uint32_t bitrate, const OperatingMode mode) |
|
bool | isRxBufferEmpty () const |
|
void | pollErrorFlagsFromISR () |
|
virtual int16_t | receive (CanFrame &out_frame, MonotonicTime &out_ts_monotonic, UtcTime &out_ts_utc, CanIOFlags &out_flags)=0 |
|
virtual int16_t | send (const CanFrame &frame, MonotonicTime tx_deadline, CanIOFlags flags)=0 |
|
virtual | ~ICanIface () |
|
Single CAN iface. The application shall not use this directly.
Definition at line 47 of file platform_specific_components/stm32/libuavcan/driver/include/uavcan_stm32/can.hpp.
◆ anonymous enum
◆ anonymous enum
◆ anonymous enum
◆ OperatingMode
◆ CanIface()
◆ canAcceptNewTxFrame()
bool uavcan_stm32::CanIface::canAcceptNewTxFrame |
( |
const uavcan::CanFrame & |
frame | ) |
const |
◆ computeTimings()
◆ configureFilters()
◆ discardTimedOutTxMailboxes()
◆ getErrorCount()
Total number of hardware failures and other kinds of errors (e.g. queue overruns). May increase continuously if the interface is not connected to the bus.
Implements uavcan::ICanIface.
Definition at line 862 of file uc_stm32_can.cpp.
◆ getNumFilters()
◆ getPeakNumTxMailboxesUsed()
uavcan::uint8_t uavcan_stm32::CanIface::getPeakNumTxMailboxesUsed |
( |
| ) |
const |
|
inline |
◆ getRxQueueLength()
unsigned uavcan_stm32::CanIface::getRxQueueLength |
( |
| ) |
const |
Returns the number of frames pending in the RX queue. This is intended for debug use only.
Definition at line 868 of file uc_stm32_can.cpp.
◆ getRxQueueOverflowCount()
◆ getVoluntaryTxAbortCount()
◆ hadActivity()
bool uavcan_stm32::CanIface::hadActivity |
( |
| ) |
|
Whether this iface had at least one successful IO since the previous call of this method. This is designed for use with iface activity LEDs.
Definition at line 874 of file uc_stm32_can.cpp.
◆ handleRxInterrupt()
◆ handleTxInterrupt()
◆ handleTxMailboxInterrupt()
◆ init()
Initializes the hardware CAN controller. Assumes:
- Iface clock is enabled
- Iface has been resetted via RCC
- Caller will configure NVIC by itself
Definition at line 567 of file uc_stm32_can.cpp.
◆ isRxBufferEmpty()
bool uavcan_stm32::CanIface::isRxBufferEmpty |
( |
| ) |
const |
◆ pollErrorFlagsFromISR()
void uavcan_stm32::CanIface::pollErrorFlagsFromISR |
( |
| ) |
|
This method is used to count errors and abort transmission on error if necessary. This functionality used to be implemented in the SCE interrupt handler, but that approach was generating too much processing overhead, especially on disconnected interfaces.
Should be called from RX ISR, TX ISR, and select(); interrupts must be enabled.
Definition at line 781 of file uc_stm32_can.cpp.
◆ receive()
◆ send()
◆ waitMsrINakBitStateChange()
bool uavcan_stm32::CanIface::waitMsrINakBitStateChange |
( |
bool |
target_state | ) |
|
|
private |
◆ can_
◆ error_cnt_
◆ had_activity_
bool uavcan_stm32::CanIface::had_activity_ |
|
private |
◆ peak_tx_mailbox_index_
◆ pending_tx_
◆ rx_queue_
RxQueue uavcan_stm32::CanIface::rx_queue_ |
|
private |
◆ self_index_
◆ served_aborts_cnt_
◆ TSR_ABRQx
◆ update_event_
BusEvent& uavcan_stm32::CanIface::update_event_ |
|
private |
The documentation for this class was generated from the following files: