libjoybus
Joybus implementation for 32-bit MCUs
Loading...
Searching...
No Matches
Gecko Backend

Silicon Labs EFM32/EFR32 Joybus backend. More...

Data Structures

struct  joybus_gecko_data
struct  joybus_gecko
 A Gecko Joybus instance. More...

Macros

#define JOYBUS_GECKO(bus)
 Macro to cast a generic Joybus instance to a Gecko Joybus instance.
#define CHIPS_PER_BIT   4
#define EDGES_PER_BYTE   16

Functions

int joybus_gecko_init (struct joybus_gecko *gecko_bus, GPIO_Port_TypeDef port, uint8_t pin, TIMER_TypeDef *rx_timer, USART_TypeDef *tx_usart)
 Initialize a Gecko Joybus instance.

Detailed Description

Silicon Labs EFM32/EFR32 Joybus backend.

Macro Definition Documentation

◆ JOYBUS_GECKO

#define JOYBUS_GECKO ( bus)
Value:
((struct joybus_gecko *)(bus))
A Gecko Joybus instance.
Definition gecko.h:87

Macro to cast a generic Joybus instance to a Gecko Joybus instance.

Function Documentation

◆ joybus_gecko_init()

int joybus_gecko_init ( struct joybus_gecko * gecko_bus,
GPIO_Port_TypeDef port,
uint8_t pin,
TIMER_TypeDef * rx_timer,
USART_TypeDef * tx_usart )

Initialize a Gecko Joybus instance.

Note: Some peripherals cannot be used on certain ports, check the DBUS Routing Table in the reference manual for your MCU.

Parameters
gecko_busthe Gecko Joybus instance to initialize
portthe GPIO port to use for the Joybus data line
pinthe GPIO pin to use for the Joybus data line
rx_timerthe TIMER peripheral to use for receiving data
tx_usartthe USART peripheral to use for transmitting data
Returns
0 on success, a negative joybus_error on failure