Skip to content

Releases: FrameworkComputer/inputmodule-rs

v0.2.0

06 Dec 07:32
Compare
Choose a tag to compare

Changes:

  • LED Matrix
    • Update to latest Rust stable 1.74.0
    • Reduce maximum brightness even further
    • In debug mode (DIP switch 1 active) turn on all LEDs by default
Latest LED Matrix Downloads

v0.1.9

21 Nov 09:25
Compare
Choose a tag to compare
v0.1.9 Pre-release
Pre-release

Changes

  • LED Matrix
    • Restrict power consumption to 250mA

Special firmware versions

  • LED Matrix all LED's on with 100/255 or 255/255 max brightness settings, no sleep timeout
    • ledmatrix_v0.1.9_100brightness.uf2 (Roughly 250mA current draw)
    • ledmatrix_v0.1.8_255brightness.uf2 (Roughly 500mA current draw)

v0.1.8

08 Nov 14:51
Compare
Choose a tag to compare
v0.1.8 Pre-release
Pre-release

Changes

  • LED Matrix Firmware
    • Add more startup animations
      • Three Game of Life animations
      • Pong game
      • Snake game
      • Breathing animation
      • Scrolling zigzag
      • Increasing percentag (old startup animation)
    • Reduce default brightness from 20% to 10%
    • Update dependencies
  • LED Matrix Python Tool
    • Fix many commands that were recently broken
    • Add video playing option
  • QT PY Firmwarwe
    • Add reference firmware for QT Py RP2040

v0.1.7

19 Sep 02:41
7e61d58
Compare
Choose a tag to compare
v0.1.7 Pre-release
Pre-release

Changes

  • Build using cargo-make to make it simpler between Linux and Windows
  • LED Matrix Firmware
    • Add debug mode that will display sleep reason in sleep (Enable via command or on DVT module by DIP switch)
    • Separate firmware for EVT module with 10k LED resistor (instead of new 27k resistor)
    • Separate firmware for EVT module because DVT module has different LED layout
    • Update LED Layout for DVT changes
    • Disable SW9 in DVT since it isn't used and can cause noise if not connected
  • Python Script/GUI
    • Fix snake game, broken in v0.1.6
    • Show firmware version
    • On launch, set brightness slider to module brightness

Hardware Compatibility

  • Multiple LED Matrix firmware builds
    • ledmatrix_10k.uf2 (Hardware with 10k resistor, has firmware current limit)
    • ledmatrix_evt.uf2 (Hardware with 27k resistor, no current limit)
    • ledmatrix.uf2 (Latest Hardware - Aug 28)
Changing Sleep State

What can change the sleep state

  • Hardware/OS triggers
    • SLEEP# pin
    • USB Suspend
  • Software/Firmware Triggers
    • Sleep/Wake or other command via USB Serial
    • Idle timer

Both of the hardware/OS triggers change the sleep state if they transition from one state to another.
For example, if USB suspends, the LED matrix turns off. If it resumes, the LEDs come back on.
Same for the SLEEP# pin.
If either of them indicates sleep, even if they didn't change state, the module goes to sleep.
If they're active, they don't influence module state. That way sleep state can be controlled by commands and isn't overridden immediately.

The sleep/wake command always changes the state. But it can't be received when USB is suspended.
Any other command will also wake up the device.

The idle timer will send the device to sleep after a configured timeout (default 60 seconds).
The idle timer is reset once the device wakes up or once it receives a command.

v0.1.6

31 Aug 09:35
Compare
Choose a tag to compare
v0.1.6 Pre-release
Pre-release

Changes

  • In addition to UF2 file, also build BIN firmware file on GH Actions
  • LED Matrix Firmware
    • Add more sleep modes (instant, fade, debug), default unchanged
    • Implement all letters in the embedded font
    • Go to sleep (LEDs off) if in USB suspend
    • Implement more advanced sleep behavior, see details below
    • Fix booting when sleep is on from the beginning (had a conflict between sleep and startup animation)
    • Use CRC checksum to verify serialnumber before it's used
    • Remove LED current scaling (resistor in previous hardware was too small and allowed for too high current)
    • Add command to allow changing LED PWM frequency
  • Python Script
    • Support Windows
    • Bundle GUI version into standalone .exe for Windows
    • Support multiple devices
    • Add support for custom text
    • Add back sleep/wake buttons to GUI
    • Denser GUI design

