Nut/OS  5.0.5
API Reference
_AHDLCDCB Struct Reference

Asynchronous HDLC device information structure. More...

#include <dev/ahdlc.h>

Collaboration diagram for _AHDLCDCB:
[legend]

Data Fields

uint32_t dcb_modeflags
 Mode flags.
uint32_t dcb_statusflags
 Status flags.
uint32_t dcb_rtimeout
 Read timeout.
uint32_t dcb_wtimeout
 Write timeout.
HANDLE dcb_tx_rdy
 Queue of threads waiting for output buffer empty.
HANDLE dcb_rx_rdy
 Queue of threads waiting for a character in the input buffer.
uint8_t dcb_base
 Hardware base address.
volatile uint8_tdcb_rx_buf
 Input buffer.
volatile uint8_t dcb_rx_idx
 Input buffer index for next incoming byte.
uint8_t dcb_rd_idx
 Input buffer index for next byte to read.
uint8_tdcb_tx_buf
 Output buffer.
volatile uint8_t dcb_tx_idx
 Output buffer index for next outgoing byte.
uint8_t dcb_wr_idx
 Output buffer index for next byte to write.
HANDLE dcb_mf_evt
 HDLC mode change event queue.
uint32_t dcb_rx_accm
 32-bit receive ACCM.
uint32_t dcb_tx_accm
 256-bit transmit ACCM.
uint16_t dcb_rx_mru
 Maximum receive MRU.
uint16_t dcb_tx_mru
 Maximum transmit MRU.

Detailed Description

Asynchronous HDLC device information structure.

The start of this structure is equal to the UARTDCB structure.


Field Documentation

Queue of threads waiting for output buffer empty.

Threads are added to this queue when the output buffer is full or when flushing the output buffer.

Queue of threads waiting for a character in the input buffer.

Threads are added to this queue when the output buffer is empty.

Referenced by AhdlcAt91IOCtl(), AhdlcAt91Read(), AhdlcAvrIOCtl(), AhdlcAvrRead(), and AhdlcRx().

Hardware base address.

This is a copy of the base address in the NUTDEVICE structure and required by the interrupt routine.

Referenced by AhdlcAt91Init(), AhdlcAt91IOCtl(), and AhdlcAvrInit().

Input buffer.

This buffer is filled by the the receiver interrupt, so the contents of the buffer is volatile.

Referenced by AhdlcAt91Init(), AhdlcAt91Read(), AhdlcAvrInit(), AhdlcAvrRead(), and AhdlcRx().

Input buffer index for next incoming byte.

This volatile index is incremented by the receiver interrupt.

Referenced by AhdlcAt91Read(), AhdlcAvrRead(), and AhdlcRx().

Input buffer index for next byte to read.

Referenced by AhdlcAt91Read(), AhdlcAvrRead(), and AhdlcRx().

Output buffer.

Referenced by AhdlcAt91Init(), and AhdlcAvrInit().

Output buffer index for next outgoing byte.

This volatile index is incremented by the transmit interrupt.

Output buffer index for next byte to write.

HDLC mode change event queue.

The frame receiver thread is waiting on this queue until the device is switched to HDLC mode.

Referenced by AhdlcAt91IOCtl(), AhdlcAvrIOCtl(), and AhdlcRx().

32-bit receive ACCM.

256-bit transmit ACCM.

Referenced by AhdlcAt91Init(), AhdlcAvrInit(), and AhdlcAvrIOCtl().


The documentation for this struct was generated from the following file: