Commit Graph

68 Commits

Author SHA1 Message Date
Adolfo e4d1d35da4 feat(GameBoy): restore integer scaling using full canvas API
- use lv_display_get_*_resolution to compute available area
- apply lv_image_set_scale 2x/3x + pivot center when display large enough
- removes previous comment hack 'avoid non-exported LVGL transform symbols'
- now requires firmware feature/gameboy-canvas-full-api (symbols exported)

SDK: 0.8.0-dev built with IDF 5.5.2, 0 missing symbols
2026-07-20 00:21:01 -04:00
Hermes Reyna Bot 6eb032cb53 Restore GameBoy canvas path and FPS marker 2026-07-17 18:11:05 -04:00
Hermes Reyna Bot 07749d86a1 Add GameBoy emulator prototype 2026-07-17 11:05:33 -04:00
Adolfo Reyna e68909d64d chore: move app skill in-repo + AGENTS.md
Main / Build (BookPlayer) (push) Has been cancelled
Main / Build (Brainfuck) (push) Has been cancelled
Main / Build (Breakout) (push) Has been cancelled
Main / Build (Calculator) (push) Has been cancelled
Main / Build (Diceware) (push) Has been cancelled
Main / Build (EpubReader) (push) Has been cancelled
Main / Build (GPIO) (push) Has been cancelled
Main / Build (GraphicsDemo) (push) Has been cancelled
Main / Build (HelloWorld) (push) Has been cancelled
Main / Build (M5UnitTest) (push) Has been cancelled
Main / Build (Magic8Ball) (push) Has been cancelled
Main / Build (MediaKeys) (push) Has been cancelled
Main / Build (MystifyDemo) (push) Has been cancelled
Main / Build (SerialConsole) (push) Has been cancelled
Main / Build (Snake) (push) Has been cancelled
Main / Build (TamaTac) (push) Has been cancelled
Main / Build (TodoList) (push) Has been cancelled
Main / Build (TwoEleven) (push) Has been cancelled
Main / Bundle (push) Has been cancelled
- Migrates tactility-app-development from ~/.hermes/skills/ into
  .claude/skills/ for repo co-location
- Adds AGENTS.md with local workstation context, hardware table,
  board-direct build/env wrapper (PYTHONPATH fix), ELF missing-symbol
  triage, app patterns (immersive, QVGA rail, tutorial 2-row,
  GameKit bubbling, screenshot rate-limit), and skill index

