Releases: TeamOpenFIRE/OpenFIRE-App
OpenFIRE App Public Release 3.0.1 - Tokinomiya Full!
The Calibration Maintenance Release
Turns out, the margins set for what the app considers "acceptable" calibrations was a little too strict and some users have reported false positives. The thresholds for "malformed" values have been raised significantly for even some oddball combinations to work.
This fix does not require a firmware update.
The reason why this is, is because the "block" is purely an App visual thing; it's still technically committed to the gun anyways, as the firmware itself doesn't have any "blocks" per-say with regards to calibrations (but obviously bad values are still reset when the FW checks loaded profiles on bootup). The wording of the "Malformed Calibration" message has been adjusted to note this.
OpenFIRE App Public Release 3.0 - Tokinomiya
The Big Overhaul Release!
Releases updated to fix a documentation hyperlink that was not updated.
Windows package updated to fix issues with board unresponsiveness after saving settings.
This release is a big one for many reasons. After nearly a year of working on refactoring the app and the firmware, and two weeks worth of public testing and further improvements to the UX, I am very proud to finally bring OpenFIRE App 3.0 to the general public!
Important
OpenFIRE App v3.0 ONLY WORKS WITH FW v6.0 AND ONWARDS
Due to several fundamental changes on the communication between app and firmware, all old stable Firmware releases are rendered incompatible. However, to compensate for this, the App will prompt the user if they would like it to reboot the request board to install the latest firmware if it's detected to be on an incompatible (earlier) version, so you shouldn't need to disassemble your lightgun to access the BOOTSEL button!
This changelog could go on for miles, so only the major highlights are listed below; if you want to get the lowdown on what exactly has changed, check out the commit diff between this and the last release!
Changelog
User Interface:
- The UX has been tweaked and improved significantly, with additions like scroll areas for all tabs, icons around the interface to serve as at-a-glance indicators of functionality, tweaking of margins, and other things.
- Coloring of certain elements and texts have been tweaked for visibility depending on Light or Dark Mode interfaces, and the Windows release is now Dark Mode Aware depending on the system's theme.
- Description boxes are now used in the Gun Settings, Calibration Profiles, and the newly introduced Button Mapping tab; this allows for descriptive text when hovering over any option, so hopefully less people will be asking what Option X does and why.
- The list of available boards will now be updated as the application is running, and does not require all boards to be plugged in before starting the app!
Calibration:
- A new Full Screen Calibration interface has been introduced! This takes advantage of the serial communication between App and Microcontroller to provide a guided walkthrough of the calibration process, show real-time information of the status of the current calibration profile, and will warn of things like potentially bad calibration profiles.
Board Layout:
- For each board, Custom Layouts can now be exported to and imported from OpenFIRE Layout (
.ofl
) files. - When hovering over a pin function box, a Pin Highlight will be reflected on the board graphic interactively.
- Pin function boxes will no longer respond to mouse wheel scrolling, since the tab contents are contained in a scroll area for less interference.
Button Mapping:
A brand new tab, dedicated to the equally-brand-new function added in OF FW v6.0!
- Customize functions of on-screen and off-screen behavior for each active button (as defined in either preset or current custom pin mapping layout), and the desired gamepad mode mapping when signaled from a desktop.
- If installed, the Analog Stick's functionality can be customized here from its default stick mode to simulating either a digital keyboard arrows array or a d-pad.
Gun Settings:
- Layout has been massively overhauled, with options grouped in ways that makes more intuitive sense to someone that isn't a programmer.
- Solenoid Settings have been greatly streamlined to a more straightforward "ON time" and "Autofire pause time" setting, so no more dealing with autofire multipliers that didn't quite make much sense before. (Autofire double length wait can still be toggled via a serial command, if so desired.)
- As reflected in FW v6.0, I2C has been decoupled from the OLED display, and so the display can be independently enabled (if both Peripheral pins are mapped properly). A new option for alternative display address has also been added, in case the display doesn't boot up by default.
Calibration Profiles:
- A new option has been added for each calibration profile with the Display Ratio setting.
- As described in the descriptive text, this does not affect normal usage and shouldn't be expected to - this is exclusively for adjusting the stretch factor when 4:3 Correction Mode is activated over Serial.
- Each calibration button now activates the aforementioned Full Screen Calibration Interface
Gun Tests:
- Inputs Test area has been rearranged and overhauled for visibility and clarity, and now displays proper positioning for an Analog Stick (if any is installed).
- The IR Camera Test Area has been replaced with a button to open the Full Screen IR Test Screen.
- The system options at the bottom of the tab have been adjusted to prioritize the less harmful "Reboot to Bootloader" option, and properly label the "Clear Save Memory[!]" option as dangerous.
Other:
- A new "Boards Previewer" option is added under the Help app menu.
- This will show all supported boards, including those provided through certain OpenFIRE forks, and highlight the individual pins' capabilities as would be shown in some interactive guides a'la pico.pinout.xyz.
- A new "IR Alignment Assistant" option is added under the Help app menu.
- This will show the ideal placement of IR emitters for both Square and Diamond layouts.
- This screen is also 4:3 aware, so it should work on virtually any display!
Installation
For Windows users, extract to wherever is most convenient. Run OpenFIREApp.exe
For Linux users, Arch Linux has an AUR PKGBUILD available @ openfireapp
, installable using your favorite terminal/AUR helper. For other distros, use OpenFIRE_App-[x86_64/aarch64].AppImage
.
x86_64
is for 64-bit Desktop PCs and Laptops with Intel or AMD processors.aarch64
is for 64-bit ARM-based PCs and SBCs, such as Raspberry Pis and others, with a distro that has a minimumlibc
version of2.34
. Tested on Raspberry Pi OS Bookworm (based on Debian 12).
Your user should be a part of the dialout
library to be able to access serial ports--the app will alert you and provide the command to copy-paste into a terminal to add your user to said group. For native builds on other distros, refer to the README for build instructions for your system.
OpenFIRE App Public Release 2.2 - Tsuzura
I2C fixes and tweaks
- GPIO pins are now color-coded with respect to their I2C lane - I2C0 pin pairs are colored blue, and I2C1 pin pairs are colored orange.
- When mapping I2C functions (either Camera SDA/SCL or Peripheral SDA/SCL), the current pin layout is checked to ensure that a Camera function isn't mapped in the same lane as a Peripheral function, or that the Camera/Peripheral partner of a pair (Data or Clock) aren't already mapped to the opposite lane; if either condition aren't met, the offending pin is unmapped with an appropriate message printed in the status bar.
- Changes to NeoPixel settings will appropriately notify that a reboot might be required to see changes properly reflected, as it's a limitation of how the NeoPixel library handles pixel strand remapping.
- Raspberry Pi Pico (W) and Arduino Nano RP2040 Connect default layouts now properly reflect a default Temperature Sensor mapping that was added in the last released OpenFIRE Firmware.
- App now correctly parses version numbers with alphanumeric characters, e.g. git hashes attached from firmware GitHub artifacts.
Installation
For Windows users, extract to wherever is most convenient. Run OpenFIREApp.exe
For Linux users, Arch Linux has an AUR PKGBUILD available @ openfireapp
, installable using your favorite terminal/AUR helper. For other distros, use OpenFIRE_App-x86_64.AppImage
.
Your user should be a part of the dialout
library to be able to access serial ports--the app will alert you and provide the command to copy-paste into a terminal to add your user to said group. For other distros or architectures (i.e. Raspberry Pi/ARM systems), refer to the README for build instructions for your system.
At the moment, a microcontroller running OpenFIRE needs to be plugged in before starting! Hopefully this will change in a future app update.
OpenFIRE App Public Release 2.1 - Aino
Calibration Message Fix
There has been enough time spent in release candidacy, and all of the early concerns have been resolved, so the app is at a good place now to be in normal release schedule.
Along with all the fixes from the release candidates, this version resolves the calibration message not being updated to reflect the current calibration system. It's a small scale fix, but it was felt that the confusion caused by leaving this unresolved was enough to justify the new release.
Installation
For Windows users, extract to wherever is most convenient. Run OpenFIREApp.exe
For Linux users, Arch Linux has an AUR PKGBUILD available @ openfireapp
, installable using your favorite terminal/AUR helper. For other distros, use OpenFIRE_App-x86_64.AppImage
.
Your user should be a part of the dialout
library to be able to access serial ports--the app will alert you and provide the command to copy-paste into a terminal to add your user to said group. For other distros or architectures (i.e. Raspberry Pi/ARM systems), refer to the README for build instructions for your system.
At the moment, a microcontroller running OpenFIRE needs to be plugged in before starting! Hopefully this will change in a future app update.
OpenFIRE App Public Release (Candidate) 6 - Aino
The Help & Consistencies Fix
There seemed to have been some confusion regarding the TinyUSB functionality, so this release helps to alleviate the problem with the most pertinent info baked into the app; namely:
- The TinyUSB area now has section captions informing the user of the necessity of different gun identifiers for multiplayer usage.
- Both the simple and advanced TinyUSB section views will display some text informing the user of how the functionality of the Start & Select buttons changes (or doesn't) depending on the selection.
- And, just in case they haven't seen it yet, there is a new Help section in the app menu, with links to both the OpenFIRE Enclosed Instruction Book as well as the OF Wiki page documenting serial functionality at a high level (which also links to the Mamehook deep dive).
This update also contains a clarification on the Autofire toggle functionality, both in updated tooltip text and it only allowed to be enabled if either Solenoid or Rumble FF are also active; as well as disabling any settings related to Hold to Pause, Solenoid Timings, and Rumble Strength/Length if their master toggles are disabled. Alongside this, solenoid and rumble settings will be forcefully unchecked and disabled if they are unmapped in the current pins layout, either board default or custom.
Installation
For Windows users, extract to wherever is most convenient. Run OpenFIREApp.exe
For Linux users, Arch Linux has an AUR PKGBUILD available @ openfireapp
, installable using your favorite terminal/AUR helper. For other distros, use OpenFIRE_App-x86_64.AppImage
- this will be the standard going forward, as well as this being the last release to use the Ubuntu 22.04-based binary.
Your user should be a part of the dialout
library to be able to access serial ports--the app will alert you and provide the command to copy-paste into a terminal to add your user to said group. For other distros or architectures (i.e. Raspberry Pi/ARM systems), refer to the README for build instructions for your system.
At the moment, a microcontroller running OpenFIRE needs to be plugged in before starting! Hopefully this will change in a future app update.
OpenFIRE App Public Release (Candidate) 5 - Aino
Fix Those Chains, Batman!
- Fixes cases where static NeoPixel counts could exceed the length of a NeoPixel strand, which is ILLEGAL (though would be harmless when deployed to the FW as it handles this, but would still be no less confusing to the user).
- Now if the static Pixel count is detected to be bigger than the strand length, the value will be forced to the strand length value.
- Also if the NeoPixel strand length is decreased below the current static Pixel count, the latter will be forced to the new length of the strand.
- Fixes static pixel color boxes all being available on sync, even when the count of static pixels is less than the maximum of 3 Pixel(s).
Installation
For Windows users, extract to wherever is most convenient. Run OpenFIREApp.exe
For Linux users, Arch Linux has an AUR PKGBUILD available @ openfireapp
, installable using your favorite terminal/AUR helper. For other distros, you may try your luck with the Ubuntu binary (built against Qt 5.15 libraries). Your user should be a part of the dialout
library to be able to access serial ports--the app will alert you and provide the command to copy-paste into a terminal to add your user to said group. For other distros or architectures (i.e. Raspberry Pi/ARM systems), refer to the README for build instructions for your system.
At the moment, a microcontroller running OpenFIRE needs to be plugged in before starting! Hopefully this will change in a future app update.
OpenFIRE App Public Release (Candidate) 4 - Aino
Yet More Fixes
- Includes yesterday's hotfix for displaying an error if a camera-related string is detected instead of the sync message it expects.
- Changed the Profile "Layout" setting from an ambiguous checkbox to a combobox with both possible settings clearly labeled. This should resolve any confusion regarding how to setup diamond layout cali profiles. The text strings in the profiles tab also have correct centered alignment.
- Adds support for preset layouts for future addon board makers to make their setups easier. Currently, this only provides an alternate layout for the Adafruit ItsyBitsy boards for SAMCO 1.1, which has a different layout from this model's default layout of SAMCO 2.0.
Installation
For Windows users, extract to wherever is most convenient. Run OpenFIREApp.exe
For Linux users, Arch Linux has an AUR PKGBUILD available @ openfireapp
, installable using your favorite terminal/AUR helper. For other distros, you may try your luck with the Ubuntu binary (built against Qt 5.15 libraries). Your user should be a part of the dialout
library to be able to access serial ports--the app will alert you and provide the command to copy-paste into a terminal to add your user to said group. For other distros or architectures (i.e. Raspberry Pi/ARM systems), refer to the README for build instructions for your system.
At the moment, a microcontroller running OpenFIRE needs to be plugged in before starting! Hopefully this will change in a future app update.
OpenFIRE App Public Release (Candidate) 3 - Aino
Welcome to OpenFIRE!
After nearly a year of cumulative work, this is the first second third Release Candidate of the OpenFIRE project. This is near-final initial release code as far as features and performance are concerned, but there might be some bugs hidden in certain odds and ends - so if you run into any problems, don't hesitate to make an issue about it!
That said, the OF App has no known issues, as far as I (@SeongGino) am concerned.
EDIT: Binaries were updated June 25th @ 4:05 PM to add a catch for crossed camera wire errors.
Installation
For Windows users, extract to wherever is most convenient. Run OpenFIREApp.exe
For Linux users, Arch Linux has an AUR PKGBUILD available @ openfireapp
, installable using your favorite terminal/AUR helper. For other distros, you may try your luck with the Ubuntu binary (built against Qt 5.15 libraries). Your user should be a part of the dialout
library to be able to access serial ports--the app will alert you and provide the command to copy-paste into a terminal to add your user to said group. For other distros or architectures (i.e. Raspberry Pi/ARM systems), refer to the README for build instructions for your system.
At the moment, a microcontroller running OpenFIRE needs to be plugged in before starting! Hopefully this will change in a future app update.
Rolling Pre-release builds
Test builds for the (roughly) current state of the repo.
Last updated: June 8th @ 2:34 PM