git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@15715 27425a3e-05d8-49a3-a47f-9c15f0e5edd8
This commit is contained in:
parent
4699ee33fb
commit
3348f11f2c
|
@ -148,12 +148,23 @@
|
|||
#if !defined(SIO_USE_SYNCHRONIZATION) || defined(__DOXYGEN__)
|
||||
#define SIO_USE_SYNCHRONIZATION TRUE
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Support for streams interfacwe.
|
||||
*/
|
||||
#if !defined(SIO_USE_STREAMS_INTERFACE) || defined(__DOXYGEN__)
|
||||
#define SIO_USE_STREAMS_INTERFACE SIO_USE_SYNCHRONIZATION
|
||||
#endif
|
||||
/** @} */
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Derived constants and error checks. */
|
||||
/*===========================================================================*/
|
||||
|
||||
#if (SIO_USE_STREAMS_INTERFACE == TRUE) && (SIO_USE_SYNCHRONIZATION == FALSE)
|
||||
#error "SIO_USE_STREAMS_INTERFACE requires SIO_USE_SYNCHRONIZATION"
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Driver data structures and types. */
|
||||
/*===========================================================================*/
|
||||
|
@ -233,7 +244,7 @@ struct sio_driver_vmt {
|
|||
* architecture dependent, fields.
|
||||
*/
|
||||
struct hal_sio_driver {
|
||||
#if (SIO_USE_SYNCHRONIZATION == TRUE) || defined(__DOXYGEN__)
|
||||
#if (SIO_USE_STREAMS_INTERFACE == TRUE) || defined(__DOXYGEN__)
|
||||
/**
|
||||
* @brief Virtual Methods Table.
|
||||
*/
|
||||
|
@ -273,7 +284,7 @@ struct hal_sio_driver {
|
|||
*/
|
||||
thread_reference_t sync_txend;
|
||||
#endif /* SIO_USE_SYNCHRONIZATION == TRUE */
|
||||
#if defined(SIO_DRIVER_EXT_FIELDS)
|
||||
#if defined(SIO_DRIVER_EXT_FIELS)
|
||||
SIO_DRIVER_EXT_FIELDS
|
||||
#endif
|
||||
/* End of the mandatory fields.*/
|
||||
|
|
|
@ -46,7 +46,7 @@ static const SIOOperation default_operation = {
|
|||
/* Driver local functions. */
|
||||
/*===========================================================================*/
|
||||
|
||||
#if (SIO_USE_SYNCHRONIZATION == TRUE) || defined(__DOXYGEN__)
|
||||
#if (SIO_USE_STREAMS_INTERFACE == TRUE) || defined(__DOXYGEN__)
|
||||
static size_t sync_write(void *ip, const uint8_t *bp, size_t n,
|
||||
sysinterval_t timeout) {
|
||||
SIODriver *siop = (SIODriver *)ip;
|
||||
|
@ -193,7 +193,7 @@ static const struct sio_driver_vmt vmt = {
|
|||
__putt, __gett, __writet, __readt,
|
||||
__ctl
|
||||
};
|
||||
#endif
|
||||
#endif /* SIO_USE_STREAMS_INTERFACE */
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Driver exported functions. */
|
||||
|
@ -220,8 +220,10 @@ void sioInit(void) {
|
|||
*/
|
||||
void sioObjectInit(SIODriver *siop) {
|
||||
|
||||
#if SIO_USE_SYNCHRONIZATION == TRUE
|
||||
#if SIO_USE_STREAMS_INTERFACE == TRUE
|
||||
siop->vmt = &vmt;
|
||||
#endif
|
||||
#if SIO_USE_SYNCHRONIZATION == TRUE
|
||||
siop->sync_rx = NULL;
|
||||
siop->sync_rxidle = NULL;
|
||||
siop->sync_tx = NULL;
|
||||
|
|
Loading…
Reference in New Issue