Skip to content

OpenFIRE App Public Release 3.0 - Tokinomiya

Choose a tag to compare

@SeongGino SeongGino released this 24 May 16:19
· 5 commits to OpenFIRE-dev since this release

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 minimum libc version of 2.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.