Go to the documentation of this file.
46 #ifndef __KETCUBE_GPIO_H
47 #define __KETCUBE_GPIO_H
49 #include "stm32l0xx_hal_gpio.h"
58 #define KETCUBE_GPIO_NAME "gpio_drv"
60 #define KETCUBE_GPIO_LED_PERIOD 500
128 #ifdef __ARMCC_VERSION
171 GPIO_InitTypeDef * initStruct);
ketCube_cfg_DrvError_t ketCube_GPIO_Init(ketCube_gpio_port_t port, uint16_t pin, GPIO_InitTypeDef *initStruct)
Initializes the GPIO PIN(s)
Definition: ketCube_gpio.c:245
uint8_t value
Definition: ketCube_gpio.h:137
void(* ketCube_GPIO_VoidFn_t)(void *context)
Pointer to a IRQ Handler Function.
Definition: ketCube_gpio.h:149
@ KETCUBE_GPIO_PIN_15
Definition: ketCube_gpio.h:82
@ KETCUBE_GPIO_PIN_4
Definition: ketCube_gpio.h:71
void ketCube_GPIO_Write(ketCube_gpio_port_t port, ketCube_gpio_pin_t pin, bool bit)
Writes the bit value to the GPIO PIN.
Definition: ketCube_gpio.c:471
ketCube_gpio_LEDState_t
LED States.
Definition: ketCube_gpio.h:117
@ KETCUBE_GPIO_PIN_0
Definition: ketCube_gpio.h:67
@ KETCUBE_GPIO_LED_BLINK_SINGLE
Definition: ketCube_gpio.h:120
@ KETCUBE_GPIO_PIN_7
Definition: ketCube_gpio.h:74
@ KETCUBE_GPIO_PD
Definition: ketCube_gpio.h:92
#define TRUE
boolean TRUE
Definition: ketCube_common.h:69
ketCube_cfg_DrvError_t ketCube_GPIO_ClearIrq(ketCube_gpio_port_t port, ketCube_gpio_pin_t pin)
Clear IRQ for the GPIO object.
Definition: ketCube_gpio.c:442
void ketCube_GPIO_SetLED(ketCube_gpio_port_t port, ketCube_gpio_pin_t pin, ketCube_gpio_LEDState_t state)
Sets the LED state.
Definition: ketCube_gpio.c:500
@ KETCUBE_GPIO_FUNCTION_LED
Definition: ketCube_gpio.h:102
@ KETCUBE_GPIO_PIN_10
Definition: ketCube_gpio.h:77
@ KETCUBE_GPIO_PIN_5
Definition: ketCube_gpio.h:72
@ KETCUBE_GPIO_FUNCTION_BUTTON
Definition: ketCube_gpio.h:103
ketCube_gpio_port_t
GPIO Ports.
Definition: ketCube_gpio.h:88
ketCube_gpio_polarity_t polarity
Definition: ketCube_gpio.h:140
@ KETCUBE_GPIO_PA
Definition: ketCube_gpio.h:89
@ KETCUBE_GPIO_PIN_1
Definition: ketCube_gpio.h:68
ketCube_gpio_function_t
LED States.
Definition: ketCube_gpio.h:100
#define FALSE
boolean FALSE
Definition: ketCube_common.h:70
bool ketCube_GPIO_Read(ketCube_gpio_port_t port, ketCube_gpio_pin_t pin)
Reads the current PIN value.
Definition: ketCube_gpio.c:485
ketCube_cfg_DrvError_t ketCube_GPIO_InitLED(ketCube_gpio_port_t port, uint16_t pin, ketCube_gpio_polarity_t polarity)
Initializes the GPIO PIN(s) as LEDs.
Definition: ketCube_gpio.c:287
@ KETCUBE_GPIO_PIN_9
Definition: ketCube_gpio.h:76
@ KETCUBE_GPIO_NOPIN
Definition: ketCube_gpio.h:66
GPIO PIN descriptor.
Definition: ketCube_gpio.h:131
ketCube_cfg_DrvError_t ketCube_GPIO_SetIrq(ketCube_gpio_port_t port, ketCube_gpio_pin_t pin, uint32_t prio, ketCube_GPIO_VoidFn_t irqHandler)
Records the interrupt handler for the GPIO object.
Definition: ketCube_gpio.c:400
@ KETCUBE_GPIO_PIN_6
Definition: ketCube_gpio.h:73
@ KETCUBE_GPIO_POLARITY_OFF
Definition: ketCube_gpio.h:111
@ KETCUBE_GPIO_PE
Definition: ketCube_gpio.h:93
void ketCube_GPIO_InitDriver(void)
Initializes the GPIO driver.
Definition: ketCube_gpio.c:193
ketCube_gpio_LEDState_t LED_state
Definition: ketCube_gpio.h:139
@ KETCUBE_GPIO_POLARITY_ON
Definition: ketCube_gpio.h:110
@ KETCUBE_GPIO_PH
Definition: ketCube_gpio.h:94
@ KETCUBE_GPIO_FUNCTION_GPIO
Definition: ketCube_gpio.h:101
void EXTI4_15_IRQHandler(void)
Definition: ketCube_gpio.c:617
ketCube_cfg_DrvError_t ketCube_GPIO_SleepEnter(void)
Set-UP GPIO befere sleep enter.
Definition: ketCube_gpio.c:230
ketCube_cfg_DrvError_t ketCube_GPIO_Release(ketCube_gpio_port_t port, ketCube_gpio_pin_t pin)
Release KETCube PIN - setup as input pin.
Definition: ketCube_gpio.c:358
@ KETCUBE_GPIO_PIN_8
Definition: ketCube_gpio.h:75
@ KETCUBE_GPIO_LED_OFF
Definition: ketCube_gpio.h:118
@ KETCUBE_GPIO_PC
Definition: ketCube_gpio.h:91
@ KETCUBE_GPIO_PB
Definition: ketCube_gpio.h:90
ketCube_gpio_polarity_t
GPIO polarity.
Definition: ketCube_gpio.h:109
bool used
Definition: ketCube_gpio.h:132
ketCube_cfg_DrvError_t ketCube_GPIO_ReInit(ketCube_gpio_port_t port, uint16_t pin, GPIO_InitTypeDef *initStruct)
Initializes the GPIO PIN(s) without usage checking.
Definition: ketCube_gpio.c:319
@ KETCUBE_GPIO_PIN_12
Definition: ketCube_gpio.h:79
@ KETCUBE_GPIO_PIN_3
Definition: ketCube_gpio.h:70
ketCube_gpio_pin_t
List of GPIO PINs.
Definition: ketCube_gpio.h:65
@ KETCUBE_GPIO_PIN_2
Definition: ketCube_gpio.h:69
@ KETCUBE_GPIO_PIN_11
Definition: ketCube_gpio.h:78
void EXTI2_3_IRQHandler(void)
Definition: ketCube_gpio.c:607
@ KETCUBE_GPIO_LED_BLINK_CONT
Definition: ketCube_gpio.h:121
This file contains definitions for the KETCube configuration.
@ KETCUBE_GPIO_PIN_14
Definition: ketCube_gpio.h:81
@ KETCUBE_GPIO_LED_ON
Definition: ketCube_gpio.h:119
@ KETCUBE_GPIO_PIN_13
Definition: ketCube_gpio.h:80
ketCube_cfg_DrvError_t
Error code type.
Definition: ketCube_cfg.h:108
void EXTI0_1_IRQHandler(void)
Definition: ketCube_gpio.c:598