├── .gitignore ├── .pio └── libdeps │ └── pico32 │ ├── Adafruit BusIO │ ├── .github │ │ ├── ISSUE_TEMPLATE.md │ │ ├── PULL_REQUEST_TEMPLATE.md │ │ └── workflows │ │ │ └── githubci.yml │ ├── .piopm │ ├── Adafruit_BusIO_Register.cpp │ ├── Adafruit_BusIO_Register.h │ ├── Adafruit_I2CDevice.cpp │ ├── Adafruit_I2CDevice.h │ ├── Adafruit_I2CRegister.h │ ├── Adafruit_SPIDevice.cpp │ ├── Adafruit_SPIDevice.h │ ├── LICENSE │ ├── README.md │ ├── examples │ │ ├── i2c_address_detect │ │ │ └── i2c_address_detect.ino │ │ ├── i2c_readwrite │ │ │ └── i2c_readwrite.ino │ │ ├── i2c_registers │ │ │ └── i2c_registers.ino │ │ ├── i2corspi_register │ │ │ └── i2corspi_register.ino │ │ ├── spi_modetest │ │ │ └── spi_modetest.ino │ │ ├── spi_readwrite │ │ │ └── spi_readwrite.ino │ │ ├── spi_register_bits │ │ │ └── spi_register_bits.ino │ │ └── spi_registers │ │ │ └── spi_registers.ino │ └── library.properties │ ├── Adafruit GFX Library │ ├── .github │ │ ├── ISSUE_TEMPLATE.md │ │ ├── PULL_REQUEST_TEMPLATE.md │ │ └── workflows │ │ │ └── githubci.yml │ ├── .gitignore │ ├── .piopm │ ├── Adafruit_GFX.cpp │ ├── Adafruit_GFX.h │ ├── Adafruit_GrayOLED.cpp │ ├── Adafruit_GrayOLED.h │ ├── Adafruit_SPITFT.cpp │ ├── Adafruit_SPITFT.h │ ├── Adafruit_SPITFT_Macros.h │ ├── Fonts │ │ ├── FreeMono12pt7b.h │ │ ├── FreeMono18pt7b.h │ │ ├── FreeMono24pt7b.h │ │ ├── FreeMono9pt7b.h │ │ ├── FreeMonoBold12pt7b.h │ │ ├── FreeMonoBold18pt7b.h │ │ ├── FreeMonoBold24pt7b.h │ │ ├── FreeMonoBold9pt7b.h │ │ ├── FreeMonoBoldOblique12pt7b.h │ │ ├── FreeMonoBoldOblique18pt7b.h │ │ ├── FreeMonoBoldOblique24pt7b.h │ │ ├── FreeMonoBoldOblique9pt7b.h │ │ ├── FreeMonoOblique12pt7b.h │ │ ├── FreeMonoOblique18pt7b.h │ │ ├── FreeMonoOblique24pt7b.h │ │ ├── FreeMonoOblique9pt7b.h │ │ ├── FreeSans12pt7b.h │ │ ├── FreeSans18pt7b.h │ │ ├── FreeSans24pt7b.h │ │ ├── FreeSans9pt7b.h │ │ ├── FreeSansBold12pt7b.h │ │ ├── FreeSansBold18pt7b.h │ │ ├── FreeSansBold24pt7b.h │ │ ├── FreeSansBold9pt7b.h │ │ ├── FreeSansBoldOblique12pt7b.h │ │ ├── FreeSansBoldOblique18pt7b.h │ │ ├── FreeSansBoldOblique24pt7b.h │ │ ├── FreeSansBoldOblique9pt7b.h │ │ ├── FreeSansOblique12pt7b.h │ │ ├── FreeSansOblique18pt7b.h │ │ ├── FreeSansOblique24pt7b.h │ │ ├── FreeSansOblique9pt7b.h │ │ ├── FreeSerif12pt7b.h │ │ ├── FreeSerif18pt7b.h │ │ ├── FreeSerif24pt7b.h │ │ ├── FreeSerif9pt7b.h │ │ ├── FreeSerifBold12pt7b.h │ │ ├── FreeSerifBold18pt7b.h │ │ ├── FreeSerifBold24pt7b.h │ │ ├── FreeSerifBold9pt7b.h │ │ ├── FreeSerifBoldItalic12pt7b.h │ │ ├── FreeSerifBoldItalic18pt7b.h │ │ ├── FreeSerifBoldItalic24pt7b.h │ │ ├── FreeSerifBoldItalic9pt7b.h │ │ ├── FreeSerifItalic12pt7b.h │ │ ├── FreeSerifItalic18pt7b.h │ │ ├── FreeSerifItalic24pt7b.h │ │ ├── FreeSerifItalic9pt7b.h │ │ ├── Org_01.h │ │ ├── Picopixel.h │ │ ├── Tiny3x3a2pt7b.h │ │ └── TomThumb.h │ ├── README.md │ ├── examples │ │ ├── GFXcanvas │ │ │ ├── GFXcanvas.ino │ │ │ ├── GFXcanvasSerialDemo.cpp │ │ │ └── GFXcanvasSerialDemo.h │ │ └── mock_ili9341 │ │ │ └── mock_ili9341.ino │ ├── fontconvert │ │ ├── Makefile │ │ ├── fontconvert.c │ │ ├── fontconvert_win.md │ │ └── makefonts.sh │ ├── gfxfont.h │ ├── glcdfont.c │ ├── library.properties │ └── license.txt │ ├── AsyncTCP-esphome │ ├── .github │ │ ├── scripts │ │ │ ├── install-arduino-core-esp32.sh │ │ │ ├── install-arduino-ide.sh │ │ │ ├── install-platformio.sh │ │ │ └── on-push.sh │ │ ├── stale.yml │ │ └── workflows │ │ │ └── push.yml │ ├── .gitignore │ ├── .piopm │ ├── .travis.yml │ ├── CMakeLists.txt │ ├── Kconfig.projbuild │ ├── LICENSE │ ├── README.md │ ├── component.mk │ ├── library.json │ ├── library.properties │ └── src │ │ ├── AsyncTCP.cpp │ │ └── AsyncTCP.h │ ├── ESPAsyncTCP-esphome │ ├── .github │ │ ├── scripts │ │ │ ├── install-arduino-core-esp8266.sh │ │ │ ├── install-arduino-ide.sh │ │ │ ├── install-platformio.sh │ │ │ └── on-push.sh │ │ ├── stale.yml │ │ └── workflows │ │ │ └── push.yml │ ├── .gitignore │ ├── .piopm │ ├── .travis.yml │ ├── LICENSE.txt │ ├── README.md │ ├── examples │ │ ├── ClientServer │ │ │ ├── Client │ │ │ │ ├── Client.ino │ │ │ │ └── config.h │ │ │ └── Server │ │ │ │ ├── Server.ino │ │ │ │ └── config.h │ │ └── SyncClient │ │ │ ├── .esp31b.skip │ │ │ └── SyncClient.ino │ ├── library.json │ ├── src │ │ ├── AsyncPrinter.cpp │ │ ├── AsyncPrinter.h │ │ ├── DebugPrintMacros.h │ │ ├── ESPAsyncTCP.cpp │ │ ├── ESPAsyncTCP.h │ │ ├── ESPAsyncTCPbuffer.cpp │ │ ├── ESPAsyncTCPbuffer.h │ │ ├── SyncClient.cpp │ │ ├── SyncClient.h │ │ ├── async_config.h │ │ ├── tcp_axtls.c │ │ └── tcp_axtls.h │ └── ssl │ │ ├── gen_server_cert.sh │ │ ├── server.cer │ │ └── server.key │ ├── ESPAsyncWebServer-esphome │ ├── .github │ │ ├── scripts │ │ │ ├── install-arduino-core-esp32.sh │ │ │ ├── install-arduino-core-esp8266.sh │ │ │ ├── install-arduino-ide.sh │ │ │ ├── install-platformio.sh │ │ │ └── on-push.sh │ │ ├── stale.yml │ │ └── workflows │ │ │ └── push.yml │ ├── .gitignore │ ├── .piopm │ ├── .travis.yml │ ├── CMakeLists.txt │ ├── README.md │ ├── _config.yml │ ├── component.mk │ ├── examples │ │ ├── CaptivePortal │ │ │ └── CaptivePortal.ino │ │ ├── ESP_AsyncFSBrowser │ │ │ ├── ESP_AsyncFSBrowser.ino │ │ │ └── data │ │ │ │ ├── .exclude.files │ │ │ │ ├── favicon.ico │ │ │ │ └── index.htm │ │ ├── regex_patterns │ │ │ ├── .test.build_flags │ │ │ └── regex_patterns.ino │ │ └── simple_server │ │ │ └── simple_server.ino │ ├── keywords.txt │ ├── library.json │ └── src │ │ ├── AsyncEventSource.cpp │ │ ├── AsyncEventSource.h │ │ ├── AsyncJson.h │ │ ├── AsyncWebSocket.cpp │ │ ├── AsyncWebSocket.h │ │ ├── AsyncWebSynchronization.h │ │ ├── ESPAsyncWebServer.h │ │ ├── SPIFFSEditor.cpp │ │ ├── SPIFFSEditor.h │ │ ├── StringArray.h │ │ ├── WebAuthentication.cpp │ │ ├── WebAuthentication.h │ │ ├── WebHandlerImpl.h │ │ ├── WebHandlers.cpp │ │ ├── WebRequest.cpp │ │ ├── WebResponseImpl.h │ │ ├── WebResponses.cpp │ │ ├── WebServer.cpp │ │ └── edit.htm │ ├── TFT_eSPI │ ├── .gitattributes │ ├── .gitignore │ ├── .piopm │ ├── Extensions │ │ ├── Button.cpp │ │ ├── Button.h │ │ ├── Smooth_font.cpp │ │ ├── Smooth_font.h │ │ ├── Sprite.cpp │ │ ├── Sprite.h │ │ ├── Touch.cpp │ │ └── Touch.h │ ├── Fonts │ │ ├── Custom │ │ │ ├── Furore28pt7b.h │ │ │ ├── Orbitron_Light_24.h │ │ │ ├── Orbitron_Light_32.h │ │ │ ├── Roboto_Thin_24.h │ │ │ ├── Satisfy_24.h │ │ │ └── Yellowtail_32.h │ │ ├── Font16.c │ │ ├── Font16.h │ │ ├── Font32rle.c │ │ ├── Font32rle.h │ │ ├── Font64rle.c │ │ ├── Font64rle.h │ │ ├── Font72rle.c │ │ ├── Font72rle.h │ │ ├── Font72x53rle.c │ │ ├── Font72x53rle.h │ │ ├── Font7srle.c │ │ ├── Font7srle.h │ │ ├── GFXFF │ │ │ ├── FreeMono12pt7b.h │ │ │ ├── FreeMono18pt7b.h │ │ │ ├── FreeMono24pt7b.h │ │ │ ├── FreeMono9pt7b.h │ │ │ ├── FreeMonoBold12pt7b.h │ │ │ ├── FreeMonoBold18pt7b.h │ │ │ ├── FreeMonoBold24pt7b.h │ │ │ ├── FreeMonoBold9pt7b.h │ │ │ ├── FreeMonoBoldOblique12pt7b.h │ │ │ ├── FreeMonoBoldOblique18pt7b.h │ │ │ ├── FreeMonoBoldOblique24pt7b.h │ │ │ ├── FreeMonoBoldOblique9pt7b.h │ │ │ ├── FreeMonoOblique12pt7b.h │ │ │ ├── FreeMonoOblique18pt7b.h │ │ │ ├── FreeMonoOblique24pt7b.h │ │ │ ├── FreeMonoOblique9pt7b.h │ │ │ ├── FreeSans12pt7b.h │ │ │ ├── FreeSans18pt7b.h │ │ │ ├── FreeSans24pt7b.h │ │ │ ├── FreeSans9pt7b.h │ │ │ ├── FreeSansBold12pt7b.h │ │ │ ├── FreeSansBold18pt7b.h │ │ │ ├── FreeSansBold24pt7b.h │ │ │ ├── FreeSansBold9pt7b.h │ │ │ ├── FreeSansBoldOblique12pt7b.h │ │ │ ├── FreeSansBoldOblique18pt7b.h │ │ │ ├── FreeSansBoldOblique24pt7b.h │ │ │ ├── FreeSansBoldOblique9pt7b.h │ │ │ ├── FreeSansOblique12pt7b.h │ │ │ ├── FreeSansOblique18pt7b.h │ │ │ ├── FreeSansOblique24pt7b.h │ │ │ ├── FreeSansOblique9pt7b.h │ │ │ ├── FreeSerif12pt7b.h │ │ │ ├── FreeSerif18pt7b.h │ │ │ ├── FreeSerif24pt7b.h │ │ │ ├── FreeSerif9pt7b.h │ │ │ ├── FreeSerifBold12pt7b.h │ │ │ ├── FreeSerifBold18pt7b.h │ │ │ ├── FreeSerifBold24pt7b.h │ │ │ ├── FreeSerifBold9pt7b.h │ │ │ ├── FreeSerifBoldItalic12pt7b.h │ │ │ ├── FreeSerifBoldItalic18pt7b.h │ │ │ ├── FreeSerifBoldItalic24pt7b.h │ │ │ ├── FreeSerifBoldItalic9pt7b.h │ │ │ ├── FreeSerifItalic12pt7b.h │ │ │ ├── FreeSerifItalic18pt7b.h │ │ │ ├── FreeSerifItalic24pt7b.h │ │ │ ├── FreeSerifItalic9pt7b.h │ │ │ ├── TomThumb.h │ │ │ ├── gfxfont.h │ │ │ ├── license.txt │ │ │ └── print.txt │ │ ├── TrueType │ │ │ └── Not_yet_supported.txt │ │ └── glcdfont.c │ ├── Processors │ │ ├── TFT_eSPI_ESP32.c │ │ ├── TFT_eSPI_ESP32.h │ │ ├── TFT_eSPI_ESP8266.c │ │ ├── TFT_eSPI_ESP8266.h │ │ ├── TFT_eSPI_Generic.c │ │ ├── TFT_eSPI_Generic.h │ │ ├── TFT_eSPI_STM32.c │ │ └── TFT_eSPI_STM32.h │ ├── README.md │ ├── README.txt │ ├── TFT_Drivers │ │ ├── EPD_Defines.h │ │ ├── GC9A01_Defines.h │ │ ├── GC9A01_Init.h │ │ ├── GC9A01_Rotation.h │ │ ├── HX8357D_Defines.h │ │ ├── HX8357D_Init.h │ │ ├── HX8357D_Rotation.h │ │ ├── ILI9163_Defines.h │ │ ├── ILI9163_Init.h │ │ ├── ILI9163_Rotation.h │ │ ├── ILI9225_Defines.h │ │ ├── ILI9225_Init.h │ │ ├── ILI9225_Rotation.h │ │ ├── ILI9341_Defines.h │ │ ├── ILI9341_Init.h │ │ ├── ILI9341_Rotation.h │ │ ├── ILI9481_Defines.h │ │ ├── ILI9481_Init.h │ │ ├── ILI9481_Rotation.h │ │ ├── ILI9486_Defines.h │ │ ├── ILI9486_Init.h │ │ ├── ILI9486_Rotation.h │ │ ├── ILI9488_Defines.h │ │ ├── ILI9488_Init.h │ │ ├── ILI9488_Rotation.h │ │ ├── R61581_Defines.h │ │ ├── R61581_Init.h │ │ ├── R61581_Rotation.h │ │ ├── RM68140_Defines.h │ │ ├── RM68140_Init.h │ │ ├── RM68140_Rotation.h │ │ ├── S6D02A1_Defines.h │ │ ├── S6D02A1_Init.h │ │ ├── S6D02A1_Rotation.h │ │ ├── SSD1963_Defines.h │ │ ├── SSD1963_Init.h │ │ ├── SSD1963_Rotation.h │ │ ├── ST7735_Defines.h │ │ ├── ST7735_Init.h │ │ ├── ST7735_Rotation.h │ │ ├── ST7789_2_Defines.h │ │ ├── ST7789_2_Init.h │ │ ├── ST7789_2_Rotation.h │ │ ├── ST7789_Defines.h │ │ ├── ST7789_Init.h │ │ ├── ST7789_Rotation.h │ │ ├── ST7796_Defines.h │ │ ├── ST7796_Init.h │ │ └── ST7796_Rotation.h │ ├── TFT_eSPI.cpp │ ├── TFT_eSPI.h │ ├── Tools │ │ ├── Create_Smooth_Font │ │ │ └── Create_font │ │ │ │ ├── Create_font.pde │ │ │ │ ├── FontFiles │ │ │ │ └── Final-Frontier28.vlw │ │ │ │ └── data │ │ │ │ └── Final-Frontier.ttf │ │ ├── Images │ │ │ ├── README.md │ │ │ ├── bmp2array4bit.py │ │ │ └── star.bmp │ │ ├── PlatformIO │ │ │ └── Configuring options.txt │ │ └── Screenshot_client │ │ │ └── Screenshot_client.pde │ ├── User_Setup.h │ ├── User_Setup_Select.h │ ├── User_Setups │ │ ├── Setup10_RPi_touch_ILI9486.h │ │ ├── Setup11_RPi_touch_ILI9486.h │ │ ├── Setup12_M5Stack.h │ │ ├── Setup135_ST7789.h │ │ ├── Setup13_ILI9481_Parallel.h │ │ ├── Setup14_ILI9341_Parallel.h │ │ ├── Setup15_HX8357D.h │ │ ├── Setup16_ILI9488_Parallel.h │ │ ├── Setup17_ePaper.h │ │ ├── Setup18_ST7789.h │ │ ├── Setup19_RM68140_Parallel.h │ │ ├── Setup1_ILI9341.h │ │ ├── Setup20_ILI9488.h │ │ ├── Setup21_ILI9488.h │ │ ├── Setup22_TTGO_T4.h │ │ ├── Setup22_TTGO_T4_v1.3.h │ │ ├── Setup23_TTGO_TM.h │ │ ├── Setup24_ST7789.h │ │ ├── Setup25_TTGO_T_Display.h │ │ ├── Setup26_TTGO_T_Wristband.h │ │ ├── Setup27_RPi_ST7796_ESP32.h │ │ ├── Setup28_RPi_ST7796_ESP8266.h │ │ ├── Setup29_ILI9341_STM32.h │ │ ├── Setup2_ST7735.h │ │ ├── Setup30_ILI9341_Parallel_STM32.h │ │ ├── Setup31_ST7796_Parallel_STM32.h │ │ ├── Setup32_ILI9341_STM32F103.h │ │ ├── Setup33_RPi_ILI9486_STM32.h │ │ ├── Setup34_ILI9481_Parallel_STM32.h │ │ ├── Setup35_ILI9341_STM32_Port_Bus.h │ │ ├── Setup36_RPi_touch_ST7796.h │ │ ├── Setup3_ILI9163.h │ │ ├── Setup43_ST7735.h │ │ ├── Setup44_TTGO_CameraPlus.h │ │ ├── Setup45_TTGO_T_Watch.h │ │ ├── Setup46_GC9A01_ESP32.h │ │ ├── Setup47_ST7735.h │ │ ├── Setup4_S6D02A1.h │ │ ├── Setup50_SSD1963_Parallel.h │ │ ├── Setup5_RPi_ILI9486.h │ │ ├── Setup6_RPi_Wr_ILI9486.h │ │ ├── Setup7_ST7735_128x128.h │ │ ├── Setup8_ILI9163_128x128.h │ │ ├── Setup9_ST7735_Overlap.h │ │ ├── SetupX_Template.h │ │ └── User_Custom_Fonts.h │ ├── examples │ │ ├── 160 x 128 │ │ │ ├── Arduino_Life │ │ │ │ └── Arduino_Life.ino │ │ │ ├── Pong_v3 │ │ │ │ └── Pong_v3.ino │ │ │ ├── RLE_Font_test │ │ │ │ └── RLE_Font_test.ino │ │ │ ├── TFT_Char_times │ │ │ │ └── TFT_Char_times.ino │ │ │ ├── TFT_Clock │ │ │ │ └── TFT_Clock.ino │ │ │ ├── TFT_Clock_Digital │ │ │ │ └── TFT_Clock_Digital.ino │ │ │ ├── TFT_Ellipse │ │ │ │ └── TFT_Ellipse.ino │ │ │ ├── TFT_Meter_5 │ │ │ │ └── TFT_Meter_5.ino │ │ │ ├── TFT_Print_Test │ │ │ │ └── TFT_Print_Test.ino │ │ │ ├── TFT_Rainbow │ │ │ │ └── TFT_Rainbow.ino │ │ │ ├── TFT_flash_jpg │ │ │ │ ├── TFT_flash_jpg.ino │ │ │ │ ├── jpeg1.h │ │ │ │ ├── jpeg2.h │ │ │ │ ├── jpeg3.h │ │ │ │ └── jpeg4.h │ │ │ ├── TFT_graphicstest_PDQ3 │ │ │ │ └── TFT_graphicstest_PDQ3.ino │ │ │ ├── TFT_graphicstest_small │ │ │ │ └── TFT_graphicstest_small.ino │ │ │ └── UTFT_demo_fast │ │ │ │ └── UTFT_demo_fast.ino │ │ ├── 320 x 240 │ │ │ ├── All_Free_Fonts_Demo │ │ │ │ ├── All_Free_Fonts_Demo.ino │ │ │ │ └── Free_Fonts.h │ │ │ ├── Cellular_Automata │ │ │ │ └── Cellular_Automata.ino │ │ │ ├── Free_Font_Demo │ │ │ │ ├── Free_Font_Demo.ino │ │ │ │ └── Free_Fonts.h │ │ │ ├── Keypad_240x320 │ │ │ │ └── Keypad_240x320.ino │ │ │ ├── RLE_Font_test │ │ │ │ └── RLE_Font_test.ino │ │ │ ├── Read_ID_bitbash │ │ │ │ └── Read_ID_bitbash.ino │ │ │ ├── TFT_ArcFill │ │ │ │ └── TFT_ArcFill.ino │ │ │ ├── TFT_Char_times │ │ │ │ └── TFT_Char_times.ino │ │ │ ├── TFT_Clock │ │ │ │ └── TFT_Clock.ino │ │ │ ├── TFT_Clock_Digital │ │ │ │ └── TFT_Clock_Digital.ino │ │ │ ├── TFT_Custom_Fonts │ │ │ │ └── TFT_Custom_Fonts.ino │ │ │ ├── TFT_Ellipse │ │ │ │ └── TFT_Ellipse.ino │ │ │ ├── TFT_FillArcSpiral │ │ │ │ └── TFT_FillArcSpiral.ino │ │ │ ├── TFT_Float_Test │ │ │ │ └── TFT_Float_Test.ino │ │ │ ├── TFT_Mandlebrot │ │ │ │ └── TFT_Mandlebrot.ino │ │ │ ├── TFT_Matrix │ │ │ │ └── TFT_Matrix.ino │ │ │ ├── TFT_Meter_linear │ │ │ │ └── TFT_Meter_linear.ino │ │ │ ├── TFT_Meters │ │ │ │ └── TFT_Meters.ino │ │ │ ├── TFT_Pie_Chart │ │ │ │ └── TFT_Pie_Chart.ino │ │ │ ├── TFT_Pong │ │ │ │ └── TFT_Pong.ino │ │ │ ├── TFT_Print_Test │ │ │ │ └── TFT_Print_Test.ino │ │ │ ├── TFT_Rainbow_one_lib │ │ │ │ └── TFT_Rainbow_one_lib.ino │ │ │ ├── TFT_Read_Reg │ │ │ │ └── TFT_Read_Reg.ino │ │ │ ├── TFT_Spiro │ │ │ │ └── TFT_Spiro.ino │ │ │ ├── TFT_Starfield │ │ │ │ └── TFT_Starfield.ino │ │ │ ├── TFT_String_Align │ │ │ │ └── TFT_String_Align.ino │ │ │ ├── TFT_Terminal │ │ │ │ └── TFT_Terminal.ino │ │ │ ├── TFT_graphicstest_PDQ │ │ │ │ └── TFT_graphicstest_PDQ.ino │ │ │ ├── TFT_graphicstest_one_lib │ │ │ │ └── TFT_graphicstest_one_lib.ino │ │ │ └── UTFT_demo │ │ │ │ └── UTFT_demo.ino │ │ ├── 480 x 320 │ │ │ ├── Cellular_Automata │ │ │ │ └── Cellular_Automata.ino │ │ │ ├── Demo_3D_cube │ │ │ │ └── Demo_3D_cube.ino │ │ │ ├── Free_Font_Demo │ │ │ │ ├── Free_Font_Demo.ino │ │ │ │ └── Free_Fonts.h │ │ │ ├── Graph_2 │ │ │ │ └── Graph_2.ino │ │ │ ├── Keypad_480x320 │ │ │ │ └── Keypad_480x320.ino │ │ │ ├── TFT_Char_times │ │ │ │ └── TFT_Char_times.ino │ │ │ ├── TFT_Ellipse │ │ │ │ └── TFT_Ellipse.ino │ │ │ ├── TFT_Meter_4 │ │ │ │ └── TFT_Meter_4.ino │ │ │ ├── TFT_Meters │ │ │ │ └── TFT_Meters.ino │ │ │ ├── TFT_Padding_demo │ │ │ │ └── TFT_Padding_demo.ino │ │ │ ├── TFT_Print_Test │ │ │ │ └── TFT_Print_Test.ino │ │ │ ├── TFT_Rainbow480 │ │ │ │ └── TFT_Rainbow480.ino │ │ │ ├── TFT_String_Align │ │ │ │ └── TFT_String_Align.ino │ │ │ ├── TFT_flash_jpg │ │ │ │ ├── TFT_flash_jpg.ino │ │ │ │ ├── jpeg1.h │ │ │ │ ├── jpeg2.h │ │ │ │ ├── jpeg3.h │ │ │ │ └── jpeg4.h │ │ │ ├── TFT_graphicstest_one_lib │ │ │ │ └── TFT_graphicstest_one_lib.ino │ │ │ ├── TFT_ring_meter │ │ │ │ ├── Alert.h │ │ │ │ └── TFT_ring_meter.ino │ │ │ ├── Touch_Controller_Demo │ │ │ │ └── Touch_Controller_Demo.ino │ │ │ └── UTFT_Demo_480x320 │ │ │ │ └── UTFT_Demo_480x320.ino │ │ ├── DMA test │ │ │ ├── Flash_Jpg_DMA │ │ │ │ ├── Flash_Jpg_DMA.ino │ │ │ │ └── panda.h │ │ │ ├── SpriteRotatingCube │ │ │ │ └── SpriteRotatingCube.ino │ │ │ └── boing_ball │ │ │ │ ├── boing_ball.ino │ │ │ │ └── graphic.h │ │ ├── Generic │ │ │ ├── Animated_Eyes_1 │ │ │ │ ├── Animated_Eyes_1.ino │ │ │ │ ├── config.h │ │ │ │ ├── data │ │ │ │ │ ├── catEye.h │ │ │ │ │ ├── defaultEye.h │ │ │ │ │ ├── doeEye.h │ │ │ │ │ ├── dragonEye.h │ │ │ │ │ ├── goatEye.h │ │ │ │ │ ├── logo.h │ │ │ │ │ ├── naugaEye.h │ │ │ │ │ ├── newtEye.h │ │ │ │ │ ├── noScleraEye.h │ │ │ │ │ ├── owlEye.h │ │ │ │ │ └── terminatorEye.h │ │ │ │ ├── eye_functions.ino │ │ │ │ ├── user.cpp │ │ │ │ ├── user_bat.cpp │ │ │ │ └── user_xmas.cpp │ │ │ ├── Animated_Eyes_2 │ │ │ │ ├── Animated_Eyes_2.ino │ │ │ │ ├── config.h │ │ │ │ ├── data │ │ │ │ │ ├── catEye.h │ │ │ │ │ ├── defaultEye.h │ │ │ │ │ ├── doeEye.h │ │ │ │ │ ├── dragonEye.h │ │ │ │ │ ├── goatEye.h │ │ │ │ │ ├── logo.h │ │ │ │ │ ├── naugaEye.h │ │ │ │ │ ├── newtEye.h │ │ │ │ │ ├── noScleraEye.h │ │ │ │ │ ├── owlEye.h │ │ │ │ │ └── terminatorEye.h │ │ │ │ ├── eye_functions.ino │ │ │ │ ├── user.cpp │ │ │ │ ├── user_bat.cpp │ │ │ │ ├── user_xmas.cpp │ │ │ │ └── wiring.ino │ │ │ ├── ESP32_SDcard_jpeg │ │ │ │ └── ESP32_SDcard_jpeg.ino │ │ │ ├── ESP8266_uncannyEyes │ │ │ │ ├── ESP8266_uncannyEyes.ino │ │ │ │ ├── defaultEye.h │ │ │ │ ├── dragonEye.h │ │ │ │ ├── goatEye.h │ │ │ │ ├── noScleraEye.h │ │ │ │ └── screenshotToConsole.ino │ │ │ ├── Local_Custom_Fonts │ │ │ │ ├── Local_Custom_Fonts.ino │ │ │ │ └── MyFont.h │ │ │ ├── On_Off_Button │ │ │ │ └── On_Off_Button.ino │ │ │ ├── TFT_Button_Label_Datum │ │ │ │ └── TFT_Button_Label_Datum.ino │ │ │ ├── TFT_Flash_Bitmap │ │ │ │ ├── Alert.h │ │ │ │ ├── Close.h │ │ │ │ ├── Info.h │ │ │ │ └── TFT_Flash_Bitmap.ino │ │ │ ├── TFT_SPIFFS_BMP │ │ │ │ ├── BMP_functions.ino │ │ │ │ ├── TFT_SPIFFS_BMP.ino │ │ │ │ └── data │ │ │ │ │ └── parrot.bmp │ │ │ ├── TFT_Screen_Capture │ │ │ │ ├── TFT_Screen_Capture.ino │ │ │ │ ├── processing_sketch.ino │ │ │ │ └── screenServer.ino │ │ │ ├── Touch_calibrate │ │ │ │ └── Touch_calibrate.ino │ │ │ ├── Viewport_Demo │ │ │ │ ├── Viewport_Demo.ino │ │ │ │ └── Viewport_commands.ino │ │ │ ├── Viewport_graphicstest │ │ │ │ └── Viewport_graphicstest.ino │ │ │ ├── alphaBlend_Test │ │ │ │ └── alphaBlend_Test.ino │ │ │ └── drawXBitmap │ │ │ │ ├── drawXBitmap.ino │ │ │ │ └── xbm.h │ │ ├── Smooth Fonts │ │ │ ├── FLASH_Array │ │ │ │ ├── Font_Demo_1_Array │ │ │ │ │ ├── Font_Demo_1_Array.ino │ │ │ │ │ ├── Notes.ino │ │ │ │ │ ├── NotoSansBold15.h │ │ │ │ │ └── NotoSansBold36.h │ │ │ │ ├── Font_Demo_2_Array │ │ │ │ │ ├── Font_Demo_2_Array.ino │ │ │ │ │ ├── Notes.ino │ │ │ │ │ ├── NotoSansBold15.h │ │ │ │ │ └── NotoSansBold36.h │ │ │ │ ├── Font_Demo_3_Array │ │ │ │ │ ├── Font_Demo_3_Array.ino │ │ │ │ │ ├── Notes.ino │ │ │ │ │ ├── NotoSansBold15.h │ │ │ │ │ ├── NotoSansBold36.h │ │ │ │ │ └── NotoSansMonoSCB20.h │ │ │ │ ├── Font_Demo_4_Array │ │ │ │ │ ├── Font_Demo_4_Array.ino │ │ │ │ │ ├── Notes.ino │ │ │ │ │ ├── NotoSansBold15.h │ │ │ │ │ └── NotoSansBold36.h │ │ │ │ ├── Print_Smooth_Font │ │ │ │ │ ├── Final_Frontier_28.h │ │ │ │ │ └── Print_Smooth_Font.ino │ │ │ │ ├── Smooth_font_gradient │ │ │ │ │ ├── NotoSansBold15.h │ │ │ │ │ ├── NotoSansBold36.h │ │ │ │ │ └── Smooth_font_gradient.ino │ │ │ │ ├── Smooth_font_reading_TFT │ │ │ │ │ ├── NotoSansBold15.h │ │ │ │ │ ├── NotoSansBold36.h │ │ │ │ │ └── Smooth_font_reading_TFT.ino │ │ │ │ └── Unicode_test │ │ │ │ │ ├── Final_Frontier_28.h │ │ │ │ │ ├── Latin_Hiragana_24.h │ │ │ │ │ ├── Unicode_Test_72.h │ │ │ │ │ ├── Unicode_test.ino │ │ │ │ │ └── data │ │ │ │ │ ├── Final-Frontier-28.vlw │ │ │ │ │ ├── Latin-Hiragana-24.vlw │ │ │ │ │ └── Unicode-Test-72.vlw │ │ │ ├── LittleFS │ │ │ │ ├── Font_Demo_1 │ │ │ │ │ ├── Font_Demo_1.ino │ │ │ │ │ ├── Notes.ino │ │ │ │ │ └── data │ │ │ │ │ │ ├── NotoSansBold15.vlw │ │ │ │ │ │ └── NotoSansBold36.vlw │ │ │ │ ├── Font_Demo_2 │ │ │ │ │ ├── Font_Demo_2.ino │ │ │ │ │ ├── Notes.ino │ │ │ │ │ └── data │ │ │ │ │ │ ├── NotoSansBold15.vlw │ │ │ │ │ │ └── NotoSansBold36.vlw │ │ │ │ ├── Font_Demo_3 │ │ │ │ │ ├── Font_Demo_3.ino │ │ │ │ │ ├── Notes.ino │ │ │ │ │ └── data │ │ │ │ │ │ ├── NotoSansBold15.vlw │ │ │ │ │ │ ├── NotoSansBold36.vlw │ │ │ │ │ │ └── NotoSansMonoSCB20.vlw │ │ │ │ ├── Font_Demo_4 │ │ │ │ │ ├── Font_Demo_4.ino │ │ │ │ │ ├── Notes.ino │ │ │ │ │ └── data │ │ │ │ │ │ ├── NotoSansBold15.vlw │ │ │ │ │ │ └── NotoSansBold36.vlw │ │ │ │ ├── Print_Smooth_Font │ │ │ │ │ ├── Print_Smooth_Font.ino │ │ │ │ │ └── data │ │ │ │ │ │ └── Final-Frontier-28.vlw │ │ │ │ ├── Smooth_font_gradient │ │ │ │ │ ├── Smooth_font_gradient.ino │ │ │ │ │ └── data │ │ │ │ │ │ ├── NotoSansBold15.vlw │ │ │ │ │ │ └── NotoSansBold36.vlw │ │ │ │ ├── Smooth_font_reading_TFT │ │ │ │ │ ├── Smooth_font_reading_TFT.ino │ │ │ │ │ └── data │ │ │ │ │ │ ├── NotoSansBold15.vlw │ │ │ │ │ │ └── NotoSansBold36.vlw │ │ │ │ └── Unicode_test │ │ │ │ │ ├── LittleFS_functions.ino │ │ │ │ │ ├── Unicode_test.ino │ │ │ │ │ └── data │ │ │ │ │ ├── Final-Frontier-28.vlw │ │ │ │ │ ├── Latin-Hiragana-24.vlw │ │ │ │ │ └── Unicode-Test-72.vlw │ │ │ ├── SD_Card │ │ │ │ └── ESP32_Smooth_Font_SD │ │ │ │ │ ├── ESP32_Smooth_Font_SD.ino │ │ │ │ │ └── data │ │ │ │ │ └── Final-Frontier-28.vlw │ │ │ └── SPIFFS │ │ │ │ ├── Font_Demo_1 │ │ │ │ ├── Font_Demo_1.ino │ │ │ │ ├── Notes.ino │ │ │ │ └── data │ │ │ │ │ ├── NotoSansBold15.vlw │ │ │ │ │ └── NotoSansBold36.vlw │ │ │ │ ├── Font_Demo_2 │ │ │ │ ├── Font_Demo_2.ino │ │ │ │ ├── Notes.ino │ │ │ │ └── data │ │ │ │ │ ├── NotoSansBold15.vlw │ │ │ │ │ └── NotoSansBold36.vlw │ │ │ │ ├── Font_Demo_3 │ │ │ │ ├── Font_Demo_3.ino │ │ │ │ ├── Notes.ino │ │ │ │ └── data │ │ │ │ │ ├── NotoSansBold15.vlw │ │ │ │ │ ├── NotoSansBold36.vlw │ │ │ │ │ └── NotoSansMonoSCB20.vlw │ │ │ │ ├── Font_Demo_4 │ │ │ │ ├── Font_Demo_4.ino │ │ │ │ ├── Notes.ino │ │ │ │ └── data │ │ │ │ │ ├── NotoSansBold15.vlw │ │ │ │ │ └── NotoSansBold36.vlw │ │ │ │ ├── Print_Smooth_Font │ │ │ │ ├── Print_Smooth_Font.ino │ │ │ │ └── data │ │ │ │ │ └── Final-Frontier-28.vlw │ │ │ │ ├── Smooth_font_gradient │ │ │ │ ├── Smooth_font_gradient.ino │ │ │ │ └── data │ │ │ │ │ ├── NotoSansBold15.vlw │ │ │ │ │ └── NotoSansBold36.vlw │ │ │ │ ├── Smooth_font_reading_TFT │ │ │ │ ├── Smooth_font_reading_TFT.ino │ │ │ │ └── data │ │ │ │ │ ├── NotoSansBold15.vlw │ │ │ │ │ └── NotoSansBold36.vlw │ │ │ │ └── Unicode_test │ │ │ │ ├── SPIFFS_functions.ino │ │ │ │ ├── Unicode_test.ino │ │ │ │ └── data │ │ │ │ ├── Final-Frontier-28.vlw │ │ │ │ ├── Latin-Hiragana-24.vlw │ │ │ │ └── Unicode-Test-72.vlw │ │ ├── Sprite │ │ │ ├── Animated_dial │ │ │ │ ├── Animated_dial.ino │ │ │ │ ├── NotoSansBold36.h │ │ │ │ └── dial.h │ │ │ ├── One_bit_Sprite_Demo │ │ │ │ └── One_bit_Sprite_Demo.ino │ │ │ ├── One_bit_Yin_Yang │ │ │ │ └── One_bit_Yin_Yang.ino │ │ │ ├── Orrery │ │ │ │ ├── Orrery.ino │ │ │ │ ├── astronomy.c │ │ │ │ └── astronomy.h │ │ │ ├── Rotated_Sprite_1 │ │ │ │ └── Rotated_Sprite_1.ino │ │ │ ├── Rotated_Sprite_2 │ │ │ │ └── Rotated_Sprite_2.ino │ │ │ ├── Rotated_Sprite_3 │ │ │ │ └── Rotated_Sprite_3.ino │ │ │ ├── Sprite_RLE_Font_test │ │ │ │ └── Sprite_RLE_Font_test.ino │ │ │ ├── Sprite_TFT_Rainbow │ │ │ │ └── Sprite_TFT_Rainbow.ino │ │ │ ├── Sprite_draw │ │ │ │ └── Sprite_draw.ino │ │ │ ├── Sprite_draw_4bit │ │ │ │ └── Sprite_draw_4bit.ino │ │ │ ├── Sprite_image_4bit │ │ │ │ ├── Sprite_image_4bit.ino │ │ │ │ ├── sample_images.h │ │ │ │ └── starImage.cpp │ │ │ ├── Sprite_scroll │ │ │ │ └── Sprite_scroll.ino │ │ │ ├── Sprite_scroll_16bit │ │ │ │ └── Sprite_scroll_16bit.ino │ │ │ ├── Sprite_scroll_1bit │ │ │ │ └── Sprite_scroll_1bit.ino │ │ │ ├── Sprite_scroll_4bit │ │ │ │ └── Sprite_scroll_4bit.ino │ │ │ ├── Sprite_scroll_8bit │ │ │ │ └── Sprite_scroll_8bit.ino │ │ │ ├── Sprite_scroll_wrap_1bit │ │ │ │ └── Sprite_scroll_wrap_1bit.ino │ │ │ ├── Transparent_Sprite_Demo │ │ │ │ └── Transparent_Sprite_Demo.ino │ │ │ └── Transparent_Sprite_Demo_4bit │ │ │ │ └── Transparent_Sprite_Demo_4bit.ino │ │ ├── Test and diagnostics │ │ │ ├── Colour_Test │ │ │ │ └── Colour_Test.ino │ │ │ ├── Read_User_Setup │ │ │ │ └── Read_User_Setup.ino │ │ │ └── Test_Touch_Controller │ │ │ │ └── Test_Touch_Controller.ino │ │ └── ePaper │ │ │ └── Floyd_Steinberg │ │ │ ├── EPD_Support.h │ │ │ ├── Floyd_Steinberg.ino │ │ │ ├── Floyd_Steinberg_BMP.ino │ │ │ ├── SPIFFS.ino │ │ │ └── data │ │ │ ├── TestCard.bmp │ │ │ └── Tiger.bmp │ ├── keywords.txt │ ├── library.json │ ├── library.properties │ └── license.txt │ └── TJpg_Decoder │ ├── .gitattributes │ ├── .gitignore │ ├── .piopm │ ├── README.md │ ├── examples │ ├── All_SPIFFS │ │ └── All_SPIFFS.ino │ ├── ESP32_Dual_Core_Flash_Jpg │ │ ├── ESP32_Dual_Core_Flash_Jpg.ino │ │ └── panda.h │ ├── Flash_Jpg │ │ ├── Flash_Jpg.ino │ │ └── panda.h │ ├── Flash_Jpg_GFX │ │ ├── Flash_Jpg_GFX.ino │ │ └── panda.h │ ├── SD_Jpg │ │ └── SD_Jpg.ino │ ├── SPIFFS_Jpg │ │ └── SPIFFS_Jpg.ino │ └── Web_Jpg │ │ ├── List_SPIFFS.h │ │ ├── Web_Fetch.h │ │ └── Web_Jpg.ino │ ├── keywords.txt │ ├── library.json │ ├── library.properties │ ├── license.txt │ └── src │ ├── TJpg_Decoder.cpp │ ├── TJpg_Decoder.h │ ├── User_Config.h │ ├── tjpgd.c │ └── tjpgd.h ├── .vscode ├── extensions.json └── settings.json ├── README.md ├── include ├── README └── common_macro.h ├── lib └── README ├── media ├── fireworks.gif ├── number.gif └── transition.gif ├── platformio.ini ├── src ├── FillScreenDemo.cpp ├── FillScreenDemo.h ├── Furore28pt7b.h.bak ├── component │ ├── Component.h │ ├── Componment.cpp │ ├── FireworkComponent │ │ ├── FireworkComponent.cpp │ │ └── FireworkComponent.h │ └── ScrollNumberComponent │ │ ├── ScrollNumberComponent.cpp │ │ └── ScrollNumberComponent.h ├── main.cpp ├── shape │ ├── PVector.cpp │ ├── PVector.h │ ├── Particle.cpp │ ├── Particle.h │ ├── Rectangle.cpp │ ├── Rectangle.h │ ├── Vector.cpp │ └── Vector.h └── utils │ ├── interploter.cpp │ ├── interploter.h │ ├── utils.cpp │ └── utils.h └── test └── README /.gitignore: -------------------------------------------------------------------------------- 1 | .vscode/.browse.c_cpp.db* 2 | .vscode/c_cpp_properties.json 3 | .vscode/launch.json 4 | .vscode/ipch 5 | .pio/build -------------------------------------------------------------------------------- /.pio/libdeps/pico32/Adafruit BusIO/.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | Thank you for creating a pull request to contribute to Adafruit's GitHub code! 2 | Before you open the request please review the following guidelines and tips to 3 | help it be more easily integrated: 4 | 5 | - **Describe the scope of your change--i.e. what the change does and what parts 6 | of the code were modified.** This will help us understand any risks of integrating 7 | the code. 8 | 9 | - **Describe any known limitations with your change.** For example if the change 10 | doesn't apply to a supported platform of the library please mention it. 11 | 12 | - **Please run any tests or examples that can exercise your modified code.** We 13 | strive to not break users of the code and running tests/examples helps with this 14 | process. 15 | 16 | Thank you again for contributing! We will try to test and integrate the change 17 | as soon as we can, but be aware we have many GitHub repositories to manage and 18 | can't immediately respond to every request. There is no need to bump or check in 19 | on a pull request (it will clutter the discussion of the request). 20 | 21 | Also don't be worried if the request is closed or not integrated--sometimes the 22 | priorities of Adafruit's GitHub code (education, ease of use) might not match the 23 | priorities of the pull request. Don't fret, the open source community thrives on 24 | forks and GitHub makes it easy to keep your changes in a forked repo. 25 | 26 | After reviewing the guidelines above you can delete this text from the pull request. 27 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/Adafruit BusIO/.github/workflows/githubci.yml: -------------------------------------------------------------------------------- 1 | name: Arduino Library CI 2 | 3 | on: [pull_request, push, repository_dispatch] 4 | 5 | jobs: 6 | build: 7 | runs-on: ubuntu-latest 8 | 9 | steps: 10 | - uses: actions/setup-python@v1 11 | with: 12 | python-version: '3.x' 13 | - uses: actions/checkout@v2 14 | - uses: actions/checkout@v2 15 | with: 16 | repository: adafruit/ci-arduino 17 | path: ci 18 | 19 | - name: pre-install 20 | run: bash ci/actions_install.sh 21 | 22 | - name: test platforms 23 | run: python3 ci/build_platform.py main_platforms 24 | 25 | - name: clang 26 | run: python3 ci/run-clang-format.py -e "ci/*" -e "bin/*" -r . 27 | 28 | - name: doxygen 29 | env: 30 | GH_REPO_TOKEN: ${{ secrets.GH_REPO_TOKEN }} 31 | PRETTYNAME : "Adafruit Bus IO Library" 32 | run: bash ci/doxy_gen_and_deploy.sh 33 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/Adafruit BusIO/.piopm: -------------------------------------------------------------------------------- 1 | {"type": "library", "name": "Adafruit BusIO", "version": "1.7.0", "spec": {"owner": "adafruit", "id": 6214, "name": "Adafruit BusIO", "requirements": null, "url": null}} -------------------------------------------------------------------------------- /.pio/libdeps/pico32/Adafruit BusIO/Adafruit_I2CDevice.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #ifndef Adafruit_I2CDevice_h 4 | #define Adafruit_I2CDevice_h 5 | 6 | ///< The class which defines how we will talk to this device over I2C 7 | class Adafruit_I2CDevice { 8 | public: 9 | Adafruit_I2CDevice(uint8_t addr, TwoWire *theWire = &Wire); 10 | uint8_t address(void); 11 | bool begin(bool addr_detect = true); 12 | bool detected(void); 13 | 14 | bool read(uint8_t *buffer, size_t len, bool stop = true); 15 | bool write(const uint8_t *buffer, size_t len, bool stop = true, 16 | const uint8_t *prefix_buffer = NULL, size_t prefix_len = 0); 17 | bool write_then_read(const uint8_t *write_buffer, size_t write_len, 18 | uint8_t *read_buffer, size_t read_len, 19 | bool stop = false); 20 | bool setSpeed(uint32_t desiredclk); 21 | 22 | /*! @brief How many bytes we can read in a transaction 23 | * @return The size of the Wire receive/transmit buffer */ 24 | size_t maxBufferSize() { return _maxBufferSize; } 25 | 26 | private: 27 | uint8_t _addr; 28 | TwoWire *_wire; 29 | bool _begun; 30 | size_t _maxBufferSize; 31 | }; 32 | 33 | #endif // Adafruit_I2CDevice_h 34 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/Adafruit BusIO/Adafruit_I2CRegister.h: -------------------------------------------------------------------------------- 1 | #include "Adafruit_BusIO_Register.h" 2 | #ifndef _ADAFRUIT_I2C_REGISTER_H_ 3 | #define _ADAFRUIT_I2C_REGISTER_H_ 4 | 5 | typedef Adafruit_BusIO_Register Adafruit_I2CRegister; 6 | typedef Adafruit_BusIO_RegisterBits Adafruit_I2CRegisterBits; 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/Adafruit BusIO/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2017 Adafruit Industries 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /.pio/libdeps/pico32/Adafruit BusIO/README.md: -------------------------------------------------------------------------------- 1 | # Adafruit Bus IO Library [![Build Status](https://github.com/adafruit/Adafruit_BusIO/workflows/Arduino%20Library%20CI/badge.svg)](https://github.com/adafruit/Adafruit_BusIO/actions) 2 | 3 | 4 | This is a helper libary to abstract away I2C & SPI transactions and registers 5 | 6 | Adafruit invests time and resources providing this open source code, please support Adafruit and open-source hardware by purchasing products from Adafruit! 7 | 8 | MIT license, all text above must be included in any redistribution 9 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/Adafruit BusIO/examples/i2c_address_detect/i2c_address_detect.ino: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | Adafruit_I2CDevice i2c_dev = Adafruit_I2CDevice(0x10); 4 | 5 | void setup() { 6 | while (!Serial) { delay(10); } 7 | Serial.begin(115200); 8 | Serial.println("I2C address detection test"); 9 | 10 | if (!i2c_dev.begin()) { 11 | Serial.print("Did not find device at 0x"); 12 | Serial.println(i2c_dev.address(), HEX); 13 | while (1); 14 | } 15 | Serial.print("Device found on address 0x"); 16 | Serial.println(i2c_dev.address(), HEX); 17 | } 18 | 19 | void loop() { 20 | 21 | } 22 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/Adafruit BusIO/examples/i2c_readwrite/i2c_readwrite.ino: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define I2C_ADDRESS 0x60 4 | Adafruit_I2CDevice i2c_dev = Adafruit_I2CDevice(I2C_ADDRESS); 5 | 6 | 7 | void setup() { 8 | while (!Serial) { delay(10); } 9 | Serial.begin(115200); 10 | Serial.println("I2C device read and write test"); 11 | 12 | if (!i2c_dev.begin()) { 13 | Serial.print("Did not find device at 0x"); 14 | Serial.println(i2c_dev.address(), HEX); 15 | while (1); 16 | } 17 | Serial.print("Device found on address 0x"); 18 | Serial.println(i2c_dev.address(), HEX); 19 | 20 | uint8_t buffer[32]; 21 | // Try to read 32 bytes 22 | i2c_dev.read(buffer, 32); 23 | Serial.print("Read: "); 24 | for (uint8_t i=0; i<32; i++) { 25 | Serial.print("0x"); Serial.print(buffer[i], HEX); Serial.print(", "); 26 | } 27 | Serial.println(); 28 | 29 | // read a register by writing first, then reading 30 | buffer[0] = 0x0C; // we'll reuse the same buffer 31 | i2c_dev.write_then_read(buffer, 1, buffer, 2, false); 32 | Serial.print("Write then Read: "); 33 | for (uint8_t i=0; i<2; i++) { 34 | Serial.print("0x"); Serial.print(buffer[i], HEX); Serial.print(", "); 35 | } 36 | Serial.println(); 37 | } 38 | 39 | void loop() { 40 | 41 | } 42 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/Adafruit BusIO/examples/i2c_registers/i2c_registers.ino: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | #define I2C_ADDRESS 0x60 5 | Adafruit_I2CDevice i2c_dev = Adafruit_I2CDevice(I2C_ADDRESS); 6 | 7 | 8 | void setup() { 9 | while (!Serial) { delay(10); } 10 | Serial.begin(115200); 11 | Serial.println("I2C device register test"); 12 | 13 | if (!i2c_dev.begin()) { 14 | Serial.print("Did not find device at 0x"); 15 | Serial.println(i2c_dev.address(), HEX); 16 | while (1); 17 | } 18 | Serial.print("Device found on address 0x"); 19 | Serial.println(i2c_dev.address(), HEX); 20 | 21 | Adafruit_BusIO_Register id_reg = Adafruit_BusIO_Register(&i2c_dev, 0x0C, 2, LSBFIRST); 22 | uint16_t id; 23 | id_reg.read(&id); 24 | Serial.print("ID register = 0x"); Serial.println(id, HEX); 25 | 26 | Adafruit_BusIO_Register thresh_reg = Adafruit_BusIO_Register(&i2c_dev, 0x01, 2, LSBFIRST); 27 | uint16_t thresh; 28 | thresh_reg.read(&thresh); 29 | Serial.print("Initial threshold register = 0x"); Serial.println(thresh, HEX); 30 | 31 | thresh_reg.write(~thresh); 32 | 33 | Serial.print("Post threshold register = 0x"); Serial.println(thresh_reg.read(), HEX); 34 | } 35 | 36 | void loop() { 37 | 38 | } -------------------------------------------------------------------------------- /.pio/libdeps/pico32/Adafruit BusIO/examples/i2corspi_register/i2corspi_register.ino: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | // Define which interface to use by setting the unused interface to NULL! 4 | 5 | #define SPIDEVICE_CS 10 6 | Adafruit_SPIDevice *spi_dev = NULL; // new Adafruit_SPIDevice(SPIDEVICE_CS); 7 | 8 | #define I2C_ADDRESS 0x5D 9 | Adafruit_I2CDevice *i2c_dev = new Adafruit_I2CDevice(I2C_ADDRESS); 10 | 11 | void setup() { 12 | while (!Serial) { delay(10); } 13 | Serial.begin(115200); 14 | Serial.println("I2C or SPI device register test"); 15 | 16 | if (spi_dev && !spi_dev->begin()) { 17 | Serial.println("Could not initialize SPI device"); 18 | } 19 | 20 | if (i2c_dev) { 21 | if (i2c_dev->begin()) { 22 | Serial.print("Device found on I2C address 0x"); 23 | Serial.println(i2c_dev->address(), HEX); 24 | } else { 25 | Serial.print("Did not find I2C device at 0x"); 26 | Serial.println(i2c_dev->address(), HEX); 27 | } 28 | } 29 | 30 | Adafruit_BusIO_Register id_reg = Adafruit_BusIO_Register(i2c_dev, spi_dev, ADDRBIT8_HIGH_TOREAD, 0x0F); 31 | uint8_t id; 32 | id_reg.read(&id); 33 | Serial.print("ID register = 0x"); Serial.println(id, HEX); 34 | } 35 | 36 | void loop() { 37 | 38 | } -------------------------------------------------------------------------------- /.pio/libdeps/pico32/Adafruit BusIO/examples/spi_modetest/spi_modetest.ino: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define SPIDEVICE_CS 10 4 | Adafruit_SPIDevice spi_dev = Adafruit_SPIDevice(SPIDEVICE_CS, 100000, SPI_BITORDER_MSBFIRST, SPI_MODE1); 5 | //Adafruit_SPIDevice spi_dev = Adafruit_SPIDevice(SPIDEVICE_CS, 13, 12, 11, 100000, SPI_BITORDER_MSBFIRST, SPI_MODE1); 6 | 7 | 8 | void setup() { 9 | while (!Serial) { delay(10); } 10 | Serial.begin(115200); 11 | Serial.println("SPI device mode test"); 12 | 13 | if (!spi_dev.begin()) { 14 | Serial.println("Could not initialize SPI device"); 15 | while (1); 16 | } 17 | } 18 | 19 | void loop() { 20 | Serial.println("\n\nTransfer test"); 21 | for (uint16_t x=0; x<=0xFF; x++) { 22 | uint8_t i = x; 23 | Serial.print("0x"); Serial.print(i, HEX); 24 | spi_dev.read(&i, 1, i); 25 | Serial.print("/"); Serial.print(i, HEX); 26 | Serial.print(", "); 27 | delay(25); 28 | } 29 | } -------------------------------------------------------------------------------- /.pio/libdeps/pico32/Adafruit BusIO/examples/spi_readwrite/spi_readwrite.ino: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define SPIDEVICE_CS 10 4 | Adafruit_SPIDevice spi_dev = Adafruit_SPIDevice(SPIDEVICE_CS); 5 | 6 | 7 | void setup() { 8 | while (!Serial) { delay(10); } 9 | Serial.begin(115200); 10 | Serial.println("SPI device read and write test"); 11 | 12 | if (!spi_dev.begin()) { 13 | Serial.println("Could not initialize SPI device"); 14 | while (1); 15 | } 16 | 17 | uint8_t buffer[32]; 18 | 19 | // Try to read 32 bytes 20 | spi_dev.read(buffer, 32); 21 | Serial.print("Read: "); 22 | for (uint8_t i=0; i<32; i++) { 23 | Serial.print("0x"); Serial.print(buffer[i], HEX); Serial.print(", "); 24 | } 25 | Serial.println(); 26 | 27 | // read a register by writing first, then reading 28 | buffer[0] = 0x8F; // we'll reuse the same buffer 29 | spi_dev.write_then_read(buffer, 1, buffer, 2, false); 30 | Serial.print("Write then Read: "); 31 | for (uint8_t i=0; i<2; i++) { 32 | Serial.print("0x"); Serial.print(buffer[i], HEX); Serial.print(", "); 33 | } 34 | Serial.println(); 35 | } 36 | 37 | void loop() { 38 | 39 | } 40 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/Adafruit BusIO/examples/spi_registers/spi_registers.ino: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | #define SPIDEVICE_CS 10 5 | Adafruit_SPIDevice spi_dev = Adafruit_SPIDevice(SPIDEVICE_CS); 6 | 7 | void setup() { 8 | while (!Serial) { delay(10); } 9 | Serial.begin(115200); 10 | Serial.println("SPI device register test"); 11 | 12 | if (!spi_dev.begin()) { 13 | Serial.println("Could not initialize SPI device"); 14 | while (1); 15 | } 16 | 17 | Adafruit_BusIO_Register id_reg = Adafruit_BusIO_Register(&spi_dev, 0x0F, ADDRBIT8_HIGH_TOREAD); 18 | uint8_t id; 19 | id_reg.read(&id); 20 | Serial.print("ID register = 0x"); Serial.println(id, HEX); 21 | 22 | Adafruit_BusIO_Register thresh_reg = Adafruit_BusIO_Register(&spi_dev, 0x0C, ADDRBIT8_HIGH_TOREAD, 2, LSBFIRST); 23 | uint16_t thresh; 24 | thresh_reg.read(&thresh); 25 | Serial.print("Initial threshold register = 0x"); Serial.println(thresh, HEX); 26 | 27 | thresh_reg.write(~thresh); 28 | 29 | Serial.print("Post threshold register = 0x"); Serial.println(thresh_reg.read(), HEX); 30 | } 31 | 32 | void loop() { 33 | 34 | } -------------------------------------------------------------------------------- /.pio/libdeps/pico32/Adafruit BusIO/library.properties: -------------------------------------------------------------------------------- 1 | name=Adafruit BusIO 2 | version=1.7.0 3 | author=Adafruit 4 | maintainer=Adafruit 5 | sentence=This is a library for abstracting away UART, I2C and SPI interfacing 6 | paragraph=This is a library for abstracting away UART, I2C and SPI interfacing 7 | category=Signal Input/Output 8 | url=https://github.com/adafruit/Adafruit_BusIO 9 | architectures=* 10 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/Adafruit GFX Library/.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | Thank you for creating a pull request to contribute to Adafruit's GitHub code! 2 | Before you open the request please review the following guidelines and tips to 3 | help it be more easily integrated: 4 | 5 | - **Describe the scope of your change--i.e. what the change does and what parts 6 | of the code were modified.** This will help us understand any risks of integrating 7 | the code. 8 | 9 | - **Describe any known limitations with your change.** For example if the change 10 | doesn't apply to a supported platform of the library please mention it. 11 | 12 | - **Please run any tests or examples that can exercise your modified code.** We 13 | strive to not break users of the code and running tests/examples helps with this 14 | process. 15 | 16 | Thank you again for contributing! We will try to test and integrate the change 17 | as soon as we can, but be aware we have many GitHub repositories to manage and 18 | can't immediately respond to every request. There is no need to bump or check in 19 | on a pull request (it will clutter the discussion of the request). 20 | 21 | Also don't be worried if the request is closed or not integrated--sometimes the 22 | priorities of Adafruit's GitHub code (education, ease of use) might not match the 23 | priorities of the pull request. Don't fret, the open source community thrives on 24 | forks and GitHub makes it easy to keep your changes in a forked repo. 25 | 26 | After reviewing the guidelines above you can delete this text from the pull request. 27 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/Adafruit GFX Library/.github/workflows/githubci.yml: -------------------------------------------------------------------------------- 1 | name: Arduino Library CI 2 | 3 | on: [pull_request, push, repository_dispatch] 4 | 5 | jobs: 6 | build: 7 | runs-on: ubuntu-latest 8 | 9 | steps: 10 | - uses: actions/setup-python@v1 11 | with: 12 | python-version: '3.x' 13 | - uses: actions/checkout@v2 14 | - uses: actions/checkout@v2 15 | with: 16 | repository: adafruit/ci-arduino 17 | path: ci 18 | 19 | - name: pre-install 20 | run: bash ci/actions_install.sh 21 | 22 | - name: extra libraries 23 | run: | 24 | git clone --quiet https://github.com/adafruit/Adafruit_ILI9341.git /home/runner/Arduino/libraries/Adafruit_ILI9341 25 | 26 | - name: test platforms 27 | run: python3 ci/build_platform.py main_platforms 28 | 29 | - name: clang 30 | run: python3 ci/run-clang-format.py -e "ci/*" -e "bin/*" -r . 31 | 32 | - name: doxygen 33 | env: 34 | GH_REPO_TOKEN: ${{ secrets.GH_REPO_TOKEN }} 35 | PRETTYNAME : "Adafruit GFX Library" 36 | run: bash ci/doxy_gen_and_deploy.sh 37 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/Adafruit GFX Library/.gitignore: -------------------------------------------------------------------------------- 1 | default.vim 2 | fontconvert/fontconvert 3 | # Our handy .gitignore for automation ease 4 | Doxyfile* 5 | doxygen_sqlite3.db 6 | html -------------------------------------------------------------------------------- /.pio/libdeps/pico32/Adafruit GFX Library/.piopm: -------------------------------------------------------------------------------- 1 | {"type": "library", "name": "Adafruit GFX Library", "version": "1.10.3", "spec": {"owner": "adafruit", "id": 13, "name": "Adafruit GFX Library", "requirements": null, "url": null}} -------------------------------------------------------------------------------- /.pio/libdeps/pico32/Adafruit GFX Library/Adafruit_SPITFT_Macros.h: -------------------------------------------------------------------------------- 1 | // THIS FILE INTENTIONALLY LEFT BLANK. 2 | 3 | // Macros previously #defined here have been made into (mostly) inline 4 | // functions in the Adafruit_SPITFT class. Other libraries might still 5 | // contain code trying to #include this header file, so until everything's 6 | // updated this file still exists (but doing nothing) to avoid trouble. 7 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/Adafruit GFX Library/fontconvert/Makefile: -------------------------------------------------------------------------------- 1 | all: fontconvert 2 | 3 | CC = gcc 4 | CFLAGS = -Wall -I/usr/local/include/freetype2 -I/usr/include/freetype2 -I/usr/include 5 | LIBS = -lfreetype 6 | 7 | fontconvert: fontconvert.c 8 | $(CC) $(CFLAGS) $< $(LIBS) -o $@ 9 | strip $@ 10 | 11 | clean: 12 | rm -f fontconvert 13 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/Adafruit GFX Library/fontconvert/makefonts.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Ugly little Bash script, generates a set of .h files for GFX using 4 | # GNU FreeFont sources. There are three fonts: 'Mono' (Courier-like), 5 | # 'Sans' (Helvetica-like) and 'Serif' (Times-like); four styles: regular, 6 | # bold, oblique or italic, and bold+oblique or bold+italic; and four 7 | # sizes: 9, 12, 18 and 24 point. No real error checking or anything, 8 | # this just powers through all the combinations, calling the fontconvert 9 | # utility and redirecting the output to a .h file for each combo. 10 | 11 | # Adafruit_GFX repository does not include the source outline fonts 12 | # (huge zipfile, different license) but they're easily acquired: 13 | # http://savannah.gnu.org/projects/freefont/ 14 | 15 | convert=./fontconvert 16 | inpath=~/Desktop/freefont/ 17 | outpath=../Fonts/ 18 | fonts=(FreeMono FreeSans FreeSerif) 19 | styles=("" Bold Italic BoldItalic Oblique BoldOblique) 20 | sizes=(9 12 18 24) 21 | 22 | for f in ${fonts[*]} 23 | do 24 | for index in ${!styles[*]} 25 | do 26 | st=${styles[$index]} 27 | for si in ${sizes[*]} 28 | do 29 | infile=$inpath$f$st".ttf" 30 | if [ -f $infile ] # Does source combination exist? 31 | then 32 | outfile=$outpath$f$st$si"pt7b.h" 33 | # printf "%s %s %s > %s\n" $convert $infile $si $outfile 34 | $convert $infile $si > $outfile 35 | fi 36 | done 37 | done 38 | done 39 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/Adafruit GFX Library/gfxfont.h: -------------------------------------------------------------------------------- 1 | // Font structures for newer Adafruit_GFX (1.1 and later). 2 | // Example fonts are included in 'Fonts' directory. 3 | // To use a font in your Arduino sketch, #include the corresponding .h 4 | // file and pass address of GFXfont struct to setFont(). Pass NULL to 5 | // revert to 'classic' fixed-space bitmap font. 6 | 7 | #ifndef _GFXFONT_H_ 8 | #define _GFXFONT_H_ 9 | 10 | /// Font data stored PER GLYPH 11 | typedef struct { 12 | uint16_t bitmapOffset; ///< Pointer into GFXfont->bitmap 13 | uint8_t width; ///< Bitmap dimensions in pixels 14 | uint8_t height; ///< Bitmap dimensions in pixels 15 | uint8_t xAdvance; ///< Distance to advance cursor (x axis) 16 | int8_t xOffset; ///< X dist from cursor pos to UL corner 17 | int8_t yOffset; ///< Y dist from cursor pos to UL corner 18 | } GFXglyph; 19 | 20 | /// Data stored for FONT AS A WHOLE 21 | typedef struct { 22 | uint8_t *bitmap; ///< Glyph bitmaps, concatenated 23 | GFXglyph *glyph; ///< Glyph array 24 | uint16_t first; ///< ASCII extents (first char) 25 | uint16_t last; ///< ASCII extents (last char) 26 | uint8_t yAdvance; ///< Newline distance (y axis) 27 | } GFXfont; 28 | 29 | #endif // _GFXFONT_H_ 30 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/Adafruit GFX Library/library.properties: -------------------------------------------------------------------------------- 1 | name=Adafruit GFX Library 2 | version=1.10.3 3 | author=Adafruit 4 | maintainer=Adafruit 5 | sentence=Adafruit GFX graphics core library, this is the 'core' class that all our other graphics libraries derive from. 6 | paragraph=Install this library in addition to the display library for your hardware. 7 | category=Display 8 | url=https://github.com/adafruit/Adafruit-GFX-Library 9 | architectures=* 10 | depends=Adafruit BusIO 11 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/Adafruit GFX Library/license.txt: -------------------------------------------------------------------------------- 1 | Software License Agreement (BSD License) 2 | 3 | Copyright (c) 2012 Adafruit Industries. All rights reserved. 4 | 5 | Redistribution and use in source and binary forms, with or without 6 | modification, are permitted provided that the following conditions are met: 7 | 8 | - Redistributions of source code must retain the above copyright notice, 9 | this list of conditions and the following disclaimer. 10 | - Redistributions in binary form must reproduce the above copyright notice, 11 | this list of conditions and the following disclaimer in the documentation 12 | and/or other materials provided with the distribution. 13 | 14 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 15 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 18 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 19 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 20 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 21 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 22 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 23 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 24 | POSSIBILITY OF SUCH DAMAGE. 25 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/AsyncTCP-esphome/.github/scripts/install-arduino-core-esp32.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | export ARDUINO_ESP32_PATH="$ARDUINO_USR_PATH/hardware/espressif/esp32" 4 | if [ ! -d "$ARDUINO_ESP32_PATH" ]; then 5 | echo "Installing ESP32 Arduino Core ..." 6 | script_init_path="$PWD" 7 | mkdir -p "$ARDUINO_USR_PATH/hardware/espressif" 8 | cd "$ARDUINO_USR_PATH/hardware/espressif" 9 | 10 | echo "Installing Python Serial ..." 11 | pip install pyserial > /dev/null 12 | 13 | if [ "$OS_IS_WINDOWS" == "1" ]; then 14 | echo "Installing Python Requests ..." 15 | pip install requests > /dev/null 16 | fi 17 | 18 | if [ "$GITHUB_REPOSITORY" == "espressif/arduino-esp32" ]; then 19 | echo "Linking Core..." 20 | ln -s $GITHUB_WORKSPACE esp32 21 | else 22 | echo "Cloning Core Repository..." 23 | git clone https://github.com/espressif/arduino-esp32.git esp32 > /dev/null 2>&1 24 | fi 25 | 26 | echo "Updating Submodules ..." 27 | cd esp32 28 | git submodule update --init --recursive > /dev/null 2>&1 29 | 30 | echo "Installing Platform Tools ..." 31 | cd tools && python get.py 32 | cd $script_init_path 33 | 34 | echo "ESP32 Arduino has been installed in '$ARDUINO_ESP32_PATH'" 35 | echo "" 36 | fi 37 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/AsyncTCP-esphome/.github/stale.yml: -------------------------------------------------------------------------------- 1 | # Configuration for probot-stale - https://github.com/probot/stale 2 | 3 | daysUntilStale: 60 4 | daysUntilClose: 14 5 | limitPerRun: 30 6 | staleLabel: stale 7 | exemptLabels: 8 | - pinned 9 | - security 10 | - "to be implemented" 11 | - "for reference" 12 | - "move to PR" 13 | - "enhancement" 14 | 15 | only: issues 16 | onlyLabels: [] 17 | exemptProjects: false 18 | exemptMilestones: false 19 | exemptAssignees: false 20 | 21 | markComment: > 22 | [STALE_SET] This issue has been automatically marked as stale because it has not had 23 | recent activity. It will be closed in 14 days if no further activity occurs. Thank you 24 | for your contributions. 25 | 26 | unmarkComment: > 27 | [STALE_CLR] This issue has been removed from the stale queue. Please ensure activity to keep it openin the future. 28 | 29 | closeComment: > 30 | [STALE_DEL] This stale issue has been automatically closed. Thank you for your contributions. 31 | 32 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/AsyncTCP-esphome/.github/workflows/push.yml: -------------------------------------------------------------------------------- 1 | name: Async TCP CI 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | - release/* 8 | pull_request: 9 | 10 | jobs: 11 | 12 | build-arduino: 13 | name: Arduino on ${{ matrix.os }} 14 | runs-on: ${{ matrix.os }} 15 | strategy: 16 | matrix: 17 | os: [ubuntu-latest, macOS-latest] 18 | steps: 19 | - uses: actions/checkout@v1 20 | - name: Build Tests 21 | run: bash ./.github/scripts/on-push.sh 0 1 22 | 23 | build-pio: 24 | name: PlatformIO on ${{ matrix.os }} 25 | runs-on: ${{ matrix.os }} 26 | strategy: 27 | matrix: 28 | os: [ubuntu-latest, macOS-latest] 29 | steps: 30 | - uses: actions/checkout@v1 31 | - name: Build Tests 32 | run: bash ./.github/scripts/on-push.sh 1 1 33 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/AsyncTCP-esphome/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | .DS_Store 3 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/AsyncTCP-esphome/.piopm: -------------------------------------------------------------------------------- 1 | {"type": "library", "name": "AsyncTCP-esphome", "version": "1.1.1", "spec": {"owner": "ottowinter", "id": 6798, "name": "AsyncTCP-esphome", "requirements": null, "url": null}} -------------------------------------------------------------------------------- /.pio/libdeps/pico32/AsyncTCP-esphome/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | language: python 3 | os: 4 | - linux 5 | 6 | git: 7 | depth: false 8 | 9 | stages: 10 | - build 11 | 12 | jobs: 13 | include: 14 | 15 | - name: "Arduino Build" 16 | if: tag IS blank AND (type = pull_request OR (type = push AND branch = master)) 17 | stage: build 18 | script: bash $TRAVIS_BUILD_DIR/.github/scripts/on-push.sh 19 | 20 | - name: "PlatformIO Build" 21 | if: tag IS blank AND (type = pull_request OR (type = push AND branch = master)) 22 | stage: build 23 | script: bash $TRAVIS_BUILD_DIR/.github/scripts/on-push.sh 1 1 24 | 25 | notifications: 26 | email: 27 | on_success: change 28 | on_failure: change 29 | webhooks: 30 | urls: 31 | - https://webhooks.gitter.im/e/60e65d0c78ea0a920347 32 | on_success: change # options: [always|never|change] default: always 33 | on_failure: always # options: [always|never|change] default: always 34 | on_start: false # default: false 35 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/AsyncTCP-esphome/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(COMPONENT_SRCDIRS 2 | "src" 3 | ) 4 | 5 | set(COMPONENT_ADD_INCLUDEDIRS 6 | "src" 7 | ) 8 | 9 | set(COMPONENT_REQUIRES 10 | "arduino-esp32" 11 | ) 12 | 13 | register_component() 14 | 15 | target_compile_options(${COMPONENT_TARGET} PRIVATE -fno-rtti) 16 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/AsyncTCP-esphome/Kconfig.projbuild: -------------------------------------------------------------------------------- 1 | menu "AsyncTCP Configuration" 2 | 3 | choice ASYNC_TCP_RUNNING_CORE 4 | bool "Core on which AsyncTCP's thread is running" 5 | default ASYNC_TCP_RUN_CORE1 6 | help 7 | Select on which core AsyncTCP is running 8 | 9 | config ASYNC_TCP_RUN_CORE0 10 | bool "CORE 0" 11 | config ASYNC_TCP_RUN_CORE1 12 | bool "CORE 1" 13 | config ASYNC_TCP_RUN_NO_AFFINITY 14 | bool "BOTH" 15 | 16 | endchoice 17 | 18 | config ASYNC_TCP_RUNNING_CORE 19 | int 20 | default 0 if ASYNC_TCP_RUN_CORE0 21 | default 1 if ASYNC_TCP_RUN_CORE1 22 | default -1 if ASYNC_TCP_RUN_NO_AFFINITY 23 | 24 | config ASYNC_TCP_USE_WDT 25 | bool "Enable WDT for the AsyncTCP task" 26 | default "y" 27 | help 28 | Enable WDT for the AsyncTCP task, so it will trigger if a handler is locking the thread. 29 | 30 | endmenu 31 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/AsyncTCP-esphome/README.md: -------------------------------------------------------------------------------- 1 | # AsyncTCP 2 | [![Build Status](https://travis-ci.org/me-no-dev/AsyncTCP.svg?branch=master)](https://travis-ci.org/me-no-dev/AsyncTCP) ![](https://github.com/me-no-dev/AsyncTCP/workflows/Async%20TCP%20CI/badge.svg) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/2f7e4d1df8b446d192cbfec6dc174d2d)](https://www.codacy.com/manual/me-no-dev/AsyncTCP?utm_source=github.com&utm_medium=referral&utm_content=me-no-dev/AsyncTCP&utm_campaign=Badge_Grade) 3 | 4 | A fork of the [AsyncTCP](https://github.com/me-no-dev/AsyncTCP) library by [@me-no-dev](https://github.com/me-no-dev) for [ESPHome](https://esphome.io). 5 | 6 | ### Async TCP Library for ESP32 Arduino 7 | 8 | [![Join the chat at https://gitter.im/me-no-dev/ESPAsyncWebServer](https://badges.gitter.im/me-no-dev/ESPAsyncWebServer.svg)](https://gitter.im/me-no-dev/ESPAsyncWebServer?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) 9 | 10 | This is a fully asynchronous TCP library, aimed at enabling trouble-free, multi-connection network environment for Espressif's ESP32 MCUs. 11 | 12 | This library is the base for [ESPAsyncWebServer](https://github.com/me-no-dev/ESPAsyncWebServer) 13 | 14 | ## AsyncClient and AsyncServer 15 | The base classes on which everything else is built. They expose all possible scenarios, but are really raw and require more skills to use. 16 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/AsyncTCP-esphome/component.mk: -------------------------------------------------------------------------------- 1 | COMPONENT_ADD_INCLUDEDIRS := src 2 | COMPONENT_SRCDIRS := src 3 | CXXFLAGS += -fno-rtti 4 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/AsyncTCP-esphome/library.json: -------------------------------------------------------------------------------- 1 | { 2 | "name":"AsyncTCP-esphome", 3 | "description":"Asynchronous TCP Library for ESP32", 4 | "keywords":"async,tcp", 5 | "authors": 6 | { 7 | "name": "Hristo Gochkov", 8 | "maintainer": true 9 | }, 10 | "repository": 11 | { 12 | "type": "git", 13 | "url": "https://github.com/OttoWinter/AsyncTCP.git" 14 | }, 15 | "version": "1.1.1", 16 | "license": "LGPL-3.0", 17 | "frameworks": "arduino", 18 | "platforms": "espressif32", 19 | "build": { 20 | "libCompatMode": 2 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/AsyncTCP-esphome/library.properties: -------------------------------------------------------------------------------- 1 | name=AsyncTCP-esphome 2 | version=1.1.1 3 | author=Me-No-Dev 4 | maintainer=Me-No-Dev 5 | sentence=Async TCP Library for ESP32 6 | paragraph=Async TCP Library for ESP32 7 | category=Other 8 | url=https://github.com/OttoWinter/AsyncTCP 9 | architectures=* 10 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/ESPAsyncTCP-esphome/.github/scripts/install-arduino-core-esp8266.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "Installing ESP8266 Arduino Core ..." 4 | script_init_path="$PWD" 5 | mkdir -p "$ARDUINO_USR_PATH/hardware/esp8266com" 6 | cd "$ARDUINO_USR_PATH/hardware/esp8266com" 7 | 8 | echo "Installing Python Serial ..." 9 | pip install pyserial > /dev/null 10 | 11 | if [ "$OS_IS_WINDOWS" == "1" ]; then 12 | echo "Installing Python Requests ..." 13 | pip install requests > /dev/null 14 | fi 15 | 16 | echo "Cloning Core Repository ..." 17 | git clone https://github.com/esp8266/Arduino.git esp8266 > /dev/null 2>&1 18 | 19 | echo "Updating submodules ..." 20 | cd esp8266 21 | git submodule update --init --recursive > /dev/null 2>&1 22 | 23 | echo "Installing Platform Tools ..." 24 | cd tools 25 | python get.py > /dev/null 26 | cd $script_init_path 27 | 28 | echo "ESP8266 Arduino has been installed in '$ARDUINO_USR_PATH/hardware/esp8266com'" 29 | echo "" 30 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/ESPAsyncTCP-esphome/.github/stale.yml: -------------------------------------------------------------------------------- 1 | # Configuration for probot-stale - https://github.com/probot/stale 2 | 3 | daysUntilStale: 60 4 | daysUntilClose: 14 5 | limitPerRun: 30 6 | staleLabel: stale 7 | exemptLabels: 8 | - pinned 9 | - security 10 | - "to be implemented" 11 | - "for reference" 12 | - "move to PR" 13 | - "enhancement" 14 | 15 | only: issues 16 | onlyLabels: [] 17 | exemptProjects: false 18 | exemptMilestones: false 19 | exemptAssignees: false 20 | 21 | markComment: > 22 | [STALE_SET] This issue has been automatically marked as stale because it has not had 23 | recent activity. It will be closed in 14 days if no further activity occurs. Thank you 24 | for your contributions. 25 | 26 | unmarkComment: > 27 | [STALE_CLR] This issue has been removed from the stale queue. Please ensure activity to keep it openin the future. 28 | 29 | closeComment: > 30 | [STALE_DEL] This stale issue has been automatically closed. Thank you for your contributions. 31 | 32 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/ESPAsyncTCP-esphome/.github/workflows/push.yml: -------------------------------------------------------------------------------- 1 | name: ESP Async TCP CI 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | - release/* 8 | pull_request: 9 | 10 | jobs: 11 | 12 | build-pio: 13 | name: PlatformIO on ${{ matrix.os }} 14 | runs-on: ${{ matrix.os }} 15 | strategy: 16 | matrix: 17 | os: [ubuntu-latest, windows-latest, macOS-latest] 18 | steps: 19 | - uses: actions/checkout@v1 20 | - name: Build Tests 21 | run: bash ./.github/scripts/on-push.sh 1 1 22 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/ESPAsyncTCP-esphome/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | .DS_Store 3 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/ESPAsyncTCP-esphome/.piopm: -------------------------------------------------------------------------------- 1 | {"type": "library", "name": "ESPAsyncTCP-esphome", "version": "1.2.3", "spec": {"owner": "ottowinter", "id": 6757, "name": "ESPAsyncTCP-esphome", "requirements": null, "url": null}} -------------------------------------------------------------------------------- /.pio/libdeps/pico32/ESPAsyncTCP-esphome/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | language: python 3 | os: 4 | - linux 5 | 6 | git: 7 | depth: false 8 | 9 | stages: 10 | - build 11 | 12 | jobs: 13 | include: 14 | 15 | - name: "Arduino Build" 16 | if: tag IS blank AND (type = pull_request OR (type = push AND branch = master)) 17 | stage: build 18 | script: bash $TRAVIS_BUILD_DIR/.github/scripts/on-push.sh 19 | 20 | - name: "PlatformIO Build" 21 | if: tag IS blank AND (type = pull_request OR (type = push AND branch = master)) 22 | stage: build 23 | script: bash $TRAVIS_BUILD_DIR/.github/scripts/on-push.sh 1 1 24 | 25 | notifications: 26 | email: 27 | on_success: change 28 | on_failure: change 29 | webhooks: 30 | urls: 31 | - https://webhooks.gitter.im/e/60e65d0c78ea0a920347 32 | on_success: change # options: [always|never|change] default: always 33 | on_failure: always # options: [always|never|change] default: always 34 | on_start: false # default: false 35 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/ESPAsyncTCP-esphome/examples/ClientServer/Client/Client.ino: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | extern "C" { 5 | #include 6 | #include 7 | } 8 | 9 | #include "config.h" 10 | 11 | static os_timer_t intervalTimer; 12 | 13 | static void replyToServer(void* arg) { 14 | AsyncClient* client = reinterpret_cast(arg); 15 | 16 | // send reply 17 | if (client->space() > 32 && client->canSend()) { 18 | char message[32]; 19 | sprintf(message, "this is from %s", WiFi.localIP().toString().c_str()); 20 | client->add(message, strlen(message)); 21 | client->send(); 22 | } 23 | } 24 | 25 | /* event callbacks */ 26 | static void handleData(void* arg, AsyncClient* client, void *data, size_t len) { 27 | Serial.printf("\n data received from %s \n", client->remoteIP().toString().c_str()); 28 | Serial.write((uint8_t*)data, len); 29 | 30 | os_timer_arm(&intervalTimer, 2000, true); // schedule for reply to server at next 2s 31 | } 32 | 33 | void onConnect(void* arg, AsyncClient* client) { 34 | Serial.printf("\n client has been connected to %s on port %d \n", SERVER_HOST_NAME, TCP_PORT); 35 | replyToServer(client); 36 | } 37 | 38 | 39 | void setup() { 40 | Serial.begin(115200); 41 | delay(20); 42 | 43 | // connects to access point 44 | WiFi.mode(WIFI_STA); 45 | WiFi.begin(SSID, PASSWORD); 46 | while (WiFi.status() != WL_CONNECTED) { 47 | Serial.print('.'); 48 | delay(500); 49 | } 50 | 51 | AsyncClient* client = new AsyncClient; 52 | client->onData(&handleData, client); 53 | client->onConnect(&onConnect, client); 54 | client->connect(SERVER_HOST_NAME, TCP_PORT); 55 | 56 | os_timer_disarm(&intervalTimer); 57 | os_timer_setfn(&intervalTimer, &replyToServer, client); 58 | } 59 | 60 | void loop() { 61 | 62 | } 63 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/ESPAsyncTCP-esphome/examples/ClientServer/Client/config.h: -------------------------------------------------------------------------------- 1 | #ifndef CONFIG_H 2 | #define CONFIG_H 3 | 4 | /* 5 | * This example demonstrate how to use asynchronous client & server APIs 6 | * in order to establish tcp socket connections in client server manner. 7 | * server is running (on port 7050) on one ESP, acts as AP, and other clients running on 8 | * remaining ESPs acts as STAs. after connection establishment between server and clients 9 | * there is a simple message transfer in every 2s. clients connect to server via it's host name 10 | * (in this case 'esp_server') with help of DNS service running on server side. 11 | * 12 | * Note: default MSS for ESPAsyncTCP is 536 byte and defualt ACK timeout is 5s. 13 | */ 14 | 15 | #define SSID "ESP-TEST" 16 | #define PASSWORD "123456789" 17 | 18 | #define SERVER_HOST_NAME "esp_server" 19 | 20 | #define TCP_PORT 7050 21 | #define DNS_PORT 53 22 | 23 | #endif // CONFIG_H 24 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/ESPAsyncTCP-esphome/examples/ClientServer/Server/config.h: -------------------------------------------------------------------------------- 1 | #ifndef CONFIG_H 2 | #define CONFIG_H 3 | 4 | /* 5 | * This example demonstrate how to use asynchronous client & server APIs 6 | * in order to establish tcp socket connections in client server manner. 7 | * server is running (on port 7050) on one ESP, acts as AP, and other clients running on 8 | * remaining ESPs acts as STAs. after connection establishment between server and clients 9 | * there is a simple message transfer in every 2s. clients connect to server via it's host name 10 | * (in this case 'esp_server') with help of DNS service running on server side. 11 | * 12 | * Note: default MSS for ESPAsyncTCP is 536 byte and defualt ACK timeout is 5s. 13 | */ 14 | 15 | #define SSID "ESP-TEST" 16 | #define PASSWORD "123456789" 17 | 18 | #define SERVER_HOST_NAME "esp_server" 19 | 20 | #define TCP_PORT 7050 21 | #define DNS_PORT 53 22 | 23 | #endif // CONFIG_H 24 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/ESPAsyncTCP-esphome/examples/SyncClient/.esp31b.skip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/ESPAsyncTCP-esphome/examples/SyncClient/.esp31b.skip -------------------------------------------------------------------------------- /.pio/libdeps/pico32/ESPAsyncTCP-esphome/examples/SyncClient/SyncClient.ino: -------------------------------------------------------------------------------- 1 | #ifdef ESP8266 2 | #include 3 | #include 4 | #include 5 | #else 6 | #include 7 | #endif 8 | #include "ESPAsyncTCP.h" 9 | #include "SyncClient.h" 10 | 11 | const char* ssid = "**********"; 12 | const char* password = "************"; 13 | 14 | void setup(){ 15 | Serial.begin(115200); 16 | WiFi.begin(ssid, password); 17 | if (WiFi.waitForConnectResult() != WL_CONNECTED) { 18 | Serial.printf("WiFi Failed!\n"); 19 | return; 20 | } 21 | Serial.printf("WiFi Connected!\n"); 22 | Serial.println(WiFi.localIP()); 23 | #ifdef ESP8266 24 | ArduinoOTA.begin(); 25 | #endif 26 | 27 | SyncClient client; 28 | if(!client.connect("www.google.com", 80)){ 29 | Serial.println("Connect Failed"); 30 | return; 31 | } 32 | client.setTimeout(2); 33 | if(client.printf("GET / HTTP/1.1\r\nHost: www.google.com\r\nConnection: close\r\n\r\n") > 0){ 34 | while(client.connected() && client.available() == 0){ 35 | delay(1); 36 | } 37 | while(client.available()){ 38 | Serial.write(client.read()); 39 | } 40 | if(client.connected()){ 41 | client.stop(); 42 | } 43 | } else { 44 | client.stop(); 45 | Serial.println("Send Failed"); 46 | while(client.connected()) delay(0); 47 | } 48 | } 49 | 50 | void loop(){ 51 | #ifdef ESP8266 52 | ArduinoOTA.handle(); 53 | #endif 54 | } 55 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/ESPAsyncTCP-esphome/library.json: -------------------------------------------------------------------------------- 1 | { 2 | "name":"ESPAsyncTCP-esphome", 3 | "description":"Asynchronous TCP Library for ESP8266", 4 | "keywords":"async,tcp", 5 | "authors": 6 | { 7 | "name": "Hristo Gochkov", 8 | "maintainer": true 9 | }, 10 | "repository": 11 | { 12 | "type": "git", 13 | "url": "https://github.com/OttoWinter/ESPAsyncTCP.git" 14 | }, 15 | "version": "1.2.3", 16 | "license": "LGPL-3.0", 17 | "frameworks": "arduino", 18 | "platforms": "espressif8266", 19 | "build": { 20 | "libCompatMode": 2 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/ESPAsyncTCP-esphome/src/async_config.h: -------------------------------------------------------------------------------- 1 | #ifndef LIBRARIES_ESPASYNCTCP_SRC_ASYNC_CONFIG_H_ 2 | #define LIBRARIES_ESPASYNCTCP_SRC_ASYNC_CONFIG_H_ 3 | 4 | #ifndef ASYNC_TCP_SSL_ENABLED 5 | #define ASYNC_TCP_SSL_ENABLED 0 6 | #endif 7 | 8 | #ifndef TCP_MSS 9 | // May have been definded as a -DTCP_MSS option on the compile line or not. 10 | // Arduino core 2.3.0 or earlier does not do the -DTCP_MSS option. 11 | // Later versions may set this option with info from board.txt. 12 | // However, Core 2.4.0 and up board.txt does not define TCP_MSS for lwIP v1.4 13 | #define TCP_MSS (1460) 14 | #endif 15 | 16 | // #define ASYNC_TCP_DEBUG(...) ets_printf(__VA_ARGS__) 17 | // #define TCP_SSL_DEBUG(...) ets_printf(__VA_ARGS__) 18 | // #define ASYNC_TCP_ASSERT( a ) do{ if(!(a)){ets_printf("ASSERT: %s %u \n", __FILE__, __LINE__);}}while(0) 19 | 20 | // Starting with Arduino Core 2.4.0 and up the define of DEBUG_ESP_PORT 21 | // can be handled through the Arduino IDE Board options instead of here. 22 | // #define DEBUG_ESP_PORT Serial 23 | // #define DEBUG_ESP_ASYNC_TCP 1 24 | // #define DEBUG_ESP_TCP_SSL 1 25 | 26 | #ifndef DEBUG_SKIP__DEBUG_PRINT_MACROS 27 | 28 | #include 29 | 30 | #ifndef ASYNC_TCP_ASSERT 31 | #define ASYNC_TCP_ASSERT(...) do { (void)0;} while(false) 32 | #endif 33 | #ifndef ASYNC_TCP_DEBUG 34 | #define ASYNC_TCP_DEBUG(...) do { (void)0;} while(false) 35 | #endif 36 | #ifndef TCP_SSL_DEBUG 37 | #define TCP_SSL_DEBUG(...) do { (void)0;} while(false) 38 | #endif 39 | 40 | #endif 41 | 42 | #endif /* LIBRARIES_ESPASYNCTCP_SRC_ASYNC_CONFIG_H_ */ 43 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/ESPAsyncTCP-esphome/ssl/gen_server_cert.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | cat > ca_cert.conf << EOF 4 | [ req ] 5 | distinguished_name = req_distinguished_name 6 | prompt = no 7 | 8 | [ req_distinguished_name ] 9 | O = Espressif Systems 10 | EOF 11 | 12 | openssl genrsa -out axTLS.ca_key.pem 2048 13 | openssl req -new -config ./ca_cert.conf -key axTLS.ca_key.pem -out axTLS.ca_x509.req 14 | openssl x509 -req -sha1 -days 5000 -signkey axTLS.ca_key.pem -CAkey axTLS.ca_key.pem -in axTLS.ca_x509.req -out axTLS.ca_x509.pem 15 | 16 | cat > certs.conf << EOF 17 | [ req ] 18 | distinguished_name = req_distinguished_name 19 | prompt = no 20 | 21 | [ req_distinguished_name ] 22 | O = axTLS on ESP8266 23 | CN = esp8266.local 24 | EOF 25 | 26 | openssl genrsa -out axTLS.key_1024.pem 1024 27 | openssl req -new -config ./certs.conf -key axTLS.key_1024.pem -out axTLS.x509_1024.req 28 | openssl x509 -req -sha1 -CAcreateserial -days 5000 -CA axTLS.ca_x509.pem -CAkey axTLS.ca_key.pem -in axTLS.x509_1024.req -out axTLS.x509_1024.pem 29 | 30 | openssl rsa -outform DER -in axTLS.key_1024.pem -out axTLS.key_1024 31 | openssl x509 -outform DER -in axTLS.x509_1024.pem -out axTLS.x509_1024.cer 32 | 33 | cat axTLS.key_1024 > server.key 34 | cat axTLS.x509_1024.cer > server.cer 35 | 36 | rm axTLS.* ca_cert.conf certs.conf 37 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/ESPAsyncTCP-esphome/ssl/server.cer: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/ESPAsyncTCP-esphome/ssl/server.cer -------------------------------------------------------------------------------- /.pio/libdeps/pico32/ESPAsyncTCP-esphome/ssl/server.key: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/ESPAsyncTCP-esphome/ssl/server.key -------------------------------------------------------------------------------- /.pio/libdeps/pico32/ESPAsyncWebServer-esphome/.github/scripts/install-arduino-core-esp32.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | export ARDUINO_ESP32_PATH="$ARDUINO_USR_PATH/hardware/espressif/esp32" 4 | if [ ! -d "$ARDUINO_ESP32_PATH" ]; then 5 | echo "Installing ESP32 Arduino Core ..." 6 | script_init_path="$PWD" 7 | mkdir -p "$ARDUINO_USR_PATH/hardware/espressif" 8 | cd "$ARDUINO_USR_PATH/hardware/espressif" 9 | 10 | echo "Installing Python Serial ..." 11 | pip install pyserial > /dev/null 12 | 13 | if [ "$OS_IS_WINDOWS" == "1" ]; then 14 | echo "Installing Python Requests ..." 15 | pip install requests > /dev/null 16 | fi 17 | 18 | if [ "$GITHUB_REPOSITORY" == "espressif/arduino-esp32" ]; then 19 | echo "Linking Core..." 20 | ln -s $GITHUB_WORKSPACE esp32 21 | else 22 | echo "Cloning Core Repository..." 23 | git clone https://github.com/espressif/arduino-esp32.git esp32 > /dev/null 2>&1 24 | fi 25 | 26 | echo "Updating Submodules ..." 27 | cd esp32 28 | git submodule update --init --recursive > /dev/null 2>&1 29 | 30 | echo "Installing Platform Tools ..." 31 | cd tools && python get.py 32 | cd $script_init_path 33 | 34 | echo "ESP32 Arduino has been installed in '$ARDUINO_ESP32_PATH'" 35 | echo "" 36 | fi 37 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/ESPAsyncWebServer-esphome/.github/scripts/install-arduino-core-esp8266.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "Installing ESP8266 Arduino Core ..." 4 | script_init_path="$PWD" 5 | mkdir -p "$ARDUINO_USR_PATH/hardware/esp8266com" 6 | cd "$ARDUINO_USR_PATH/hardware/esp8266com" 7 | 8 | echo "Installing Python Serial ..." 9 | pip install pyserial > /dev/null 10 | 11 | if [ "$OS_IS_WINDOWS" == "1" ]; then 12 | echo "Installing Python Requests ..." 13 | pip install requests > /dev/null 14 | fi 15 | 16 | echo "Cloning Core Repository ..." 17 | git clone https://github.com/esp8266/Arduino.git esp8266 > /dev/null 2>&1 18 | 19 | echo "Updating submodules ..." 20 | cd esp8266 21 | git submodule update --init --recursive > /dev/null 2>&1 22 | 23 | echo "Installing Platform Tools ..." 24 | cd tools 25 | python get.py > /dev/null 26 | cd $script_init_path 27 | 28 | echo "ESP8266 Arduino has been installed in '$ARDUINO_USR_PATH/hardware/esp8266com'" 29 | echo "" 30 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/ESPAsyncWebServer-esphome/.github/stale.yml: -------------------------------------------------------------------------------- 1 | # Configuration for probot-stale - https://github.com/probot/stale 2 | 3 | daysUntilStale: 60 4 | daysUntilClose: 14 5 | limitPerRun: 30 6 | staleLabel: stale 7 | exemptLabels: 8 | - pinned 9 | - security 10 | - "to be implemented" 11 | - "for reference" 12 | - "move to PR" 13 | - "enhancement" 14 | 15 | only: issues 16 | onlyLabels: [] 17 | exemptProjects: false 18 | exemptMilestones: false 19 | exemptAssignees: false 20 | 21 | markComment: > 22 | [STALE_SET] This issue has been automatically marked as stale because it has not had 23 | recent activity. It will be closed in 14 days if no further activity occurs. Thank you 24 | for your contributions. 25 | 26 | unmarkComment: > 27 | [STALE_CLR] This issue has been removed from the stale queue. Please ensure activity to keep it openin the future. 28 | 29 | closeComment: > 30 | [STALE_DEL] This stale issue has been automatically closed. Thank you for your contributions. 31 | 32 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/ESPAsyncWebServer-esphome/.github/workflows/push.yml: -------------------------------------------------------------------------------- 1 | name: ESP Async Web Server CI 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | - release/* 8 | pull_request: 9 | 10 | jobs: 11 | 12 | build-arduino: 13 | name: Arduino for ${{ matrix.board }} on ${{ matrix.os }} 14 | runs-on: ${{ matrix.os }} 15 | strategy: 16 | matrix: 17 | os: [ubuntu-latest, windows-latest, macOS-latest] 18 | board: [esp32, esp8266] 19 | steps: 20 | - uses: actions/checkout@v1 21 | - name: Build Tests 22 | run: bash ./.github/scripts/on-push.sh ${{ matrix.board }} 0 1 23 | 24 | build-pio: 25 | name: PlatformIO for ${{ matrix.board }} on ${{ matrix.os }} 26 | runs-on: ${{ matrix.os }} 27 | strategy: 28 | matrix: 29 | os: [ubuntu-latest, windows-latest, macOS-latest] 30 | board: [esp32, esp8266] 31 | steps: 32 | - uses: actions/checkout@v1 33 | - name: Build Tests 34 | run: bash ./.github/scripts/on-push.sh ${{ matrix.board }} 1 1 35 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/ESPAsyncWebServer-esphome/.gitignore: -------------------------------------------------------------------------------- 1 | .vscode 2 | .DS_Store 3 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/ESPAsyncWebServer-esphome/.piopm: -------------------------------------------------------------------------------- 1 | {"type": "library", "name": "ESPAsyncWebServer-esphome", "version": "1.2.7", "spec": {"owner": "ottowinter", "id": 6758, "name": "ESPAsyncWebServer-esphome", "requirements": null, "url": null}} -------------------------------------------------------------------------------- /.pio/libdeps/pico32/ESPAsyncWebServer-esphome/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | 3 | language: python 4 | 5 | os: 6 | - linux 7 | 8 | git: 9 | depth: false 10 | 11 | stages: 12 | - build 13 | 14 | jobs: 15 | include: 16 | 17 | - name: "Build Arduino ESP32" 18 | if: tag IS blank AND (type = pull_request OR (type = push AND branch = master)) 19 | stage: build 20 | script: bash $TRAVIS_BUILD_DIR/.github/scripts/on-push.sh esp32 21 | 22 | - name: "Build Arduino ESP8266" 23 | if: tag IS blank AND (type = pull_request OR (type = push AND branch = master)) 24 | stage: build 25 | script: bash $TRAVIS_BUILD_DIR/.github/scripts/on-push.sh esp8266 26 | 27 | - name: "Build Platformio ESP32" 28 | if: tag IS blank AND (type = pull_request OR (type = push AND branch = master)) 29 | stage: build 30 | script: bash $TRAVIS_BUILD_DIR/.github/scripts/on-push.sh esp32 1 1 31 | 32 | - name: "Build Platformio ESP8266" 33 | if: tag IS blank AND (type = pull_request OR (type = push AND branch = master)) 34 | stage: build 35 | script: bash $TRAVIS_BUILD_DIR/.github/scripts/on-push.sh esp8266 1 1 36 | 37 | notifications: 38 | email: 39 | on_success: change 40 | on_failure: change 41 | webhooks: 42 | urls: 43 | - https://webhooks.gitter.im/e/60e65d0c78ea0a920347 44 | on_success: change # options: [always|never|change] default: always 45 | on_failure: always # options: [always|never|change] default: always 46 | on_start: never # options: [always|never|change] default: always 47 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/ESPAsyncWebServer-esphome/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(COMPONENT_SRCDIRS 2 | "src" 3 | ) 4 | 5 | set(COMPONENT_ADD_INCLUDEDIRS 6 | "src" 7 | ) 8 | 9 | set(COMPONENT_REQUIRES 10 | "arduino-esp32" 11 | "AsyncTCP" 12 | ) 13 | 14 | register_component() 15 | 16 | target_compile_definitions(${COMPONENT_TARGET} PUBLIC -DESP32) 17 | target_compile_options(${COMPONENT_TARGET} PRIVATE -fno-rtti) 18 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/ESPAsyncWebServer-esphome/_config.yml: -------------------------------------------------------------------------------- 1 | theme: jekyll-theme-cayman -------------------------------------------------------------------------------- /.pio/libdeps/pico32/ESPAsyncWebServer-esphome/component.mk: -------------------------------------------------------------------------------- 1 | COMPONENT_ADD_INCLUDEDIRS := src 2 | COMPONENT_SRCDIRS := src 3 | CXXFLAGS += -fno-rtti 4 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/ESPAsyncWebServer-esphome/examples/CaptivePortal/CaptivePortal.ino: -------------------------------------------------------------------------------- 1 | #include 2 | #ifdef ESP32 3 | #include 4 | #include 5 | #elif defined(ESP8266) 6 | #include 7 | #include 8 | #endif 9 | #include "ESPAsyncWebServer.h" 10 | 11 | DNSServer dnsServer; 12 | AsyncWebServer server(80); 13 | 14 | class CaptiveRequestHandler : public AsyncWebHandler { 15 | public: 16 | CaptiveRequestHandler() {} 17 | virtual ~CaptiveRequestHandler() {} 18 | 19 | bool canHandle(AsyncWebServerRequest *request){ 20 | //request->addInterestingHeader("ANY"); 21 | return true; 22 | } 23 | 24 | void handleRequest(AsyncWebServerRequest *request) { 25 | AsyncResponseStream *response = request->beginResponseStream("text/html"); 26 | response->print("Captive Portal"); 27 | response->print("