Hardware Compatibility

  • All hardware revisions
Changing Sleep State

What can change the sleep state

  • Hardware/OS triggers
    • SLEEP# pin
    • USB Suspend
  • Software/Firmware Triggers
    • Sleep/Wake or other command via USB Serial
    • Idle timer

Both of the hardware/OS triggers change the sleep state if they transition from one state to another.
For example, if USB suspends, the LED matrix turns off. If it resumes, the LEDs come back on.
Same for the SLEEP# pin.
If either of them indicates sleep, even if they didn't change state, the module goes to sleep.
If they're active, they don't influence module state. That way sleep state can be controlled by commands and isn't overridden immediately.

The sleep/wake command always changes the state. But it can't be received when USB is suspended.
Any other command will also wake up the device.

The idle timer will send the device to sleep after a configured timeout (default 60 seconds).
The idle timer is reset once the device wakes up or once it receives a command.

v0.1.5 Alpha

29 Jun 07:40
a7398f0
Compare
Choose a tag to compare
v0.1.5 Alpha Pre-release
Pre-release

Changes

  • Update branding
  • Add MIT license
  • Use st7306 library from crates.io
  • Update dependencies
  • Reduce build time
  • Distribute release binaries
  • B1 Display
    • Allow set/get of FPS and power mode
    • Allow updating animation frequency
    • Add heuristic to allow for greyscale images
    • Enable displaying animated GIFs
  • LED Matrix
    • Allow setting animation frequency
    • Add optional command to display audio input waveform
    • Go to sleep when SLEEP# pin is low (laptop is asleep)
    • Ignore SLEEP# pin when it's not connected (old hw rev)
    • Limit maximum brightness to not exceed 500mA current draw (for first BizLink hw rev)
  • inputmodule-control tool
    • Statically link vcruntime140.dll to make it work on fresh windows install

Hardware Compatibility

  • All hardware revisions
  • First hardware revision does not have the sleep pin, so it won't immediately to sleep when the laptop's lid is closed

v0.1.4 standalone windows

28 Jun 06:05
423796c
Compare
Choose a tag to compare
Pre-release

Same as v0.1.4 but the tool can run on Windows without anything installed.

v0.1.4 Alpha

17 Mar 07:49
43bcefa
Compare
Choose a tag to compare
v0.1.4 Alpha Pre-release
Pre-release

Changes:

  • Add lots of documentation
  • inputmodule-control
    • Make --list output nice
    • Supports controlling the B1 Display
      • Standard commands: bootloader, version, sleep
      • Specific commands: Display on/off, invert colors on/off, display image file
    • Controlling LED matrix
      • Support conway's game of life
    • Add --wait-for-device to make it useable as a system service
  • LED Matrix
    • Add new game: Conways' Game of Life. Can be started with built-in pattern or current pattern
    • Fix commands that return data to the host (like getting current brightness)
    • Implement command to quit games
    • Starts up with a loading animation
  • B1 Display
    • First version with support for the display
    • Starts up wit the screensaver (Framework logo moving around)

v0.1.3 Alpha

07 Mar 02:50
Compare
Choose a tag to compare
v0.1.3 Alpha Pre-release
Pre-release

Changes:

  • Move code into separate cargo workspaces
  • Import rust cli into here (not yet built by CI)
    • Implement full uppercase font
    • Run command on all modules of the same type
  • Proper support for the B1 Display
  • Support for the C1 Minimal Module
    • Starts up with RGB LED set to green
    • Has API to set RGB LED brightness and color (same brightness command as LED Matrix
    • Supports sleep mode (shuts off RGB LED)
  • LED Matrix
    • Implement Snake and Pong in firmware

v0.1.1 Alpha

16 Feb 00:41
Compare
Choose a tag to compare
v0.1.1 Alpha Pre-release
Pre-release

Changes:

  • Tons of new features in control.py, including snake game!
  • New Firmware features
    • Implement sleep mode which refuses commands except waking and turns off LED Controller to save power
    • Allow receiving and displaying greyscale image
    • Improve drawing speed by drawing entire matrix in just 2 I2C commands, instead of 306
    • Read serial number from flash, if present