Update GPIO macro usages in core (#23093)
This commit is contained in:
parent
6810aaf013
commit
2d1aed78a6
61 changed files with 334 additions and 334 deletions
|
@ -57,67 +57,67 @@ static const pin_t data_pins[4] = HD44780_DATA_PINS;
|
|||
#define HD44780_ENABLE_DELAY_US 1
|
||||
|
||||
static void hd44780_latch(void) {
|
||||
writePinHigh(HD44780_E_PIN);
|
||||
gpio_write_pin_high(HD44780_E_PIN);
|
||||
wait_us(HD44780_ENABLE_DELAY_US);
|
||||
writePinLow(HD44780_E_PIN);
|
||||
gpio_write_pin_low(HD44780_E_PIN);
|
||||
}
|
||||
|
||||
void hd44780_write(uint8_t data, bool isData) {
|
||||
writePin(HD44780_RS_PIN, isData);
|
||||
writePinLow(HD44780_RW_PIN);
|
||||
gpio_write_pin(HD44780_RS_PIN, isData);
|
||||
gpio_write_pin_low(HD44780_RW_PIN);
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
setPinOutput(data_pins[i]);
|
||||
gpio_set_pin_output(data_pins[i]);
|
||||
}
|
||||
|
||||
// Write high nibble
|
||||
for (int i = 0; i < 4; i++) {
|
||||
writePin(data_pins[i], (data >> 4) & (1 << i));
|
||||
gpio_write_pin(data_pins[i], (data >> 4) & (1 << i));
|
||||
}
|
||||
hd44780_latch();
|
||||
|
||||
// Write low nibble
|
||||
for (int i = 0; i < 4; i++) {
|
||||
writePin(data_pins[i], data & (1 << i));
|
||||
gpio_write_pin(data_pins[i], data & (1 << i));
|
||||
}
|
||||
hd44780_latch();
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
writePinHigh(data_pins[i]);
|
||||
gpio_write_pin_high(data_pins[i]);
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t hd44780_read(bool isData) {
|
||||
uint8_t data = 0;
|
||||
|
||||
writePin(HD44780_RS_PIN, isData);
|
||||
writePinHigh(HD44780_RW_PIN);
|
||||
gpio_write_pin(HD44780_RS_PIN, isData);
|
||||
gpio_write_pin_high(HD44780_RW_PIN);
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
setPinInput(data_pins[i]);
|
||||
gpio_set_pin_input(data_pins[i]);
|
||||
}
|
||||
|
||||
writePinHigh(HD44780_E_PIN);
|
||||
gpio_write_pin_high(HD44780_E_PIN);
|
||||
wait_us(HD44780_ENABLE_DELAY_US);
|
||||
|
||||
// Read high nibble
|
||||
for (int i = 0; i < 4; i++) {
|
||||
data |= (readPin(data_pins[i]) << i);
|
||||
data |= (gpio_read_pin(data_pins[i]) << i);
|
||||
}
|
||||
|
||||
data <<= 4;
|
||||
|
||||
writePinLow(HD44780_E_PIN);
|
||||
gpio_write_pin_low(HD44780_E_PIN);
|
||||
wait_us(HD44780_ENABLE_DELAY_US);
|
||||
writePinHigh(HD44780_E_PIN);
|
||||
gpio_write_pin_high(HD44780_E_PIN);
|
||||
wait_us(HD44780_ENABLE_DELAY_US);
|
||||
|
||||
// Read low nibble
|
||||
for (int i = 0; i < 4; i++) {
|
||||
data |= (readPin(data_pins[i]) << i);
|
||||
data |= (gpio_read_pin(data_pins[i]) << i);
|
||||
}
|
||||
|
||||
writePinLow(HD44780_E_PIN);
|
||||
gpio_write_pin_low(HD44780_E_PIN);
|
||||
|
||||
return data;
|
||||
}
|
||||
|
@ -171,20 +171,20 @@ void hd44780_set_ddram_address(uint8_t address) {
|
|||
}
|
||||
|
||||
void hd44780_init(bool cursor, bool blink) {
|
||||
setPinOutput(HD44780_RS_PIN);
|
||||
setPinOutput(HD44780_RW_PIN);
|
||||
setPinOutput(HD44780_E_PIN);
|
||||
gpio_set_pin_output(HD44780_RS_PIN);
|
||||
gpio_set_pin_output(HD44780_RW_PIN);
|
||||
gpio_set_pin_output(HD44780_E_PIN);
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
setPinOutput(data_pins[i]);
|
||||
gpio_set_pin_output(data_pins[i]);
|
||||
}
|
||||
|
||||
wait_ms(HD44780_INIT_DELAY_MS);
|
||||
|
||||
// Manually configure for 4-bit mode - can't use hd44780_command() yet
|
||||
// HD44780U datasheet, Fig. 24 (p46)
|
||||
writePinHigh(data_pins[0]); // Function set
|
||||
writePinHigh(data_pins[1]); // DL = 1
|
||||
gpio_write_pin_high(data_pins[0]); // Function set
|
||||
gpio_write_pin_high(data_pins[1]); // DL = 1
|
||||
hd44780_latch();
|
||||
wait_ms(5);
|
||||
// Send again
|
||||
|
@ -194,7 +194,7 @@ void hd44780_init(bool cursor, bool blink) {
|
|||
hd44780_latch();
|
||||
wait_us(64);
|
||||
|
||||
writePinLow(data_pins[0]); // DL = 0
|
||||
gpio_write_pin_low(data_pins[0]); // DL = 0
|
||||
hd44780_latch();
|
||||
wait_us(64);
|
||||
|
||||
|
|
|
@ -92,10 +92,10 @@ static void InvertCharacter(uint8_t *cursor) {
|
|||
}
|
||||
|
||||
bool st7565_init(display_rotation_t rotation) {
|
||||
setPinOutput(ST7565_A0_PIN);
|
||||
writePinHigh(ST7565_A0_PIN);
|
||||
setPinOutput(ST7565_RST_PIN);
|
||||
writePinHigh(ST7565_RST_PIN);
|
||||
gpio_set_pin_output(ST7565_A0_PIN);
|
||||
gpio_write_pin_high(ST7565_A0_PIN);
|
||||
gpio_set_pin_output(ST7565_RST_PIN);
|
||||
gpio_write_pin_high(ST7565_RST_PIN);
|
||||
|
||||
st7565_rotation = st7565_init_user(rotation);
|
||||
|
||||
|
@ -488,18 +488,18 @@ void st7565_task(void) {
|
|||
__attribute__((weak)) void st7565_task_user(void) {}
|
||||
|
||||
void st7565_reset(void) {
|
||||
writePinLow(ST7565_RST_PIN);
|
||||
gpio_write_pin_low(ST7565_RST_PIN);
|
||||
wait_ms(20);
|
||||
writePinHigh(ST7565_RST_PIN);
|
||||
gpio_write_pin_high(ST7565_RST_PIN);
|
||||
wait_ms(20);
|
||||
}
|
||||
|
||||
spi_status_t st7565_send_cmd(uint8_t cmd) {
|
||||
writePinLow(ST7565_A0_PIN);
|
||||
gpio_write_pin_low(ST7565_A0_PIN);
|
||||
return spi_write(cmd);
|
||||
}
|
||||
|
||||
spi_status_t st7565_send_data(uint8_t *data, uint16_t length) {
|
||||
writePinHigh(ST7565_A0_PIN);
|
||||
gpio_write_pin_high(ST7565_A0_PIN);
|
||||
return spi_transmit(data, length);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue