MR16/User/bsp/gpio.h

59 lines
1.3 KiB
C

#pragma once
#ifdef __cplusplus
extern "C" {
#endif
/* Includes ----------------------------------------------------------------- */
#include <stdint.h>
#include <stdbool.h>
#include "bsp/bsp.h"
/* USER INCLUDE BEGIN */
/* USER INCLUDE END */
/* Exported constants ------------------------------------------------------- */
/* Exported macro ----------------------------------------------------------- */
/* USER DEFINE BEGIN */
/* USER DEFINE END */
/* Exported types ----------------------------------------------------------- */
typedef enum {
BSP_GPIO_KEY,
BSP_GPIO_SPI1_NSS,
BSP_GPIO_LCD_RS,
BSP_GPIO_RADIO_RST,
BSP_GPIO_LCD_CS,
BSP_GPIO_LCD_RES,
BSP_GPIO_RADIO_RXEN,
BSP_GPIO_RADIO_TXEN,
BSP_GPIO_RADIO_DIO3,
BSP_GPIO_RADIO_DIO2,
BSP_GPIO_RADIO_DIO1,
BSP_GPIO_RADIO_BUSY,
BSP_GPIO_LCD_BLK,
BSP_GPIO_NUM,
BSP_GPIO_ERR,
} BSP_GPIO_t;
/* Exported functions prototypes -------------------------------------------- */
int8_t BSP_GPIO_RegisterCallback(BSP_GPIO_t gpio, void (*callback)(void));
int8_t BSP_GPIO_EnableIRQ(BSP_GPIO_t gpio);
int8_t BSP_GPIO_DisableIRQ(BSP_GPIO_t gpio);
int8_t BSP_GPIO_WritePin(BSP_GPIO_t gpio, bool value);
int8_t BSP_GPIO_TogglePin(BSP_GPIO_t gpio);
bool BSP_GPIO_ReadPin(BSP_GPIO_t gpio);
/* USER FUNCTION BEGIN */
/* USER FUNCTION END */
#ifdef __cplusplus
}
#endif