Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: FrameworkComputer/inputmodule-rs
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: FrameworkComputer/inputmodule-rs
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: storage
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 1 commit
  • 16 files changed
  • 2 contributors

Commits on Jan 18, 2026

  1. ledmatrix: Add persistent flash storage for patterns and config

    Implement flash storage for the LED Matrix module to save custom patterns
    and configuration settings that persist across power cycles and firmware
    updates.
    
    Features:
    - Save up to 8 custom patterns to flash (static frames)
    - Store configuration: brightness, sleep timeout, PWM frequency,
      startup pattern, and startup animation settings
    - Wear leveling for both config and pattern storage to extend flash life
    - New USB commands (0x30-0x37) for storage operations
    - Rust and Python CLI support for all storage operations
    
    Flash layout (placed before serial number to survive firmware updates):
    - Pattern Storage: 0x100E0000, 60KB (8 slots, wear-leveled)
    - Config Storage: 0x100EF000, 64KB (wear-leveled)
    - Serial Number: 0x100FF000, 4KB (unchanged)
    
    Wear leveling uses sequential writes with sequence numbers, only erasing
    when storage is full. This provides ~16x improvement in flash endurance.
    
    Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
    JohnAZoidberg and claude committed Jan 18, 2026
    Configuration menu
    Copy the full SHA
    6a4c9b0 View commit details
    Browse the repository at this point in the history
Loading