prf::usb::ncm namespace

Classes

class INcmDevice
struct QueuedFrame
struct QueueState
class TinyUsbNcmDevice

Functions

auto begin_tx_frame() -> QueuedFrame*
void complete_tx_frame()
auto default_device() -> INcmDevice&
auto dequeue_rx_frame(uint8_t*const out, const size_t out_capacity, size_t*const out_size) -> bool
auto enqueue_tx_frame(const uint8_t*const frame, const size_t frame_size) -> bool
auto init() -> bool
void init_mac_identity()
auto link_up() -> bool
auto mac_address() -> const uint8_t*
auto maybe_start_tx() -> bool
auto packetrf_usb_ncm_mac_string(void) -> const char*
auto pop_rx_frame(uint8_t*const out, const size_t out_capacity, size_t*const out_size) -> bool
auto push_rx_frame(const uint8_t*const src, const uint16_t size) -> bool
auto push_tx_frame(const uint8_t*const src, const size_t size) -> bool
auto ready() -> bool
void service()

Variables

std::atomic_bool g_initialized
std::atomic_bool g_link_up
std::array<char, 13> g_mac_string
QueueState g_queue
std::atomic_bool g_tx_in_flight
size_t kMaxFrameBytes constexpr

Function documentation

void prf::usb::ncm::complete_tx_frame()

bool prf::usb::ncm::dequeue_rx_frame(uint8_t*const out, const size_t out_capacity, size_t*const out_size)

bool prf::usb::ncm::enqueue_tx_frame(const uint8_t*const frame, const size_t frame_size)

bool prf::usb::ncm::init()

void prf::usb::ncm::init_mac_identity()

bool prf::usb::ncm::link_up()

const uint8_t* prf::usb::ncm::mac_address()

bool prf::usb::ncm::maybe_start_tx()

const char* prf::usb::ncm::packetrf_usb_ncm_mac_string(void)

bool prf::usb::ncm::pop_rx_frame(uint8_t*const out, const size_t out_capacity, size_t*const out_size)

bool prf::usb::ncm::push_rx_frame(const uint8_t*const src, const uint16_t size)

bool prf::usb::ncm::push_tx_frame(const uint8_t*const src, const size_t size)

bool prf::usb::ncm::ready()

void prf::usb::ncm::service()

Variable documentation

std::atomic_bool prf::usb::ncm::g_initialized

std::atomic_bool prf::usb::ncm::g_link_up

std::array<char, 13> prf::usb::ncm::g_mac_string

QueueState prf::usb::ncm::g_queue

std::atomic_bool prf::usb::ncm::g_tx_in_flight

size_t prf::usb::ncm::kMaxFrameBytes constexpr