29 #ifndef _LCD_HAL_IO_H_ 30 #define _LCD_HAL_IO_H_ 45 #include "arduino/io.h" 48 #include "arduino/arduino_spi.h" 49 #include "arduino/arduino_wire.h" 50 #include "avr/spi_avr.h" 51 #include "avr/i2c_twi.h" 54 #include "esp/esp32_i2c.h" 55 #include "esp/esp32_spi.h" 56 #include "esp/esp8266_i2c.h" 57 #include "esp/esp8266_spi.h" 60 #elif defined(__AVR__) && !defined(ARDUINO) 63 #include "avr/spi_avr.h" 64 #include "avr/i2c_twi.h" 68 #elif defined(__XTENSA__) && !defined(ARDUINO) 71 #include "esp/esp32_i2c.h" 72 #include "esp/esp32_spi.h" 73 #include "esp/esp8266_i2c.h" 74 #include "esp/esp8266_spi.h" 76 #elif defined(STM32F1) || defined(STM32F2) || defined(STM32F4) 78 #elif defined(__linux__) || defined(__APPLE__) 81 #include "linux/linux_i2c.h" 82 #include "linux/linux_spi.h" 83 #include "linux/sdl_i2c.h" 84 #include "linux/sdl_spi.h" 86 #elif defined(__MINGW32__) 89 #include "linux/sdl_i2c.h" 90 #include "linux/sdl_spi.h" 93 #warning "Platform is not supported. Use template to add support" 98 #ifndef LCDINT_TYPES_DEFINED 100 #define LCDINT_TYPES_DEFINED 108 #define ssd1306_swap_data(a, b, type) { type t = a; a = b; b = t; } 114 #ifndef DOXYGEN_SHOULD_SKIP_THIS 115 #define ARDUINO_COMPAT 121 #define LCD_HIGH HIGH 122 #define LCD_GPIO_INPUT INPUT 123 #define LCD_GPIO_OUTPUT OUTPUT 124 #define LCD_PROGMEM PROGMEM 126 #define lcd_gpioRead digitalRead 127 #define lcd_gpioMode pinMode 128 #define lcd_adcRead analogRead 134 #ifndef DOXYGEN_SHOULD_SKIP_THIS 135 void lcd_registerGpioEvent(
int pin,
void (*on_pin_change)(
void *),
void *arg);
136 void lcd_unregisterGpioEvent(
int pin);
146 #define lcd_pgmReadByte pgm_read_byte 147 #define lcd_eepromReadWord eeprom_read_word 148 #define lcd_eepromWriteWord eeprom_write_word 150 #define lcd_millis millis 151 #define lcd_micros micros 152 #define lcd_delay delay 153 #define lcd_delayUs delayMicroseconds 155 #define lcd_random random 156 #define lcd_randomSeed randomSeed 165 #define LCD_GPIO_INPUT 0 167 #define LCD_GPIO_OUTPUT 1 171 #define LCD_PROGMEM PROGMEM 199 #ifndef DOXYGEN_SHOULD_SKIP_THIS 200 void lcd_registerGpioEvent(
int pin,
void (*on_pin_change)(
void *),
void *arg);
201 void lcd_unregisterGpioEvent(
int pin);
290 #ifdef ARDUINO_COMPAT 294 #define HIGH LCD_HIGH 296 #define INPUT LCD_GPIO_INPUT 298 #define OUTPUT LCD_GPIO_OUTPUT 301 #define PROGMEM LCD_PROGMEM 305 #define digitalRead lcd_gpioRead 307 #define digitalWrite lcd_gpioWrite 309 #define pinMode lcd_gpioMode 311 #define analogRead lcd_adcRead 313 #if !defined(__AVR__) 315 #define pgm_read_byte lcd_pgmReadByte 317 #define eeprom_read_word lcd_eepromReadWord 319 #define eeprom_write_word lcd_eepromWriteWord 323 #define millis lcd_millis 325 #define micros lcd_micros 327 #define delay lcd_delay 329 #define delayMicroseconds lcd_delayUs 332 #define random lcd_random 334 #define randomSeed lcd_randomSeed 348 #if defined(CONFIG_ARDUINO_I2C_AVAILABLE) && defined(CONFIG_ARDUINO_I2C_ENABLE) 360 :
ArduinoI2c(config.scl, config.sda, config.addr) {}
363 #elif defined(CONFIG_TWI_I2C_AVAILABLE) && defined(CONFIG_TWI_I2C_ENABLE) 379 #elif defined(CONFIG_LINUX_I2C_AVAILABLE) && defined(CONFIG_LINUX_I2C_ENABLE) 381 #if defined(SDL_EMULATION) 393 : SdlI2c(config.
scl, config.
sda, config.
addr) {}
411 #elif defined(CONFIG_ESP32_I2C_AVAILABLE) && defined(CONFIG_ESP32_I2C_ENABLE) 427 #elif defined(CONFIG_ESP8266_I2C_AVAILABLE) && defined(CONFIG_ESP8266_I2C_ENABLE) 443 #elif defined(CONFIG_SOFTWARE_I2C_AVAILABLE) && defined(CONFIG_SOFTWARE_I2C_ENABLE) 461 #error "Platform not supported" 469 #if defined(CONFIG_AVR_SPI_AVAILABLE) && defined(CONFIG_AVR_SPI_ENABLE) 482 :
AvrSpi( config.cs, config.dc, config.frequency ) {}
485 #elif defined(CONFIG_ARDUINO_SPI_AVAILABLE) && defined(CONFIG_ARDUINO_SPI_ENABLE) 501 #elif defined(CONFIG_LINUX_SPI_AVAILABLE) && defined(CONFIG_LINUX_SPI_ENABLE) 503 #if defined(SDL_EMULATION) 515 : SdlSpi(config.
dc) {}
533 #elif defined(CONFIG_ESP32_SPI_AVAILABLE) && defined(CONFIG_ESP32_SPI_ENABLE) 548 #elif defined(CONFIG_ESP8266_SPI_AVAILABLE) && defined(CONFIG_ESP8266_SPI_ENABLE) 563 #elif defined(CONFIG_USI_SPI_AVAILABLE) && defined(CONFIG_USI_SPI_ENABLE) 581 #error "Platform not supported"
void lcd_randomSeed(int seed)
int lcd_gpioRead(int pin)
void attachInterrupt(int pin, void(*interrupt)(), int level)
void lcd_gpioWrite(int pin, int level)
uint32_t lcd_micros(void)
uint8_t lcd_pgmReadByte(const void *ptr)
void lcd_eepromWriteWord(const void *ptr, uint16_t val)
void lcd_gpioMode(int pin, int mode)
void lcd_delayUs(unsigned long us)
uint32_t lcd_millis(void)
uint16_t lcd_eepromReadWord(const void *ptr)
void lcd_delay(unsigned long ms)