#include <can.hpp>
Public Member Functions | |
template<unsigned RxQueueCapacity> | |
CanDriver (CanRxItem(&rx_queue_storage)[UAVCAN_KINETIS_NUM_IFACES][RxQueueCapacity]) | |
virtual CanIface * | getIface (uavcan::uint8_t iface_index) |
virtual uavcan::uint8_t | getNumIfaces () const |
bool | hadActivity () |
bool | hasReadableInterfaces () const |
int | init (const uavcan::uint32_t bitrate, const CanIface::OperatingMode mode) |
uavcan::CanSelectMasks | makeSelectMasks (const uavcan::CanFrame *(&pending_tx)[uavcan::MaxCanIfaces]) const |
![]() | |
virtual const ICanIface * | getIface (uint8_t iface_index) const |
virtual int16_t | select (CanSelectMasks &inout_masks, const CanFrame *(&pending_tx)[MaxCanIfaces], MonotonicTime blocking_deadline)=0 |
virtual | ~ICanDriver () |
Private Member Functions | |
virtual uavcan::int16_t | select (uavcan::CanSelectMasks &inout_masks, const uavcan::CanFrame *(&pending_tx)[uavcan::MaxCanIfaces], uavcan::MonotonicTime blocking_deadline) |
![]() | |
Noncopyable () | |
~Noncopyable () | |
Static Private Member Functions | |
static void | initOnce () |
Private Attributes | |
CanIface | if0_ |
BusEvent | update_event_ |
CAN driver, incorporates all available CAN ifaces. Please avoid direct use, prefer CanInitHelper instead.
Definition at line 267 of file platform_specific_components/kinetis/libuavcan/driver/include/uavcan_kinetis/can.hpp.
|
inline |
Definition at line 284 of file platform_specific_components/kinetis/libuavcan/driver/include/uavcan_kinetis/can.hpp.
|
virtual |
Returns an interface by index, or null pointer if the index is out of range.
Implements uavcan::ICanDriver.
Definition at line 1000 of file uc_kinetis_flexcan.cpp.
|
inlinevirtual |
Total number of available CAN interfaces. This value shall not change after initialization.
Implements uavcan::ICanDriver.
Definition at line 312 of file platform_specific_components/kinetis/libuavcan/driver/include/uavcan_kinetis/can.hpp.
bool uavcan_kinetis::CanDriver::hadActivity | ( | ) |
Whether at least one iface had at least one successful IO since previous call of this method. This is designed for use with iface activity LEDs.
Definition at line 1009 of file uc_kinetis_flexcan.cpp.
bool uavcan_kinetis::CanDriver::hasReadableInterfaces | ( | ) | const |
Whether there's at least one interface where receive() would return a frame.
Definition at line 873 of file uc_kinetis_flexcan.cpp.
int uavcan_kinetis::CanDriver::init | ( | const uavcan::uint32_t | bitrate, |
const CanIface::OperatingMode | mode | ||
) |
Returns zero if OK. Returns negative value if failed (e.g. invalid bitrate).
Definition at line 948 of file uc_kinetis_flexcan.cpp.
|
staticprivate |
Definition at line 918 of file uc_kinetis_flexcan.cpp.
uavcan::CanSelectMasks uavcan_kinetis::CanDriver::makeSelectMasks | ( | const uavcan::CanFrame *(&) | pending_tx[uavcan::MaxCanIfaces] | ) | const |
This function returns select masks indicating which interfaces are available for read/write.
Definition at line 843 of file uc_kinetis_flexcan.cpp.
|
privatevirtual |
Definition at line 884 of file uc_kinetis_flexcan.cpp.
|
private |
Definition at line 271 of file platform_specific_components/kinetis/libuavcan/driver/include/uavcan_kinetis/can.hpp.
|
private |
Definition at line 270 of file platform_specific_components/kinetis/libuavcan/driver/include/uavcan_kinetis/can.hpp.