Artery_AT32F437_Start_MPyAT.../lib/mpyate/include/mpyate_host.h
Yilin Sun 26a7a36a69
All checks were successful
continuous-integration/drone/push Build is passing
Added GPIO interface.
Signed-off-by: Yilin Sun <imi415@imi.moe>
2023-05-29 23:39:34 +08:00

39 lines
863 B
C

#ifndef MPYATE_HOST_H
#define MPYATE_HOST_H
#include <stdbool.h>
#include <stdint.h>
typedef enum {
ATE_RET_SUCCESS,
ATE_RET_FAIL,
} ate_ret_t;
typedef enum {
ATE_GPIO_MODE_OUTPUT_PP,
ATE_GPIO_MODE_OUTPUT_OD,
ATE_GPIO_MODE_INPUT,
ATE_GPIO_MODE_AF,
} ate_gpio_mode_t;
typedef ate_ret_t (*ate_i2c_read_t)(void *handle, uint8_t *data, uint8_t len);
typedef ate_ret_t (*ate_i2c_write_t)(void *handle, uint8_t *data, uint8_t len);
typedef struct {
ate_i2c_read_t read;
ate_i2c_write_t write;
} ate_ops_t;
typedef struct {
ate_ops_t ops;
void *user_data;
} ate_t;
ate_ret_t ate_init(ate_t *ate);
ate_ret_t ate_gpio_init(ate_t *ate, uint8_t pin, ate_gpio_mode_t mode);
ate_ret_t ate_gpio_read(ate_t *ate, uint8_t pin, bool *value);
ate_ret_t ate_gpio_write(ate_t *ate, uint8_t pin, bool value);
#endif // MPYATE_HOST_H