Repository navigation
v2.11.0 - Low Memory Mode Support
Pre-release
Pre-release
·
147 commits
to master
since this release
feat: Add simple framebuffer display for low memory mode (no LVGL) MASSIVE memory savings for devices without PSRAM by eliminating LVGL entirely when not needed. Memory savings: - LVGL heap: ~50-60KB - LVGL task stack: ~8KB - LVGL display buffers: ~10-20KB - Total saved: ~70-80KB (from ~243KB total RAM = 30%+ savings!) New implementation: - Simple 1-bit framebuffer: only 1KB for 128×64 display - Direct drawing with embedded 6×8 ASCII font - No external dependencies (no LVGL, no OpenFontRender) - Direct esp_lcd_panel_draw_bitmap() updates Files added: - display_simple.h/c: Framebuffer-based display with basic text rendering - Embedded 6×8 font (characters 32-126) in display_simple.c Modified: - display.c: Detects PSRAM availability and uses simple mode when unavailable - display.h: Added display_is_simple_mode() and display_simple_show_text() - CMakeLists.txt: Added display_simple.c to build When PSRAM is not available: - Skip lvgl_port_init() completely - Use simple_display_init() with 1KB framebuffer - Display shows "BITAXE LOW MEMORY MODE" on startup - Can show 4 lines of text (8 pixels per line) This should FINALLY fix the heap corruption crashes by freeing up massive amounts of RAM and reducing fragmentation. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>