This is out captive portal front page.

"); 28 | response->printf("

You were trying to reach: http://%s%s

", request->host().c_str(), request->url().c_str()); 29 | response->printf("

Try opening this link instead

", WiFi.softAPIP().toString().c_str()); 30 | response->print(""); 31 | request->send(response); 32 | } 33 | }; 34 | 35 | 36 | void setup(){ 37 | //your other setup stuff... 38 | WiFi.softAP("esp-captive"); 39 | dnsServer.start(53, "*", WiFi.softAPIP()); 40 | server.addHandler(new CaptiveRequestHandler()).setFilter(ON_AP_FILTER);//only when requested from AP 41 | //more handlers... 42 | server.begin(); 43 | } 44 | 45 | void loop(){ 46 | dnsServer.processNextRequest(); 47 | } 48 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/ESPAsyncWebServer-esphome/examples/ESP_AsyncFSBrowser/data/.exclude.files: -------------------------------------------------------------------------------- 1 | /*.js.gz 2 | /.exclude.files 3 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/ESPAsyncWebServer-esphome/examples/ESP_AsyncFSBrowser/data/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/ESPAsyncWebServer-esphome/examples/ESP_AsyncFSBrowser/data/favicon.ico -------------------------------------------------------------------------------- /.pio/libdeps/pico32/ESPAsyncWebServer-esphome/examples/regex_patterns/.test.build_flags: -------------------------------------------------------------------------------- 1 | -DASYNCWEBSERVER_REGEX=1 2 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/ESPAsyncWebServer-esphome/keywords.txt: -------------------------------------------------------------------------------- 1 | JsonArray KEYWORD1 2 | add KEYWORD2 3 | createArray KEYWORD3 4 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/ESPAsyncWebServer-esphome/library.json: -------------------------------------------------------------------------------- 1 | { 2 | "name":"ESPAsyncWebServer-esphome", 3 | "description":"Asynchronous HTTP and WebSocket Server Library for ESP8266 and ESP32", 4 | "keywords":"http,async,websocket,webserver", 5 | "authors": 6 | { 7 | "name": "Hristo Gochkov", 8 | "maintainer": true 9 | }, 10 | "repository": 11 | { 12 | "type": "git", 13 | "url": "https://github.com/OttoWinter/ESPAsyncWebServer.git" 14 | }, 15 | "version": "1.2.7", 16 | "license": "LGPL-3.0", 17 | "frameworks": "arduino", 18 | "platforms": ["espressif8266", "espressif32"], 19 | "dependencies": [ 20 | { 21 | "name": "ESPAsyncTCP-esphome", 22 | "platforms": "espressif8266" 23 | }, 24 | { 25 | "name": "AsyncTCP-esphome", 26 | "platforms": "espressif32" 27 | }, 28 | { 29 | "name": "Hash", 30 | "platforms": "espressif8266" 31 | } 32 | ] 33 | } 34 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/ESPAsyncWebServer-esphome/src/AsyncWebSynchronization.h: -------------------------------------------------------------------------------- 1 | #ifndef ASYNCWEBSYNCHRONIZATION_H_ 2 | #define ASYNCWEBSYNCHRONIZATION_H_ 3 | 4 | // Synchronisation is only available on ESP32, as the ESP8266 isn't using FreeRTOS by default 5 | 6 | #include 7 | 8 | #ifdef ESP32 9 | 10 | // This is the ESP32 version of the Sync Lock, using the FreeRTOS Semaphore 11 | class AsyncWebLock 12 | { 13 | private: 14 | SemaphoreHandle_t _lock; 15 | mutable void *_lockedBy; 16 | 17 | public: 18 | AsyncWebLock() { 19 | _lock = xSemaphoreCreateBinary(); 20 | _lockedBy = NULL; 21 | xSemaphoreGive(_lock); 22 | } 23 | 24 | ~AsyncWebLock() { 25 | vSemaphoreDelete(_lock); 26 | } 27 | 28 | bool lock() const { 29 | extern void *pxCurrentTCB; 30 | if (_lockedBy != pxCurrentTCB) { 31 | xSemaphoreTake(_lock, portMAX_DELAY); 32 | _lockedBy = pxCurrentTCB; 33 | return true; 34 | } 35 | return false; 36 | } 37 | 38 | void unlock() const { 39 | _lockedBy = NULL; 40 | xSemaphoreGive(_lock); 41 | } 42 | }; 43 | 44 | #else 45 | 46 | // This is the 8266 version of the Sync Lock which is currently unimplemented 47 | class AsyncWebLock 48 | { 49 | 50 | public: 51 | AsyncWebLock() { 52 | } 53 | 54 | ~AsyncWebLock() { 55 | } 56 | 57 | bool lock() const { 58 | return false; 59 | } 60 | 61 | void unlock() const { 62 | } 63 | }; 64 | #endif 65 | 66 | class AsyncWebLockGuard 67 | { 68 | private: 69 | const AsyncWebLock *_lock; 70 | 71 | public: 72 | AsyncWebLockGuard(const AsyncWebLock &l) { 73 | if (l.lock()) { 74 | _lock = &l; 75 | } else { 76 | _lock = NULL; 77 | } 78 | } 79 | 80 | ~AsyncWebLockGuard() { 81 | if (_lock) { 82 | _lock->unlock(); 83 | } 84 | } 85 | }; 86 | 87 | #endif // ASYNCWEBSYNCHRONIZATION_H_ -------------------------------------------------------------------------------- /.pio/libdeps/pico32/ESPAsyncWebServer-esphome/src/SPIFFSEditor.h: -------------------------------------------------------------------------------- 1 | #ifndef SPIFFSEditor_H_ 2 | #define SPIFFSEditor_H_ 3 | #include 4 | 5 | class SPIFFSEditor: public AsyncWebHandler { 6 | private: 7 | fs::FS _fs; 8 | String _username; 9 | String _password; 10 | bool _authenticated; 11 | uint32_t _startTime; 12 | public: 13 | #ifdef ESP32 14 | SPIFFSEditor(const fs::FS& fs, const String& username=String(), const String& password=String()); 15 | #else 16 | SPIFFSEditor(const String& username=String(), const String& password=String(), const fs::FS& fs=SPIFFS); 17 | #endif 18 | virtual bool canHandle(AsyncWebServerRequest *request) override final; 19 | virtual void handleRequest(AsyncWebServerRequest *request) override final; 20 | virtual void handleUpload(AsyncWebServerRequest *request, const String& filename, size_t index, uint8_t *data, size_t len, bool final) override final; 21 | virtual bool isRequestHandlerTrivial() override final {return false;} 22 | }; 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/ESPAsyncWebServer-esphome/src/WebAuthentication.h: -------------------------------------------------------------------------------- 1 | /* 2 | Asynchronous WebServer library for Espressif MCUs 3 | 4 | Copyright (c) 2016 Hristo Gochkov. All rights reserved. 5 | This file is part of the esp8266 core for Arduino environment. 6 | 7 | This library is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU Lesser General Public 9 | License as published by the Free Software Foundation; either 10 | version 2.1 of the License, or (at your option) any later version. 11 | 12 | This library is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | Lesser General Public License for more details. 16 | 17 | You should have received a copy of the GNU Lesser General Public 18 | License along with this library; if not, write to the Free Software 19 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | #ifndef WEB_AUTHENTICATION_H_ 23 | #define WEB_AUTHENTICATION_H_ 24 | 25 | #include "Arduino.h" 26 | 27 | bool checkBasicAuthentication(const char * header, const char * username, const char * password); 28 | String requestDigestAuthentication(const char * realm); 29 | bool checkDigestAuthentication(const char * header, const char * method, const char * username, const char * password, const char * realm, bool passwordIsHash, const char * nonce, const char * opaque, const char * uri); 30 | 31 | //for storing hashed versions on the device that can be authenticated against 32 | String generateDigestHash(const char * username, const char * password, const char * realm); 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | 7 | # Standard to msysgit 8 | *.doc diff=astextplain 9 | *.DOC diff=astextplain 10 | *.docx diff=astextplain 11 | *.DOCX diff=astextplain 12 | *.dot diff=astextplain 13 | *.DOT diff=astextplain 14 | *.pdf diff=astextplain 15 | *.PDF diff=astextplain 16 | *.rtf diff=astextplain 17 | *.RTF diff=astextplain 18 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/.gitignore: -------------------------------------------------------------------------------- 1 | # Windows image file caches 2 | Thumbs.db 3 | ehthumbs.db 4 | 5 | # Folder config file 6 | Desktop.ini 7 | 8 | # Recycle Bin used on file shares 9 | $RECYCLE.BIN/ 10 | 11 | # Windows Installer files 12 | *.cab 13 | *.msi 14 | *.msm 15 | *.msp 16 | 17 | # Windows shortcuts 18 | *.lnk 19 | 20 | # ========================= 21 | # Operating System Files 22 | # ========================= 23 | 24 | # OSX 25 | # ========================= 26 | 27 | .DS_Store 28 | .AppleDouble 29 | .LSOverride 30 | 31 | # Thumbnails 32 | ._* 33 | 34 | # Files that might appear in the root of a volume 35 | .DocumentRevisions-V100 36 | .fseventsd 37 | .Spotlight-V100 38 | .TemporaryItems 39 | .Trashes 40 | .VolumeIcon.icns 41 | 42 | # Directories potentially created on remote AFP share 43 | .AppleDB 44 | .AppleDesktop 45 | Network Trash Folder 46 | Temporary Items 47 | .apdisk 48 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/.piopm: -------------------------------------------------------------------------------- 1 | {"type": "library", "name": "TFT_eSPI", "version": "2.3.41", "spec": {"owner": "bodmer", "id": 1559, "name": "TFT_eSPI", "requirements": null, "url": null}} -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/Fonts/Font16.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define nr_chrs_f16 96 4 | #define chr_hgt_f16 16 5 | #define baseline_f16 13 6 | #define data_size_f16 8 7 | #define firstchr_f16 32 8 | 9 | extern const unsigned char widtbl_f16[96]; 10 | extern const unsigned char* const chrtbl_f16[96]; 11 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/Fonts/Font32rle.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define nr_chrs_f32 96 4 | #define chr_hgt_f32 26 5 | #define baseline_f32 19 6 | #define data_size_f32 8 7 | #define firstchr_f32 32 8 | 9 | extern const unsigned char widtbl_f32[96]; 10 | extern const unsigned char* const chrtbl_f32[96]; 11 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/Fonts/Font64rle.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define nr_chrs_f64 96 4 | #define chr_hgt_f64 48 5 | #define baseline_f64 36 6 | #define data_size_f64 8 7 | #define firstchr_f64 32 8 | 9 | extern const unsigned char widtbl_f64[96]; 10 | extern const unsigned char* const chrtbl_f64[96]; 11 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/Fonts/Font72rle.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define nr_chrs_f72 96 4 | #define chr_hgt_f72 75 5 | #define baseline_f72 73 6 | #define data_size_f72 8 7 | #define firstchr_f72 32 8 | 9 | extern const unsigned char widtbl_f72[96]; 10 | extern const unsigned char* const chrtbl_f72[96]; 11 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/Fonts/Font72x53rle.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define nr_chrs_f72 96 4 | #define chr_hgt_f72 75 5 | #define baseline_f72 73 6 | #define data_size_f72 8 7 | #define firstchr_f72 32 8 | 9 | extern const unsigned char widtbl_f72[96]; 10 | extern const unsigned char* const chrtbl_f72[96]; 11 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/Fonts/Font7srle.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define nr_chrs_f7s 96 4 | #define chr_hgt_f7s 48 5 | #define baseline_f7s 47 6 | #define data_size_f7s 8 7 | #define firstchr_f7s 32 8 | 9 | extern const unsigned char widtbl_f7s[96]; 10 | extern const unsigned char* const chrtbl_f7s[96]; 11 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/Fonts/GFXFF/license.txt: -------------------------------------------------------------------------------- 1 | This TFT_eSPI library has been developed from the Adafruit_GFX library: 2 | 3 | https://github.com/adafruit/Adafruit-GFX-Library 4 | 5 | It has been modified extensively to improve rendering speed on 6 | ESP8266 processors. There follows the original library license text. 7 | 8 | 9 | Original text follows: 10 | 11 | Software License Agreement (BSD License) 12 | 13 | Copyright (c) 2012 Adafruit Industries. All rights reserved. 14 | 15 | Redistribution and use in source and binary forms, with or without 16 | modification, are permitted provided that the following conditions are met: 17 | 18 | - Redistributions of source code must retain the above copyright notice, 19 | this list of conditions and the following disclaimer. 20 | - Redistributions in binary form must reproduce the above copyright notice, 21 | this list of conditions and the following disclaimer in the documentation 22 | and/or other materials provided with the distribution. 23 | 24 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 25 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 26 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 27 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 28 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 29 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 30 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 31 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 32 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 33 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 34 | POSSIBILITY OF SUCH DAMAGE. 35 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/Fonts/GFXFF/print.txt: -------------------------------------------------------------------------------- 1 | #define TT1 TomThumb 2 | 3 | #define FF1 FreeMono9pt7b 4 | #define FF2 FreeMono12pt7b 5 | #define FF3 FreeMono18pt7b 6 | #define FF4 FreeMono24pt7b 7 | 8 | #define FF5 FreeMonoBold9pt7b 9 | #define FF6 FreeMonoBold12pt7b 10 | #define FF7 FreeMonoBold18pt7b 11 | #define FF8 FreeMonoBold24pt7b 12 | 13 | #define FF9 FreeMonoBoldOblique9pt7b 14 | #define FF10 FreeMonoBoldOblique12pt7b 15 | #define FF11 FreeMonoBoldOblique18pt7b 16 | #define FF12 FreeMonoBoldOblique24pt7b 17 | 18 | #define FF13 FreeMonoOblique9pt7b 19 | #define FF14 FreeMonoOblique12pt7b 20 | #define FF15 FreeMonoOblique18pt7b 21 | #define FF16 FreeMonoOblique24pt7b 22 | 23 | #define FF17 FreeSans9pt7b 24 | #define FF18 FreeSans12pt7b 25 | #define FF19 FreeSans18pt7b 26 | #define FF20 FreeSans24pt7b 27 | 28 | #define FF21 FreeSansBold9pt7b 29 | #define FF22 FreeSansBold12pt7b 30 | #define FF23 FreeSansBold18pt7b 31 | #define FF24 FreeSansBold24pt7b 32 | 33 | #define FF25 FreeSansBoldOblique9pt7b 34 | #define FF26 FreeSansBoldOblique12pt7b 35 | #define FF27 FreeSansBoldOblique18pt7b 36 | #define FF28 FreeSansBoldOblique24pt7b 37 | 38 | #define FF29 FreeSansOblique9pt7b 39 | #define FF30 FreeSansOblique12pt7b 40 | #define FF31 FreeSansOblique18pt7b 41 | #define FF32 FreeSansOblique24pt7b 42 | 43 | #define FF33 FreeSerif9pt7b 44 | #define FF34 FreeSerif12pt7b 45 | #define FF35 FreeSerif18pt7b 46 | #define FF36 FreeSerif24pt7b 47 | 48 | #define FF37 FreeSerifBold9pt7b 49 | #define FF38 FreeSerifBold12pt7b 50 | #define FF39 FreeSerifBold18pt7b 51 | #define FF40 FreeSerifBold24pt7b 52 | 53 | #define FF41 FreeSerifBoldItalic9pt7b 54 | #define FF42 FreeSerifBoldItalic12pt7b 55 | #define FF43 FreeSerifBoldItalic18pt7b 56 | #define FF44 FreeSerifBoldItalic24pt7b 57 | 58 | #define FF45 FreeSerifItalic9pt7b 59 | #define FF46 FreeSerifItalic12pt7b 60 | #define FF47 FreeSerifItalic18pt7b 61 | #define FF48 FreeSerifItalic24pt7b 62 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/Fonts/TrueType/Not_yet_supported.txt: -------------------------------------------------------------------------------- 1 | TO DO: Add support for converted True Type fonts in an RLE format. -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/README.txt: -------------------------------------------------------------------------------- 1 | This is a standalone library that contains both graphics functions 2 | and the TFT chip driver library. It supports the ESP8266, ESP32 and 3 | STM32 processors with performance optimised code. Other Arduino IDE 4 | compatible boards are also supported but the library then uses 5 | generic functions which will be slower. The library uses 32 bit 6 | variables extensively so this will affect performance on 8 and 16 7 | bit processors. 8 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/TFT_Drivers/EPD_Defines.h: -------------------------------------------------------------------------------- 1 | // Null set for ePaper 2 | #define TFT_WIDTH 1000 3 | #define TFT_HEIGHT 1000 4 | 5 | #define TFT_INIT_DELAY 0 6 | 7 | #define TFT_NOP 0x00 8 | #define TFT_SWRST 0x00 9 | 10 | #define TFT_CASET 0x00 11 | #define TFT_PASET 0x00 12 | #define TFT_RAMWR 0x00 13 | 14 | #define TFT_RAMRD 0x00 15 | #define TFT_IDXRD 0x00 16 | 17 | #define TFT_MADCTL 0x00 18 | #define TFT_MAD_MY 0x00 19 | #define TFT_MAD_MX 0x00 20 | #define TFT_MAD_MV 0x00 21 | #define TFT_MAD_ML 0x00 22 | #define TFT_MAD_BGR 0x00 23 | #define TFT_MAD_MH 0x00 24 | #define TFT_MAD_RGB 0x00 25 | 26 | #define TFT_INVOFF 0x00 27 | #define TFT_INVON 0x00 28 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/TFT_Drivers/GC9A01_Defines.h: -------------------------------------------------------------------------------- 1 | // Change the width and height if required (defined in portrait mode) 2 | // or use the constructor to over-ride defaults 3 | #ifndef TFT_WIDTH 4 | #define TFT_WIDTH 240 5 | #endif 6 | #ifndef TFT_HEIGHT 7 | #define TFT_HEIGHT 320 8 | #endif 9 | 10 | // Delay between some initialisation commands 11 | #define TFT_INIT_DELAY 0x80 12 | 13 | // Generic commands used by TFT_eSPI.cpp 14 | #define TFT_NOP 0x00 15 | #define TFT_SWRST 0x01 16 | 17 | #define TFT_CASET 0x2A 18 | #define TFT_PASET 0x2B 19 | #define TFT_RAMWR 0x2C 20 | 21 | #define TFT_RAMRD 0x2E 22 | #define TFT_IDXRD 0x00 //0xDD // ILI9341 only, indexed control register read 23 | 24 | #define TFT_MADCTL 0x36 25 | #define TFT_MAD_MY 0x80 26 | #define TFT_MAD_MX 0x40 27 | #define TFT_MAD_MV 0x20 28 | #define TFT_MAD_ML 0x10 29 | #define TFT_MAD_BGR 0x08 30 | #define TFT_MAD_MH 0x04 31 | #define TFT_MAD_RGB 0x00 32 | 33 | #define TFT_INVOFF 0x20 34 | #define TFT_INVON 0x21 35 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/TFT_Drivers/GC9A01_Rotation.h: -------------------------------------------------------------------------------- 1 | 2 | // This is the command sequence that rotates the GC9A01 driver coordinate frame 3 | 4 | rotation = m % 4; 5 | 6 | writecommand(TFT_MADCTL); 7 | switch (rotation) { 8 | case 0: // Portrait 9 | writedata(TFT_MAD_BGR); 10 | _width = _init_width; 11 | _height = _init_height; 12 | break; 13 | case 1: // Landscape (Portrait + 90) 14 | writedata(TFT_MAD_MX | TFT_MAD_MV | TFT_MAD_BGR); 15 | _width = _init_height; 16 | _height = _init_width; 17 | break; 18 | case 2: // Inverter portrait 19 | writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_BGR); 20 | _width = _init_width; 21 | _height = _init_height; 22 | break; 23 | case 3: // Inverted landscape 24 | writedata(TFT_MAD_MV | TFT_MAD_MY | TFT_MAD_BGR); 25 | _width = _init_height; 26 | _height = _init_width; 27 | break; 28 | } 29 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/TFT_Drivers/HX8357D_Rotation.h: -------------------------------------------------------------------------------- 1 | // This is the command sequence that rotates the ILI9481 driver coordinate frame 2 | 3 | writecommand(TFT_MADCTL); 4 | rotation = m % 4; 5 | switch (rotation) { 6 | case 0: // Portrait 7 | writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_RGB); 8 | _width = TFT_WIDTH; 9 | _height = TFT_HEIGHT; 10 | break; 11 | case 1: // Landscape (Portrait + 90) 12 | writedata(TFT_MAD_MV | TFT_MAD_MY | TFT_MAD_RGB); 13 | _width = TFT_HEIGHT; 14 | _height = TFT_WIDTH; 15 | break; 16 | case 2: // Inverter portrait 17 | writedata(TFT_MAD_RGB); 18 | _width = TFT_WIDTH; 19 | _height = TFT_HEIGHT; 20 | break; 21 | case 3: // Inverted landscape 22 | writedata(TFT_MAD_MX | TFT_MAD_MV | TFT_MAD_RGB); 23 | _width = TFT_HEIGHT; 24 | _height = TFT_WIDTH; 25 | break; 26 | } 27 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/TFT_Drivers/ILI9163_Init.h: -------------------------------------------------------------------------------- 1 | 2 | // This is the command sequence that initialises the ILI9163 driver 3 | // 4 | // This setup information is in a format accecpted by the commandList() function 5 | // which reduces FLASH space, but on an ESP8266 there is plenty available! 6 | // 7 | // See ILI9341_Setup.h file for an alternative simpler format 8 | 9 | { 10 | // Initialization commands for ILI9163 screens 11 | static const uint8_t ILI9163_cmds[] PROGMEM = 12 | { 13 | 17, // 17 commands follow 14 | 0x01, 0 + TFT_INIT_DELAY, 120, // Software reset 15 | 0x11, 0 + TFT_INIT_DELAY, 5, // Exit sleep mode 16 | 0x3A, 1, 0x05, // Set pixel format 17 | 0x26, 1, 0x04, // Set Gamma curve 3 18 | 0xF2, 1, 0x01, // Gamma adjustment enabled 19 | 0xE0, 15, 0x3F, 0x25, 0x1C, 0x1E, 0x20, 0x12, 0x2A, 0x90, 20 | 0x24, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, // Positive Gamma 21 | 0xE1, 15, 0x20, 0x20, 0x20, 0x20, 0x05, 0x00, 0x15,0xA7, 22 | 0x3D, 0x18, 0x25, 0x2A, 0x2B, 0x2B, 0x3A, // Negative Gamma 23 | 0xB1, 2, 0x08, 0x08, // Frame rate control 1 24 | 0xB4, 1, 0x07, // Display inversion 25 | 0xC0, 2, 0x0A, 0x02, // Power control 1 26 | 0xC1, 1, 0x02, // Power control 2 27 | 0xC5, 2, 0x50, 0x5B, // Vcom control 1 28 | 0xC7, 1, 0x40, // Vcom offset 29 | 0x2A, 4, 0x00, 0x00, 0x00, 0x7F, // Set column address 30 | 0x2B, 4 + TFT_INIT_DELAY, 0x00, 0x00, 0x00, 0x9F, 250, // Set page address 31 | 0x36, 1, 0xC8, // Set address mode 32 | 0x29, 0, // Set display on 33 | }; 34 | 35 | commandList(ILI9163_cmds); 36 | 37 | #ifdef CGRAM_OFFSET 38 | colstart = 0; 39 | rowstart = 0; 40 | #endif 41 | } -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/TFT_Drivers/ILI9163_Rotation.h: -------------------------------------------------------------------------------- 1 | 2 | // This is the command sequence that rotates the ILI9163 driver coordinate frame 3 | 4 | rotation = m % 4; 5 | 6 | writecommand(TFT_MADCTL); 7 | switch (rotation) { 8 | case 0: 9 | writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_BGR); 10 | _width = _init_width; 11 | _height = _init_height; 12 | #ifdef CGRAM_OFFSET 13 | colstart = 0; 14 | rowstart = 0; 15 | #endif 16 | break; 17 | case 1: 18 | writedata(TFT_MAD_MV | TFT_MAD_MY | TFT_MAD_BGR); 19 | _width = _init_height; 20 | _height = _init_width; 21 | #ifdef CGRAM_OFFSET 22 | colstart = 0; 23 | rowstart = 0; 24 | #endif 25 | break; 26 | case 2: 27 | writedata(TFT_MAD_BGR); 28 | _width = _init_width; 29 | _height = _init_height; 30 | #ifdef CGRAM_OFFSET 31 | colstart = 0; 32 | rowstart = 32; 33 | #endif 34 | break; 35 | case 3: 36 | writedata(TFT_MAD_MX | TFT_MAD_MV | TFT_MAD_BGR); 37 | _width = _init_height; 38 | _height = _init_width; 39 | #ifdef CGRAM_OFFSET 40 | colstart = 32; 41 | rowstart = 0; 42 | #endif 43 | break; 44 | } 45 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/TFT_Drivers/ILI9225_Rotation.h: -------------------------------------------------------------------------------- 1 | 2 | // This is the command sequence that rotates the ILI9225 driver coordinate frame 3 | 4 | rotation = m % 4; // Limit the range of values to 0-3 5 | 6 | switch (rotation) { 7 | case 0: 8 | writecommand(ILI9225_DRIVER_OUTPUT_CTRL); 9 | writedata(0x01);writedata(0x1C); 10 | writecommand(ILI9225_ENTRY_MODE); 11 | writedata(TFT_MAD_BGR);writedata(0x30); 12 | _width = _init_width; 13 | _height = _init_height; 14 | break; 15 | case 1: 16 | writecommand(ILI9225_DRIVER_OUTPUT_CTRL); 17 | writedata(0x00);writedata(0x1C); 18 | writecommand(ILI9225_ENTRY_MODE); 19 | writedata(TFT_MAD_BGR);writedata(0x38); 20 | _width = _init_height; 21 | _height = _init_width; 22 | break; 23 | case 2: 24 | writecommand(ILI9225_DRIVER_OUTPUT_CTRL); 25 | writedata(0x02);writedata(0x1C); 26 | writecommand(ILI9225_ENTRY_MODE); 27 | writedata(TFT_MAD_BGR);writedata(0x30); 28 | _width = _init_width; 29 | _height = _init_height; 30 | break; 31 | case 3: 32 | writecommand(ILI9225_DRIVER_OUTPUT_CTRL); 33 | writedata(0x03);writedata(0x1C); 34 | writecommand(ILI9225_ENTRY_MODE); 35 | writedata(TFT_MAD_BGR);writedata(0x38); 36 | _width = _init_height; 37 | _height = _init_width; 38 | break; 39 | } 40 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/TFT_Drivers/ILI9481_Defines.h: -------------------------------------------------------------------------------- 1 | // Change the width and height if required (defined in portrait mode) 2 | // or use the constructor to over-ride defaults 3 | #define TFT_WIDTH 320 4 | #define TFT_HEIGHT 480 5 | 6 | 7 | // Delay between some initialisation commands 8 | #define TFT_INIT_DELAY 0x80 // Not used unless commandlist invoked 9 | 10 | 11 | // Generic commands used by TFT_eSPI.cpp 12 | #define TFT_NOP 0x00 13 | #define TFT_SWRST 0x01 14 | 15 | #define TFT_SLPIN 0x10 16 | #define TFT_SLPOUT 0x11 17 | 18 | #define TFT_INVOFF 0x20 19 | #define TFT_INVON 0x21 20 | 21 | #define TFT_DISPOFF 0x28 22 | #define TFT_DISPON 0x29 23 | 24 | #define TFT_CASET 0x2A 25 | #define TFT_PASET 0x2B 26 | #define TFT_RAMWR 0x2C 27 | 28 | #define TFT_RAMRD 0x2E 29 | 30 | #define TFT_MADCTL 0x36 31 | 32 | #define TFT_MAD_MY 0x80 33 | #define TFT_MAD_MX 0x40 34 | #define TFT_MAD_MV 0x20 35 | #define TFT_MAD_ML 0x10 36 | #define TFT_MAD_RGB 0x00 37 | #define TFT_MAD_BGR 0x08 38 | #define TFT_MAD_MH 0x04 39 | #define TFT_MAD_SS 0x02 40 | #define TFT_MAD_GS 0x01 41 | 42 | #define TFT_IDXRD 0x00 // ILI9341 only, indexed control register read 43 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/TFT_Drivers/ILI9481_Rotation.h: -------------------------------------------------------------------------------- 1 | // This is the command sequence that rotates the ILI9481 driver coordinate frame 2 | 3 | writecommand(TFT_MADCTL); 4 | rotation = m % 4; 5 | switch (rotation) { 6 | case 0: // Portrait 7 | writedata(TFT_MAD_BGR | TFT_MAD_SS); 8 | _width = TFT_WIDTH; 9 | _height = TFT_HEIGHT; 10 | break; 11 | case 1: // Landscape (Portrait + 90) 12 | writedata(TFT_MAD_MV | TFT_MAD_BGR); 13 | _width = TFT_HEIGHT; 14 | _height = TFT_WIDTH; 15 | break; 16 | case 2: // Inverter portrait 17 | writedata(TFT_MAD_BGR | TFT_MAD_GS); 18 | _width = TFT_WIDTH; 19 | _height = TFT_HEIGHT; 20 | break; 21 | case 3: // Inverted landscape 22 | writedata(TFT_MAD_MV | TFT_MAD_BGR | TFT_MAD_SS | TFT_MAD_GS); 23 | _width = TFT_HEIGHT; 24 | _height = TFT_WIDTH; 25 | break; 26 | } 27 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/TFT_Drivers/ILI9486_Rotation.h: -------------------------------------------------------------------------------- 1 | // This is the command sequence that rotates the ILI9486 driver coordinate frame 2 | 3 | writecommand(TFT_MADCTL); 4 | rotation = m % 8; 5 | switch (rotation) { 6 | case 0: // Portrait 7 | writedata(TFT_MAD_BGR | TFT_MAD_MX); 8 | _width = _init_width; 9 | _height = _init_height; 10 | break; 11 | case 1: // Landscape (Portrait + 90) 12 | writedata(TFT_MAD_BGR | TFT_MAD_MV); 13 | _width = _init_height; 14 | _height = _init_width; 15 | break; 16 | case 2: // Inverter portrait 17 | writedata( TFT_MAD_BGR | TFT_MAD_MY); 18 | _width = _init_width; 19 | _height = _init_height; 20 | break; 21 | case 3: // Inverted landscape 22 | writedata(TFT_MAD_BGR | TFT_MAD_MV | TFT_MAD_MX | TFT_MAD_MY); 23 | _width = _init_height; 24 | _height = _init_width; 25 | break; 26 | case 4: // Portrait 27 | writedata(TFT_MAD_BGR | TFT_MAD_MX | TFT_MAD_MY); 28 | _width = _init_width; 29 | _height = _init_height; 30 | break; 31 | case 5: // Landscape (Portrait + 90) 32 | writedata(TFT_MAD_BGR | TFT_MAD_MV | TFT_MAD_MX); 33 | _width = _init_height; 34 | _height = _init_width; 35 | break; 36 | case 6: // Inverter portrait 37 | writedata( TFT_MAD_BGR); 38 | _width = _init_width; 39 | _height = _init_height; 40 | break; 41 | case 7: // Inverted landscape 42 | writedata(TFT_MAD_BGR | TFT_MAD_MV | TFT_MAD_MY); 43 | _width = _init_height; 44 | _height = _init_width; 45 | break; 46 | } 47 | 48 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/TFT_Drivers/ILI9488_Defines.h: -------------------------------------------------------------------------------- 1 | // Change the width and height if required (defined in portrait mode) 2 | // or use the constructor to over-ride defaults 3 | #define TFT_WIDTH 320 4 | #define TFT_HEIGHT 480 5 | 6 | 7 | // Delay between some initialisation commands 8 | #define TFT_INIT_DELAY 0x80 // Not used unless commandlist invoked 9 | 10 | 11 | // Generic commands used by TFT_eSPI.cpp 12 | #define TFT_NOP 0x00 13 | #define TFT_SWRST 0x01 14 | 15 | #define TFT_SLPIN 0x10 16 | #define TFT_SLPOUT 0x11 17 | 18 | #define TFT_INVOFF 0x20 19 | #define TFT_INVON 0x21 20 | 21 | #define TFT_DISPOFF 0x28 22 | #define TFT_DISPON 0x29 23 | 24 | #define TFT_CASET 0x2A 25 | #define TFT_PASET 0x2B 26 | #define TFT_RAMWR 0x2C 27 | 28 | #define TFT_RAMRD 0x2E 29 | 30 | #define TFT_MADCTL 0x36 31 | 32 | #define TFT_MAD_MY 0x80 33 | #define TFT_MAD_MX 0x40 34 | #define TFT_MAD_MV 0x20 35 | #define TFT_MAD_ML 0x10 36 | #define TFT_MAD_RGB 0x00 37 | #define TFT_MAD_BGR 0x08 38 | #define TFT_MAD_MH 0x04 39 | #define TFT_MAD_SS 0x02 40 | #define TFT_MAD_GS 0x01 41 | 42 | #define TFT_IDXRD 0x00 // ILI9341 only, indexed control register read 43 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/TFT_Drivers/ILI9488_Rotation.h: -------------------------------------------------------------------------------- 1 | // This is the command sequence that rotates the ILI9488 driver coordinate frame 2 | 3 | writecommand(TFT_MADCTL); 4 | rotation = m % 4; 5 | switch (rotation) { 6 | case 0: // Portrait 7 | writedata(TFT_MAD_MX | TFT_MAD_BGR); 8 | _width = TFT_WIDTH; 9 | _height = TFT_HEIGHT; 10 | break; 11 | case 1: // Landscape (Portrait + 90) 12 | writedata(TFT_MAD_MV | TFT_MAD_BGR); 13 | _width = TFT_HEIGHT; 14 | _height = TFT_WIDTH; 15 | break; 16 | case 2: // Inverter portrait 17 | writedata(TFT_MAD_MY | TFT_MAD_BGR); 18 | _width = TFT_WIDTH; 19 | _height = TFT_HEIGHT; 20 | break; 21 | case 3: // Inverted landscape 22 | writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_MV | TFT_MAD_BGR); 23 | _width = TFT_HEIGHT; 24 | _height = TFT_WIDTH; 25 | break; 26 | } 27 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/TFT_Drivers/R61581_Defines.h: -------------------------------------------------------------------------------- 1 | // Change the width and height if required (defined in portrait mode) 2 | // or use the constructor to over-ride defaults 3 | #define TFT_WIDTH 320 4 | #define TFT_HEIGHT 480 5 | 6 | 7 | // Delay between some initialisation commands 8 | #define TFT_INIT_DELAY 0x80 // Not used unless commandlist invoked 9 | 10 | 11 | // Generic commands used by TFT_eSPI.cpp 12 | #define TFT_NOP 0x00 13 | #define TFT_SWRST 0x01 14 | 15 | #define TFT_SLPIN 0x10 16 | #define TFT_SLPOUT 0x11 17 | 18 | #define TFT_INVOFF 0x20 19 | #define TFT_INVON 0x21 20 | 21 | #define TFT_DISPOFF 0x28 22 | #define TFT_DISPON 0x29 23 | 24 | #define TFT_CASET 0x2A 25 | #define TFT_PASET 0x2B 26 | #define TFT_RAMWR 0x2C 27 | 28 | #define TFT_RAMRD 0x2E 29 | 30 | #define TFT_MADCTL 0x36 31 | 32 | #define TFT_MAD_MY 0x80 33 | #define TFT_MAD_MX 0x40 34 | #define TFT_MAD_MV 0x20 35 | #define TFT_MAD_ML 0x10 36 | #define TFT_MAD_RGB 0x00 37 | #define TFT_MAD_BGR 0x08 38 | #define TFT_MAD_MH 0x04 39 | #define TFT_MAD_SS 0x02 40 | #define TFT_MAD_GS 0x01 41 | 42 | #define TFT_IDXRD 0x00 // ILI9341 only, indexed control register read 43 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/TFT_Drivers/R61581_Init.h: -------------------------------------------------------------------------------- 1 | 2 | // This is the command sequence that initialises the R61581 driver 3 | // 4 | // This setup information uses simple 8 bit SPI writecommand() and writedata() functions 5 | // 6 | // See ST7735_Setup.h file for an alternative format 7 | 8 | 9 | // Configure R61581 display 10 | 11 | writecommand(TFT_SLPOUT); 12 | delay(20); 13 | 14 | writecommand(0xB0); 15 | writedata(0x00); 16 | 17 | writecommand(0xD0); 18 | writedata(0x07); 19 | writedata(0x42); 20 | writedata(0x18); 21 | 22 | writecommand(0xD1); 23 | writedata(0x00); 24 | writedata(0x07); 25 | writedata(0x10); 26 | 27 | writecommand(0xD2); 28 | writedata(0x01); 29 | writedata(0x02); 30 | 31 | writecommand(0xC0); 32 | writedata(0x12); 33 | writedata(0x3B); 34 | writedata(0x00); 35 | writedata(0x02); 36 | writedata(0x11); 37 | 38 | writecommand(0xC5); 39 | writedata(0x03); 40 | 41 | writecommand(0xC8); 42 | writedata(0x00); 43 | writedata(0x32); 44 | writedata(0x36); 45 | writedata(0x45); 46 | writedata(0x06); 47 | writedata(0x16); 48 | writedata(0x37); 49 | writedata(0x75); 50 | writedata(0x77); 51 | writedata(0x54); 52 | writedata(0x0C); 53 | writedata(0x00); 54 | 55 | writecommand(TFT_MADCTL); 56 | writedata(0x0A); 57 | 58 | writecommand(0x3A); 59 | writedata(0x55); 60 | 61 | writecommand(TFT_CASET); 62 | writedata(0x00); 63 | writedata(0x00); 64 | writedata(0x01); 65 | writedata(0x3F); 66 | 67 | writecommand(TFT_PASET); 68 | writedata(0x00); 69 | writedata(0x00); 70 | writedata(0x01); 71 | writedata(0xDF); 72 | 73 | delay(120); 74 | writecommand(TFT_DISPON); 75 | 76 | delay(25); 77 | // End of R61581 display configuration 78 | 79 | 80 | 81 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/TFT_Drivers/R61581_Rotation.h: -------------------------------------------------------------------------------- 1 | // This is the command sequence that rotates the R61581 driver coordinate frame 2 | 3 | writecommand(TFT_MADCTL); 4 | rotation = m % 4; 5 | switch (rotation) { 6 | case 0: // Portrait 7 | writedata(TFT_MAD_BGR | TFT_MAD_MX); 8 | _width = TFT_WIDTH; 9 | _height = TFT_HEIGHT; 10 | break; 11 | case 1: // Landscape (Portrait + 90) 12 | writedata(TFT_MAD_MV | TFT_MAD_BGR); 13 | _width = TFT_HEIGHT; 14 | _height = TFT_WIDTH; 15 | break; 16 | case 2: // Inverter portrait 17 | writedata(TFT_MAD_BGR | TFT_MAD_GS); 18 | _width = TFT_WIDTH; 19 | _height = TFT_HEIGHT; 20 | break; 21 | case 3: // Inverted landscape 22 | writedata(TFT_MAD_MV | TFT_MAD_BGR | TFT_MAD_MX | TFT_MAD_GS); 23 | _width = TFT_HEIGHT; 24 | _height = TFT_WIDTH; 25 | break; 26 | } 27 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/TFT_Drivers/RM68140_Defines.h: -------------------------------------------------------------------------------- 1 | // Change the width and height if required (defined in portrait mode) 2 | // or use the constructor to over-ride defaults 3 | #define TFT_WIDTH 320 4 | #define TFT_HEIGHT 480 5 | 6 | 7 | // Delay between some initialisation commands 8 | #define TFT_INIT_DELAY 0x80 // Not used unless commandlist invoked 9 | 10 | 11 | // Generic commands used by TFT_eSPI.cpp 12 | #define TFT_NOP 0x00 13 | #define TFT_SWRST 0x01 14 | 15 | #define TFT_SLPIN 0x10 16 | #define TFT_SLPOUT 0x11 17 | 18 | #define TFT_INVOFF 0x20 19 | #define TFT_INVON 0x21 20 | 21 | #define TFT_DISPOFF 0x28 22 | #define TFT_DISPON 0x29 23 | 24 | #define TFT_CASET 0x2A 25 | #define TFT_PASET 0x2B 26 | #define TFT_RAMWR 0x2C 27 | 28 | #define TFT_RAMRD 0x2E 29 | 30 | #define TFT_MADCTL 0x36 31 | 32 | #define TFT_MAD_MY 0x80 33 | #define TFT_MAD_MX 0x40 34 | #define TFT_MAD_MV 0x20 35 | #define TFT_MAD_ML 0x10 36 | #define TFT_MAD_RGB 0x00 37 | #define TFT_MAD_BGR 0x08 38 | #define TFT_MAD_MH 0x04 39 | #define TFT_MAD_SS 0x02 40 | #define TFT_MAD_GS 0x01 41 | 42 | #define TFT_IDXRD 0x00 // ILI9341 only, indexed control register read 43 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/TFT_Drivers/RM68140_Init.h: -------------------------------------------------------------------------------- 1 | 2 | // This is the command sequence that initialises the RM68140 driver 3 | // 4 | // This setup information uses simple 8 bit SPI writecommand() and writedata() functions 5 | // 6 | // See ST7735_Setup.h file for an alternative format 7 | 8 | 9 | // Configure RM68140 display 10 | 11 | writecommand(TFT_SLPOUT); 12 | delay(20); 13 | 14 | writecommand(0xD0); 15 | writedata(0x07); 16 | writedata(0x42); 17 | writedata(0x18); 18 | 19 | writecommand(0xD1); 20 | writedata(0x00); 21 | writedata(0x07); 22 | writedata(0x10); 23 | 24 | writecommand(0xD2); 25 | writedata(0x01); 26 | writedata(0x02); 27 | 28 | writecommand(0xC0); 29 | writedata(0x10); 30 | writedata(0x3B); 31 | writedata(0x00); 32 | writedata(0x02); 33 | writedata(0x11); 34 | 35 | writecommand(0xC5); 36 | writedata(0x03); 37 | 38 | writecommand(0xC8); 39 | writedata(0x00); 40 | writedata(0x32); 41 | writedata(0x36); 42 | writedata(0x45); 43 | writedata(0x06); 44 | writedata(0x16); 45 | writedata(0x37); 46 | writedata(0x75); 47 | writedata(0x77); 48 | writedata(0x54); 49 | writedata(0x0C); 50 | writedata(0x00); 51 | 52 | writecommand(TFT_MADCTL); 53 | writedata(0x0A); 54 | 55 | writecommand(0x3A); 56 | writedata(0x55); 57 | 58 | writecommand(TFT_CASET); 59 | writedata(0x00); 60 | writedata(0x00); 61 | writedata(0x01); 62 | writedata(0x3F); 63 | 64 | writecommand(TFT_PASET); 65 | writedata(0x00); 66 | writedata(0x00); 67 | writedata(0x01); 68 | writedata(0xDF); 69 | 70 | delay(120); 71 | writecommand(TFT_DISPON); 72 | 73 | delay(25); 74 | // End of RM68140 display configuration 75 | 76 | 77 | 78 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/TFT_Drivers/RM68140_Rotation.h: -------------------------------------------------------------------------------- 1 | // This is the command sequence that rotates the RM68140 driver coordinate frame 2 | 3 | 4 | writecommand(TFT_MADCTL); 5 | rotation = m % 4; 6 | switch (rotation) { 7 | case 0: // Portrait 8 | writedata(TFT_MAD_BGR); 9 | writecommand(0xB6); 10 | writedata(0); 11 | writedata(0x22); 12 | writedata(0x3B); 13 | _width = TFT_WIDTH; 14 | _height = TFT_HEIGHT; 15 | break; 16 | case 1: // Landscape (Portrait + 90) 17 | writedata(TFT_MAD_MV | TFT_MAD_BGR); 18 | writecommand(0xB6); 19 | writedata(0); 20 | writedata(0x02); 21 | writedata(0x3B); 22 | _width = TFT_HEIGHT; 23 | _height = TFT_WIDTH; 24 | break; 25 | case 2: // Inverter portrait 26 | writedata(TFT_MAD_BGR); 27 | writecommand(0xB6); 28 | writedata(0); 29 | writedata(0x42); 30 | writedata(0x3B); 31 | _width = TFT_WIDTH; 32 | _height = TFT_HEIGHT; 33 | break; 34 | case 3: // Inverted landscape 35 | writedata(TFT_MAD_MV | TFT_MAD_BGR); 36 | writecommand(0xB6); 37 | writedata(0); 38 | writedata(0x62); 39 | writedata(0x3B); 40 | _width = TFT_HEIGHT; 41 | _height = TFT_WIDTH; 42 | break; 43 | } 44 | 45 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/TFT_Drivers/S6D02A1_Rotation.h: -------------------------------------------------------------------------------- 1 | 2 | // This is the command sequence that rotates the S6D02A1 driver coordinate frame 3 | 4 | rotation = m % 4; 5 | 6 | writecommand(TFT_MADCTL); 7 | switch (rotation) { 8 | case 0: 9 | writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_BGR); 10 | _width = _init_width; 11 | _height = _init_height; 12 | break; 13 | case 1: 14 | writedata(TFT_MAD_MV | TFT_MAD_MY | TFT_MAD_BGR); 15 | _width = _init_height; 16 | _height = _init_width; 17 | break; 18 | case 2: 19 | writedata(TFT_MAD_BGR); 20 | _width = _init_width; 21 | _height = _init_height; 22 | break; 23 | case 3: 24 | writedata(TFT_MAD_MX | TFT_MAD_MV | TFT_MAD_BGR); 25 | _width = _init_height; 26 | _height = _init_width; 27 | break; 28 | } 29 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/TFT_Drivers/SSD1963_Defines.h: -------------------------------------------------------------------------------- 1 | // Change the width and height if required (defined in portrait mode) 2 | // or use the constructor to over-ride defaults 3 | #if defined (SSD1963_480_DRIVER) 4 | #define TFT_WIDTH 272 5 | #define TFT_HEIGHT 480 6 | #elif defined (SSD1963_800_DRIVER) 7 | #define TFT_WIDTH 480 8 | #define TFT_HEIGHT 800 9 | #elif defined (SSD1963_800ALT_DRIVER) 10 | #define TFT_WIDTH 480 11 | #define TFT_HEIGHT 800 12 | #elif defined (SSD1963_800BD_DRIVER) 13 | #define TFT_WIDTH 480 14 | #define TFT_HEIGHT 800 15 | #endif 16 | 17 | //Set driver type common to all initialisation options 18 | #ifndef SSD1963_DRIVER 19 | #define SSD1963_DRIVER 20 | #endif 21 | 22 | // Delay between some initialisation commands 23 | #define TFT_INIT_DELAY 0x80 // Not used unless commandlist invoked 24 | 25 | // Generic commands used by TFT_eSPI.cpp 26 | #define TFT_NOP 0x00 27 | #define TFT_SWRST 0x01 28 | 29 | #define TFT_CASET 0x2A 30 | #define TFT_PASET 0x2B 31 | #define TFT_RAMWR 0x2C 32 | 33 | #define TFT_RAMRD 0x2E 34 | #define TFT_IDXRD 0xDD // ILI9341 only, indexed control register read 35 | 36 | #define TFT_MADCTL 0x36 37 | #define TFT_MAD_MY 0x80 38 | #define TFT_MAD_MX 0x40 39 | #define TFT_MAD_MV 0x20 40 | #define TFT_MAD_ML 0x10 41 | #define TFT_MAD_BGR 0x08 42 | #define TFT_MAD_MH 0x04 43 | #define TFT_MAD_RGB 0x00 44 | 45 | #ifdef TFT_RGB_ORDER 46 | #if (TFT_RGB_ORDER == 1) 47 | #define TFT_MAD_COLOR_ORDER TFT_MAD_RGB 48 | #else 49 | #define TFT_MAD_COLOR_ORDER TFT_MAD_BGR 50 | #endif 51 | #else 52 | #define TFT_MAD_COLOR_ORDER TFT_MAD_BGR 53 | #endif 54 | 55 | #define TFT_INVOFF 0x20 56 | #define TFT_INVON 0x21 57 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/TFT_Drivers/SSD1963_Rotation.h: -------------------------------------------------------------------------------- 1 | 2 | // This is the command sequence that rotates the SSD1963 driver coordinate frame 3 | 4 | rotation = m % 4; // Limit the range of values to 0-3 5 | 6 | writecommand(TFT_MADCTL); 7 | switch (rotation) { 8 | case 0: 9 | writedata(0x21 | TFT_MAD_COLOR_ORDER); 10 | _width = _init_width; 11 | _height = _init_height; 12 | break; 13 | case 1: 14 | writedata(0x00 | TFT_MAD_COLOR_ORDER); 15 | _width = _init_height; 16 | _height = _init_width; 17 | break; 18 | case 2: 19 | writedata(0x22 | TFT_MAD_COLOR_ORDER); 20 | _width = _init_width; 21 | _height = _init_height; 22 | break; 23 | case 3: 24 | writedata(0x03 | TFT_MAD_COLOR_ORDER); 25 | _width = _init_height; 26 | _height = _init_width; 27 | break; 28 | 29 | } 30 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/TFT_Drivers/ST7789_2_Init.h: -------------------------------------------------------------------------------- 1 | 2 | // This is the command sequence that initialises the ST7789 driver 3 | 4 | // Configure ST7789 display 5 | 6 | { 7 | static const uint8_t PROGMEM 8 | st7789[] = { 9 | 8, 10 | TFT_SLPOUT, TFT_INIT_DELAY, 255, 11 | TFT_COLMOD, 1+TFT_INIT_DELAY, 0x55, 10, 12 | TFT_MADCTL, 1, 0x00, 13 | TFT_CASET, 4, 0x00, 0x00, 0x00, 0xF0, 14 | TFT_PASET, 4, 0x00, 0x00, 0x00, 0xF0, 15 | TFT_INVON, TFT_INIT_DELAY, 10, 16 | TFT_NORON, TFT_INIT_DELAY, 10, 17 | TFT_DISPON, TFT_INIT_DELAY, 255 18 | }; 19 | 20 | commandList(st7789); 21 | } 22 | // End of ST7789 display configuration -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/TFT_Drivers/ST7789_2_Rotation.h: -------------------------------------------------------------------------------- 1 | // This is the command sequence that rotates the ST7789 driver coordinate frame 2 | 3 | writecommand(TFT_MADCTL); 4 | rotation = m % 4; 5 | switch (rotation) { 6 | case 0: // Portrait 7 | #ifdef CGRAM_OFFSET 8 | if (_init_width == 135) 9 | { 10 | colstart = 52; 11 | rowstart = 40; 12 | } 13 | else 14 | { 15 | colstart = 0; 16 | rowstart = 0; 17 | } 18 | #endif 19 | writedata(TFT_MAD_COLOR_ORDER); 20 | 21 | _width = _init_width; 22 | _height = _init_height; 23 | break; 24 | 25 | case 1: // Landscape (Portrait + 90) 26 | #ifdef CGRAM_OFFSET 27 | if (_init_width == 135) 28 | { 29 | colstart = 40; 30 | rowstart = 53; 31 | } 32 | else 33 | { 34 | colstart = 0; 35 | rowstart = 0; 36 | } 37 | #endif 38 | writedata(TFT_MAD_MX | TFT_MAD_MV | TFT_MAD_COLOR_ORDER); 39 | 40 | _width = _init_height; 41 | _height = _init_width; 42 | break; 43 | 44 | case 2: // Inverter portrait 45 | #ifdef CGRAM_OFFSET 46 | if (_init_width == 135) 47 | { 48 | colstart = 53; 49 | rowstart = 40; 50 | } 51 | else 52 | { 53 | colstart = 0; 54 | rowstart = 80; 55 | } 56 | #endif 57 | writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_COLOR_ORDER); 58 | 59 | _width = _init_width; 60 | _height = _init_height; 61 | break; 62 | case 3: // Inverted landscape 63 | #ifdef CGRAM_OFFSET 64 | if (_init_width == 135) 65 | { 66 | colstart = 40; 67 | rowstart = 52; 68 | } 69 | else 70 | { 71 | colstart = 80; 72 | rowstart = 0; 73 | } 74 | #endif 75 | writedata(TFT_MAD_MV | TFT_MAD_MY | TFT_MAD_COLOR_ORDER); 76 | 77 | _width = _init_height; 78 | _height = _init_width; 79 | break; 80 | } 81 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/TFT_Drivers/ST7789_Rotation.h: -------------------------------------------------------------------------------- 1 | // This is the command sequence that rotates the ST7789 driver coordinate frame 2 | 3 | writecommand(TFT_MADCTL); 4 | rotation = m % 4; 5 | switch (rotation) { 6 | case 0: // Portrait 7 | #ifdef CGRAM_OFFSET 8 | if (_init_width == 135) 9 | { 10 | colstart = 52; 11 | rowstart = 40; 12 | } 13 | else 14 | { 15 | colstart = 0; 16 | rowstart = 0; 17 | } 18 | #endif 19 | writedata(TFT_MAD_COLOR_ORDER); 20 | 21 | _width = _init_width; 22 | _height = _init_height; 23 | break; 24 | 25 | case 1: // Landscape (Portrait + 90) 26 | #ifdef CGRAM_OFFSET 27 | if (_init_width == 135) 28 | { 29 | colstart = 40; 30 | rowstart = 53; 31 | } 32 | else 33 | { 34 | colstart = 0; 35 | rowstart = 0; 36 | } 37 | #endif 38 | writedata(TFT_MAD_MX | TFT_MAD_MV | TFT_MAD_COLOR_ORDER); 39 | 40 | _width = _init_height; 41 | _height = _init_width; 42 | break; 43 | 44 | case 2: // Inverter portrait 45 | #ifdef CGRAM_OFFSET 46 | if (_init_width == 135) 47 | { 48 | colstart = 53; 49 | rowstart = 40; 50 | } 51 | else 52 | { 53 | colstart = 0; 54 | rowstart = 80; 55 | } 56 | #endif 57 | writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_COLOR_ORDER); 58 | 59 | _width = _init_width; 60 | _height = _init_height; 61 | break; 62 | case 3: // Inverted landscape 63 | #ifdef CGRAM_OFFSET 64 | if (_init_width == 135) 65 | { 66 | colstart = 40; 67 | rowstart = 52; 68 | } 69 | else 70 | { 71 | colstart = 80; 72 | rowstart = 0; 73 | } 74 | #endif 75 | writedata(TFT_MAD_MV | TFT_MAD_MY | TFT_MAD_COLOR_ORDER); 76 | 77 | _width = _init_height; 78 | _height = _init_width; 79 | break; 80 | } 81 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/TFT_Drivers/ST7796_Rotation.h: -------------------------------------------------------------------------------- 1 | 2 | // This is the command sequence that rotates the ST7796 driver coordinate frame 3 | 4 | rotation = m % 8; // Limit the range of values to 0-7 5 | 6 | writecommand(TFT_MADCTL); 7 | switch (rotation) { 8 | case 0: 9 | writedata(TFT_MAD_MX | TFT_MAD_COLOR_ORDER); 10 | _width = _init_width; 11 | _height = _init_height; 12 | break; 13 | case 1: 14 | writedata(TFT_MAD_MV | TFT_MAD_COLOR_ORDER); 15 | _width = _init_height; 16 | _height = _init_width; 17 | break; 18 | case 2: 19 | writedata(TFT_MAD_MY | TFT_MAD_COLOR_ORDER); 20 | _width = _init_width; 21 | _height = _init_height; 22 | break; 23 | case 3: 24 | writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_MV | TFT_MAD_COLOR_ORDER); 25 | _width = _init_height; 26 | _height = _init_width; 27 | break; 28 | // These next rotations are for bottom up BMP drawing 29 | case 4: 30 | writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_COLOR_ORDER); 31 | _width = _init_width; 32 | _height = _init_height; 33 | break; 34 | case 5: 35 | writedata(TFT_MAD_MV | TFT_MAD_MX | TFT_MAD_COLOR_ORDER); 36 | _width = _init_height; 37 | _height = _init_width; 38 | break; 39 | case 6: 40 | writedata(TFT_MAD_COLOR_ORDER); 41 | _width = _init_width; 42 | _height = _init_height; 43 | break; 44 | case 7: 45 | writedata(TFT_MAD_MY | TFT_MAD_MV | TFT_MAD_COLOR_ORDER); 46 | _width = _init_height; 47 | _height = _init_width; 48 | break; 49 | 50 | } 51 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/Tools/Create_Smooth_Font/Create_font/FontFiles/Final-Frontier28.vlw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/Tools/Create_Smooth_Font/Create_font/FontFiles/Final-Frontier28.vlw -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/Tools/Create_Smooth_Font/Create_font/data/Final-Frontier.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/Tools/Create_Smooth_Font/Create_font/data/Final-Frontier.ttf -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/Tools/Images/README.md: -------------------------------------------------------------------------------- 1 | ## bmp2array4bit 2 | 3 | bmp2array4bit.py reads a bmp file, and creates C (or C++) code that contains two arrays for adding images to four-bit sprites. See [Sprite_image_4bit](../../examples/Sprite/Sprite_image_4bit) for an example. 4 | 5 | It is loosely based on Spark Fun's bmp2array script, https://github.com/sparkfun/BMPtoArray/blob/master/bmp2array.py. The bmp file format is documented in https://en.wikipedia.org/wiki/BMP_file_format. 6 | 7 | You'll need python 3.6 (the original uses Python 2.7) 8 | 9 | `usage: python bmp2array4bit.py [-v] star.bmp [-o myfile.c]` 10 | 11 | Create the bmp file in Gimp (www.gimp.org) from any image as follows: 12 | 13 | * Remove the alpha channel (if it has one) 14 | Layer -> Transparency -> Remove Alpha Channel 15 | * Set the mode to indexed. 16 | Image -> Mode -> Indexed... 17 | * Select Generate optimum palette with 16 colors (max) 18 | * Export the file with a .bmp extension. Do **NOT** select options: 19 | * Run-Length Encoded 20 | * Compatibility Options: "Do not write color space information" 21 | * There are no Advanced Options available with these settings 22 | 23 | (There are other tools that will produce bmp files, and these should work provided you don't use run-length encoding or other advanced features). 24 | 25 | The first array produced is the palette for the image. 26 | The second is the image itself. 27 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/Tools/Images/star.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/Tools/Images/star.bmp -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/Tools/PlatformIO/Configuring options.txt: -------------------------------------------------------------------------------- 1 | PlatformIO User notes: 2 | 3 | It is possible to load settings from the calling program rather than modifying 4 | the library for each project by modifying the "platformio.ini" file. 5 | 6 | The User_Setup_Select.h file will not load the user setting header files if 7 | USER_SETUP_LOADED is defined. 8 | 9 | Instead of using #define, use the -D prefix, for example: 10 | 11 | [env:esp32dev] 12 | platform = https://github.com/platformio/platform-espressif32.git#feature/stage 13 | board = esp32dev 14 | framework = arduino 15 | upload_port = ESP32-Test-2481CE9C.local 16 | 17 | build_flags = 18 | -Os 19 | -DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG 20 | -DUSER_SETUP_LOADED=1 21 | -DILI9163_DRIVER=1 22 | -DTFT_WIDTH=128 23 | -DTFT_HEIGHT=160 24 | -DTFT_MISO=19 25 | -DTFT_MOSI=23 26 | -DTFT_SCLK=18 27 | -DTFT_CS=5 28 | -DTFT_DC=19 29 | -DTFT_RST=-1 30 | -DLOAD_GLCD=1 31 | -DSPI_FREQUENCY=27000000 32 | 33 | lib_extra_dirs = B:\Projects\ESP32\ESP32Lib 34 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/User_Setups/Setup10_RPi_touch_ILI9486.h: -------------------------------------------------------------------------------- 1 | // See SetupX_Template.h for all options available 2 | 3 | #define RPI_DISPLAY_TYPE 4 | #define ILI9486_DRIVER // 20MHz maximum SPI 5 | 6 | // For NodeMCU - use pin numbers in the form PIN_Dx where Dx is the NodeMCU pin designation 7 | #define TFT_CS PIN_D2 // Chip select control pin D2 8 | #define TFT_DC PIN_D3 // Data Command control pin 9 | #define TFT_RST PIN_D4 // Reset pin (could connect to NodeMCU RST, see next line) 10 | //#define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to NodeMCU RST or 3.3V 11 | 12 | #define TOUCH_CS PIN_D1 // Chip select pin (T_CS) of touch screen 13 | 14 | 15 | #define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH 16 | #define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters 17 | #define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters 18 | #define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm 19 | #define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. 20 | #define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. 21 | #define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts 22 | 23 | #define SMOOTH_FONT 24 | 25 | 26 | #define SPI_FREQUENCY 16000000 27 | 28 | #define SPI_TOUCH_FREQUENCY 2500000 29 | 30 | 31 | // #define SUPPORT_TRANSACTIONS 32 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/User_Setups/Setup11_RPi_touch_ILI9486.h: -------------------------------------------------------------------------------- 1 | // See SetupX_Template.h for all options available 2 | #define RPI_DISPLAY_TYPE 3 | #define ILI9486_DRIVER // 20MHz maximum SPI 4 | 5 | #define TFT_MISO 19 6 | #define TFT_MOSI 23 7 | #define TFT_SCLK 18 8 | #define TFT_CS 15 // Chip select control pin 9 | #define TFT_DC 2 // Data Command control pin 10 | #define TFT_RST 4 // Reset pin (could connect to RST pin) 11 | //#define TFT_RST -1 // Set TFT_RST to -1 if display RESET is connected to ESP32 board RST 12 | 13 | #define TOUCH_CS 22 // Chip select pin (T_CS) of touch screen 14 | 15 | 16 | #define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH 17 | #define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters 18 | #define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters 19 | #define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm 20 | #define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. 21 | #define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. 22 | #define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts 23 | 24 | #define SMOOTH_FONT 25 | 26 | 27 | #define SPI_FREQUENCY 20000000 28 | 29 | #define SPI_TOUCH_FREQUENCY 2500000 30 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/User_Setups/Setup12_M5Stack.h: -------------------------------------------------------------------------------- 1 | // See SetupX_Template.h for all options available 2 | 3 | #define ILI9341_DRIVER 4 | 5 | 6 | #define M5STACK 7 | 8 | 9 | #define TFT_MISO 19 10 | #define TFT_MOSI 23 11 | #define TFT_SCLK 18 12 | #define TFT_CS 14 // Chip select control pin 13 | #define TFT_DC 27 // Data Command control pin 14 | #define TFT_RST 33 // Reset pin (could connect to Arduino RESET pin) 15 | #define TFT_BL 32 // LED back-light 16 | 17 | 18 | #define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH 19 | #define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters 20 | #define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters 21 | #define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm 22 | #define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. 23 | #define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. 24 | #define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts 25 | 26 | #define SMOOTH_FONT 27 | 28 | 29 | #define SPI_FREQUENCY 27000000 30 | 31 | // Optional reduced SPI frequency for reading TFT 32 | #define SPI_READ_FREQUENCY 5000000 -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/User_Setups/Setup13_ILI9481_Parallel.h: -------------------------------------------------------------------------------- 1 | // See SetupX_Template.h for all options available 2 | 3 | #define ESP32_PARALLEL 4 | 5 | 6 | #define ILI9481_DRIVER 7 | 8 | 9 | // ESP32 pins used for UNO format board 10 | #define TFT_CS 33 // Chip select control pin 11 | #define TFT_DC 15 // Data Command control pin - must use a pin in the range 0-31 12 | #define TFT_RST 32 // Reset pin 13 | 14 | #define TFT_WR 4 // Write strobe control pin - must use a pin in the range 0-31 15 | #define TFT_RD 2 16 | 17 | #define TFT_D0 12 // Must use pins in the range 0-31 for the data bus 18 | #define TFT_D1 13 // so a single register write sets/clears all bits 19 | #define TFT_D2 26 20 | #define TFT_D3 25 21 | #define TFT_D4 17 22 | #define TFT_D5 16 23 | #define TFT_D6 27 24 | #define TFT_D7 14 25 | 26 | 27 | #define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH 28 | #define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters 29 | #define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters 30 | #define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm 31 | #define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. 32 | #define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. 33 | #define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts 34 | 35 | #define SMOOTH_FONT 36 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/User_Setups/Setup14_ILI9341_Parallel.h: -------------------------------------------------------------------------------- 1 | // See SetupX_Template.h for all options available 2 | 3 | #define TFT_PARALLEL_8_BIT 4 | 5 | 6 | #define ILI9341_DRIVER 7 | 8 | 9 | // ESP32 pins used for the parallel interface TFT 10 | #define TFT_CS 33 // Chip select control pin 11 | #define TFT_DC 15 // Data Command control pin - must use a pin in the range 0-31 12 | #define TFT_RST 32 // Reset pin 13 | 14 | #define TFT_WR 4 // Write strobe control pin - must use a pin in the range 0-31 15 | #define TFT_RD 2 16 | 17 | #define TFT_D0 12 // Must use pins in the range 0-31 for the data bus 18 | #define TFT_D1 13 // so a single register write sets/clears all bits 19 | #define TFT_D2 26 20 | #define TFT_D3 25 21 | #define TFT_D4 17 22 | #define TFT_D5 16 23 | #define TFT_D6 27 24 | #define TFT_D7 14 25 | 26 | 27 | #define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH 28 | #define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters 29 | #define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters 30 | #define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm 31 | #define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. 32 | #define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. 33 | #define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts 34 | 35 | #define SMOOTH_FONT 36 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/User_Setups/Setup15_HX8357D.h: -------------------------------------------------------------------------------- 1 | // See SetupX_Template.h for all options available 2 | 3 | #define HX8357D_DRIVER 4 | 5 | 6 | // For NodeMCU - use pin numbers in the form PIN_Dx where Dx is the NodeMCU pin designation 7 | #define TFT_CS PIN_D8 // Chip select control pin D8 8 | #define TFT_DC PIN_D3 // Data Command control pin 9 | #define TFT_RST PIN_D4 // Reset pin (could connect to NodeMCU RST, see next line) 10 | //#define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to NodeMCU RST or 3.3V 11 | 12 | 13 | #define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH 14 | #define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters 15 | #define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters 16 | #define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm 17 | #define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. 18 | #define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. 19 | #define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts 20 | 21 | #define SMOOTH_FONT 22 | 23 | 24 | // #define SPI_FREQUENCY 20000000 25 | #define SPI_FREQUENCY 27000000 26 | // #define SPI_FREQUENCY 40000000 27 | 28 | #define SPI_TOUCH_FREQUENCY 2500000 29 | 30 | 31 | // #define SUPPORT_TRANSACTIONS 32 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/User_Setups/Setup16_ILI9488_Parallel.h: -------------------------------------------------------------------------------- 1 | // See SetupX_Template.h for all options available 2 | 3 | #define ESP32_PARALLEL 4 | 5 | 6 | #define ILI9488_DRIVER 7 | 8 | 9 | // ESP32 pins used 10 | #define TFT_CS 33 // Chip select control pin 11 | #define TFT_DC 15 // Data Command control pin - must use a pin in the range 0-31 12 | #define TFT_RST 32 // Reset pin 13 | 14 | #define TFT_WR 4 // Write strobe control pin - must use a pin in the range 0-31 15 | #define TFT_RD 2 16 | 17 | #define TFT_D0 12 // Must use pins in the range 0-31 for the data bus 18 | #define TFT_D1 13 // so a single register write sets/clears all bits 19 | #define TFT_D2 26 20 | #define TFT_D3 25 21 | #define TFT_D4 17 22 | #define TFT_D5 16 23 | #define TFT_D6 27 24 | #define TFT_D7 14 25 | 26 | 27 | #define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH 28 | #define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters 29 | #define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters 30 | #define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm 31 | #define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. 32 | #define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. 33 | #define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts 34 | 35 | #define SMOOTH_FONT 36 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/User_Setups/Setup19_RM68140_Parallel.h: -------------------------------------------------------------------------------- 1 | // See SetupX_Template.h for all options available 2 | 3 | #define ESP32_PARALLEL 4 | 5 | 6 | #define RM68140_DRIVER 7 | 8 | 9 | // ESP32 pins used for UNO format board 10 | #define TFT_CS 33 // Chip select control pin 11 | #define TFT_DC 15 // Data Command control pin - must use a pin in the range 0-31 12 | #define TFT_RST 32 // Reset pin 13 | 14 | #define TFT_WR 4 // Write strobe control pin - must use a pin in the range 0-31 15 | #define TFT_RD 2 16 | 17 | #define TFT_D0 12 // Must use pins in the range 0-31 for the data bus 18 | #define TFT_D1 13 // so a single register write sets/clears all bits 19 | #define TFT_D2 26 20 | #define TFT_D3 25 21 | #define TFT_D4 17 22 | #define TFT_D5 16 23 | #define TFT_D6 27 24 | #define TFT_D7 14 25 | 26 | 27 | #define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH 28 | #define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters 29 | #define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters 30 | #define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm 31 | #define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. 32 | #define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. 33 | #define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts 34 | 35 | #define SMOOTH_FONT 36 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/User_Setups/Setup1_ILI9341.h: -------------------------------------------------------------------------------- 1 | // See SetupX_Template.h for all options available 2 | 3 | #define ILI9341_DRIVER 4 | 5 | 6 | #define TFT_CS PIN_D8 // Chip select control pin D8 7 | #define TFT_DC PIN_D3 // Data Command control pin 8 | #define TFT_RST PIN_D4 // Reset pin (could connect to NodeMCU RST, see next line) 9 | //#define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to NodeMCU RST or 3.3V 10 | 11 | 12 | #define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH 13 | #define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters 14 | #define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters 15 | #define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm 16 | #define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. 17 | #define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. 18 | #define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts 19 | 20 | 21 | #define SMOOTH_FONT 22 | 23 | 24 | // #define SPI_FREQUENCY 27000000 25 | #define SPI_FREQUENCY 40000000 26 | // #define SPI_FREQUENCY 80000000 27 | 28 | #define SPI_READ_FREQUENCY 20000000 29 | 30 | #define SPI_TOUCH_FREQUENCY 2500000 31 | 32 | 33 | // #define SUPPORT_TRANSACTIONS 34 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/User_Setups/Setup20_ILI9488.h: -------------------------------------------------------------------------------- 1 | // See SetupX_Template.h for all options available 2 | 3 | #define ILI9488_DRIVER 4 | 5 | 6 | // For NodeMCU - use pin numbers in the form PIN_Dx where Dx is the NodeMCU pin designation 7 | #define TFT_CS PIN_D8 // Chip select control pin D8 8 | #define TFT_DC PIN_D3 // Data Command control pin 9 | #define TFT_RST PIN_D4 // Reset pin (could connect to NodeMCU RST, see next line) 10 | //#define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to NodeMCU RST or 3.3V 11 | 12 | 13 | #define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH 14 | #define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters 15 | #define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters 16 | #define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm 17 | #define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. 18 | #define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. 19 | #define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts 20 | 21 | #define SMOOTH_FONT 22 | 23 | 24 | // #define SPI_FREQUENCY 20000000 25 | #define SPI_FREQUENCY 27000000 26 | // #define SPI_FREQUENCY 40000000 27 | 28 | 29 | #define SPI_TOUCH_FREQUENCY 2500000 30 | 31 | 32 | // #define SUPPORT_TRANSACTIONS 33 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/User_Setups/Setup21_ILI9488.h: -------------------------------------------------------------------------------- 1 | // See SetupX_Template.h for all options available 2 | 3 | #define ILI9488_DRIVER 4 | 5 | //#define TFT_INVERSION_OFF 6 | 7 | #define TFT_MISO 19 // (leave TFT SDO disconnected if other SPI devices share MISO) 8 | #define TFT_MOSI 23 9 | #define TFT_SCLK 18 10 | #define TFT_CS 15 // Chip select control pin 11 | #define TFT_DC 2 // Data Command control pin 12 | #define TFT_RST 4 // Reset pin (could connect to RST pin) 13 | 14 | 15 | #define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH 16 | #define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters 17 | #define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters 18 | #define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm 19 | #define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. 20 | #define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. 21 | #define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts 22 | 23 | #define SMOOTH_FONT 24 | 25 | 26 | // #define SPI_FREQUENCY 20000000 27 | #define SPI_FREQUENCY 27000000 28 | // #define SPI_FREQUENCY 40000000 29 | // #define SPI_FREQUENCY 80000000 30 | 31 | // Optional reduced SPI frequency for reading TFT 32 | #define SPI_READ_FREQUENCY 16000000 33 | 34 | #define SPI_TOUCH_FREQUENCY 2500000 35 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/User_Setups/Setup22_TTGO_T4.h: -------------------------------------------------------------------------------- 1 | // Setup for the TTGO T4 v1.1 ("Bitcoin Tracker") ESP32 board with 2.2" ILI9341 display 2 | 3 | // See SetupX_Template.h for all options available 4 | 5 | #define ILI9341_DRIVER 6 | 7 | //#define TFT_BACKLIGHT_ON HIGH // LED control for TTGO T4 v1.3 only 8 | //#define TFT_BL 4 9 | 10 | #define TFT_MISO 12 11 | #define TFT_MOSI 23 12 | #define TFT_SCLK 18 13 | 14 | #define TFT_CS 27 15 | #define TFT_DC 26 // pin 32 for TTGO T4 v1.3 16 | #define TFT_RST 5 17 | 18 | #define LOAD_GLCD 19 | #define LOAD_FONT2 20 | #define LOAD_FONT4 21 | #define LOAD_FONT6 22 | #define LOAD_FONT7 23 | #define LOAD_FONT8 24 | #define LOAD_GFXFF 25 | 26 | #define SMOOTH_FONT 27 | 28 | //#define SPI_FREQUENCY 27000000 29 | #define SPI_FREQUENCY 40000000 // Maximum for ILI9341 30 | 31 | #define USE_HSPI_PORT 32 | 33 | #define SPI_READ_FREQUENCY 6000000 // 6 MHz is the maximum SPI read speed for the ST7789V 34 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/User_Setups/Setup22_TTGO_T4_v1.3.h: -------------------------------------------------------------------------------- 1 | // Setup for the TTGO T4 v1.3 ESP32 board with 2.2" ILI9341 display 2 | 3 | // See SetupX_Template.h for all options available 4 | 5 | #define ILI9341_DRIVER 6 | 7 | #define TFT_BACKLIGHT_ON HIGH 8 | #define TFT_BL 4 9 | 10 | #define TFT_MISO 12 11 | #define TFT_MOSI 23 12 | #define TFT_SCLK 18 13 | 14 | #define TFT_CS 27 15 | #define TFT_DC 32 // pin 26 for TTGO T4 v1.3 <<<<<<<<<<< Note 16 | #define TFT_RST 5 17 | 18 | #define LOAD_GLCD 19 | #define LOAD_FONT2 20 | #define LOAD_FONT4 21 | #define LOAD_FONT6 22 | #define LOAD_FONT7 23 | #define LOAD_FONT8 24 | #define LOAD_GFXFF 25 | 26 | #define SMOOTH_FONT 27 | 28 | //#define SPI_FREQUENCY 27000000 29 | #define SPI_FREQUENCY 40000000 // Maximum for ILI9341 30 | 31 | #define USE_HSPI_PORT 32 | 33 | #define SPI_READ_FREQUENCY 6000000 // 6 MHz is the maximum SPI read speed for the ST7789V 34 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/User_Setups/Setup23_TTGO_TM.h: -------------------------------------------------------------------------------- 1 | // Setup for the TTGO TM (Music) ESP32 board with 2.4" ST7789V display 2 | 3 | // See SetupX_Template.h for all options available 4 | 5 | #define ST7789_DRIVER 6 | 7 | #define TFT_SDA_READ // Read from display, it only provides an SDA pin 8 | 9 | #define TFT_MISO 19 // Must be defined even though it is not used 10 | #define TFT_MOSI 23 // Connected to display SDA line 11 | #define TFT_SCLK 18 12 | 13 | #define TFT_CS 05 14 | #define TFT_DC 16 15 | #define TFT_RST 17 16 | 17 | #define TFT_WIDTH 240 18 | #define TFT_HEIGHT 320 19 | 20 | //#define TFT_RGB_ORDER TFT_RGB // Colour order Red-Green-Blue 21 | #define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red 22 | 23 | #define LOAD_GLCD 24 | #define LOAD_FONT2 25 | #define LOAD_FONT4 26 | #define LOAD_FONT6 27 | #define LOAD_FONT7 28 | #define LOAD_FONT8 29 | #define LOAD_GFXFF 30 | 31 | #define SMOOTH_FONT 32 | 33 | #define SPI_FREQUENCY 40000000 // This display also seems to work reliably at 80MHz 34 | #define SPI_FREQUENCY 80000000 35 | 36 | #define SPI_READ_FREQUENCY 6000000 // 6 MHz is the maximum SPI read speed for the ST7789V 37 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/User_Setups/Setup25_TTGO_T_Display.h: -------------------------------------------------------------------------------- 1 | // Setup for the TTGO T4 ("Bitcoin Tracker") ESP32 board with 2.2" ILI9341 display 2 | 3 | // See SetupX_Template.h for all options available 4 | 5 | #define ST7789_DRIVER 6 | 7 | #define TFT_WIDTH 135 8 | #define TFT_HEIGHT 240 9 | 10 | #define CGRAM_OFFSET // Library will add offsets required 11 | 12 | //#define TFT_MISO -1 13 | 14 | #define TFT_MOSI 19 15 | #define TFT_SCLK 18 16 | #define TFT_CS 5 17 | #define TFT_DC 16 18 | #define TFT_RST 23 19 | 20 | #define TFT_BL 4 // Display backlight control pin 21 | 22 | #define TFT_BACKLIGHT_ON HIGH // HIGH or LOW are options 23 | 24 | #define LOAD_GLCD 25 | #define LOAD_FONT2 26 | #define LOAD_FONT4 27 | #define LOAD_FONT6 28 | #define LOAD_FONT7 29 | #define LOAD_FONT8 30 | #define LOAD_GFXFF 31 | 32 | #define SMOOTH_FONT 33 | 34 | //#define SPI_FREQUENCY 27000000 35 | #define SPI_FREQUENCY 40000000 // Maximum for ILI9341 36 | 37 | 38 | #define SPI_READ_FREQUENCY 6000000 // 6 MHz is the maximum SPI read speed for the ST7789V 39 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/User_Setups/Setup26_TTGO_T_Wristband.h: -------------------------------------------------------------------------------- 1 | #define ST7735_DRIVER 2 | 3 | #define TFT_WIDTH 80 4 | #define TFT_HEIGHT 160 5 | 6 | 7 | #define TFT_RST 26 // Set TFT_RST to -1 if the display RESET is connected to NodeMCU RST or 3.3V 8 | #define TFT_MISO -1 9 | #define TFT_MOSI 19 10 | #define TFT_SCLK 18 11 | #define TFT_CS 5 12 | #define TFT_DC 23 13 | #define TFT_BL 27 // Dispaly backlight control pin 14 | 15 | #define TFT_BACKLIGHT_ON HIGH // HIGH or LOW are options 16 | 17 | #define ST7735_GREENTAB160x80 // For 160 x 80 display (BGR, inverted, 26 offset) 18 | 19 | #define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH 20 | #define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters 21 | #define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters 22 | #define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm 23 | #define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. 24 | #define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. 25 | //#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT 26 | #define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts 27 | 28 | // Comment out the #define below to stop the SPIFFS filing system and smooth font code being loaded 29 | // this will save ~20kbytes of FLASH 30 | #define SMOOTH_FONT 31 | 32 | #define SPI_FREQUENCY 27000000 // Actually sets it to 26.67MHz = 80/3 33 | 34 | // #define SPI_FREQUENCY 40000000 // Maximum to use SPIFFS 35 | // #define SPI_FREQUENCY 80000000 36 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/User_Setups/Setup36_RPi_touch_ST7796.h: -------------------------------------------------------------------------------- 1 | // See SetupX_Template.h for all options available 2 | 3 | #define RPI_DISPLAY_TYPE 4 | #define ST7796_DRIVER // 20MHz maximum SPI 5 | 6 | 7 | #define TFT_MISO 19 8 | #define TFT_MOSI 23 9 | #define TFT_SCLK 18 10 | #define TFT_CS 15 // Chip select control pin 11 | #define TFT_DC 2 // Data Command control pin 12 | #define TFT_RST 4 // Reset pin (could connect to RST pin) 13 | //#define TFT_RST -1 // Set TFT_RST to -1 if display RESET is connected to ESP32 board RST 14 | 15 | #define TOUCH_CS 22 // Chip select pin (T_CS) of touch screen 16 | 17 | 18 | #define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH 19 | #define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters 20 | #define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters 21 | #define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm 22 | #define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. 23 | #define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. 24 | #define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts 25 | 26 | #define SMOOTH_FONT 27 | 28 | 29 | #define SPI_FREQUENCY 40000000 30 | 31 | #define SPI_TOUCH_FREQUENCY 2500000 32 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/User_Setups/Setup3_ILI9163.h: -------------------------------------------------------------------------------- 1 | // See SetupX_Template.h for all options available 2 | 3 | #define ILI9163_DRIVER 4 | 5 | 6 | #define TFT_WIDTH 128 7 | #define TFT_HEIGHT 160 8 | 9 | 10 | // For NodeMCU - use pin numbers in the form PIN_Dx where Dx is the NodeMCU pin designation 11 | #define TFT_CS PIN_D8 // Chip select control pin D8 12 | #define TFT_DC PIN_D3 // Data Command control pin 13 | #define TFT_RST PIN_D4 // Reset pin (could connect to NodeMCU RST, see next line) 14 | //#define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to NodeMCU RST or 3.3V 15 | 16 | 17 | #define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH 18 | #define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters 19 | #define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters 20 | #define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm 21 | #define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. 22 | #define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. 23 | //#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT 24 | #define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts 25 | 26 | #define SMOOTH_FONT 27 | 28 | 29 | // #define SPI_FREQUENCY 20000000 30 | #define SPI_FREQUENCY 27000000 31 | // #define SPI_FREQUENCY 40000000 32 | 33 | #define SPI_TOUCH_FREQUENCY 2500000 34 | 35 | 36 | // #define SUPPORT_TRANSACTIONS 37 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/User_Setups/Setup44_TTGO_CameraPlus.h: -------------------------------------------------------------------------------- 1 | 2 | #define ST7789_DRIVER 3 | 4 | #define TFT_WIDTH 240 5 | #define TFT_HEIGHT 240 6 | 7 | #define TFT_MOSI 19 8 | #define TFT_MISO 22 9 | #define TFT_SCLK 21 10 | #define TFT_CS 12 11 | #define TFT_DC 15 12 | #define TFT_RST -1 13 | 14 | #define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH 15 | #define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters 16 | #define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters 17 | #define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm 18 | #define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:-. 19 | #define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. 20 | #define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts 21 | 22 | #define SMOOTH_FONT 23 | 24 | // #define SPI_FREQUENCY 1000000 25 | // #define SPI_FREQUENCY 5000000 26 | // #define SPI_FREQUENCY 10000000 27 | // #define SPI_FREQUENCY 20000000 28 | // #define SPI_FREQUENCY 27000000 // Actually sets it to 26.67MHz = 80/3 29 | #define SPI_FREQUENCY 40000000 // Maximum to use SPIFFS 30 | // #define SUPPORT_TRANSACTIONS 31 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/User_Setups/Setup45_TTGO_T_Watch.h: -------------------------------------------------------------------------------- 1 | #define ST7789_DRIVER 2 | 3 | #define TFT_WIDTH 240 4 | #define TFT_HEIGHT 240 5 | 6 | #define TFT_MISO -1 7 | #define TFT_MOSI 19 8 | #define TFT_SCLK 18 9 | #define TFT_CS 5 10 | #define TFT_DC 27 11 | 12 | #define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH 13 | #define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters 14 | #define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters 15 | #define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm 16 | #define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. 17 | #define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. 18 | #define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts 19 | #define SMOOTH_FONT 20 | 21 | // #define SPI_FREQUENCY 1000000 22 | // #define SPI_FREQUENCY 5000000 23 | // #define SPI_FREQUENCY 10000000 24 | // #define SPI_FREQUENCY 20000000 25 | // #define SPI_FREQUENCY 27000000 // Actually sets it to 26.67MHz = 80/3 26 | #define SPI_FREQUENCY 40000000 27 | //#define SPI_FREQUENCY 80000000 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/User_Setups/Setup46_GC9A01_ESP32.h: -------------------------------------------------------------------------------- 1 | #define GC9A01_DRIVER 2 | 3 | #define TFT_MISO 19 4 | #define TFT_MOSI 23 5 | #define TFT_SCLK 18 6 | #define TFT_CS 15 // Chip select control pin 7 | #define TFT_DC 2 // Data Command control pin 8 | #define TFT_RST 4 // Reset pin (could connect to RST pin) 9 | //#define TFT_RST -1 // Set TFT_RST to -1 if display RESET is connected to ESP32 board RST 10 | 11 | #define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH 12 | #define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters 13 | #define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters 14 | #define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm 15 | #define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. 16 | #define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. 17 | #define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts 18 | #define SMOOTH_FONT 19 | 20 | #define SPI_FREQUENCY 40000000 21 | 22 | #define SPI_READ_FREQUENCY 20000000 23 | 24 | #define SPI_TOUCH_FREQUENCY 2500000 25 | 26 | // #define SUPPORT_TRANSACTIONS -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/User_Setups/Setup4_S6D02A1.h: -------------------------------------------------------------------------------- 1 | // See SetupX_Template.h for all options available 2 | 3 | #define S6D02A1_DRIVER 4 | 5 | 6 | // For NodeMCU - use pin numbers in the form PIN_Dx where Dx is the NodeMCU pin designation 7 | #define TFT_CS PIN_D8 // Chip select control pin D8 8 | #define TFT_DC PIN_D3 // Data Command control pin 9 | #define TFT_RST PIN_D4 // Reset pin (could connect to NodeMCU RST, see next line) 10 | //#define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to NodeMCU RST or 3.3V 11 | 12 | 13 | #define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH 14 | #define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters 15 | #define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters 16 | #define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm 17 | #define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. 18 | #define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. 19 | //#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT 20 | #define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts 21 | 22 | #define SMOOTH_FONT 23 | 24 | 25 | // #define SPI_FREQUENCY 20000000 26 | #define SPI_FREQUENCY 27000000 27 | // #define SPI_FREQUENCY 40000000 28 | 29 | #define SPI_TOUCH_FREQUENCY 2500000 30 | 31 | 32 | // #define SUPPORT_TRANSACTIONS 33 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/User_Setups/Setup5_RPi_ILI9486.h: -------------------------------------------------------------------------------- 1 | // See SetupX_Template.h for all options available 2 | 3 | #define RPI_ILI9486_DRIVER // 20MHz maximum SPI 4 | 5 | 6 | // For NodeMCU - use pin numbers in the form PIN_Dx where Dx is the NodeMCU pin designation 7 | #define TFT_CS PIN_D8 // Chip select control pin D8 8 | #define TFT_DC PIN_D3 // Data Command control pin 9 | #define TFT_RST PIN_D4 // Reset pin (could connect to NodeMCU RST, see next line) 10 | //#define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to NodeMCU RST or 3.3V 11 | 12 | 13 | #define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH 14 | #define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters 15 | #define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters 16 | #define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm 17 | #define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. 18 | #define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. 19 | #define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts 20 | 21 | #define SMOOTH_FONT 22 | 23 | 24 | #define SPI_FREQUENCY 20000000 25 | 26 | #define SPI_TOUCH_FREQUENCY 2500000 27 | 28 | 29 | // #define SUPPORT_TRANSACTIONS 30 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/User_Setups/Setup6_RPi_Wr_ILI9486.h: -------------------------------------------------------------------------------- 1 | // See SetupX_Template.h for all options available 2 | 3 | #define RPI_ILI9486_DRIVER // 20MHz maximum SPI 4 | 5 | 6 | // For NodeMCU - use pin numbers in the form PIN_Dx where Dx is the NodeMCU pin designation 7 | #define TFT_CS PIN_D8 // Chip select control pin D8 8 | #define TFT_DC PIN_D3 // Data Command control pin 9 | #define TFT_RST PIN_D4 // Reset pin (could connect to NodeMCU RST, see next line) 10 | //#define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to NodeMCU RST or 3.3V 11 | 12 | #define TFT_WR PIN_D2 // Write strobe for modified Raspberry Pi TFT only 13 | 14 | 15 | #define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH 16 | #define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters 17 | #define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters 18 | #define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm 19 | #define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. 20 | #define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. 21 | #define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts 22 | 23 | #define SMOOTH_FONT 24 | 25 | 26 | #define SPI_FREQUENCY 20000000 27 | 28 | #define SPI_TOUCH_FREQUENCY 2500000 29 | 30 | 31 | // #define SUPPORT_TRANSACTIONS 32 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/User_Setups/Setup8_ILI9163_128x128.h: -------------------------------------------------------------------------------- 1 | // See SetupX_Template.h for all options available 2 | 3 | #define ILI9163_DRIVER 4 | 5 | 6 | #define TFT_WIDTH 128 7 | #define TFT_HEIGHT 128 8 | 9 | 10 | // For NodeMCU - use pin numbers in the form PIN_Dx where Dx is the NodeMCU pin designation 11 | #define TFT_CS PIN_D8 // Chip select control pin D8 12 | #define TFT_DC PIN_D3 // Data Command control pin 13 | #define TFT_RST PIN_D4 // Reset pin (could connect to NodeMCU RST, see next line) 14 | //#define TFT_RST -1 // Set TFT_RST to -1 if the display RESET is connected to NodeMCU RST or 3.3V 15 | 16 | 17 | #define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH 18 | #define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters 19 | #define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters 20 | #define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm 21 | #define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. 22 | #define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. 23 | //#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT 24 | #define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts 25 | 26 | #define SMOOTH_FONT 27 | 28 | 29 | // #define SPI_FREQUENCY 20000000 30 | #define SPI_FREQUENCY 27000000 // Actually sets it to 26.67MHz = 80/3 31 | 32 | #define SPI_TOUCH_FREQUENCY 2500000 33 | 34 | 35 | // #define SUPPORT_TRANSACTIONS 36 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/160 x 128/TFT_Ellipse/TFT_Ellipse.ino: -------------------------------------------------------------------------------- 1 | /* 2 | Ellipse drawing example 3 | 4 | This sketch does not use any fonts. 5 | */ 6 | 7 | #include // Hardware-specific library 8 | #include 9 | 10 | TFT_eSPI tft = TFT_eSPI(); // Invoke custom library 11 | 12 | void setup(void) { 13 | tft.init(); 14 | 15 | tft.setRotation(1); 16 | 17 | } 18 | 19 | void loop() { 20 | 21 | tft.fillScreen(TFT_BLACK); 22 | 23 | // Draw some random filled elipses 24 | for (int i = 0; i < 20; i++) 25 | { 26 | int rx = random(40); 27 | int ry = random(40); 28 | int x = rx + random(160 - rx - rx); 29 | int y = ry + random(128 - ry - ry); 30 | tft.fillEllipse(x, y, rx, ry, random(0xFFFF)); 31 | } 32 | 33 | delay(2000); 34 | tft.fillScreen(TFT_BLACK); 35 | 36 | // Draw some random outline elipses 37 | for (int i = 0; i < 20; i++) 38 | { 39 | int rx = random(40); 40 | int ry = random(40); 41 | int x = rx + random(160 - rx - rx); 42 | int y = ry + random(128 - ry - ry); 43 | tft.drawEllipse(x, y, rx, ry, random(0xFFFF)); 44 | } 45 | 46 | delay(2000); 47 | } 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/320 x 240/TFT_Ellipse/TFT_Ellipse.ino: -------------------------------------------------------------------------------- 1 | /* 2 | Ellipse drawing example 3 | 4 | This sketch does not use any fonts. 5 | */ 6 | 7 | #include // Hardware-specific library 8 | #include 9 | 10 | TFT_eSPI tft = TFT_eSPI(); // Invoke custom library 11 | 12 | void setup(void) { 13 | tft.init(); 14 | 15 | tft.setRotation(1); 16 | 17 | } 18 | 19 | void loop() { 20 | 21 | tft.fillScreen(TFT_BLACK); 22 | 23 | // Draw some random ellipses 24 | for (int i = 0; i < 40; i++) 25 | { 26 | int rx = random(60); 27 | int ry = random(60); 28 | int x = rx + random(320 - rx - rx); 29 | int y = ry + random(240 - ry - ry); 30 | tft.fillEllipse(x, y, rx, ry, random(0xFFFF)); 31 | } 32 | 33 | delay(2000); 34 | tft.fillScreen(TFT_BLACK); 35 | 36 | for (int i = 0; i < 40; i++) 37 | { 38 | int rx = random(60); 39 | int ry = random(60); 40 | int x = rx + random(320 - rx - rx); 41 | int y = ry + random(240 - ry - ry); 42 | tft.drawEllipse(x, y, rx, ry, random(0xFFFF)); 43 | } 44 | 45 | delay(2000); 46 | } 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/480 x 320/TFT_Ellipse/TFT_Ellipse.ino: -------------------------------------------------------------------------------- 1 | /* 2 | Ellipse drawing example 3 | 4 | This sketch does not use any fonts. 5 | */ 6 | 7 | #include 8 | 9 | #include // Hardware-specific library 10 | 11 | TFT_eSPI tft = TFT_eSPI(); // Invoke custom library 12 | 13 | 14 | void setup(void) { 15 | tft.init(); 16 | 17 | tft.setRotation(1); 18 | 19 | } 20 | 21 | void loop() { 22 | 23 | tft.fillScreen(TFT_BLACK); 24 | 25 | // Draw some random circles 26 | for (int i = 0; i < 40; i++) 27 | { 28 | int rx = random(60); 29 | int ry = random(60); 30 | int x = rx + random(480 - rx - rx); 31 | int y = ry + random(320 - ry - ry); 32 | tft.fillEllipse(x, y, rx, ry, random(0xFFFF)); 33 | } 34 | 35 | delay(2000); 36 | tft.fillScreen(TFT_BLACK); 37 | 38 | for (int i = 0; i < 40; i++) 39 | { 40 | int rx = random(60); 41 | int ry = random(60); 42 | int x = rx + random(480 - rx - rx); 43 | int y = ry + random(320 - ry - ry); 44 | tft.drawEllipse(x, y, rx, ry, random(0xFFFF)); 45 | } 46 | 47 | delay(2000); 48 | } 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/480 x 320/Touch_Controller_Demo/Touch_Controller_Demo.ino: -------------------------------------------------------------------------------- 1 | #include "FS.h" 2 | #include 3 | #include 4 | TFT_eSPI tft = TFT_eSPI(); 5 | 6 | #define CALIBRATION_FILE "/calibrationData" 7 | 8 | void setup(void) { 9 | uint16_t calibrationData[5]; 10 | uint8_t calDataOK = 0; 11 | 12 | Serial.begin(115200); 13 | Serial.println("starting"); 14 | 15 | tft.init(); 16 | 17 | tft.setRotation(3); 18 | tft.fillScreen((0xFFFF)); 19 | 20 | tft.setCursor(20, 0, 2); 21 | tft.setTextColor(TFT_BLACK, TFT_WHITE); tft.setTextSize(1); 22 | tft.println("calibration run"); 23 | 24 | // check file system 25 | if (!SPIFFS.begin()) { 26 | Serial.println("formating file system"); 27 | 28 | SPIFFS.format(); 29 | SPIFFS.begin(); 30 | } 31 | 32 | // check if calibration file exists 33 | if (SPIFFS.exists(CALIBRATION_FILE)) { 34 | File f = SPIFFS.open(CALIBRATION_FILE, "r"); 35 | if (f) { 36 | if (f.readBytes((char *)calibrationData, 14) == 14) 37 | calDataOK = 1; 38 | f.close(); 39 | } 40 | } 41 | if (calDataOK) { 42 | // calibration data valid 43 | tft.setTouch(calibrationData); 44 | } else { 45 | // data not valid. recalibrate 46 | tft.calibrateTouch(calibrationData, TFT_WHITE, TFT_RED, 15); 47 | // store data 48 | File f = SPIFFS.open(CALIBRATION_FILE, "w"); 49 | if (f) { 50 | f.write((const unsigned char *)calibrationData, 14); 51 | f.close(); 52 | } 53 | } 54 | 55 | tft.fillScreen((0xFFFF)); 56 | 57 | } 58 | 59 | void loop() { 60 | uint16_t x, y; 61 | static uint16_t color; 62 | 63 | if (tft.getTouch(&x, &y)) { 64 | 65 | tft.setCursor(5, 5, 2); 66 | tft.printf("x: %i ", x); 67 | tft.setCursor(5, 20, 2); 68 | tft.printf("y: %i ", y); 69 | 70 | tft.drawPixel(x, y, color); 71 | color += 155; 72 | } 73 | } 74 | 75 | 76 | 77 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Generic/Animated_Eyes_2/wiring.ino: -------------------------------------------------------------------------------- 1 | /* 2 | This is the example wiring used for the sketch testing. 3 | 4 | You must not define the TFT_CS pin in the TFT_eSPI library if you are 5 | using two independant displays. Instead the chip selects (CS) must be 6 | defined in the "config.h" tab of this sketch. The sketch can then select 7 | the dispay to send graphics to. 8 | 9 | If you are only using one display, then TFT_CS can be defined in the 10 | TFT_eSPI library. 11 | 12 | The "Setup47_ST7735.h" file was used for the two TFT test using the wiring 13 | as shown below: 14 | 15 | Function ESP32 pin TFT 1 TFT 2 16 | MOSI 23 -> SDA -> SDA // The TFT pin may be named DIN 17 | MISO 19 // Not connected 18 | SCLK 18 -> CLK -> CLK // The TFT pin may be named SCK 19 | TFT_DC 2 -> DC -> DC // The TFT pin may be named AO 20 | TFT_RST 4 -> RST -> RST 21 | CS 1 22 -> CS // Connected to TFT 1 only 22 | CS 2 21 -> CS // Connected to TFT 2 only 23 | +5V/VIN -> VCC -> VCC 24 | 0V -> GND -> GND 25 | +5V/VIN -> LED -> LED // Some displays do not have a backlight BL/LED pin 26 | 27 | The displays used for testing were 128x128 ST7735 displays, the TFT_eSPI library setup file may need 28 | to be changed as these displays come in many configuration variants. 29 | 30 | 31 | */ 32 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Generic/TFT_SPIFFS_BMP/data/parrot.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/Generic/TFT_SPIFFS_BMP/data/parrot.bmp -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/FLASH_Array/Font_Demo_1_Array/Notes.ino: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Information notes only: 4 | ====================== 5 | 6 | //These are the text plotting alignment (reference datum point) 7 | 8 | TL_DATUM = Top left (default) 9 | TC_DATUM = Top centre 10 | TR_DATUM = Top right 11 | 12 | ML_DATUM = Middle left 13 | MC_DATUM = Middle centre 14 | MR_DATUM = Middle right 15 | 16 | BL_DATUM = Bottom left 17 | BC_DATUM = Bottom centre 18 | BR_DATUM = Bottom right 19 | 20 | L_BASELINE = Left character baseline (Line the 'A' character would sit on) 21 | C_BASELINE = Centre character baseline 22 | R_BASELINE = Right character baseline 23 | 24 | // Basic colours already defined: 25 | 26 | TFT_BLACK 0x0000 27 | TFT_NAVY 0x000F 28 | TFT_DARKGREEN 0x03E0 29 | TFT_DARKCYAN 0x03EF 30 | TFT_MAROON 0x7800 31 | TFT_PURPLE 0x780F 32 | TFT_OLIVE 0x7BE0 33 | TFT_LIGHTGREY 0xC618 34 | TFT_DARKGREY 0x7BEF 35 | TFT_BLUE 0x001F 36 | TFT_GREEN 0x07E0 37 | TFT_CYAN 0x07FF 38 | TFT_RED 0xF800 39 | TFT_MAGENTA 0xF81F 40 | TFT_YELLOW 0xFFE0 41 | TFT_WHITE 0xFFFF 42 | TFT_ORANGE 0xFDA0 43 | TFT_GREENYELLOW 0xB7E0 44 | TFT_PINK 0xFC9F 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | */ 57 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/FLASH_Array/Font_Demo_2_Array/Notes.ino: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Information notes only: 4 | ====================== 5 | 6 | //These are the text plotting alignment (reference datum point) 7 | 8 | TL_DATUM = Top left (default) 9 | TC_DATUM = Top centre 10 | TR_DATUM = Top right 11 | 12 | ML_DATUM = Middle left 13 | MC_DATUM = Middle centre 14 | MR_DATUM = Middle right 15 | 16 | BL_DATUM = Bottom left 17 | BC_DATUM = Bottom centre 18 | BR_DATUM = Bottom right 19 | 20 | L_BASELINE = Left character baseline (Line the 'A' character would sit on) 21 | C_BASELINE = Centre character baseline 22 | R_BASELINE = Right character baseline 23 | 24 | // Basic colours already defined: 25 | 26 | TFT_BLACK 0x0000 27 | TFT_NAVY 0x000F 28 | TFT_DARKGREEN 0x03E0 29 | TFT_DARKCYAN 0x03EF 30 | TFT_MAROON 0x7800 31 | TFT_PURPLE 0x780F 32 | TFT_OLIVE 0x7BE0 33 | TFT_LIGHTGREY 0xC618 34 | TFT_DARKGREY 0x7BEF 35 | TFT_BLUE 0x001F 36 | TFT_GREEN 0x07E0 37 | TFT_CYAN 0x07FF 38 | TFT_RED 0xF800 39 | TFT_MAGENTA 0xF81F 40 | TFT_YELLOW 0xFFE0 41 | TFT_WHITE 0xFFFF 42 | TFT_ORANGE 0xFDA0 43 | TFT_GREENYELLOW 0xB7E0 44 | TFT_PINK 0xFC9F 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | */ 57 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/FLASH_Array/Font_Demo_3_Array/Notes.ino: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Information notes only: 4 | ====================== 5 | 6 | Note: it is best to use drawNumber() and drawFloat() for numeric values 7 | this reduces digit position movement when the value changes 8 | drawNumber() and drawFloat() functions behave like drawString() and are 9 | supported by setTextDatum() and setTextPadding() 10 | 11 | //These are the text plotting alignment (reference datum point) 12 | 13 | TL_DATUM = Top left (default) 14 | TC_DATUM = Top centre 15 | TR_DATUM = Top right 16 | 17 | ML_DATUM = Middle left 18 | MC_DATUM = Middle centre 19 | MR_DATUM = Middle right 20 | 21 | BL_DATUM = Bottom left 22 | BC_DATUM = Bottom centre 23 | BR_DATUM = Bottom right 24 | 25 | L_BASELINE = Left character baseline (Line the 'A' character would sit on) 26 | C_BASELINE = Centre character baseline 27 | R_BASELINE = Right character baseline 28 | 29 | // Basic colours already defined: 30 | 31 | TFT_BLACK 0x0000 32 | TFT_NAVY 0x000F 33 | TFT_DARKGREEN 0x03E0 34 | TFT_DARKCYAN 0x03EF 35 | TFT_MAROON 0x7800 36 | TFT_PURPLE 0x780F 37 | TFT_OLIVE 0x7BE0 38 | TFT_LIGHTGREY 0xC618 39 | TFT_DARKGREY 0x7BEF 40 | TFT_BLUE 0x001F 41 | TFT_GREEN 0x07E0 42 | TFT_CYAN 0x07FF 43 | TFT_RED 0xF800 44 | TFT_MAGENTA 0xF81F 45 | TFT_YELLOW 0xFFE0 46 | TFT_WHITE 0xFFFF 47 | TFT_ORANGE 0xFDA0 48 | TFT_GREENYELLOW 0xB7E0 49 | TFT_PINK 0xFC9F 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | */ 62 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/FLASH_Array/Font_Demo_4_Array/Notes.ino: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Information notes only: 4 | ====================== 5 | 6 | //These are the text plotting alignment (reference datum point) 7 | 8 | TL_DATUM = Top left (default) 9 | TC_DATUM = Top centre 10 | TR_DATUM = Top right 11 | 12 | ML_DATUM = Middle left 13 | MC_DATUM = Middle centre 14 | MR_DATUM = Middle right 15 | 16 | BL_DATUM = Bottom left 17 | BC_DATUM = Bottom centre 18 | BR_DATUM = Bottom right 19 | 20 | L_BASELINE = Left character baseline (Line the 'A' character would sit on) 21 | C_BASELINE = Centre character baseline 22 | R_BASELINE = Right character baseline 23 | 24 | // Basic colours already defined: 25 | 26 | TFT_BLACK 0x0000 27 | TFT_NAVY 0x000F 28 | TFT_DARKGREEN 0x03E0 29 | TFT_DARKCYAN 0x03EF 30 | TFT_MAROON 0x7800 31 | TFT_PURPLE 0x780F 32 | TFT_OLIVE 0x7BE0 33 | TFT_LIGHTGREY 0xC618 34 | TFT_DARKGREY 0x7BEF 35 | TFT_BLUE 0x001F 36 | TFT_GREEN 0x07E0 37 | TFT_CYAN 0x07FF 38 | TFT_RED 0xF800 39 | TFT_MAGENTA 0xF81F 40 | TFT_YELLOW 0xFFE0 41 | TFT_WHITE 0xFFFF 42 | TFT_ORANGE 0xFDA0 43 | TFT_GREENYELLOW 0xB7E0 44 | TFT_PINK 0xFC9F 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | */ 57 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/FLASH_Array/Unicode_test/data/Final-Frontier-28.vlw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/FLASH_Array/Unicode_test/data/Final-Frontier-28.vlw -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/FLASH_Array/Unicode_test/data/Latin-Hiragana-24.vlw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/FLASH_Array/Unicode_test/data/Latin-Hiragana-24.vlw -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/FLASH_Array/Unicode_test/data/Unicode-Test-72.vlw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/FLASH_Array/Unicode_test/data/Unicode-Test-72.vlw -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/LittleFS/Font_Demo_1/Notes.ino: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Information notes only: 4 | ====================== 5 | 6 | //These are the text plotting alignment (reference datum point) 7 | 8 | TL_DATUM = Top left (default) 9 | TC_DATUM = Top centre 10 | TR_DATUM = Top right 11 | 12 | ML_DATUM = Middle left 13 | MC_DATUM = Middle centre 14 | MR_DATUM = Middle right 15 | 16 | BL_DATUM = Bottom left 17 | BC_DATUM = Bottom centre 18 | BR_DATUM = Bottom right 19 | 20 | L_BASELINE = Left character baseline (Line the 'A' character would sit on) 21 | C_BASELINE = Centre character baseline 22 | R_BASELINE = Right character baseline 23 | 24 | // Basic colours already defined: 25 | 26 | TFT_BLACK 0x0000 27 | TFT_NAVY 0x000F 28 | TFT_DARKGREEN 0x03E0 29 | TFT_DARKCYAN 0x03EF 30 | TFT_MAROON 0x7800 31 | TFT_PURPLE 0x780F 32 | TFT_OLIVE 0x7BE0 33 | TFT_LIGHTGREY 0xC618 34 | TFT_DARKGREY 0x7BEF 35 | TFT_BLUE 0x001F 36 | TFT_GREEN 0x07E0 37 | TFT_CYAN 0x07FF 38 | TFT_RED 0xF800 39 | TFT_MAGENTA 0xF81F 40 | TFT_YELLOW 0xFFE0 41 | TFT_WHITE 0xFFFF 42 | TFT_ORANGE 0xFDA0 43 | TFT_GREENYELLOW 0xB7E0 44 | TFT_PINK 0xFC9F 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | */ 57 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/LittleFS/Font_Demo_1/data/NotoSansBold15.vlw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/LittleFS/Font_Demo_1/data/NotoSansBold15.vlw -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/LittleFS/Font_Demo_1/data/NotoSansBold36.vlw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/LittleFS/Font_Demo_1/data/NotoSansBold36.vlw -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/LittleFS/Font_Demo_2/Notes.ino: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Information notes only: 4 | ====================== 5 | 6 | //These are the text plotting alignment (reference datum point) 7 | 8 | TL_DATUM = Top left (default) 9 | TC_DATUM = Top centre 10 | TR_DATUM = Top right 11 | 12 | ML_DATUM = Middle left 13 | MC_DATUM = Middle centre 14 | MR_DATUM = Middle right 15 | 16 | BL_DATUM = Bottom left 17 | BC_DATUM = Bottom centre 18 | BR_DATUM = Bottom right 19 | 20 | L_BASELINE = Left character baseline (Line the 'A' character would sit on) 21 | C_BASELINE = Centre character baseline 22 | R_BASELINE = Right character baseline 23 | 24 | // Basic colours already defined: 25 | 26 | TFT_BLACK 0x0000 27 | TFT_NAVY 0x000F 28 | TFT_DARKGREEN 0x03E0 29 | TFT_DARKCYAN 0x03EF 30 | TFT_MAROON 0x7800 31 | TFT_PURPLE 0x780F 32 | TFT_OLIVE 0x7BE0 33 | TFT_LIGHTGREY 0xC618 34 | TFT_DARKGREY 0x7BEF 35 | TFT_BLUE 0x001F 36 | TFT_GREEN 0x07E0 37 | TFT_CYAN 0x07FF 38 | TFT_RED 0xF800 39 | TFT_MAGENTA 0xF81F 40 | TFT_YELLOW 0xFFE0 41 | TFT_WHITE 0xFFFF 42 | TFT_ORANGE 0xFDA0 43 | TFT_GREENYELLOW 0xB7E0 44 | TFT_PINK 0xFC9F 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | */ 57 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/LittleFS/Font_Demo_2/data/NotoSansBold15.vlw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/LittleFS/Font_Demo_2/data/NotoSansBold15.vlw -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/LittleFS/Font_Demo_2/data/NotoSansBold36.vlw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/LittleFS/Font_Demo_2/data/NotoSansBold36.vlw -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/LittleFS/Font_Demo_3/Notes.ino: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Information notes only: 4 | ====================== 5 | 6 | Note: it is best to use drawNumber() and drawFloat() for numeric values 7 | this reduces digit position movement when the value changes 8 | drawNumber() and drawFloat() functions behave like drawString() and are 9 | supported by setTextDatum() and setTextPadding() 10 | 11 | //These are the text plotting alignment (reference datum point) 12 | 13 | TL_DATUM = Top left (default) 14 | TC_DATUM = Top centre 15 | TR_DATUM = Top right 16 | 17 | ML_DATUM = Middle left 18 | MC_DATUM = Middle centre 19 | MR_DATUM = Middle right 20 | 21 | BL_DATUM = Bottom left 22 | BC_DATUM = Bottom centre 23 | BR_DATUM = Bottom right 24 | 25 | L_BASELINE = Left character baseline (Line the 'A' character would sit on) 26 | C_BASELINE = Centre character baseline 27 | R_BASELINE = Right character baseline 28 | 29 | // Basic colours already defined: 30 | 31 | TFT_BLACK 0x0000 32 | TFT_NAVY 0x000F 33 | TFT_DARKGREEN 0x03E0 34 | TFT_DARKCYAN 0x03EF 35 | TFT_MAROON 0x7800 36 | TFT_PURPLE 0x780F 37 | TFT_OLIVE 0x7BE0 38 | TFT_LIGHTGREY 0xC618 39 | TFT_DARKGREY 0x7BEF 40 | TFT_BLUE 0x001F 41 | TFT_GREEN 0x07E0 42 | TFT_CYAN 0x07FF 43 | TFT_RED 0xF800 44 | TFT_MAGENTA 0xF81F 45 | TFT_YELLOW 0xFFE0 46 | TFT_WHITE 0xFFFF 47 | TFT_ORANGE 0xFDA0 48 | TFT_GREENYELLOW 0xB7E0 49 | TFT_PINK 0xFC9F 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | */ 62 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/LittleFS/Font_Demo_3/data/NotoSansBold15.vlw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/LittleFS/Font_Demo_3/data/NotoSansBold15.vlw -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/LittleFS/Font_Demo_3/data/NotoSansBold36.vlw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/LittleFS/Font_Demo_3/data/NotoSansBold36.vlw -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/LittleFS/Font_Demo_3/data/NotoSansMonoSCB20.vlw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/LittleFS/Font_Demo_3/data/NotoSansMonoSCB20.vlw -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/LittleFS/Font_Demo_4/Notes.ino: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Information notes only: 4 | ====================== 5 | 6 | //These are the text plotting alignment (reference datum point) 7 | 8 | TL_DATUM = Top left (default) 9 | TC_DATUM = Top centre 10 | TR_DATUM = Top right 11 | 12 | ML_DATUM = Middle left 13 | MC_DATUM = Middle centre 14 | MR_DATUM = Middle right 15 | 16 | BL_DATUM = Bottom left 17 | BC_DATUM = Bottom centre 18 | BR_DATUM = Bottom right 19 | 20 | L_BASELINE = Left character baseline (Line the 'A' character would sit on) 21 | C_BASELINE = Centre character baseline 22 | R_BASELINE = Right character baseline 23 | 24 | // Basic colours already defined: 25 | 26 | TFT_BLACK 0x0000 27 | TFT_NAVY 0x000F 28 | TFT_DARKGREEN 0x03E0 29 | TFT_DARKCYAN 0x03EF 30 | TFT_MAROON 0x7800 31 | TFT_PURPLE 0x780F 32 | TFT_OLIVE 0x7BE0 33 | TFT_LIGHTGREY 0xC618 34 | TFT_DARKGREY 0x7BEF 35 | TFT_BLUE 0x001F 36 | TFT_GREEN 0x07E0 37 | TFT_CYAN 0x07FF 38 | TFT_RED 0xF800 39 | TFT_MAGENTA 0xF81F 40 | TFT_YELLOW 0xFFE0 41 | TFT_WHITE 0xFFFF 42 | TFT_ORANGE 0xFDA0 43 | TFT_GREENYELLOW 0xB7E0 44 | TFT_PINK 0xFC9F 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | */ 57 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/LittleFS/Font_Demo_4/data/NotoSansBold15.vlw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/LittleFS/Font_Demo_4/data/NotoSansBold15.vlw -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/LittleFS/Font_Demo_4/data/NotoSansBold36.vlw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/LittleFS/Font_Demo_4/data/NotoSansBold36.vlw -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/LittleFS/Print_Smooth_Font/data/Final-Frontier-28.vlw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/LittleFS/Print_Smooth_Font/data/Final-Frontier-28.vlw -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/LittleFS/Smooth_font_gradient/data/NotoSansBold15.vlw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/LittleFS/Smooth_font_gradient/data/NotoSansBold15.vlw -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/LittleFS/Smooth_font_gradient/data/NotoSansBold36.vlw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/LittleFS/Smooth_font_gradient/data/NotoSansBold36.vlw -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/LittleFS/Smooth_font_reading_TFT/data/NotoSansBold15.vlw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/LittleFS/Smooth_font_reading_TFT/data/NotoSansBold15.vlw -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/LittleFS/Smooth_font_reading_TFT/data/NotoSansBold36.vlw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/LittleFS/Smooth_font_reading_TFT/data/NotoSansBold36.vlw -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/LittleFS/Unicode_test/LittleFS_functions.ino: -------------------------------------------------------------------------------- 1 | /*==================================================================================== 2 | This sketch supports the ESP6266 with LittleFS Flash filing system 3 | 4 | Created by Bodmer 15th Jan 2017 5 | ==================================================================================*/ 6 | 7 | //==================================================================================== 8 | // Print a Flash FS directory list (root directory) 9 | //==================================================================================== 10 | 11 | void listFiles(void) { 12 | Serial.println(); 13 | Serial.println("Flash FS files found:"); 14 | 15 | fs::Dir dir = LittleFS.openDir("/"); // Root directory 16 | String line = "====================================="; 17 | 18 | Serial.println(line); 19 | Serial.println(" File name Size"); 20 | Serial.println(line); 21 | 22 | while (dir.next()) { 23 | String fileName = dir.fileName(); 24 | Serial.print(fileName); 25 | int spaces = 25 - fileName.length(); // Tabulate nicely 26 | if (spaces < 0) spaces = 1; 27 | while (spaces--) Serial.print(" "); 28 | fs::File f = dir.openFile("r"); 29 | Serial.print(f.size()); Serial.println(" bytes"); 30 | yield(); 31 | } 32 | 33 | Serial.println(line); 34 | 35 | Serial.println(); 36 | delay(1000); 37 | } 38 | //==================================================================================== 39 | 40 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/LittleFS/Unicode_test/data/Final-Frontier-28.vlw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/LittleFS/Unicode_test/data/Final-Frontier-28.vlw -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/LittleFS/Unicode_test/data/Latin-Hiragana-24.vlw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/LittleFS/Unicode_test/data/Latin-Hiragana-24.vlw -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/LittleFS/Unicode_test/data/Unicode-Test-72.vlw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/LittleFS/Unicode_test/data/Unicode-Test-72.vlw -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/SD_Card/ESP32_Smooth_Font_SD/data/Final-Frontier-28.vlw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/SD_Card/ESP32_Smooth_Font_SD/data/Final-Frontier-28.vlw -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/SPIFFS/Font_Demo_1/Notes.ino: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Information notes only: 4 | ====================== 5 | 6 | //These are the text plotting alignment (reference datum point) 7 | 8 | TL_DATUM = Top left (default) 9 | TC_DATUM = Top centre 10 | TR_DATUM = Top right 11 | 12 | ML_DATUM = Middle left 13 | MC_DATUM = Middle centre 14 | MR_DATUM = Middle right 15 | 16 | BL_DATUM = Bottom left 17 | BC_DATUM = Bottom centre 18 | BR_DATUM = Bottom right 19 | 20 | L_BASELINE = Left character baseline (Line the 'A' character would sit on) 21 | C_BASELINE = Centre character baseline 22 | R_BASELINE = Right character baseline 23 | 24 | // Basic colours already defined: 25 | 26 | TFT_BLACK 0x0000 27 | TFT_NAVY 0x000F 28 | TFT_DARKGREEN 0x03E0 29 | TFT_DARKCYAN 0x03EF 30 | TFT_MAROON 0x7800 31 | TFT_PURPLE 0x780F 32 | TFT_OLIVE 0x7BE0 33 | TFT_LIGHTGREY 0xC618 34 | TFT_DARKGREY 0x7BEF 35 | TFT_BLUE 0x001F 36 | TFT_GREEN 0x07E0 37 | TFT_CYAN 0x07FF 38 | TFT_RED 0xF800 39 | TFT_MAGENTA 0xF81F 40 | TFT_YELLOW 0xFFE0 41 | TFT_WHITE 0xFFFF 42 | TFT_ORANGE 0xFDA0 43 | TFT_GREENYELLOW 0xB7E0 44 | TFT_PINK 0xFC9F 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | */ 57 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/SPIFFS/Font_Demo_1/data/NotoSansBold15.vlw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/SPIFFS/Font_Demo_1/data/NotoSansBold15.vlw -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/SPIFFS/Font_Demo_1/data/NotoSansBold36.vlw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/SPIFFS/Font_Demo_1/data/NotoSansBold36.vlw -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/SPIFFS/Font_Demo_2/Notes.ino: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Information notes only: 4 | ====================== 5 | 6 | //These are the text plotting alignment (reference datum point) 7 | 8 | TL_DATUM = Top left (default) 9 | TC_DATUM = Top centre 10 | TR_DATUM = Top right 11 | 12 | ML_DATUM = Middle left 13 | MC_DATUM = Middle centre 14 | MR_DATUM = Middle right 15 | 16 | BL_DATUM = Bottom left 17 | BC_DATUM = Bottom centre 18 | BR_DATUM = Bottom right 19 | 20 | L_BASELINE = Left character baseline (Line the 'A' character would sit on) 21 | C_BASELINE = Centre character baseline 22 | R_BASELINE = Right character baseline 23 | 24 | // Basic colours already defined: 25 | 26 | TFT_BLACK 0x0000 27 | TFT_NAVY 0x000F 28 | TFT_DARKGREEN 0x03E0 29 | TFT_DARKCYAN 0x03EF 30 | TFT_MAROON 0x7800 31 | TFT_PURPLE 0x780F 32 | TFT_OLIVE 0x7BE0 33 | TFT_LIGHTGREY 0xC618 34 | TFT_DARKGREY 0x7BEF 35 | TFT_BLUE 0x001F 36 | TFT_GREEN 0x07E0 37 | TFT_CYAN 0x07FF 38 | TFT_RED 0xF800 39 | TFT_MAGENTA 0xF81F 40 | TFT_YELLOW 0xFFE0 41 | TFT_WHITE 0xFFFF 42 | TFT_ORANGE 0xFDA0 43 | TFT_GREENYELLOW 0xB7E0 44 | TFT_PINK 0xFC9F 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | */ 57 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/SPIFFS/Font_Demo_2/data/NotoSansBold15.vlw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/SPIFFS/Font_Demo_2/data/NotoSansBold15.vlw -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/SPIFFS/Font_Demo_2/data/NotoSansBold36.vlw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/SPIFFS/Font_Demo_2/data/NotoSansBold36.vlw -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/SPIFFS/Font_Demo_3/Notes.ino: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Information notes only: 4 | ====================== 5 | 6 | Note: it is best to use drawNumber() and drawFloat() for numeric values 7 | this reduces digit position movement when the value changes 8 | drawNumber() and drawFloat() functions behave like drawString() and are 9 | supported by setTextDatum() and setTextPadding() 10 | 11 | //These are the text plotting alignment (reference datum point) 12 | 13 | TL_DATUM = Top left (default) 14 | TC_DATUM = Top centre 15 | TR_DATUM = Top right 16 | 17 | ML_DATUM = Middle left 18 | MC_DATUM = Middle centre 19 | MR_DATUM = Middle right 20 | 21 | BL_DATUM = Bottom left 22 | BC_DATUM = Bottom centre 23 | BR_DATUM = Bottom right 24 | 25 | L_BASELINE = Left character baseline (Line the 'A' character would sit on) 26 | C_BASELINE = Centre character baseline 27 | R_BASELINE = Right character baseline 28 | 29 | // Basic colours already defined: 30 | 31 | TFT_BLACK 0x0000 32 | TFT_NAVY 0x000F 33 | TFT_DARKGREEN 0x03E0 34 | TFT_DARKCYAN 0x03EF 35 | TFT_MAROON 0x7800 36 | TFT_PURPLE 0x780F 37 | TFT_OLIVE 0x7BE0 38 | TFT_LIGHTGREY 0xC618 39 | TFT_DARKGREY 0x7BEF 40 | TFT_BLUE 0x001F 41 | TFT_GREEN 0x07E0 42 | TFT_CYAN 0x07FF 43 | TFT_RED 0xF800 44 | TFT_MAGENTA 0xF81F 45 | TFT_YELLOW 0xFFE0 46 | TFT_WHITE 0xFFFF 47 | TFT_ORANGE 0xFDA0 48 | TFT_GREENYELLOW 0xB7E0 49 | TFT_PINK 0xFC9F 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | */ 62 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/SPIFFS/Font_Demo_3/data/NotoSansBold15.vlw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/SPIFFS/Font_Demo_3/data/NotoSansBold15.vlw -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/SPIFFS/Font_Demo_3/data/NotoSansBold36.vlw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/SPIFFS/Font_Demo_3/data/NotoSansBold36.vlw -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/SPIFFS/Font_Demo_3/data/NotoSansMonoSCB20.vlw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/SPIFFS/Font_Demo_3/data/NotoSansMonoSCB20.vlw -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/SPIFFS/Font_Demo_4/Notes.ino: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Information notes only: 4 | ====================== 5 | 6 | //These are the text plotting alignment (reference datum point) 7 | 8 | TL_DATUM = Top left (default) 9 | TC_DATUM = Top centre 10 | TR_DATUM = Top right 11 | 12 | ML_DATUM = Middle left 13 | MC_DATUM = Middle centre 14 | MR_DATUM = Middle right 15 | 16 | BL_DATUM = Bottom left 17 | BC_DATUM = Bottom centre 18 | BR_DATUM = Bottom right 19 | 20 | L_BASELINE = Left character baseline (Line the 'A' character would sit on) 21 | C_BASELINE = Centre character baseline 22 | R_BASELINE = Right character baseline 23 | 24 | // Basic colours already defined: 25 | 26 | TFT_BLACK 0x0000 27 | TFT_NAVY 0x000F 28 | TFT_DARKGREEN 0x03E0 29 | TFT_DARKCYAN 0x03EF 30 | TFT_MAROON 0x7800 31 | TFT_PURPLE 0x780F 32 | TFT_OLIVE 0x7BE0 33 | TFT_LIGHTGREY 0xC618 34 | TFT_DARKGREY 0x7BEF 35 | TFT_BLUE 0x001F 36 | TFT_GREEN 0x07E0 37 | TFT_CYAN 0x07FF 38 | TFT_RED 0xF800 39 | TFT_MAGENTA 0xF81F 40 | TFT_YELLOW 0xFFE0 41 | TFT_WHITE 0xFFFF 42 | TFT_ORANGE 0xFDA0 43 | TFT_GREENYELLOW 0xB7E0 44 | TFT_PINK 0xFC9F 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | */ 57 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/SPIFFS/Font_Demo_4/data/NotoSansBold15.vlw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/SPIFFS/Font_Demo_4/data/NotoSansBold15.vlw -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/SPIFFS/Font_Demo_4/data/NotoSansBold36.vlw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/SPIFFS/Font_Demo_4/data/NotoSansBold36.vlw -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/SPIFFS/Print_Smooth_Font/data/Final-Frontier-28.vlw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/SPIFFS/Print_Smooth_Font/data/Final-Frontier-28.vlw -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/SPIFFS/Smooth_font_gradient/data/NotoSansBold15.vlw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/SPIFFS/Smooth_font_gradient/data/NotoSansBold15.vlw -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/SPIFFS/Smooth_font_gradient/data/NotoSansBold36.vlw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/SPIFFS/Smooth_font_gradient/data/NotoSansBold36.vlw -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/SPIFFS/Smooth_font_reading_TFT/data/NotoSansBold15.vlw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/SPIFFS/Smooth_font_reading_TFT/data/NotoSansBold15.vlw -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/SPIFFS/Smooth_font_reading_TFT/data/NotoSansBold36.vlw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/SPIFFS/Smooth_font_reading_TFT/data/NotoSansBold36.vlw -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/SPIFFS/Unicode_test/data/Final-Frontier-28.vlw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/SPIFFS/Unicode_test/data/Final-Frontier-28.vlw -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/SPIFFS/Unicode_test/data/Latin-Hiragana-24.vlw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/SPIFFS/Unicode_test/data/Latin-Hiragana-24.vlw -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/SPIFFS/Unicode_test/data/Unicode-Test-72.vlw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/Smooth Fonts/SPIFFS/Unicode_test/data/Unicode-Test-72.vlw -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Sprite/Sprite_image_4bit/sample_images.h: -------------------------------------------------------------------------------- 1 | #include // Include the graphics library (this includes the sprite functions) 2 | 3 | extern const uint8_t stars[12800] PROGMEM ; -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/Test and diagnostics/Test_Touch_Controller/Test_Touch_Controller.ino: -------------------------------------------------------------------------------- 1 | // This sketch is to test the touch controller, nothing is displayed 2 | // on the TFT. The TFT_eSPI library must be configured to suit your 3 | // pins used. Make sure both the touch chip select and the TFT chip 4 | // select are correctly defined to avoid SPI bus contention. 5 | 6 | // Make sure you have defined a pin for the touch controller chip 7 | // select line in the user setup file or you will see "no member" 8 | // compile errors for the touch functions! 9 | 10 | // It is a support and diagnostic sketch for the TFT_eSPI library: 11 | // https://github.com/Bodmer/TFT_eSPI 12 | 13 | // The "raw" (unprocessed) touch sensor outputs are sent to the 14 | // serial port. Touching the screen should show changes to the x, y 15 | // and z values. x and y are raw ADC readings, not pixel coordinates. 16 | 17 | #include 18 | #include 19 | TFT_eSPI tft = TFT_eSPI(); 20 | 21 | //==================================================================== 22 | 23 | void setup(void) { 24 | Serial.begin(115200); 25 | Serial.println("\n\nStarting..."); 26 | 27 | tft.init(); 28 | } 29 | 30 | //==================================================================== 31 | 32 | void loop() { 33 | 34 | uint16_t x, y; 35 | 36 | tft.getTouchRaw(&x, &y); 37 | 38 | Serial.printf("x: %i ", x); 39 | 40 | Serial.printf("y: %i ", y); 41 | 42 | Serial.printf("z: %i \n", tft.getTouchRawZ()); 43 | 44 | delay(250); 45 | 46 | } 47 | 48 | //==================================================================== 49 | 50 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/ePaper/Floyd_Steinberg/data/TestCard.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/ePaper/Floyd_Steinberg/data/TestCard.bmp -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/examples/ePaper/Floyd_Steinberg/data/Tiger.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/.pio/libdeps/pico32/TFT_eSPI/examples/ePaper/Floyd_Steinberg/data/Tiger.bmp -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/library.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "TFT_eSPI", 3 | "version": "2.3.41", 4 | "keywords": "Arduino, tft, ePaper, display, STM32, ESP8266, NodeMCU, ESP32, M5Stack, ILI9341, ST7735, ILI9163, S6D02A1, ILI9486, ST7789, RM68140", 5 | "description": "A TFT and ePaper SPI graphics library with optimisation for ESP8266, ESP32 and STM32", 6 | "repository": 7 | { 8 | "type": "git", 9 | "url": "https://github.com/Bodmer/TFT_eSPI" 10 | }, 11 | "authors": 12 | [ 13 | { 14 | "name": "Bodmer", 15 | "email": "bodmer@anola.net", 16 | "maintainer": true 17 | } 18 | ], 19 | "frameworks": "arduino", 20 | "platforms": "espressif8266, espressif32, ststm32" 21 | } 22 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TFT_eSPI/library.properties: -------------------------------------------------------------------------------- 1 | name=TFT_eSPI 2 | version=2.3.41 3 | author=Bodmer 4 | maintainer=Bodmer 5 | sentence=TFT graphics library for Arduino processors with performance optimisation for STM32, ESP8266 and ESP32 6 | paragraph=Supports TFT displays using drivers (ILI9341 etc) that operate with hardware SPI or 8 bit parallel. 7 | category=Display 8 | url=https://github.com/Bodmer/TFT_eSPI 9 | architectures=* 10 | includes=TFT_eSPI.h 11 | 12 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TJpg_Decoder/.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | 7 | # Standard to msysgit 8 | *.doc diff=astextplain 9 | *.DOC diff=astextplain 10 | *.docx diff=astextplain 11 | *.DOCX diff=astextplain 12 | *.dot diff=astextplain 13 | *.DOT diff=astextplain 14 | *.pdf diff=astextplain 15 | *.PDF diff=astextplain 16 | *.rtf diff=astextplain 17 | *.RTF diff=astextplain 18 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TJpg_Decoder/.gitignore: -------------------------------------------------------------------------------- 1 | # Windows thumbnail cache files 2 | Thumbs.db 3 | ehthumbs.db 4 | ehthumbs_vista.db 5 | 6 | # Folder config file 7 | Desktop.ini 8 | 9 | # Recycle Bin used on file shares 10 | $RECYCLE.BIN/ 11 | 12 | # Windows Installer files 13 | *.cab 14 | *.msi 15 | *.msm 16 | *.msp 17 | 18 | # Windows shortcuts 19 | *.lnk 20 | 21 | # ========================= 22 | # Operating System Files 23 | # ========================= 24 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TJpg_Decoder/.piopm: -------------------------------------------------------------------------------- 1 | {"type": "library", "name": "TJpg_Decoder", "version": "0.1.0", "spec": {"owner": "bodmer", "id": 6906, "name": "TJpg_Decoder", "requirements": null, "url": null}} -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TJpg_Decoder/README.md: -------------------------------------------------------------------------------- 1 | Arduino TJpg_Decoder library 2 | =========== 3 | 4 | This Arduino library supports the rendering of Jpeg files stored both on SD card and in arrays within program memory (FLASH) onto a TFT display. In addition images stored in the SPIFFS Flash filing system or "PROGMEM" arrays can be used with the ESP8266 and ESP32 processors. 5 | 6 | The library works on the Arduino Due, ESP32 and ESP8266 (e.g. NodeMCU 1.0). 7 | 8 | Jpeg files in the "Progressive" format (where image data is compressed in multiple passes with progressively higher detail) are not supported since this would require much more memory, or too many Inverse Discrete Cosine Transform's for typical embedded systems. 9 | 10 | When storing the jpeg in a memory array bear in mind the Arduino has a maximum 32767 byte limit for the maximum size of an array (32 KBytes minus 1 byte). 11 | 12 | The decompression of Jpeg images needs more RAM than an UNO provides, thus this library is targetted at processors with more RAM. The library has been tested with ESP8266/ESP32 based boards. 13 | 14 | On a Mega the number of images stored in FLASH must be limited because it they are large enough to push the executable code start over the 64K 16 bit address limit then the Mega will fail to boot even though the sketch compiles and uploads correctly. This is a limitation imposed by the Arduino environment not this library! The Arduino Mega is not recommended as it does not reliably decode some jpeg images possibly due to a shortage of RAM. The Due will work fine with much bigger image sets in FLASH. 15 | 16 | This library uses the TJpgDec decompressor engine detailed here: 17 | http://elm-chan.org/fsw/tjpgd/00index.html 18 | TJpgDec is a generic JPEG image decompressor module that highly optimized for small embedded systems. -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TJpg_Decoder/keywords.txt: -------------------------------------------------------------------------------- 1 | ####################################### 2 | # Syntax Coloring Map 3 | ####################################### 4 | ####################################### 5 | # Datatypes (KEYWORD1) 6 | ####################################### 7 | 8 | TJpg_Decoder KEYWORD1 9 | 10 | ####################################### 11 | # Methods and Functions (KEYWORD2) 12 | ####################################### 13 | TJpgDec KEYWORD2 14 | TJpg_Decoder KEYWORD2 15 | 16 | drawJpg KEYWORD2 17 | drawSdJpg KEYWORD2 18 | drawFsJpg KEYWORD2 19 | 20 | getJpgSize KEYWORD2 21 | getSdJpgSize KEYWORD2 22 | getFsJpgSize KEYWORD2 23 | 24 | setJpgScale KEYWORD2 25 | setCallback KEYWORD2 26 | 27 | //tft_output KEYWORD2 -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TJpg_Decoder/library.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "TJpg_Decoder", 3 | "version": "0.1.0", 4 | "keywords": "jpeg, jpg, tft, display, STM32, ESP8266, ESP32", 5 | "description": "A JPEG decoder library based on Tiny JPEG Decompressor", 6 | "repository": 7 | { 8 | "type": "git", 9 | "url": "https://github.com/Bodmer/TJpg_Decoder" 10 | }, 11 | "authors": 12 | [ 13 | { 14 | "name": "Bodmer", 15 | "email": "bodmer@anola.net", 16 | "maintainer": true 17 | } 18 | ], 19 | "frameworks": "arduino", 20 | "platforms": "*" 21 | } 22 | -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TJpg_Decoder/library.properties: -------------------------------------------------------------------------------- 1 | name=TJpg_Decoder 2 | version=0.1.0 3 | author=Bodmer 4 | maintainer=Bodmer 5 | sentence=A JPEG decoder based on tjpgd 6 | paragraph=Renders jpeg images to TFT displays. 7 | category=Display 8 | url=https://github.com/Bodmer/TJpg_Decoder 9 | architectures=* 10 | includes=TJpg_Decoder.h -------------------------------------------------------------------------------- /.pio/libdeps/pico32/TJpg_Decoder/src/User_Config.h: -------------------------------------------------------------------------------- 1 | #if defined (ESP32) || defined (ESP8266) 2 | #define TJPGD_LOAD_SPIFFS 3 | #endif 4 | 5 | #define TJPGD_LOAD_SD_LIBRARY 6 | 7 | #ifdef ESP6266 8 | // LittleFS is not in board package 2.5.2 9 | //#define USE_LITTLEFS 10 | #endif 11 | 12 | // Use PROGMEM for tables, saves 1K RAM when JD_TBLCLIP is set to 1 in tjpgd.h 13 | // #define TJPG_USE_PROGMEM 14 | 15 | 16 | 17 | // Do not change this, it is the minimum size in bytes of the workspace needed by the decoder 18 | #define TJPGD_WORKSPACE_SIZE 3100 19 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // See http://go.microsoft.com/fwlink/?LinkId=827846 3 | // for the documentation about the extensions.json format 4 | "recommendations": [ 5 | "platformio.platformio-ide" 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "files.associations": { 3 | "functional": "cpp", 4 | "array": "cpp", 5 | "string": "cpp" 6 | } 7 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # MotionDemo 2 | 3 | 这是一个使用TFT_eSprite绘制动效的示例源码 4 | 5 | 上传日期 | Demo名称 | 演示内容 | 预览 6 | :-:|:-:|:-: | :-: 7 | 2021-02-07 | FillScreenDemo | 填充屏幕(转场) | 8 | 2021-02-16 | ScrollNumberComponent | 数字更新 | 9 | 2021-03-23 | FireworkComponent | 烟花 | -------------------------------------------------------------------------------- /include/README: -------------------------------------------------------------------------------- 1 | 2 | This directory is intended for project header files. 3 | 4 | A header file is a file containing C declarations and macro definitions 5 | to be shared between several project source files. You request the use of a 6 | header file in your project source file (C, C++, etc) located in `src` folder 7 | by including it, with the C preprocessing directive `#include'. 8 | 9 | ```src/main.c 10 | 11 | #include "header.h" 12 | 13 | int main (void) 14 | { 15 | ... 16 | } 17 | ``` 18 | 19 | Including a header file produces the same results as copying the header file 20 | into each source file that needs it. Such copying would be time-consuming 21 | and error-prone. With a header file, the related declarations appear 22 | in only one place. If they need to be changed, they can be changed in one 23 | place, and programs that include the header file will automatically use the 24 | new version when next recompiled. The header file eliminates the labor of 25 | finding and changing all the copies as well as the risk that a failure to 26 | find one copy will result in inconsistencies within a program. 27 | 28 | In C, the usual convention is to give header files names that end with `.h'. 29 | It is most portable to use only letters, digits, dashes, and underscores in 30 | header file names, and at most one dot. 31 | 32 | Read more about using header files in official GCC documentation: 33 | 34 | * Include Syntax 35 | * Include Operation 36 | * Once-Only Headers 37 | * Computed Includes 38 | 39 | https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html 40 | -------------------------------------------------------------------------------- /include/common_macro.h: -------------------------------------------------------------------------------- 1 | #ifndef COMMON_MACRO_H_ 2 | #define COMMON_MACRO_H_ 3 | 4 | 5 | 6 | /* 7 | ======================固定参数====================== 8 | */ 9 | // 屏幕宽度 10 | #define SCREEN_WIDTH 240 11 | // 屏幕高度 12 | #define SCREEN_HEIGHT 135 13 | // EEPROM大小 14 | #define EEPROM_SIZE 64 15 | 16 | // 35为Furore28pt7b字体的固定宽度 17 | #define TEXT_WIDTH 35 18 | // 38为Furore28pt7b字体的固定高度 19 | #define TEXT_HEIGHT 38 20 | #endif -------------------------------------------------------------------------------- /lib/README: -------------------------------------------------------------------------------- 1 | 2 | This directory is intended for project specific (private) libraries. 3 | PlatformIO will compile them to static libraries and link into executable file. 4 | 5 | The source code of each library should be placed in a an own separate directory 6 | ("lib/your_library_name/[here are source files]"). 7 | 8 | For example, see a structure of the following two libraries `Foo` and `Bar`: 9 | 10 | |--lib 11 | | | 12 | | |--Bar 13 | | | |--docs 14 | | | |--examples 15 | | | |--src 16 | | | |- Bar.c 17 | | | |- Bar.h 18 | | | |- library.json (optional, custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html 19 | | | 20 | | |--Foo 21 | | | |- Foo.c 22 | | | |- Foo.h 23 | | | 24 | | |- README --> THIS FILE 25 | | 26 | |- platformio.ini 27 | |--src 28 | |- main.c 29 | 30 | and a contents of `src/main.c`: 31 | ``` 32 | #include 33 | #include 34 | 35 | int main (void) 36 | { 37 | ... 38 | } 39 | 40 | ``` 41 | 42 | PlatformIO Library Dependency Finder will find automatically dependent 43 | libraries scanning project source files. 44 | 45 | More information about PlatformIO Library Dependency Finder 46 | - https://docs.platformio.org/page/librarymanager/ldf.html 47 | -------------------------------------------------------------------------------- /media/fireworks.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/media/fireworks.gif -------------------------------------------------------------------------------- /media/number.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/media/number.gif -------------------------------------------------------------------------------- /media/transition.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chaosgoo/MotionDemo/31ae04492267d1d83676e13a4989b59302afafb2/media/transition.gif -------------------------------------------------------------------------------- /platformio.ini: -------------------------------------------------------------------------------- 1 | ; PlatformIO Project Configuration File 2 | ; 3 | ; Build options: build flags, source filter 4 | ; Upload options: custom upload port, speed and extra flags 5 | ; Library options: dependencies, extra library storages 6 | ; Advanced options: extra scripting 7 | ; 8 | ; Please visit documentation for the other options and examples 9 | ; https://docs.platformio.org/page/projectconf.html 10 | 11 | [env:pico32] 12 | platform = espressif32 13 | board = pico32 14 | framework = arduino 15 | monitor_speed = 115200 16 | lib_deps = 17 | adafruit/Adafruit BusIO@^1.6.0 18 | adafruit/Adafruit GFX Library@1.10.3 19 | bodmer/TFT_eSPI@^2.3.41 -------------------------------------------------------------------------------- /src/FillScreenDemo.cpp: -------------------------------------------------------------------------------- 1 | #include "FillScreenDemo.h" 2 | 3 | FillScreenDemo::FillScreenDemo() : FillScreenDemo(0, 0, 0, 0) {} 4 | 5 | FillScreenDemo::FillScreenDemo(int x, int y, int w, int h) { 6 | _renderRect = Rectangle(x, y, w, h); 7 | _beginRect = _renderRect; 8 | _endRect = Rectangle(0, 0, 240, 135); 9 | animationDone = false; 10 | animationBeginMillis = millis(); 11 | } 12 | 13 | void FillScreenDemo::render(TFT_eSprite &eSprite) { 14 | eSprite.fillRect(_renderRect.x, _renderRect.y, _renderRect.width, 15 | _renderRect.height, TFT_RED); 16 | } 17 | 18 | void FillScreenDemo::update() { 19 | if (!animationDone) { 20 | animate(); 21 | } else { 22 | if (reverse) { 23 | // 从局部变换到满屏幕 24 | _beginRect = Rectangle(0, 56, 20, 20); 25 | _endRect = Rectangle(0, 0, 240, 135); 26 | animationBeginMillis = millis(); 27 | } else { 28 | // 从满屏幕变换到局部 29 | _beginRect = Rectangle(0, 0, 240, 135); 30 | _endRect = Rectangle(0, 56, 20, 20); 31 | animationBeginMillis = millis(); 32 | } 33 | // 反转动画 34 | reverse = !reverse; 35 | // 设定动画未结束 36 | animationDone = false; 37 | } 38 | } 39 | 40 | void FillScreenDemo::animate() { 41 | // 判断动画是否结束 42 | if (millis() - animationBeginMillis > duration) { 43 | // 若已经超出动画的时间,则认为动画结束 44 | _renderRect = _endRect; 45 | animationDone = true; 46 | } else { 47 | // 未超出设定的动画,继续执行动画 48 | _renderRect = CubicEaseInOut(millis() - animationBeginMillis, _beginRect, 49 | _endRect, duration); 50 | } 51 | } -------------------------------------------------------------------------------- /src/FillScreenDemo.h: -------------------------------------------------------------------------------- 1 | #ifndef RECTANGLECOMPONENT_H_ 2 | #define RECTANGLECOMPONENT_H_ 3 | 4 | #include "shape/Rectangle.h" 5 | #include "TFT_eSPI.h" 6 | #include "utils/interploter.h" 7 | class FillScreenDemo { 8 | private: 9 | // 实际上被渲染的矩形 10 | Rectangle _renderRect; 11 | // 动画起始矩形 12 | Rectangle _beginRect; 13 | // 动画结束矩形 14 | Rectangle _endRect; 15 | // 动画开始的时间 16 | uint32_t animationBeginMillis; 17 | // 动画持续时间 18 | uint16_t duration = 1000; 19 | // 动画是否完成 20 | bool animationDone = false; 21 | // 反转动画 22 | bool reverse = false; 23 | 24 | public: 25 | FillScreenDemo(); 26 | FillScreenDemo(int x, int y, int w, int h); 27 | 28 | void render(TFT_eSprite &eSprite); 29 | void update(); 30 | void animate(); 31 | }; 32 | 33 | #endif -------------------------------------------------------------------------------- /src/component/Component.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by gyc84 on 2020/12/7. 3 | // 4 | 5 | #ifndef COMPONENT_HPP 6 | #define COMPONENT_HPP 7 | #include "common_macro.h" 8 | #include "shape/Rectangle.h" 9 | #include 10 | /** 11 | * @brief 基础组件 \n(换行) 12 | * 具有尺寸信息rect \n 13 | * 以及渲染visiable 14 | */ 15 | class Component { 16 | public: 17 | Rectangle rect; 18 | bool visiable = true; 19 | Component(); 20 | // 不可见对象不渲染 21 | virtual void render(TFT_eSprite *eSprite); 22 | virtual void update(); 23 | int getWidth(); 24 | int getHeight(); 25 | 26 | virtual ~Component() = default; 27 | }; 28 | 29 | #endif // TINYMONITOR_COMPONENT_HPP 30 | -------------------------------------------------------------------------------- /src/component/Componment.cpp: -------------------------------------------------------------------------------- 1 | #include "Component.h" 2 | 3 | Component::Component() {} 4 | 5 | void Component::render(TFT_eSprite *eSprite) { 6 | if (!visiable) { 7 | return; 8 | } 9 | } 10 | 11 | void Component::update() {} 12 | 13 | /** 14 | * @brief 获取该组件宽度 15 | * @retval 物体宽度 16 | * */ 17 | int Component::getWidth() { return rect.width; }; 18 | 19 | /** 20 | * @brief 获取该组件所占高度 21 | * @retval 物体高度 22 | * */ 23 | int Component::getHeight() { return rect.height; } 24 | -------------------------------------------------------------------------------- /src/component/FireworkComponent/FireworkComponent.cpp: -------------------------------------------------------------------------------- 1 | #include "FireworkComponent.h" 2 | 3 | FireworkComponent::FireworkComponent() : FireworkComponent(0, 0) {} 4 | 5 | FireworkComponent::FireworkComponent(int x, int y) { 6 | fireworkColor = 7 | (random(255) << 24) | (random(255) << 16) | (random(255) << 8); 8 | this->x = x; 9 | this->y = y; 10 | this->hu = random(255); 11 | this->firework = Particle(40 + random(200), 135 + random(100), true, this->hu, 12 | fireworkColor); 13 | this->exploded = false; 14 | this->gravity = Vector(0, 0.1f); 15 | } 16 | 17 | void FireworkComponent::render(TFT_eSprite *eSprite) { 18 | if (!exploded) { 19 | firework.render(eSprite); 20 | } else { 21 | for (Particle particle : particles) { 22 | particle.render(eSprite); 23 | } 24 | } 25 | } 26 | 27 | void FireworkComponent::update() { 28 | if (!exploded) { 29 | firework.applyForce(gravity); 30 | firework.update(); 31 | if (firework.vel.y >= 0) { 32 | exploded = true; 33 | explode(); 34 | } 35 | } else { 36 | for (int i = 0; i < particles.size(); i++) { 37 | particles[i].applyForce(gravity); 38 | particles[i].update(); 39 | if (particles[i].done()) { 40 | std::swap(particles[i], particles[particles.size() - 1]); 41 | particles.pop_back(); 42 | } 43 | } 44 | } 45 | } 46 | 47 | bool FireworkComponent::done() { return exploded && particles.size() == 0; } 48 | 49 | void FireworkComponent::explode() { 50 | for (int i = 0; i < 50; i++) { 51 | Particle p = 52 | Particle(firework.pos.x, firework.pos.y, false, hu, fireworkColor); 53 | particles.push_back(p); 54 | } 55 | } -------------------------------------------------------------------------------- /src/component/FireworkComponent/FireworkComponent.h: -------------------------------------------------------------------------------- 1 | #ifndef FIREWORKCOMPONENT_H_ 2 | #define FIREWORKCOMPONENT_H_ 3 | #include 4 | #include 5 | 6 | #include "TFT_eSPI.h" 7 | #include "shape/Particle.h" 8 | #include "component/Component.h" 9 | #include "utils/utils.h" 10 | class FireworkComponent :public Component{ 11 | private: 12 | // 原点 13 | int x; 14 | int y; 15 | Vector gravity; 16 | std::vector particles; 17 | uint32_t fireworkColor; 18 | bool exploded = false; 19 | void explode(); 20 | 21 | public: 22 | FireworkComponent(); 23 | FireworkComponent(int x, int y); 24 | float hu; 25 | Particle firework; 26 | void render(TFT_eSprite *eSprite) override; 27 | void update() override; 28 | bool done(); 29 | }; 30 | 31 | #endif -------------------------------------------------------------------------------- /src/component/ScrollNumberComponent/ScrollNumberComponent.h: -------------------------------------------------------------------------------- 1 | #if !defined(SCROLLNUMBERCOMPONENT_H_) 2 | #define SCROLLNUMBERCOMPONENT_H_ 3 | #include "TFT_eSPI.h" 4 | #include "component/Component.h" 5 | #include "shape/Rectangle.h" 6 | #include "utils/interploter.h" 7 | // 35为Furore28pt7b字体的固定宽度 8 | #define TEXT_WIDTH 35 9 | // 38为Furore28pt7b字体的固定高度 10 | #define TEXT_HEIGHT 38 11 | 12 | class ScrollNumberComponent : public Component { 13 | private: 14 | // 当前显示字符 15 | char _ch = 'A'; 16 | // 新字符 17 | char _newCh = 'A'; 18 | // 动画持续时间 19 | int16_t duration = 300; 20 | // 动画启动时间 21 | int32_t animationBeginMills = 0; 22 | // 动画中绘制的矩形 23 | Rectangle charUpdateRenderRect; 24 | // 起始动画矩形 25 | Rectangle charUpdateBeginRect; 26 | // 目标动画矩形 27 | Rectangle charUpdateEndRect; 28 | // 字符是否更新完毕 29 | bool charUpdateDone = false; 30 | // 每一个数字字符的X偏移量 31 | uint8_t xOffset[10] = {3, 1, 1, 2, 0, 3, 3, 0, 3, 3}; 32 | /*** 33 | * 需要注意的是: 34 | * 这里数组中'1'的偏移1和视频中展示的9并不一样 35 | * 这是因为我修改了字体转换后.h中的内容 36 | * 您可以查看本仓库中Furore28pt7b.h的133行 37 | ***/ 38 | 39 | public: 40 | ScrollNumberComponent(); 41 | ScrollNumberComponent(int x, int y, char ch); 42 | 43 | void render(TFT_eSprite *eSprite) override; 44 | void update() override; 45 | void animate(); 46 | 47 | void setCh(char ch); 48 | }; 49 | 50 | #endif // SCROLLNUMBERCOMPONENT_H_ 51 | -------------------------------------------------------------------------------- /src/shape/PVector.cpp: -------------------------------------------------------------------------------- 1 | #include "PVector.h" 2 | 3 | #include 4 | 5 | PVector::PVector(float x, float y) { 6 | this->x = x; 7 | this->y = y; 8 | } 9 | PVector::PVector() { 10 | this->x = 0; 11 | this->y = 0; 12 | } 13 | PVector PVector::random2D() { 14 | int angle = random(360); 15 | return PVector(sin(angle * PI / 180.0), cos(angle * PI / 180.0)); 16 | } -------------------------------------------------------------------------------- /src/shape/PVector.h: -------------------------------------------------------------------------------- 1 | #ifndef PVECTOR_H_ 2 | #define PVECTOR_H_ 3 | #include "component/Component.h" 4 | 5 | class PVector { 6 | public: 7 | float x; 8 | float y; 9 | PVector(float x, float y); 10 | PVector(); 11 | static PVector random2D(); 12 | }; 13 | 14 | #endif -------------------------------------------------------------------------------- /src/shape/Particle.cpp: -------------------------------------------------------------------------------- 1 | #include "Particle.h" 2 | 3 | Particle::Particle(float x, float y, bool firework, float hu, 4 | uint32_t particleColor) { 5 | pos = Vector(x, y); 6 | this->firework = firework; 7 | if (firework) { 8 | vel = Vector(0, random(-6, -2)); 9 | } else { 10 | PVector p = PVector::random2D(); 11 | vel = Vector(p.x, p.y); 12 | vel.mult(random(2, 6)); 13 | } 14 | this->particleColor = particleColor; 15 | acc = Vector(); 16 | this->hu = hu; 17 | } 18 | 19 | Particle::Particle() {} 20 | 21 | void Particle::applyForce(Vector force) { 22 | this->acc.x = force.x; 23 | this->acc.y = force.y; 24 | } 25 | void Particle::update() { 26 | if (!firework) { 27 | this->vel.mult(0.9); 28 | this->lifespan -= 4; 29 | } 30 | 31 | this->vel.x += this->acc.x; 32 | this->vel.y += this->acc.y; 33 | 34 | this->pos.x += this->vel.x; 35 | this->pos.y += this->vel.y; 36 | 37 | this->acc.mult(0); 38 | } 39 | void Particle::render(TFT_eSprite *eSprite) { 40 | if (!firework) { 41 | eSprite->drawPixel(this->pos.x, this->pos.y, particleColor); 42 | } else { 43 | eSprite->fillRect(this->pos.x, this->pos.y, 2, 2, particleColor); 44 | } 45 | } 46 | bool Particle::done() { return lifespan < 0; } -------------------------------------------------------------------------------- /src/shape/Particle.h: -------------------------------------------------------------------------------- 1 | #ifndef PARTICLE_H_ 2 | #define PARTICLE_H_ 3 | #include "PVector.h" 4 | #include "Vector.h" 5 | #include "component/Component.h" 6 | 7 | class Particle : public Component { 8 | public: 9 | Vector pos; 10 | Vector vel; 11 | Vector acc; 12 | 13 | bool firework; 14 | int lifespan = 255; 15 | uint32_t particleColor; 16 | float hu; 17 | Particle(); 18 | Particle(float x, float y, bool firework, float hu, uint32_t particleColor); 19 | void applyForce(Vector force); 20 | void update(); 21 | void render(TFT_eSprite *eSprite); 22 | bool done(); 23 | }; 24 | 25 | #endif -------------------------------------------------------------------------------- /src/shape/Rectangle.cpp: -------------------------------------------------------------------------------- 1 | #include "Rectangle.h" 2 | 3 | Rectangle::Rectangle(int x, int y, int w, int h) { 4 | this->x = x; 5 | this->y = y; 6 | this->width = w; 7 | this->height = h; 8 | } 9 | Rectangle::Rectangle() : Rectangle(0, 0, 0, 0) {} -------------------------------------------------------------------------------- /src/shape/Rectangle.h: -------------------------------------------------------------------------------- 1 | #ifndef RECTANGLE_H_ 2 | #define RECTANGLE_H_ 3 | 4 | class Rectangle { 5 | public: 6 | // 矩形X坐标 7 | int x; 8 | // 矩形Y坐标 9 | int y; 10 | // 矩形宽度 11 | int width; 12 | // 矩形高度 13 | int height; 14 | Rectangle(int x, int y, int w, int h); 15 | Rectangle(); 16 | }; 17 | 18 | #endif -------------------------------------------------------------------------------- /src/shape/Vector.cpp: -------------------------------------------------------------------------------- 1 | #include "Vector.h" 2 | Vector::Vector(float x, float y) { 3 | this->x = x; 4 | this->y = y; 5 | } 6 | Vector::Vector() { 7 | this->x = 0; 8 | this->y = 0; 9 | } 10 | void Vector::mult(float mul) { 11 | this->x *= mul; 12 | this->y *= mul; 13 | } -------------------------------------------------------------------------------- /src/shape/Vector.h: -------------------------------------------------------------------------------- 1 | #ifndef VECTOR_H_ 2 | #define VECTOR_H_ 3 | 4 | class Vector { 5 | public: 6 | float x; 7 | float y; 8 | Vector(float x, float y); 9 | Vector(); 10 | void mult(float mul); 11 | }; 12 | #endif -------------------------------------------------------------------------------- /src/utils/interploter.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Original 3 | * https://github.com/jesusgollonet/ofpennereasing 4 | */ 5 | #ifndef INTERPLOTER_H_ 6 | #define INTERPLOTER_H_ 7 | 8 | #include 9 | 10 | #include "shape/Rectangle.h" 11 | 12 | #ifndef PI 13 | #define PI 3.14159265 14 | #endif 15 | float CubicEaseIn(float time, float begin, float end, float duration); 16 | float CubicEaseOut(float time, float begin, float end, float duration); 17 | float CubicEaseInOut(float time, float begin, float end, float duration); 18 | Rectangle CubicEaseInOut(float time, Rectangle begin, Rectangle end, 19 | float duration); 20 | 21 | float ElasticEaseIn(float t, float b, float c, float d); 22 | float ElasticEaseOut(float t, float b, float c, float d); 23 | float ElasticEaseInOut(float t, float b, float c, float d); 24 | Rectangle ElasticEaseInOut(float time, Rectangle begin, Rectangle end, 25 | float duration); 26 | #endif -------------------------------------------------------------------------------- /src/utils/utils.h: -------------------------------------------------------------------------------- 1 | #ifndef LIB_UTILS_H_ 2 | #define LIB_UTILS_H_ 3 | 4 | #include 5 | 6 | #include "EEPROM.h" 7 | #include "TFT_eSPI.h" 8 | #include "common_macro.h" 9 | #include "shape/Rectangle.h" 10 | int checkSum(const char* src, int length); 11 | int c2i(char ch); 12 | 13 | int getTextWidth(const char* text, TFT_eSprite& sprite); 14 | 15 | int getTextWidth(const char* text, TFT_eSprite* sprite); 16 | 17 | byte EEreadValue(int address); 18 | String paddingText(String text, int length); 19 | String number2words(int number); 20 | String time2words(int number); 21 | int calcSingleLevel(int rssi); 22 | uint32_t blend(uint32_t topColor, uint32_t bottomColor); 23 | 24 | #endif -------------------------------------------------------------------------------- /test/README: -------------------------------------------------------------------------------- 1 | 2 | This directory is intended for PlatformIO Unit Testing and project tests. 3 | 4 | Unit Testing is a software testing method by which individual units of 5 | source code, sets of one or more MCU program modules together with associated 6 | control data, usage procedures, and operating procedures, are tested to 7 | determine whether they are fit for use. Unit testing finds problems early 8 | in the development cycle. 9 | 10 | More information about PlatformIO Unit Testing: 11 | - https://docs.platformio.org/page/plus/unit-testing.html 12 | --------------------------------------------------------------------------------