ChibiOS/HAL 9.0.0
hal_sio.c File Reference

SIO Driver code. More...

#include "hal.h"

Go to the source code of this file.

Functions

static size_t sync_write (void *ip, const uint8_t *bp, size_t n, sysinterval_t timeout)
static size_t sync_read (void *ip, uint8_t *bp, size_t n, sysinterval_t timeout)
static size_t __write (void *ip, const uint8_t *bp, size_t n)
static size_t __read (void *ip, uint8_t *bp, size_t n)
static msg_t __put (void *ip, uint8_t b)
static msg_t __get (void *ip)
static msg_t __putt (void *ip, uint8_t b, sysinterval_t timeout)
static msg_t __gett (void *ip, sysinterval_t timeout)
static size_t __writet (void *ip, const uint8_t *bp, size_t n, sysinterval_t timeout)
static size_t __readt (void *ip, uint8_t *bp, size_t n, sysinterval_t timeout)
static msg_t __ctl (void *ip, unsigned int operation, void *arg)
void sioInit (void)
 SIO Driver initialization.
void sioObjectInit (SIODriver *siop)
 Initializes the standard part of a SIODriver structure.
msg_t sioStart (SIODriver *siop, const SIOConfig *config)
 Configures and activates the SIO peripheral.
void sioStop (SIODriver *siop)
 Deactivates the SIO peripheral.
void sioWriteEnableFlags (SIODriver *siop, sioevents_t mask)
 Writes the enabled events flags mask.
void sioSetEnableFlags (SIODriver *siop, sioevents_t mask)
 Sets flags into the enabled events flags mask.
void sioClearEnableFlags (SIODriver *siop, sioevents_t mask)
 Clears flags from the enabled events flags mask.
sioevents_t sioGetAndClearErrors (SIODriver *siop)
 Get and clears SIO error event flags.
sioevents_t sioGetAndClearEvents (SIODriver *siop)
 Get and clears SIO event flags.
sioevents_t sioGetEvents (SIODriver *siop)
 Returns the pending SIO event flags.
size_t sioAsyncRead (SIODriver *siop, uint8_t *buffer, size_t n)
 Reads data from the RX FIFO.
size_t sioAsyncWrite (SIODriver *siop, const uint8_t *buffer, size_t n)
 Writes data into the TX FIFO.
msg_t sioSynchronizeRX (SIODriver *siop, sysinterval_t timeout)
 Synchronizes with RX FIFO data availability.
msg_t sioSynchronizeRXIdle (SIODriver *siop, sysinterval_t timeout)
 Synchronizes with RX going idle.
msg_t sioSynchronizeTX (SIODriver *siop, sysinterval_t timeout)
 Synchronizes with TX FIFO space availability.
msg_t sioSynchronizeTXEnd (SIODriver *siop, sysinterval_t timeout)
 Synchronizes with TX completion.

Variables

static const struct sio_driver_vmt vmt

Detailed Description

SIO Driver code.

Definition in file hal_sio.c.