You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

27 lines
763 B
C

#ifndef _P_GPIO_H_
#define _P_GPIO_H_
#include "oracle.h"
#define SSD1963_TFT_DATA_FIX(x) ((x & 0x07) | \
((x & 0x1F8) << 1) | \
((x & 0x1E00) << 5) | \
((x & 0xE000) << 13))
typedef struct p_port_config
{
enum gpio_pull_mode pull_mode;
enum gpio_direction direction;
uint32_t function;
}p_port_config;
void p_gpio_init(void);
void p_gpio_parallel_write(PortGroup* group, uint32_t mask, uint16_t data);
void p_gpio_parallel_write_arr(PortGroup* group, uint32_t mask, uint16_t* data, uint16_t len);
void p_gpio_set_port_data(PortGroup* const port, const uint32_t mask, const uint32_t data);
void p_gpio_set_port_group_config(enum gpio_port port, const uint32_t mask, p_port_config* config);
#endif