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...
struct  joybus_gecko_config
 Configuration for 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

static struct joybus_gecko_config joybus_gecko_config_default (GPIO_Port_TypeDef port, uint8_t pin)
 Build a Gecko config with default values.
int joybus_gecko_init (struct joybus_gecko *gecko_bus, struct joybus_gecko_config config)
 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:82

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

Function Documentation

◆ joybus_gecko_config_default()

struct joybus_gecko_config joybus_gecko_config_default ( GPIO_Port_TypeDef port,
uint8_t pin )
inlinestatic

Build a Gecko config with default values.

Parameters
portthe GPIO port to use for the Joybus data line
pinthe GPIO pin to use for the Joybus data line
Returns
a config with the given GPIO, the TIMER0/USART0 peripherals, and a nominal frequency

◆ joybus_gecko_init()

int joybus_gecko_init ( struct joybus_gecko * gecko_bus,
struct joybus_gecko_config config )

Initialize a Gecko Joybus instance.

Parameters
gecko_busthe Gecko Joybus instance to initialize
configthe configuration to use, eg. from joybus_gecko_config_default()
Returns
0 on success, a negative joybus_error on failure