Commit 3a545130 authored by Russ's avatar Russ

TTGO-WATCH firmware using IDFv4 + bluetooth

parent 38845d53
ST7789 Driver for MicroPython # ST7789 Driver for MicroPython
=============================
This is a fork of devbis' st7789_mpy module from This is a fork of devbis' st7789_mpy module from
https://github.com/devbis/st7789_mpy. https://github.com/devbis/st7789_mpy.
...@@ -10,22 +9,35 @@ fonts. Included are 12 bitmap fonts derived from classic pc text mode fonts ...@@ -10,22 +9,35 @@ fonts. Included are 12 bitmap fonts derived from classic pc text mode fonts
and a couple of example programs that run on the TTGO T-Display and pyboards. and a couple of example programs that run on the TTGO T-Display and pyboards.
The driver supports 135x240, 240x240 and 240x320 displays. The driver supports 135x240, 240x240 and 240x320 displays.
The firmware/esp32 directory contains a firmware.bin file with MicroPython ## Pre-compiled firmware files
v1.12-464-gcae77daf0 compiled using ESP IDF v3 with the st7789 C driver and
the frozen python font files for generic ESP32 boards.
The firmware/pybv11 directory contains a firmware.dfu file with MicroPython The firmware directory contains pre-compiled firmware for various devices with
v1.12-464-gcae77daf0 compiled with the st7789 C driver and the st7789 C driver and frozen python font files.
the frozen python font files for the Pyboard v1.1.
The firmware/ttgo_watch directory contains a firmware.bin file with MicroPython ### firmware/esp32 (Generic ESP32 devices)
v1.12-464-gcae77daf0 compiled using ESP IDF v3 with the st7789
C driver, frozen axp202c driver from https://github.com/lewisxhe/AXP202X_Libraries File | Details
and the frozen python font files for the TTGO T-Watch-2020. ------------ | ----------------------------------------------------------
firmware.bin | MicroPython v1.12-464-gcae77daf0 compiled with ESP IDF v3
### firmware/pybv11 (Pyboard v1.1.)
File | Details
------------ | ----------------------------------------------------------
firmware.dfu | MicroPython v1.12-464-gcae77daf0 compiled with ESP IDF v3
### firmware/ttgo_watch (T-Watch-2020)
Includes frozen axp202c driver from https://github.com/lewisxhe/AXP202X_Libraries
File | Details
------------- | ----------------------------------------------------------
firmware.bin | MicroPython v1.12-464-gcae77daf0 compiled with ESP IDF v3
firmware2.bin | MicroPython v1.12-662-g8da40baa4 compiled with ESP IDF v4 with Bluetooth
This is a work in progress. This is a work in progress.
Thanks go out to: ## Thanks go out to:
- https://github.com/devbis for the original driver this is based on. - https://github.com/devbis for the original driver this is based on.
- https://github.com/hklang10 for letting me know of the new mp_raise_ValueError(). - https://github.com/hklang10 for letting me know of the new mp_raise_ValueError().
...@@ -33,8 +45,8 @@ Thanks go out to: ...@@ -33,8 +45,8 @@ Thanks go out to:
-- Russ -- Russ
Overview ## Overview
--------
This is a driver for MicroPython to handle cheap displays This is a driver for MicroPython to handle cheap displays
based on ST7789 chip. based on ST7789 chip.
...@@ -50,8 +62,7 @@ firmware from source. Only ESP8266, ESP32 and STM32 processors are supported ...@@ -50,8 +62,7 @@ firmware from source. Only ESP8266, ESP32 and STM32 processors are supported
for now. for now.
Building instruction ## Building instruction
---------------------
Prepare build tools as described in the manual. You should follow the Prepare build tools as described in the manual. You should follow the
instruction for building MicroPython and ensure that you can build the instruction for building MicroPython and ensure that you can build the
...@@ -83,8 +94,7 @@ Upload the resulting firmware to your MCU as usual with esptool.py ...@@ -83,8 +94,7 @@ Upload the resulting firmware to your MCU as usual with esptool.py
for more info) for more info)
Working examples ## Working examples
----------------
This module was tested on ESP32, ESP8266 and the STM32 based pyboard1.1. This module was tested on ESP32, ESP8266 and the STM32 based pyboard1.1.
...@@ -122,8 +132,7 @@ Other SPI pins are not used. ...@@ -122,8 +132,7 @@ Other SPI pins are not used.
I couldn't run the display on an SPI with baudrate higher than 40MHZ I couldn't run the display on an SPI with baudrate higher than 40MHZ
Methods ## Methods
-------------
- `st7789.ST7789(spi, width, height, reset, dc, cs, backlight, rotation)` - `st7789.ST7789(spi, width, height, reset, dc, cs, backlight, rotation)`
...@@ -235,8 +244,7 @@ The module exposes predefined colors: ...@@ -235,8 +244,7 @@ The module exposes predefined colors:
`BLACK`, `BLUE`, `RED`, `GREEN`, `CYAN`, `MAGENTA`, `YELLOW`, and `WHITE` `BLACK`, `BLUE`, `RED`, `GREEN`, `CYAN`, `MAGENTA`, `YELLOW`, and `WHITE`
Helper functions ## Helper functions
----------------
- `color565(r, g, b)` - `color565(r, g, b)`
...@@ -253,8 +261,7 @@ Helper functions ...@@ -253,8 +261,7 @@ Helper functions
to generate a bitmap fonts from .ttf and use them as a frozen bytecode from to generate a bitmap fonts from .ttf and use them as a frozen bytecode from
the ROM memory. the ROM memory.
Performance ## Performance
-----------
For the comparison I used an excellent library for Arduino For the comparison I used an excellent library for Arduino
that can handle this screen. that can handle this screen.
...@@ -278,8 +285,7 @@ As you can see, the ESP32 module draws a line 4 times slower than ...@@ -278,8 +285,7 @@ As you can see, the ESP32 module draws a line 4 times slower than
the older ESP8266 module. the older ESP8266 module.
Troubleshooting ## Troubleshooting
---------------
#### Overflow of iram1_0_seg #### Overflow of iram1_0_seg
......
The esp32 directory contains a firmware.bin file with MicroPython
v1.12-464-gcae77daf0 compiled using ESP IDF v3 with the st7789 C driver and
the frozen python font files for generic ESP32 boards.
The pybv11 directory contains a firmware.dfu file with MicroPython
v1.12-464-gcae77daf0 compiled with the st7789 C driver and
the frozen python font files for the Pyboard v1.1.
The ttgo_watch directory contains a firmware.bin file with MicroPython
v1.12-464-gcae77daf0 compiled using ESP IDF v3 with the st7789
C driver, frozen axp202c driver from https://github.com/lewisxhe/AXP202X_Libraries
and the frozen python font files for the TTGO T-Watch-2020.
Frozen python bitmap font files included:
- vga1_8x8
- vga2_8x8
- vga1_8x16
- vga2_8x16
- vga1_16x16
- vga2_16x16
- vga1_bold_16x16
- vga2_bold_16x16
- vga1_16x32
- vga2_16x32
- vga1_bold_16x32
- vga2_bold_16x32
When using this firmware you can use the VGA fonts directly from flash to
save RAM. For example, in the ttgo_hello.py program change the font import
line from:
`from fonts import vga2_bold_16x32 as font`
to:
`import vga2_bold_16x32 as font`
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment