Soletta™ Framework
Framework for making IoT devices

Full online documentation | C API Index
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Enumerations | Functions
sol-pin-mux.h File Reference

These routines are used for Pin Multiplexing and Mapping under Soletta. More...

#include <stdint.h>
#include "sol-gpio.h"

Go to the source code of this file.

Enumerations

enum  sol_io_protocol {
  SOL_IO_AIO = 0x01, SOL_IO_GPIO = 0x02, SOL_IO_I2C = 0x04, SOL_IO_PWM = 0x08,
  SOL_IO_SPI = 0x10, SOL_IO_UART = 0x20
}
 Flags to describe pin capabilities (as the supported protocols). More...
 

Functions

int sol_pin_mux_map (const char *label, const enum sol_io_protocol prot,...)
 Maps a pin label to the parameters necessary so it works on the desired protocol. More...
 
bool sol_pin_mux_select_mux (const char *board)
 Select Pin Multiplexer instructions of a given board. More...
 
int sol_pin_mux_setup_aio (int device, int pin)
 Setup the given pin to operate as Analog I/O. More...
 
int sol_pin_mux_setup_gpio (uint32_t pin, const struct sol_gpio_config *config)
 Setup the given pin to operate in the given GPIO configuration. More...
 
int sol_pin_mux_setup_i2c (uint8_t bus)
 Setup the pins used of the given i2c bus number to operate in I2C mode. More...
 
int sol_pin_mux_setup_pwm (int device, int channel)
 Setup the given pin to operate as PWM. More...
 

Detailed Description

These routines are used for Pin Multiplexing and Mapping under Soletta.