Update README.md

This commit is contained in:
arne 2025-10-04 20:32:11 +02:00
commit 56e30a0e36

View file

@ -1,24 +1,33 @@
# ESP32 Lua Evaluation Example # Inkpot on ESP32 Lilygo T5
This example demonstrates how to use Lua 5.4 on ESP32, leveraging the LittleFS filesystem to run Lua scripts from external files. It also showcases Wi-Fi scanning and embedded Lua scripts. This repository contains the sources required to run the Inkpot frontend on a Lilygo T5, an ESP32 equipped with an e-ink display. It allows you to create Lua sketches that draw on the e-ink screen.
## Prerequisites ## Prerequisites
There is a `flake.nix` at the root of this repository that defines a development environment with all required tools. If you are using `direnv`, `cd` into the repositorie's root directory after cloning it and run `direnv allow`. If you aren't using direnv the enviroment can be activated using `nix develop .`.
The build environment consists of:
- ESP-IDF version 5.1.0 or higher - ESP-IDF version 5.1.0 or higher
- Components: - Components:
- [Lua 5.4](https://components.espressif.com/components/georgik/lua/) - [Lua 5.4](https://components.espressif.com/components/georgik/lua/)
- [LittleFS 1.14](https://components.espressif.com/components/joltwallet/littlefs/) - [LittleFS 1.14](https://components.espressif.com/components/joltwallet/littlefs/)
- [EPDIY](https://github.com/vroland/epdiy)
## File Structure
- `main.c`: Main program containing embedded Lua script and file-based Lua execution.
- `assets/`: Directory containing Lua scripts for QR code generation and Fibonacci computation.
- `qr_code.lua`
- `fibonacci.lua`
## Build and Flash ## Build and Flash
```bash ```bash
idf.py set-target esp32 # Replace esp32 with your specific target, e.g., esp32c3 idf.py set-target esp32
idf.py build flash monitor idf.py build flash monitor
``` ```
You can stop the monitor by pressing `Ctrl + ]`.
## File Structure
- `main/`
- `inkpot.c`: Main program containing embedded Lua script and file-based Lua execution.
- `paper.c`: Defines the lua bindings to epdiy that can be used for drawing on the screen.
- `assets/`: Directory containing all Lua scripts; some are older example scripts that are not executed
- `epaper.lua` contains the sketch that runs at startup