Refs: personal Gitea mirror
2026-07-17 09:51:20 -04:00
aeroreyna d976595879 feat: add Pocket Dungeon game prototype
Main / Build (BookPlayer) (push) Has been cancelled
Main / Build (Brainfuck) (push) Has been cancelled
Main / Build (Breakout) (push) Has been cancelled
Main / Build (Calculator) (push) Has been cancelled
Main / Build (Diceware) (push) Has been cancelled
Main / Build (EpubReader) (push) Has been cancelled
Main / Build (GPIO) (push) Has been cancelled
Main / Build (GraphicsDemo) (push) Has been cancelled
Main / Build (HelloWorld) (push) Has been cancelled
Main / Build (M5UnitTest) (push) Has been cancelled
Main / Build (Magic8Ball) (push) Has been cancelled
Main / Build (MediaKeys) (push) Has been cancelled
Main / Build (MystifyDemo) (push) Has been cancelled
Main / Build (SerialConsole) (push) Has been cancelled
Main / Build (Snake) (push) Has been cancelled
Main / Build (TamaTac) (push) Has been cancelled
Main / Build (TodoList) (push) Has been cancelled
Main / Build (TwoEleven) (push) Has been cancelled
Main / Bundle (push) Has been cancelled
2026-07-16 22:31:55 -04:00
Adolfo Reyna 214287193e feat(bibleverse): editorial v6 - Georgia Italic serif pretty font, 15px lift, menu auto-show 10s, animated book picker, no black bar
Main / Build (BookPlayer) (push) Has been cancelled
Main / Build (Brainfuck) (push) Has been cancelled
Main / Build (Breakout) (push) Has been cancelled
Main / Build (Calculator) (push) Has been cancelled
Main / Build (Diceware) (push) Has been cancelled
Main / Build (EpubReader) (push) Has been cancelled
Main / Build (GPIO) (push) Has been cancelled
Main / Build (GraphicsDemo) (push) Has been cancelled
Main / Build (HelloWorld) (push) Has been cancelled
Main / Build (M5UnitTest) (push) Has been cancelled
Main / Build (Magic8Ball) (push) Has been cancelled
Main / Build (MediaKeys) (push) Has been cancelled
Main / Build (MystifyDemo) (push) Has been cancelled
Main / Build (SerialConsole) (push) Has been cancelled
Main / Build (Snake) (push) Has been cancelled
Main / Build (TamaTac) (push) Has been cancelled
Main / Build (TodoList) (push) Has been cancelled
Main / Build (TwoEleven) (push) Has been cancelled
Main / Bundle (push) Has been cancelled
- Pretty font: embedded LVGL C Georgia Italic 26/22/20/18/16 + regular 24 (lv_font_conv --lv-include lvgl.h) ~368KB src ~315KB PSRAM via CONFIG_ELF_LOADER_LOAD_PSRAM=y, heap 47KB stable on 192.168.68.129 0.8.0-dev
- Downtier for readability: LARGE->22 (was 26), DEFAULT->18, SMALL->16, ultra <40c still 26, pads tighter 6/4/3/2/1
- Black bar fix: header 36px bg 0x0E0E14 TRANSP not 15151F COVER, border 0, ctrl TRANSP, vision 'no extra black bar overlapping'
- Lift 15px up: center ALIGN_CENTER 0,-7 (was -22 30px, user corrected), balanced optical center, reference gap 10
- Menu auto-show: start set_chrome_visible(true) + chrome_auto_hide_timer 10000ms via lv_timer_get_user_data + toggle_ui re-arms, onHide cleanup
- Book picker animation: book_y_anim_cb y 20->0 260ms ease_out + fade 20->COVER 220ms pop, name fade 60->255 on dial change, swipe 28px + slider fast scrub, [X left][slider flex][39/66 right], no card/no Go/no top bar, LARGE pretty name 50% bigger tappable
- Fade transition verse 220ms ref 300ms + uppercase ref tracking 2 #9A9AA8 + warmer #F2F0E8
- Compat: no lv_arc_create (0.7 fleet), 0 missing LVGL syms undef=0, build 4.3M
- Skill docs: SKILL.md v6 black-bar+downtier+auto-hide+anim, pretty-font.md v6, immersive-ui.md v6

Screenshots: Zephaniah 1:3 8683 bytes menu visible (top ref + bottom pills), after 6882 immersive, Habakkuk 2:9 no crop vision PASS
Co-Authored-By: internal-model
2026-07-12 12:07:04 -04:00
Adolfo Reyna 9773a78f6b rlcd: fix Mp3Player pop/repetition and VoiceRecorder mic pitch
- Mp3Player: increase task stack 4096->6144, prio 5->6, remove taskYIELD causing audio gaps
- VoiceRecorder: configure I2S as stereo for ES7210 (dual mic) like working MicroPython,
  then downmix left channel to mono WAV to fix low-pitch mic-like recording
2026-07-11 23:54:17 -04:00
Adolfo Reyna e9c396df66 feat(BibleVerse): immersive offline bible app - ESP32 color screen
- Single verse fullscreen, auto-advances every minute, tap toggles chrome
- Offline WEB bible split per-book: books.json + 66 bin/idx pairs (~4.1MB)
  - bin = NUL-terminated UTF-8 concatenation, idx = {offset,cnum,vnum}
  - RAM tiny: loads one book at a time, biggest Psalms ~215KB vs 3.8MB monolith
