Hermes Reyna Bot
30de6beee7
feat(DiscoveryMountain): 2-screen podcast player S01 default resume prev/next season roller (Bible dial style) - backend PB+nginx ready mp3 DL LRU
2026-07-21 21:12:14 -04:00
Adolfo
4ff787ff1d
fix(GameBoy): I2 2bpp 5.6KB internal canvas fixes black screen after reboot (L:144 FPS:40)
...
Root cause: RGB565 46KB PSRAM required flush_cache handler which is NULL on ESP32S3 LVGL port -> dirty cache never reached PSRAM -> black. Frame writes L:144 prove core OK, FPS:40 proves timer OK, but PSRAM stale.
Fix: I2 indexed 160*144/4=5760 bytes internal RAM, no cache coherency, no WiFi/SD starvation (previous 46KB internal -> 7KB free -> sdmmc_read_sectors fail + wifi m f null). Uses lv_canvas_set_buffer I2 + lv_canvas_set_palette white/light/dark/black. Preserves Roms/GB capitalized probe + .gb file browser tap via tt_app_get_parameters bundle file.
Installs to 192.168.68.132, survives reboot.
2026-07-20 14:06:08 -04:00
Adolfo
6d9001fcd7
feat(RobotArm): mDNS auto-connect, connecting screen, scroller fix
...
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
- Pure mDNS discovery via tt_mdns_browse('_robotarm','_tcp') + resolve 'robotarm.local'
Fallback to 192.168.68.148/.103 for old firmware, no LAN-wide scan
- Connecting screen first: shows 'Finding robotarm...' + spinner + retry button,
establishes connection then shows main UI (auto-connect on IP change)
- Fix overall scroller lost: root not scrollable, inner content flex-column
scrollable vertically, all nested cards/grid/hdr/brow/seqbar clear_flag
SCROLLABLE + scrollbar OFF - no double scrollbars
- Keep 2x tall sliders 22x72 3 cols, cute pastel cards, Home/Read/Open/Close
56x18, shoulder max 70, open=0 close=180
- Sequencer bottom not fixed but inside scrollable content, colored blocks
22x22 no info, white 3px border highlight current, larger buttons 38x32
Play 56x32, smooth move_all_joints
- Fix missing symbol on 0.8.0-dev old firmware: remove esp_log (ESP_LOGI),
lwip_recvfrom/sendto, keep 50U (was 52U) matching ReynaBot working set
- MicroPython arm: mdns_server.py now advertises _robotarm._tcp.local PTR/SRV/TXT
for tt_mdns_browse, A robotarm.local, re-announce 60s
2026-07-20 14:04:18 -04:00
Adolfo
653ad8902f
fix(GameBoy): FPS but no game - cache invalidation bug
...
Root cause: LVGL9 canvas = lv_image backed by draw_buf with image cache.
Mutating raw uint16_t* buffer without lv_image_cache_drop + lv_draw_buf_invalidate_cache
leaves stale texture (gray/black). Only label (FPS) updated via lv_label_set_text_fmt,
so symptom = FPS counter works, game invisible.
Fix:
- fb_native typed uint16_t* raw RGB565, not lv_color16_t bitfield (endian bug)
- keep lv_draw_buf_t* from lv_canvas_get_draw_buf()
- each frame after gb_run_frame(): invalidate_cache + cache_drop + invalidate
- initial buffer fill check pattern removed, added lines_drawn debug in FPS label
- forward-decl lv_image_cache_drop (not in public SDK headers but firmware exports it)
- requires firmware feature/gameboy-canvas-full-api:
lv_draw_buf_invalidate_cache, lv_image_cache_drop, lv_canvas_get_draw_buf,
lv_image_set_scale/pivot, display resolution
SDK 0.8.0-dev built with IDF 5.5.2 - 0 undefined beyond firmware exports.
Builds to 50K GameBoy.app
Also preserves mDNS browse API from parent branch (Mdns.h/cpp, tt_mdns.h/cpp)
which sits on top of 60764979 'kidsOS-XXXX' mdns init.
2026-07-20 12:36:11 -04:00
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
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
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
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
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
Ken Van Hoeylandt
b39bd6b6f5
Simplify app registration with TactilityCpp ( #7 )
...
- Simplified app registration with a C++ wrapper for the TactilityC.
- Rename the various app classes from `Application` to more specific names like `Calculator` etc.
2025-10-05 22:38:26 +02:00
Ken Van Hoeylandt
e1579d3cbd
Merge develop into main ( #6 )
...
- Update TactilitySDK to `0.6.0-SNAPSHOT10`: Refactor `tt_app_registration()` for the related changes
- Fix for Diceware app hanging
- Deleted unused `assets/` in HelloWorld app
2025-10-05 21:16:39 +02:00
Ken Van Hoeylandt
37c5002c5d
Add GPIO app and update CI ( #5 )
2025-10-05 18:43:35 +02:00
Ken Van Hoeylandt
b6cd11221e
Update SDK to 0.6.0-SNAPSHOT8 ( #4 )
...
Fixes cstdio include
2025-10-05 16:17:21 +02:00
Ken Van Hoeylandt
d8727d79e6
Update apps and create Diceware ( #3 )
2025-10-02 23:41:29 +02:00