tag:github.com,2008:https://github.com/FrameworkComputer/inputmodule-rs/releasesRelease notes from inputmodule-rs2023-12-06T07:06:00Ztag:github.com,2008:Repository/598100237/v0.2.02024-02-13T00:09:41Zv0.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>JohnAZoidbergtag:github.com,2008:Repository/598100237/v0.1.92023-11-27T14:53:13Zv0.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>JohnAZoidbergtag:github.com,2008:Repository/598100237/v0.1.82023-11-08T15:04:30Zv0.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>JohnAZoidbergtag:github.com,2008:Repository/598100237/v0.1.72023-10-23T15:25:57Zv0.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>JohnAZoidbergtag:github.com,2008:Repository/598100237/v0.1.62023-09-05T13:18:02Zv0.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>JohnAZoidbergtag:github.com,2008:Repository/598100237/v0.1.52023-08-31T08:56:47Zv0.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>JohnAZoidbergtag:github.com,2008:Repository/598100237/v0.1.4-standalone22023-06-30T01:22:43Zv0.1.4 standalone windows<p>Same as v0.1.4 but the tool can run on Windows without anything installed.</p>JohnAZoidbergtag:github.com,2008:Repository/598100237/v0.1.4-standalone2023-06-27T13:00:57Zv0.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>JohnAZoidbergtag:github.com,2008:Repository/598100237/v0.1.42023-06-13T04:29:13Zv0.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>JohnAZoidbergtag:github.com,2008:Repository/598100237/v0.1.32023-03-07T02:50:12Zv0.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