27 #if (HAL_USE_MAC == TRUE) || defined(__DOXYGEN__) 33 #if (MAC_USE_ZERO_COPY == TRUE) && (MAC_SUPPORTS_ZERO_COPY == FALSE) 34 #error "MAC_USE_ZERO_COPY not supported by this implementation" 82 #if MAC_USE_EVENTS == TRUE 162 if (msg == MSG_TIMEOUT) {
216 if (msg == MSG_TIMEOUT) {
void macReleaseReceiveDescriptor(MACReceiveDescriptor *rdp)
Releases a receive descriptor.
msg_t macWaitTransmitDescriptor(MACDriver *macp, MACTransmitDescriptor *tdp, sysinterval_t timeout)
Allocates a transmission descriptor.
threads_queue_t tdqueue
Transmit semaphore.
void mac_lld_init(void)
Low level MAC initialization.
void macStart(MACDriver *macp, const MACConfig *config)
Configures and activates the MAC peripheral.
static void osalSysUnlock(void)
Leaves a critical zone from thread context.
static void osalEventObjectInit(event_source_t *esp)
Initializes an event source object.
event_source_t rdevent
Receive event.
void mac_lld_release_receive_descriptor(MACReceiveDescriptor *rdp)
Releases a receive descriptor.
int32_t msg_t
Type of a message.
macstate_t state
Driver state.
msg_t macWaitReceiveDescriptor(MACDriver *macp, MACReceiveDescriptor *rdp, sysinterval_t timeout)
Waits for a received frame.
bool mac_lld_poll_link_status(MACDriver *macp)
Updates and returns the link status.
Structure representing a MAC driver.
void macObjectInit(MACDriver *macp)
Initialize the standard part of a MACDriver structure.
#define osalDbgCheck(c)
Function parameters check.
msg_t mac_lld_get_receive_descriptor(MACDriver *macp, MACReceiveDescriptor *rdp)
Returns a receive descriptor.
Structure representing a transmit descriptor.
msg_t mac_lld_get_transmit_descriptor(MACDriver *macp, MACTransmitDescriptor *tdp)
Returns a transmission descriptor.
void macReleaseTransmitDescriptor(MACTransmitDescriptor *tdp)
Releases a transmit descriptor and starts the transmission of the enqueued data as a single frame...
bool macPollLinkStatus(MACDriver *macp)
Updates and returns the link status.
uint32_t sysinterval_t
Type of system time interval.
const MACConfig * config
Current configuration data.
void mac_lld_release_transmit_descriptor(MACTransmitDescriptor *tdp)
Releases a transmit descriptor and starts the transmission of the enqueued data as a single frame...
msg_t osalThreadEnqueueTimeoutS(threads_queue_t *tqp, sysinterval_t timeout)
Enqueues the caller thread.
void mac_lld_start(MACDriver *macp)
Configures and activates the MAC peripheral.
void mac_lld_stop(MACDriver *macp)
Deactivates the MAC peripheral.
threads_queue_t rdqueue
Receive semaphore.
static void osalSysLock(void)
Enters a critical zone from thread context.
Driver configuration structure.
Structure representing a receive descriptor.
#define osalDbgAssert(c, remark)
Condition assertion.
void macInit(void)
MAC Driver initialization.
void macStop(MACDriver *macp)
Deactivates the MAC peripheral.
static void osalThreadQueueObjectInit(threads_queue_t *tqp)
Initializes a threads queue object.