Hardware Abstraction Layer for FreeRTOS
Collaboration diagram for Mux Subsystem:

Macros

#define MUX_CTL_OPEN   BIT(0)
 
#define MUX_CTL_PULL_DOWN   BIT(1)
 
#define MUX_CTL_PULL_UP   BIT(2)
 
#define MUX_CTL_SCHMITT   BIT(3)
 
#define MUX_CTL_MODE(x)   (x << 8)
 

Functions

struct mux * mux_init ()
 
int32_t mux_deinit (struct mux *mux)
 
int32_t mux_pinctl (struct mux *mux, uint32_t pin, uint32_t ctl, uint32_t extra)
 

Detailed Description

This is Mux Subsytem

Macro Definition Documentation

◆ MUX_CTL_MODE

#define MUX_CTL_MODE (   x)    (x << 8)

Configure mode of pin

◆ MUX_CTL_OPEN

#define MUX_CTL_OPEN   BIT(0)

Configure pin without pull down or pull down

◆ MUX_CTL_PULL_DOWN

#define MUX_CTL_PULL_DOWN   BIT(1)

Configure pin with pull down

◆ MUX_CTL_PULL_UP

#define MUX_CTL_PULL_UP   BIT(2)

Configure pin with pull up

◆ MUX_CTL_SCHMITT

#define MUX_CTL_SCHMITT   BIT(3)

Configure pin with Schmitt Trigger

Function Documentation

◆ mux_deinit()

int32_t mux_deinit ( struct mux *  mux)

Deinit Mux Subsystem

Parameters
muxMux handle
Returns
-1 on error 0 on ok

◆ mux_init()

struct mux* mux_init ( )

Init Mux Subsystem

Returns
Mux Handler

◆ mux_pinctl()

int32_t mux_pinctl ( struct mux *  mux,
uint32_t  pin,
uint32_t  ctl,
uint32_t  extra 
)

Configure pin

Parameters
muxMux handle
pinPin Number
ctlConfig Pin can be: MUX_CTL_OPEN or MUX_CTL_PULL_DOWN or MUX_CTL_PULL_UP and MUX_CTL_SCHMITT and MUX_CTL_MODE Options can mixed with Or Operator: Example: (MUX_CTL_PULL_DOWN | MUX_CTL_SCHMITT | MUX_CTL_MODE(1))
extraExtra config for mach specific settings
Returns
-1 on error and 0 on ok