Bouffalo SDK
1.0
Bouffalolab Software Development Kit
|
![]() |
Modules | |
gpio pin definition | |
Gpio pin definitions. | |
gpio interrupt trigger mode definition | |
gpio uart function definition | |
gpio feature control cmd definition | |
Macros | |
#define | GPIO_FUNC_SHIFT (0) /* Bits 0-4: GPIO function */ |
#define | GPIO_FUNC_MASK (0x1f << GPIO_FUNC_SHIFT) |
#define | GPIO_MODE_SHIFT (5) /* Bits 5-6: Port Mode */ |
#define | GPIO_MODE_MASK (3 << GPIO_MODE_SHIFT) |
#define | GPIO_INPUT (0 << GPIO_MODE_SHIFT) /* Input Enable */ |
#define | GPIO_OUTPUT (1 << GPIO_MODE_SHIFT) /* Output Enable */ |
#define | GPIO_ANALOG (2 << GPIO_MODE_SHIFT) /* Analog Enable */ |
#define | GPIO_ALTERNATE (3 << GPIO_MODE_SHIFT) /* Alternate Enable */ |
#define | GPIO_PUPD_SHIFT (7) /* Bits 7-8: Pull-up/down */ |
#define | GPIO_PUPD_MASK (3 << GPIO_PUPD_SHIFT) |
#define | GPIO_FLOAT (0 << GPIO_PUPD_SHIFT) /* No pull-up, pull-down */ |
#define | GPIO_PULLUP (1 << GPIO_PUPD_SHIFT) /* Pull-up */ |
#define | GPIO_PULLDOWN (2 << GPIO_PUPD_SHIFT) /* Pull-down */ |
#define | GPIO_SMT_SHIFT (9) /* Bits 9: SMT Enable */ |
#define | GPIO_SMT_MASK (1 << GPIO_SMT_SHIFT) |
#define | GPIO_SMT_DIS (0 << GPIO_SMT_SHIFT) |
#define | GPIO_SMT_EN (1 << GPIO_SMT_SHIFT) |
#define | GPIO_DRV_SHIFT (10) /* Bits 10-11: Drive */ |
#define | GPIO_DRV_MASK (3 << GPIO_DRV_SHIFT) |
#define | GPIO_DRV_0 (0 << GPIO_DRV_SHIFT) |
#define | GPIO_DRV_1 (1 << GPIO_DRV_SHIFT) |
#define | GPIO_DRV_2 (2 << GPIO_DRV_SHIFT) |
#define | GPIO_DRV_3 (3 << GPIO_DRV_SHIFT) |
Functions | |
void | bflb_gpio_init (struct bflb_device_s *dev, uint8_t pin, uint32_t cfgset) |
Initialize gpio pin. More... | |
void | bflb_gpio_deinit (struct bflb_device_s *dev, uint8_t pin) |
Deinitialize gpio pin with input float. More... | |
void | bflb_gpio_set (struct bflb_device_s *dev, uint8_t pin) |
Write gpio pin with high level. More... | |
void | bflb_gpio_reset (struct bflb_device_s *dev, uint8_t pin) |
Write gpio pin with low level. More... | |
bool | bflb_gpio_read (struct bflb_device_s *dev, uint8_t pin) |
Read level from gpio pin. More... | |
void | bflb_gpio_pin0_31_write (struct bflb_device_s *dev, uint32_t val) |
Write gpio pin 0~31. More... | |
void | bflb_gpio_pin32_63_write (struct bflb_device_s *dev, uint32_t val) |
Write gpio pin 32~63. More... | |
uint32_t | bflb_gpio_pin0_31_read (struct bflb_device_s *dev) |
Read level from gpio pin 0~31. More... | |
uint32_t | bflb_gpio_pin32_63_read (struct bflb_device_s *dev) |
Read level from gpio pin 32~63. More... | |
void | bflb_gpio_int_init (struct bflb_device_s *dev, uint8_t pin, uint8_t trig_mode) |
Config gpio pin interrupt. More... | |
void | bflb_gpio_int_mask (struct bflb_device_s *dev, uint8_t pin, bool mask) |
Enable or disable gpio pin interrupt. More... | |
bool | bflb_gpio_get_intstatus (struct bflb_device_s *dev, uint8_t pin) |
Get gpio pin interrupt status. More... | |
void | bflb_gpio_int_clear (struct bflb_device_s *dev, uint8_t pin) |
Clear gpio pin interrupt status. More... | |
void | bflb_gpio_uart_init (struct bflb_device_s *dev, uint8_t pin, uint8_t uart_func) |
Config gpio pin with uart function. More... | |
int | bflb_gpio_feature_control (struct bflb_device_s *dev, int cmd, size_t arg) |
Control gpio feature. More... | |
#define GPIO_ALTERNATE (3 << GPIO_MODE_SHIFT) /* Alternate Enable */ |
Definition at line 169 of file bflb_gpio.h.
#define GPIO_ANALOG (2 << GPIO_MODE_SHIFT) /* Analog Enable */ |
Definition at line 168 of file bflb_gpio.h.
#define GPIO_DRV_0 (0 << GPIO_DRV_SHIFT) |
Definition at line 184 of file bflb_gpio.h.
#define GPIO_DRV_1 (1 << GPIO_DRV_SHIFT) |
Definition at line 185 of file bflb_gpio.h.
#define GPIO_DRV_2 (2 << GPIO_DRV_SHIFT) |
Definition at line 186 of file bflb_gpio.h.
#define GPIO_DRV_3 (3 << GPIO_DRV_SHIFT) |
Definition at line 187 of file bflb_gpio.h.
#define GPIO_DRV_MASK (3 << GPIO_DRV_SHIFT) |
Definition at line 183 of file bflb_gpio.h.
#define GPIO_DRV_SHIFT (10) /* Bits 10-11: Drive */ |
Definition at line 182 of file bflb_gpio.h.
#define GPIO_FLOAT (0 << GPIO_PUPD_SHIFT) /* No pull-up, pull-down */ |
Definition at line 173 of file bflb_gpio.h.
#define GPIO_FUNC_MASK (0x1f << GPIO_FUNC_SHIFT) |
Definition at line 86 of file bflb_gpio.h.
#define GPIO_FUNC_SHIFT (0) /* Bits 0-4: GPIO function */ |
Definition at line 85 of file bflb_gpio.h.
#define GPIO_INPUT (0 << GPIO_MODE_SHIFT) /* Input Enable */ |
Definition at line 166 of file bflb_gpio.h.
#define GPIO_MODE_MASK (3 << GPIO_MODE_SHIFT) |
Definition at line 165 of file bflb_gpio.h.
#define GPIO_MODE_SHIFT (5) /* Bits 5-6: Port Mode */ |
Definition at line 164 of file bflb_gpio.h.
#define GPIO_OUTPUT (1 << GPIO_MODE_SHIFT) /* Output Enable */ |
Definition at line 167 of file bflb_gpio.h.
#define GPIO_PULLDOWN (2 << GPIO_PUPD_SHIFT) /* Pull-down */ |
Definition at line 175 of file bflb_gpio.h.
#define GPIO_PULLUP (1 << GPIO_PUPD_SHIFT) /* Pull-up */ |
Definition at line 174 of file bflb_gpio.h.
#define GPIO_PUPD_MASK (3 << GPIO_PUPD_SHIFT) |
Definition at line 172 of file bflb_gpio.h.
#define GPIO_PUPD_SHIFT (7) /* Bits 7-8: Pull-up/down */ |
Definition at line 171 of file bflb_gpio.h.
#define GPIO_SMT_DIS (0 << GPIO_SMT_SHIFT) |
Definition at line 179 of file bflb_gpio.h.
#define GPIO_SMT_EN (1 << GPIO_SMT_SHIFT) |
Definition at line 180 of file bflb_gpio.h.
#define GPIO_SMT_MASK (1 << GPIO_SMT_SHIFT) |
Definition at line 178 of file bflb_gpio.h.
#define GPIO_SMT_SHIFT (9) /* Bits 9: SMT Enable */ |
Definition at line 177 of file bflb_gpio.h.
void bflb_gpio_deinit | ( | struct bflb_device_s * | dev, |
uint8_t | pin | ||
) |
Deinitialize gpio pin with input float.
[in] | dev | device handle |
[in] | pin | gpio pin, use gpio pin definition |
int bflb_gpio_feature_control | ( | struct bflb_device_s * | dev, |
int | cmd, | ||
size_t | arg | ||
) |
Control gpio feature.
[in] | dev | device handle |
[in] | cmd | feature command, use gpio feature control cmd definition |
[in] | arg | user data |
bool bflb_gpio_get_intstatus | ( | struct bflb_device_s * | dev, |
uint8_t | pin | ||
) |
Get gpio pin interrupt status.
[in] | dev | device handle |
[in] | pin | gpio pin, use gpio pin definition |
void bflb_gpio_init | ( | struct bflb_device_s * | dev, |
uint8_t | pin, | ||
uint32_t | cfgset | ||
) |
Initialize gpio pin.
[in] | dev | device handle |
[in] | pin | gpio pin, use gpio pin definition |
[in] | cfgset | gpio config mask |
void bflb_gpio_int_clear | ( | struct bflb_device_s * | dev, |
uint8_t | pin | ||
) |
Clear gpio pin interrupt status.
[in] | dev | device handle |
[in] | pin | gpio pin, use gpio pin definition |
void bflb_gpio_int_init | ( | struct bflb_device_s * | dev, |
uint8_t | pin, | ||
uint8_t | trig_mode | ||
) |
Config gpio pin interrupt.
[in] | dev | device handle |
[in] | pin | gpio pin, use gpio pin definition |
[in] | trig_mode | mode to trigger interrupt |
void bflb_gpio_int_mask | ( | struct bflb_device_s * | dev, |
uint8_t | pin, | ||
bool | mask | ||
) |
Enable or disable gpio pin interrupt.
[in] | dev | device handle |
[in] | pin | gpio pin, use gpio pin definition |
[in] | mask | true means disable, false means enable |
uint32_t bflb_gpio_pin0_31_read | ( | struct bflb_device_s * | dev | ) |
Read level from gpio pin 0~31.
[in] | dev | device handle |
void bflb_gpio_pin0_31_write | ( | struct bflb_device_s * | dev, |
uint32_t | val | ||
) |
Write gpio pin 0~31.
[in] | dev | device handle |
[in] | val | gpio pin 0~31 value |
uint32_t bflb_gpio_pin32_63_read | ( | struct bflb_device_s * | dev | ) |
Read level from gpio pin 32~63.
[in] | dev | device handle |
void bflb_gpio_pin32_63_write | ( | struct bflb_device_s * | dev, |
uint32_t | val | ||
) |
Write gpio pin 32~63.
[in] | dev | device handle |
[in] | val | gpio pin 32~63 value |
bool bflb_gpio_read | ( | struct bflb_device_s * | dev, |
uint8_t | pin | ||
) |
Read level from gpio pin.
[in] | dev | device handle |
[in] | pin | gpio pin, use gpio pin definition |
void bflb_gpio_reset | ( | struct bflb_device_s * | dev, |
uint8_t | pin | ||
) |
Write gpio pin with low level.
[in] | dev | device handle |
[in] | pin | gpio pin, use gpio pin definition |
void bflb_gpio_set | ( | struct bflb_device_s * | dev, |
uint8_t | pin | ||
) |
Write gpio pin with high level.
[in] | dev | device handle |
[in] | pin | gpio pin, use gpio pin definition |
void bflb_gpio_uart_init | ( | struct bflb_device_s * | dev, |
uint8_t | pin, | ||
uint8_t | uart_func | ||
) |
Config gpio pin with uart function.
[in] | dev | device handle |
[in] | pin | gpio pin, use gpio pin definition |
[in] | uart_func | uart function, use gpio uart function definition |