Various improvements (#614)
- Auto-select widgets in Launcher and apps with toolbars on devices without touch. - Improved USB HID input reliability, cleanup - Updated PSRAM settings to improve boot stability on supported devices. - Prevented duplicate Wi-Fi event subscriptions during screen rebuilds. - Updated docs - Fixes in WifiManage and WifiConnect - Reduced main task stack size - Moved USB HID stack size to PSRAM when available - app_manager_find_manifest() now returns a copy instead of a pointer
This commit is contained in:
committed by
GitHub
parent
cc8be3faef
commit
d6b1d15e56
@@ -0,0 +1,62 @@
|
||||
# Building
|
||||
|
||||
## Git
|
||||
|
||||
The repository uses git submodules. Make sure to use `--recurse-submodules` on relevant git commands.
|
||||
|
||||
## Simulator (Linux/macOS, no ESP-IDF needed)
|
||||
|
||||
> [!IMPORTANT]
|
||||
> The simulator does **NOT** build or run on native Windows (Win32/PowerShell/cmd). This is
|
||||
> a hard platform limitation, not a missing tool or PATH issue — do not attempt `cmake -B
|
||||
> buildsim` on Windows, it will not work. WSL is a separate, Linux environment and is fine.
|
||||
|
||||
```bash
|
||||
cmake -B buildsim -G Ninja
|
||||
ninja -C buildsim # build firmware + tests
|
||||
./buildsim/Firmware/Tactility # run simulator
|
||||
```
|
||||
|
||||
## ESP32 firmware
|
||||
|
||||
```bash
|
||||
python device.py <device-id> # generate sdkconfig for device (e.g. lilygo-tdeck)
|
||||
python device.py <device-id> --dev # dev mode: force 4MB partition table
|
||||
idf.py build # build firmware
|
||||
idf.py flash monitor # flash and monitor
|
||||
```
|
||||
|
||||
Device IDs are the folder names under `Devices/` (e.g. `lilygo-tdeck`, `m5stack-cores3`, `cyd-2432s028r`).
|
||||
|
||||
### Windows: activating the ESP-IDF environment
|
||||
|
||||
On native Windows, `idf.py` is not on PATH by default — it must be activated per-shell first.
|
||||
The install script places a PowerShell profile activator per IDF version at
|
||||
`%IDF_TOOLS_PATH%\Microsoft.v<version>.PowerShell_profile.ps1` (path controlled by the
|
||||
`IDF_TOOLS_PATH` environment variable, set to wherever ESP-IDF's tools were installed, e.g.
|
||||
`C:\Espressif\tools`). Source it before running any `idf.py` command:
|
||||
|
||||
```powershell
|
||||
. "$env:IDF_TOOLS_PATH\Microsoft.v5.5.2.PowerShell_profile.ps1" # match the installed IDF version
|
||||
Set-Location "<repo-root>"
|
||||
idf.py build 2>&1 | Select-Object -Last 250
|
||||
```
|
||||
|
||||
This is Windows-specific setup (the main dev works on Linux, where `idf.py` is normally
|
||||
already on PATH via `export.sh`/`. ./export.sh` or a shell profile).
|
||||
|
||||
## Devicetree
|
||||
|
||||
A device implementation has a `.dts` file.
|
||||
The parser at `Buildscripts/DevicetreeCompiler/` converts DTS into C code.
|
||||
It's called from the `Firmware/` build process.
|
||||
|
||||
## Tests
|
||||
|
||||
Tests use Doctest and run on simulator (POSIX) target only:
|
||||
|
||||
```bash
|
||||
cmake -B buildsim -G Ninja
|
||||
ninja -C buildsim build-tests
|
||||
cd buildsim && ctest --test-dir Tests
|
||||
```
|
||||
Reference in New Issue
Block a user