- Adaptive text scaling by length: <40 ultra-large (Jesus wept), <100 large,
  100-200 default, 200-350 small, 350+ compact (Esther 8:9 492c)
- Persistence via user_data_path: progress.txt + favorites.txt (like BookPlayer)
- LVGL fixes: use lvgl_get_text_font(FONT_SIZE_*) - direct montserrat not exported,
  no gradients (bg_grad_color not exported), LV_OPA_95 -> OPA_COVER, format-truncation werror silenced
- Deploys to 192.168.68.112 via PUT /api/apps/install (dashboard port 80, dev 6666 closed)

Tested: build esp32s3 local-sdk 0 missing symbols, 4.2MB .app, screenshot Gen 2:10

Refs: tools/convert_bible.py regenerates assets from WEB source
2026-07-11 17:08:22 -04:00
Adolfo Reyna 12e99f896a perf: Rate-limit progress bar updates to prevent redundant layout invalidation and redraws 2026-07-09 22:27:44 -04:00
Adolfo Reyna efea28e5d6 feat: Add BookPlayer app and update CI build matrix 2026-07-08 23:20:03 -04:00
Adolfo Reyna 364dc6b2f7 fix(reynabot): Replace unsupported Unicode emojis with custom girl/boy PNG assets 2026-07-01 22:56:31 -04:00
Adolfo Reyna 5eb9620468 feat(reynabot): Show dedicated speaker selection screen on launch 2026-07-01 22:51:23 -04:00
Adolfo Reyna 6bf06c8867 feat(reynabot): Add speaker selection buttons for Grace and Elias 2026-07-01 22:43:36 -04:00
Adolfo Reyna a4be0d73ae feat(reynabot): Improve UI and update voice endpoint to kids gateway 2026-07-01 13:45:04 -04:00
Adolfo Reyna 98ae52d3a8 Implement Mp3Player dynamic application 2026-06-28 22:22:57 -04:00
Adolfo Reyna 0fb3c22f79 feat: add McpScreen phase 2 display tools
Main / Build (Brainfuck) (push) Has been cancelled
Main / Build (Breakout) (push) Has been cancelled
Main / Build (Calculator) (push) Has been cancelled
Main / Build (Diceware) (push) Has been cancelled
Main / Build (EpubReader) (push) Has been cancelled
Main / Build (GPIO) (push) Has been cancelled
Main / Build (GraphicsDemo) (push) Has been cancelled
Main / Build (HelloWorld) (push) Has been cancelled
Main / Build (M5UnitTest) (push) Has been cancelled
Main / Build (Magic8Ball) (push) Has been cancelled
Main / Build (MediaKeys) (push) Has been cancelled
Main / Build (MystifyDemo) (push) Has been cancelled
Main / Build (SerialConsole) (push) Has been cancelled
Main / Build (Snake) (push) Has been cancelled
Main / Build (TamaTac) (push) Has been cancelled
Main / Build (TodoList) (push) Has been cancelled
Main / Build (TwoEleven) (push) Has been cancelled
Main / Bundle (push) Has been cancelled
2026-06-25 12:43:08 -04:00
Adolfo Reyna ac9d6dc0d3 feat: add Tactility MCP Screen foundation 2026-06-24 23:48:21 -04:00
Adolfo Reyna fb800bb5bd docs: add McpScreen implementation plan 2026-06-24 23:19:03 -04:00
Adolfo Reyna e5233efdf3 chore: save Tactility app experiments 2026-06-24 23:17:40 -04:00
Adolfo Reyna ca55f16085 feat(audiotest): add AudioTest application for testing recording and playback 2026-06-23 18:32:44 -04:00
Adolfo Reyna 3c6acf47a5 Add touch support to Snake game by dividing the screen into Up/Down/Left/Right zones
Main / Build (Brainfuck) (push) Has been cancelled
Main / Build (Breakout) (push) Has been cancelled
Main / Build (Calculator) (push) Has been cancelled
Main / Build (Diceware) (push) Has been cancelled
Main / Build (EpubReader) (push) Has been cancelled
Main / Build (GPIO) (push) Has been cancelled
Main / Build (GraphicsDemo) (push) Has been cancelled
Main / Build (HelloWorld) (push) Has been cancelled
Main / Build (M5UnitTest) (push) Has been cancelled
Main / Build (Magic8Ball) (push) Has been cancelled
Main / Build (MediaKeys) (push) Has been cancelled
Main / Build (MystifyDemo) (push) Has been cancelled
Main / Build (SerialConsole) (push) Has been cancelled
Main / Build (Snake) (push) Has been cancelled
Main / Build (TamaTac) (push) Has been cancelled
Main / Build (TodoList) (push) Has been cancelled
Main / Build (TwoEleven) (push) Has been cancelled
Main / Bundle (push) Has been cancelled
2026-06-23 12:16:33 -04:00
Adolfo Reyna 23e969c1b6 Configure HelloWorld manifest target platforms for esp32s3
Main / Build (Brainfuck) (push) Has been cancelled
Main / Build (Breakout) (push) Has been cancelled
Main / Build (Calculator) (push) Has been cancelled
Main / Build (Diceware) (push) Has been cancelled
Main / Build (EpubReader) (push) Has been cancelled
Main / Build (GPIO) (push) Has been cancelled
Main / Build (GraphicsDemo) (push) Has been cancelled
Main / Build (HelloWorld) (push) Has been cancelled
Main / Build (M5UnitTest) (push) Has been cancelled
Main / Build (Magic8Ball) (push) Has been cancelled
Main / Build (MediaKeys) (push) Has been cancelled
Main / Build (MystifyDemo) (push) Has been cancelled
Main / Build (SerialConsole) (push) Has been cancelled
Main / Build (Snake) (push) Has been cancelled
Main / Build (TamaTac) (push) Has been cancelled
Main / Build (TodoList) (push) Has been cancelled
Main / Build (TwoEleven) (push) Has been cancelled
Main / Bundle (push) Has been cancelled
2026-06-23 11:59:51 -04:00
Shadowtrance a0c1b25169 Fixes for grove and i2c changes (#31) 2026-06-20 00:06:34 +02:00
Shadowtrance dbf850c434 Fixes and new apps (#30)
- M5 Unit Modules library + M5 Unit Test app
- Minor fixes for TodoList, TwoEleven, Snake, Brainfuck and Breakout
- Fixed SerialConsole to use the uart controller as it was broken in one of the many updates
- Fixed keyboard input in TwoEleven, Breakout, Magic8Ball and Snake
- Bluetooth Media Keys app, supports pressing physical keys to trigger the corresponding buttonmatrix button
- Epub Reader app
2026-06-07 15:56:32 +02:00
Ken Van Hoeylandt 1f959c8bbf Tool 3.5.1 2026-03-05 23:31:36 +01:00
Christoph c75a926c8b Fixing f-string error in tactility.py (#29) 2026-03-05 23:29:56 +01:00
Shadowtrance a75279c96c New Apps - Lot 1 (#27)
* New Apps - Lot 1

Trying to mix it up a little with some fun, useful and just weird.
Adds more new apps...
Brainfuck
Breakout
Magic 8 Ball
Todo List

Also re-organised the app name part of main.yml

* Fix build?

* fixes

* and some more

* Update Brainfuck.cpp

* i heard you like fixes with your fixes

* no hard coded paths
2026-02-19 19:46:54 +01:00
Ken Van Hoeylandt 1443a29258 Updates for new SDK (#26) 2026-02-15 20:35:03 +01:00
Ken Van Hoeylandt d799c881aa Tactility script improvements (#25)
Compile from a different folder. Remove duplicate copies of tactility.py
This updates tactility.py to v3.5.0
2026-02-15 12:16:50 +01:00
Ken Van Hoeylandt fdb2e09b6c Add TamaTac symlink and CI 2026-02-13 21:30:08 +01:00
Shadowtrance 0b22f67a82 TamaTac & SfxEngine + Sprite tools (#24) 2026-02-13 21:26:23 +01:00
Ken Van Hoeylandt 9ba1d460bd Update GPIO driver usage (#23)
Recently the SDK removed GPIO functionality because pins are now exclusively claimed by a driver. That means the GPIO app can't claim pins that are already in use... except when it calls the ESP-IDF driver code directly, which is what the app now does.
2026-02-12 08:35:12 +01:00
Ken Van Hoeylandt 1955cda81b Update tactility.py and more (#22)
* Use single tactility.py and symbolic links

* Fix for MistifyDemo name

* Made snake a bit easier

* Update tactility.py 3.4.0

* Bump Snake version

* Bump version code
2026-02-07 01:09:59 +01:00
Shadowtrance 46cf00d92e Mystify Demo, TwoEleven updates & Snake (#21)
* **New Features**
  * Added Mystify screensaver demo with animated polygons and trails
  * Added Snake game with multiple difficulties, high-score persistence, and multi-input (touch/keyboard) support
  * Added CLI tool for building, packaging, and deploying apps (end-to-end build/install/run workflow)
  * Per-grid-size high-score persistence added to 2048 app; expanded keyboard controls (WASD and device-specific mappings)

* **Documentation**
  * Added Snake README with gameplay, controls, and usage instructions
2026-02-06 23:35:13 +01:00
Ken Van Hoeylandt d31b6b48a4 Tactility.py 3.2.0
Fix for domain name changes and local sdk
2026-02-04 17:47:52 +01:00
Ken Van Hoeylandt eeef409752 CI fix (#20)
Fix to support building for multiple architectures
2026-01-07 21:54:36 +01:00
Ken Van Hoeylandt b6c27b64d4 Tactility.py 3.0.0 and SDK updates for 0.7.0-dev (#19)
- Remove `Libraries/Str`
- Replaced usage of `TactilityC` FreeRtos features with `TactilityFreeRtos` library
- Update `tactility.py`
- Removed redundant code from `TactilityCpp`
2026-01-04 02:20:06 +01:00
Shadowtrance 3bc1e7a373 Fix inverted up and down (#18) 2026-01-04 00:31:17 +01:00
Ken Van Hoeylandt 6cb52d826d tactility.py 2.5.0 (#17) 2025-12-30 20:35:32 +01:00
Shadowtrance 64402e261a Two Eleven App aka 2048 (#16) 2025-12-30 20:24:50 +01:00
Ken Van Hoeylandt b769ede7a8 Update to SDK 0.6.0 (#14) 2025-10-29 17:42:53 +01:00
Ken Van Hoeylandt 05862ae65c Release pipelines (#12)
Create a release pipeline that builds a zip file with everything to copy onto the CDN for delivery in the upcoming App Hub.
2025-10-18 15:40:59 +02:00
Ken Van Hoeylandt bb0d536baa Update workflows 2025-10-17 22:36:03 +02:00
Ken Van Hoeylandt fefcb1d008 Fix for action version 2025-10-17 22:22:24 +02:00
Ken Van Hoeylandt 10ac0af4d6 Fix for action.yml 2025-10-17 22:15:57 +02:00
Ken Van Hoeylandt 1b02f3bd8e Fix for build 2025-10-17 22:05:41 +02:00
Ken Van Hoeylandt 722cdc8a1a Add release workflow (#11)
Merging to test if that enables it
2025-10-17 22:03:00 +02:00
Ken Van Hoeylandt 16770e63d3 Fix for crash
Added mutex lock in timer update function
2025-10-15 20:20:32 +02:00
Ken Van Hoeylandt a42f018ddc Add Serial Console app and update other apps for new SDK (#10) 2025-10-08 23:28:37 +02:00
Ken Van Hoeylandt d33e7a41df Updated tactility.py to v2.4.0 (#9) 2025-10-06 22:50:43 +02:00