KETCube
Data Structures | Macros | Typedefs | Enumerations | Functions

KETCube UART driver for STM32L0. More...

Data Structures

struct  ketCube_UART_descriptor_t
 UART descriptor structure. More...
 

Macros

#define KETCUBE_UART_NAME   "uart_drv"
 UART driver name. More...
 

Typedefs

typedef void(* ketCube_UART_SimpleCbFn_t) (void)
 

Enumerations

enum  ketCube_UART_ChannelNo_t {
  KETCUBE_UART_CHANNEL_1 = 0, KETCUBE_UART_CHANNEL_2 = 1, KETCUBE_UART_CHANNEL_3 = 2, KETCUBE_UART_CHANNEL_4 = 3,
  KETCUBE_UART_CHANNEL_5 = 4, KETCUBE_UART_CHANNEL_COUNT
}
 UART supported channels. More...
 

Functions

ketCube_cfg_DrvError_t ketCube_UART_RegisterHandle (ketCube_UART_ChannelNo_t channel, ketCube_UART_descriptor_t *descriptor)
 Register UART channel for exclusive access. More...
 
ketCube_cfg_DrvError_t ketCube_UART_UnRegisterHandle (ketCube_UART_ChannelNo_t channel)
 Unregister UART channel. More...
 
ketCube_cfg_DrvError_t ketCube_UART_SetupPin (ketCube_gpio_port_t port, ketCube_gpio_pin_t pin, uint8_t af)
 Setup UART PIN(s) More...
 
UART_HandleTypeDef * ketCube_UART_GetHandle (ketCube_UART_ChannelNo_t channel)
 Retrieve UART handle for given channel. More...
 
void ketCube_UART_IRQCallback (ketCube_UART_ChannelNo_t channel)
 
void ketCube_UART_ReceiveCallback (ketCube_UART_ChannelNo_t channel)
 
void ketCube_UART_TransmitCallback (ketCube_UART_ChannelNo_t channel)
 
void ketCube_UART_ErrorCallback (ketCube_UART_ChannelNo_t channel)
 
void ketCube_UART_WakeupCallback (ketCube_UART_ChannelNo_t channel)
 
void ketCube_UART_IoInitCallback (ketCube_UART_ChannelNo_t channel)
 
void ketCube_UART_IoDeInitCallback (ketCube_UART_ChannelNo_t channel)
 
void ketCube_UART_IoInitAll (void)
 Initialize all registered descriptors (e.g. when going back from sleep) More...
 
void ketCube_UART_IoDeInitAll (void)
 Denitialize all registered descriptors (e.g. when going to sleep) More...
 
void ketCube_UART_EnableAll (void)
 Enable All Registered UART Instances. More...
 
void ketCube_UART_DisableAll (void)
 Disable All UART Instances. More...
 

Detailed Description

KETCube UART driver for STM32L0.

Macro Definition Documentation

◆ KETCUBE_UART_NAME

#define KETCUBE_UART_NAME   "uart_drv"

UART driver name.

Typedef Documentation

◆ ketCube_UART_SimpleCbFn_t

typedef void(* ketCube_UART_SimpleCbFn_t) (void)

Enumeration Type Documentation

◆ ketCube_UART_ChannelNo_t

UART supported channels.

Todo:
rename to respect channel names: USART 1,2,4,5, LPUART
Enumerator
KETCUBE_UART_CHANNEL_1 
KETCUBE_UART_CHANNEL_2 
KETCUBE_UART_CHANNEL_3 
KETCUBE_UART_CHANNEL_4 
KETCUBE_UART_CHANNEL_5 
KETCUBE_UART_CHANNEL_COUNT 

Function Documentation

◆ ketCube_UART_DisableAll()

void ketCube_UART_DisableAll ( void  )

Disable All UART Instances.

◆ ketCube_UART_EnableAll()

void ketCube_UART_EnableAll ( void  )

Enable All Registered UART Instances.

◆ ketCube_UART_ErrorCallback()

void ketCube_UART_ErrorCallback ( ketCube_UART_ChannelNo_t  channel)

◆ ketCube_UART_GetHandle()

UART_HandleTypeDef* ketCube_UART_GetHandle ( ketCube_UART_ChannelNo_t  channel)

Retrieve UART handle for given channel.

Parameters
channelUART channel
Return values
validhandle or NULL if the channel hasn't been registered

◆ ketCube_UART_IoDeInitAll()

void ketCube_UART_IoDeInitAll ( void  )

Denitialize all registered descriptors (e.g. when going to sleep)

◆ ketCube_UART_IoDeInitCallback()

void ketCube_UART_IoDeInitCallback ( ketCube_UART_ChannelNo_t  channel)

◆ ketCube_UART_IoInitAll()

void ketCube_UART_IoInitAll ( void  )

Initialize all registered descriptors (e.g. when going back from sleep)

◆ ketCube_UART_IoInitCallback()

void ketCube_UART_IoInitCallback ( ketCube_UART_ChannelNo_t  channel)

◆ ketCube_UART_IRQCallback()

void ketCube_UART_IRQCallback ( ketCube_UART_ChannelNo_t  channel)

◆ ketCube_UART_ReceiveCallback()

void ketCube_UART_ReceiveCallback ( ketCube_UART_ChannelNo_t  channel)

◆ ketCube_UART_RegisterHandle()

ketCube_cfg_DrvError_t ketCube_UART_RegisterHandle ( ketCube_UART_ChannelNo_t  channel,
ketCube_UART_descriptor_t descriptor 
)

Register UART channel for exclusive access.

Parameters
channelUART channel to be registered
descriptordescriptor with filled information
Return values
KETCUBE_CFG_DRV_OKin case of success
KETCUBE_CFG_DRV_ERRORin case of failure

◆ ketCube_UART_SetupPin()

ketCube_cfg_DrvError_t ketCube_UART_SetupPin ( ketCube_gpio_port_t  port,
ketCube_gpio_pin_t  pin,
uint8_t  af 
)

Setup UART PIN(s)

Parameters
pinKETCube PIN
portKETCube PORT
afalternate function for selected UART peripheral and PIN
Return values
KETCUBE_CFG_DRV_OKin case of success
KETCUBE_CFG_DRV_ERRORin case of failure

◆ ketCube_UART_TransmitCallback()

void ketCube_UART_TransmitCallback ( ketCube_UART_ChannelNo_t  channel)

◆ ketCube_UART_UnRegisterHandle()

ketCube_cfg_DrvError_t ketCube_UART_UnRegisterHandle ( ketCube_UART_ChannelNo_t  channel)

Unregister UART channel.

Parameters
channelUART channel to be unregistered
Return values
KETCUBE_CFGDRV_OKin case of success
KETCUBE_CFG_DRV_ERRORin case of failure

◆ ketCube_UART_WakeupCallback()

void ketCube_UART_WakeupCallback ( ketCube_UART_ChannelNo_t  channel)