tag:github.com,2008:https://github.com/FrameworkComputer/inputmodule-rs/releases Release notes from inputmodule-rs 2023-12-06T07:06:00Z tag:github.com,2008:Repository/598100237/v0.2.0 2024-02-13T00:09:41Z v0.2.0 <p>Changes:</p> <ul> <li>LED Matrix <ul> <li>Update to latest Rust stable 1.74.0</li> <li>Reduce maximum brightness even further</li> <li>In debug mode (DIP switch 1 active) turn on all LEDs by default</li> </ul> </li> </ul> <h6>Latest LED Matrix Downloads</h6> <ul> <li><a href="https://github.com/FrameworkComputer/inputmodule-rs/releases/download/v0.2.0/ledmatrix.uf2">Firmware v0.2.0</a></li> <li><a href="https://github.com/FrameworkComputer/inputmodule-rs/releases/download/v0.2.0/ledmatrix_gui_windows.exe">Windows GUI Tool v0.2.1 (hotfix)</a></li> <li><del><a href="https://github.com/FrameworkComputer/inputmodule-rs/releases/download/v0.1.8/ledmatrix_gui_windows_v0.1.8.exe">Windows GUI Tool v0.1.8</a></del></li> <li><a href="https://github.com/FrameworkComputer/inputmodule-rs/releases/download/v0.1.8/inputmodule-control_windows_v0.1.8.exe">Windows CLI Tool v0.1.8</a></li> <li><a href="https://github.com/FrameworkComputer/inputmodule-rs/releases/download/v0.1.8/inputmodule-control_cli_linux_v0.1.8.7">Linux CLI Tool v0.1.8</a></li> </ul> JohnAZoidberg tag:github.com,2008:Repository/598100237/v0.1.9 2023-11-27T14:53:13Z v0.1.9 <h1>Changes</h1> <ul> <li>LED Matrix <ul> <li>Restrict power consumption to 250mA</li> </ul> </li> </ul> <h2>Special firmware versions</h2> <ul> <li>LED Matrix all LED's on with 100/255 or 255/255 max brightness settings, no sleep timeout <ul> <li><code>ledmatrix_v0.1.9_100brightness.uf2</code> (Roughly 250mA current draw)</li> <li><code>ledmatrix_v0.1.8_255brightness.uf2</code> (Roughly 500mA current draw)</li> </ul> </li> </ul> JohnAZoidberg tag:github.com,2008:Repository/598100237/v0.1.8 2023-11-08T15:04:30Z v0.1.8 <p>Changes</p> <ul> <li>LED Matrix Firmware <ul> <li>Add more startup animations <ul> <li>Three Game of Life animations</li> <li>Pong game</li> <li>Snake game</li> <li>Breathing animation</li> <li>Scrolling zigzag</li> <li>Increasing percentag (old startup animation)</li> </ul> </li> <li>Reduce default brightness from 20% to 10%</li> <li>Update dependencies</li> </ul> </li> <li>LED Matrix Python Tool <ul> <li>Fix many commands that were recently broken</li> <li>Add video playing option</li> </ul> </li> <li>QT PY Firmwarwe <ul> <li>Add reference firmware for QT Py RP2040</li> </ul> </li> </ul> JohnAZoidberg tag:github.com,2008:Repository/598100237/v0.1.7 2023-10-23T15:25:57Z v0.1.7 <p>Changes</p> <ul> <li>Build using <code>cargo-make</code> to make it simpler between Linux and Windows</li> <li>LED Matrix Firmware <ul> <li>Add debug mode that will display sleep reason in sleep (Enable via command or on DVT module by DIP switch)</li> <li>Separate firmware for EVT module with 10k LED resistor (instead of new 27k resistor)</li> <li>Separate firmware for EVT module because DVT module has different LED layout</li> <li>Update LED Layout for DVT changes</li> <li>Disable SW9 in DVT since it isn't used and can cause noise if not connected</li> </ul> </li> <li>Python Script/GUI <ul> <li>Fix snake game, broken in v0.1.6</li> <li>Show firmware version</li> <li>On launch, set brightness slider to module brightness</li> </ul> </li> </ul> <p>Hardware Compatibility</p> <ul> <li>Multiple LED Matrix firmware builds <ul> <li><code>ledmatrix_10k.uf2</code> (Hardware with 10k resistor, has firmware current limit)</li> <li><code>ledmatrix_evt.uf2</code> (Hardware with 27k resistor, no current limit)</li> <li><code>ledmatrix.uf2</code> (Latest Hardware - Aug 28)</li> </ul> </li> </ul> <h6>Changing Sleep State</h6> <p>What can change the sleep state</p> <ul> <li>Hardware/OS triggers <ul> <li><code>SLEEP#</code> pin</li> <li>USB Suspend</li> </ul> </li> <li>Software/Firmware Triggers <ul> <li>Sleep/Wake or other command via USB Serial</li> <li>Idle timer</li> </ul> </li> </ul> <p>Both of the hardware/OS triggers change the sleep state if they transition from one state to another.<br> For example, if USB suspends, the LED matrix turns off. If it resumes, the LEDs come back on.<br> Same for the <code>SLEEP#</code> pin.<br> If either of them indicates sleep, even if they didn't change state, the module goes to sleep.<br> If they're active, they don't influence module state. That way sleep state can be controlled by commands and isn't overridden immediately.</p> <p>The sleep/wake command always changes the state. But it can't be received when USB is suspended.<br> Any other command will also wake up the device.</p> <p>The idle timer will send the device to sleep after a configured timeout (default 60 seconds).<br> The idle timer is reset once the device wakes up or once it receives a command.</p> JohnAZoidberg tag:github.com,2008:Repository/598100237/v0.1.6 2023-09-05T13:18:02Z v0.1.6 <p>Changes</p> <ul> <li>In addition to UF2 file, also build BIN firmware file on GH Actions</li> <li>LED Matrix Firmware <ul> <li>Add more sleep modes (instant, fade, debug), default unchanged</li> <li>Implement all letters in the embedded font</li> <li>Go to sleep (LEDs off) if in USB suspend</li> <li>Implement more advanced sleep behavior, see details below</li> <li>Fix booting when sleep is on from the beginning (had a conflict between sleep and startup animation)</li> <li>Use CRC checksum to verify serialnumber before it's used</li> <li>Remove LED current scaling (resistor in previous hardware was too small and allowed for too high current)</li> <li>Add command to allow changing LED PWM frequency</li> </ul> </li> <li>Python Script <ul> <li>Support Windows</li> <li>Bundle GUI version into standalone .exe for Windows</li> <li>Support multiple devices</li> <li>Add support for custom text</li> <li>Add back sleep/wake buttons to GUI</li> <li>Denser GUI design</li> </ul> </li> </ul> <p>Hardware Compatibility</p> <ul> <li>All hardware revisions</li> </ul> <h6>Changing Sleep State</h6> <p>What can change the sleep state</p> <ul> <li>Hardware/OS triggers <ul> <li><code>SLEEP#</code> pin</li> <li>USB Suspend</li> </ul> </li> <li>Software/Firmware Triggers <ul> <li>Sleep/Wake or other command via USB Serial</li> <li>Idle timer</li> </ul> </li> </ul> <p>Both of the hardware/OS triggers change the sleep state if they transition from one state to another.<br> For example, if USB suspends, the LED matrix turns off. If it resumes, the LEDs come back on.<br> Same for the <code>SLEEP#</code> pin.<br> If either of them indicates sleep, even if they didn't change state, the module goes to sleep.<br> If they're active, they don't influence module state. That way sleep state can be controlled by commands and isn't overridden immediately.</p> <p>The sleep/wake command always changes the state. But it can't be received when USB is suspended.<br> Any other command will also wake up the device.</p> <p>The idle timer will send the device to sleep after a configured timeout (default 60 seconds).<br> The idle timer is reset once the device wakes up or once it receives a command.</p> JohnAZoidberg tag:github.com,2008:Repository/598100237/v0.1.5 2023-08-31T08:56:47Z v0.1.5 Alpha <p>Changes</p> <ul> <li>Update branding</li> <li>Add MIT license</li> <li>Use st7306 library from crates.io</li> <li>Update dependencies</li> <li>Reduce build time</li> <li>Distribute release binaries</li> <li>B1 Display <ul> <li>Allow set/get of FPS and power mode</li> <li>Allow updating animation frequency</li> <li>Add heuristic to allow for greyscale images</li> <li>Enable displaying animated GIFs</li> </ul> </li> <li>LED Matrix <ul> <li>Allow setting animation frequency</li> <li>Add optional command to display audio input waveform</li> <li>Go to sleep when SLEEP# pin is low (laptop is asleep)</li> <li>Ignore SLEEP# pin when it's not connected (old hw rev)</li> <li>Limit maximum brightness to not exceed 500mA current draw (for first BizLink hw rev)</li> </ul> </li> <li>inputmodule-control tool <ul> <li>Statically link vcruntime140.dll to make it work on fresh windows install</li> </ul> </li> </ul> <p>Hardware Compatibility</p> <ul> <li>All hardware revisions</li> <li>First hardware revision does not have the sleep pin, so it won't immediately to sleep when the laptop's lid is closed</li> </ul> JohnAZoidberg tag:github.com,2008:Repository/598100237/v0.1.4-standalone2 2023-06-30T01:22:43Z v0.1.4 standalone windows <p>Same as v0.1.4 but the tool can run on Windows without anything installed.</p> JohnAZoidberg tag:github.com,2008:Repository/598100237/v0.1.4-standalone 2023-06-27T13:00:57Z v0.1.4-standalone <p>Merge pull request <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1776330036" data-permission-text="Title is private" data-url="https://github.com/FrameworkComputer/inputmodule-rs/issues/49" data-hovercard-type="pull_request" data-hovercard-url="/FrameworkComputer/inputmodule-rs/pull/49/hovercard" href="https://github.com/FrameworkComputer/inputmodule-rs/pull/49">#49</a> from FrameworkComputer/max-brightness</p> JohnAZoidberg tag:github.com,2008:Repository/598100237/v0.1.4 2023-06-13T04:29:13Z v0.1.4 Alpha <p>Changes:</p> <ul> <li>Add lots of documentation</li> <li>inputmodule-control <ul> <li>Make <code>--list</code> output nice</li> <li>Supports controlling the B1 Display <ul> <li>Standard commands: bootloader, version, sleep</li> <li>Specific commands: Display on/off, invert colors on/off, display image file</li> </ul> </li> <li>Controlling LED matrix <ul> <li>Support conway's game of life</li> </ul> </li> <li>Add <code>--wait-for-device</code> to make it useable as a system service</li> </ul> </li> <li>LED Matrix <ul> <li>Add new game: Conways' Game of Life. Can be started with built-in pattern or current pattern</li> <li>Fix commands that return data to the host (like getting current brightness)</li> <li>Implement command to quit games</li> <li>Starts up with a loading animation</li> </ul> </li> <li>B1 Display <ul> <li>First version with support for the display</li> <li>Starts up wit the screensaver (Framework logo moving around)</li> </ul> </li> </ul> JohnAZoidberg tag:github.com,2008:Repository/598100237/v0.1.3 2023-03-07T02:50:12Z v0.1.3 Alpha <p>Changes:</p> <ul> <li>Move code into separate cargo workspaces</li> <li>Import rust cli into here (not yet built by CI) <ul> <li>Implement full uppercase font</li> <li>Run command on all modules of the same type</li> </ul> </li> <li>Proper support for the B1 Display</li> <li>Support for the C1 Minimal Module <ul> <li>Starts up with RGB LED set to green</li> <li>Has API to set RGB LED brightness and color (same brightness command as LED Matrix</li> <li>Supports sleep mode (shuts off RGB LED)</li> </ul> </li> <li>LED Matrix <ul> <li>Implement Snake and Pong in firmware</li> </ul> </li> </ul> JohnAZoidberg