Skip to content

Releases: TeamOpenFIRE/OpenFIRE-Firmware

OpenFIRE Public Release 5.2 - Dawn

03 Sep 19:19
Compare
Choose a tag to compare

Blinkenlights and Serial Fixes

  • Builtin LEDs support was extended to Raspberry Pi Pico (non-W) boards, using its green User LED with interpolated on/off output based on the color information given.
  • Fixed player start/select button not being reflected properly in offscreen button presses.
  • When Low Buttons Mode is enabled, toggling Offscreen Button Mode will change the onscreen A/B buttons to Mouse Buttons 4/5. This primarily allows Virtua Cop 3 to be playable with a single button gun + pedal.
    • As far as I'm aware, VC3 is the only game that doesn't support true offscreen reload and has more than a single button layout (trigger, reload, weapon swap, E.S. Pedal), so this shouldn't affect other games substantially.
  • LED tests (initiated from the App) are now corrected, and will reflect the color across all (non-static) LED devices rather than just fourpins.
  • Calibration mode saves current step info before mouse cursor movement, not after, which should reduce chances of cali info being incorrect due to fast gun movement in calibration.
  • Displays will now display a Mamehook indicator on single element/blank layouts when serial handoff mode is invoked from the PC.
  • Rumble pulses (initiated from serial/Mamehook) will respect and use the specified rumble strength setting for the rise and falloff stages of each pulse.
  • Solenoid pulses (initiated from serial/Mamehook) will always initiate a normal solenoid event cycle using the gun's solenoid timer settings.
    • This will allow for, e.g. using a solenoid in games like Operation Wolf which uses a motor, and thus feedback events would either be unsafe or feel awkward when used as solenoid feedback.
  • Serial LED commands of the same color channel now correctly overwrites static states, fixing situations where color pulses would not work if the same color had already been set to a fixed value before.

Installation

Download the firmware file that corresponds to your microcontroller - if it's not listed, you may have luck with the generic image, but you'll have to map your controls manually.
For first-time installation, plug in your RP2040 board while holding the BOOTSEL button to enter bootloader mode (this also happens if your boards has no code loaded on it yet) - it will appear as a removable drive named RPI-RP2. Now simply drag'n'drop your chosen .UF2 file to the drive, let it copy, and it will automatically unmount and reboot into OpenFIRE! You can now setup the gun as you please from the OpenFIRE App.

For any future firmware updates, you can simply connect ("dock") the gun to the OF App, and click the Reboot to Bootloader option in the Gun Tests tab.

Board files are as follows:

  • adafruitItsy: Adafruit ItsyBitsy RP2040 - Samco Carrier Boards Layout (2.0 [default] or 1.1 [set preset in app])
  • adafruitKB2040: Adafruit "Keeboar" KB2040 - Other Carrier Boards Layout
  • arduinoNano: Arduino Nano RP2040 Connect
  • rpipico: Raspberry Pi Pico (non-W) and clones thereof
  • rpipicow-noBT: Raspberry Pi Pico W, USB-only
  • vccgndYD: VCC-GND YD RP2040 (aka: the Chinese Pico clone with embedded NeoPixel)
  • waveshareZero: Waveshare RP2040 Zero
  • generic: Generic RP2040, may or may not work if your board isn't listed above.

Pico W Bluetooth binaries are for development purposes only, as they do not work currently and will only be made available in the automated build artifacts on the repo.

OpenFIRE Public Release 5.1 - Heartful!

26 Jul 18:09
Compare
Choose a tag to compare

Tweaks and Seedlings

As with the last RC hotfix, this contains the adafruitItsy fix for Samco 1.1 boards. This also includes changes to some of the Serial commands to be more inline with and maintain compatibility with other existing systems. Namely:

  • XA analog mode types are now part of M0 commands, where M0x0 sets outputs to Mouse & Keyboard, and M0x1 sets it to Gamepad mode, with the camera mapped to the right stick. To set the camera to the left stick, append an L to the command (M0x1L)
  • M2 now sets Pedal 1 functionality: x0 uses Mouse 4 as before, x1 sets it to Right Mouse, and x2 sets it to Middle Mouse. These are reset whenever a Serial Exit command E is detected.
  • M6 sets either Solenoid or Rumble FF (x0 or x1, respectively).

Also this release contains fixes for calibration that's committed by the PC (i.e. the Profile Cali buttons in the OpenFIRE App) so that force feedback isn't incidentally activated in a way that's potentially dangerous, and that the trigger mouse button isn't kept depressed by a dual core snafu. There are also some additions in the backend to prepare for future cali-related additions. :)

Installation

Download the firmware file that corresponds to your microcontroller - if it's not listed, you may have luck with the generic image, but you'll have to map your controls manually.
For first-time installation, plug in your RP2040 board while holding the BOOTSEL button to enter bootloader mode (this also happens if your boards has no code loaded on it yet) - it will appear as a removable drive named RPI-RP2. Now simply drag'n'drop your chosen .UF2 file to the drive, let it copy, and it will automatically unmount and reboot into OpenFIRE! You can now setup the gun as you please from the OpenFIRE App.

For any future firmware updates, you can simply connect ("dock") the gun to the OF App, and click the Reboot to Bootloader option in the Gun Tests tab.

Board files are as follows:

  • adafruitItsy: Adafruit ItsyBitsy RP2040 - Samco Carrier Boards Layout (2.0 [default] or 1.1 [set preset in app])
  • adafruitKB2040: Adafruit "Keeboar" KB2040 - Other Carrier Boards Layout
  • arduinoNano: Arduino Nano RP2040 Connect
  • rpipico: Raspberry Pi Pico (non-W) and clones thereof
  • rpipicow-noBT: Raspberry Pi Pico W, USB-only
  • vccgndYD: VCC-GND YD RP2040 (aka: the Chinese Pico clone with embedded NeoPixel)
  • waveshareZero: Waveshare RP2040 Zero
  • generic: Generic RP2040, may or may not work if your board isn't listed above.

Pico W Bluetooth binaries are for development purposes only, as they do not work currently and will only be made available in the automated build artifacts on the repo.

OpenFIRE Public Release (Candidate) 5 - Heartful!

06 Jul 06:49
6bb2da8
Compare
Choose a tag to compare

Misc Fixes

Turns out the way the files were being compiled, some boards weren't applying certain default pins properly as it assumed the firmware wasn't compiled to support them! Oops. So this mainly fixes RGB and TMP pins not being mapped by default on Picos.

  • It's possible that having TMP enabled without a real sensor installed could cause some wacky readings to happen, but in the short time I've tested, the values being read with a vacant analog pin are relatively safe - it'll just read as being <5 deg C for the most part with no underflow.

Also, thanks to @lemmingDev , there's a (very basic) Rumble-based autofire solution for users with Rumble-based Force Feedback enabled in tandem with it! Though the feel of rumble-based sustained fire should be improved in the future, at least the setting will be somewhat consistent between it and normal Solenoid functionality.

EDIT: July 8th 2024 @ 5:39 PM, the adafruitItsy board file was fixed for Samco 1.1 users, so the camera should be powered properly.

Installation

Download the firmware file that corresponds to your microcontroller - if it's not listed, you may have luck with the generic image, but you'll have to map your controls manually.
For first-time installation, plug in your RP2040 board while holding the BOOTSEL button to enter bootloader mode (this also happens if your boards has no code loaded on it yet) - it will appear as a removable drive named RPI-RP2. Now simply drag'n'drop your chosen .UF2 file to the drive, let it copy, and it will automatically unmount and reboot into OpenFIRE! You can now setup the gun as you please from the OpenFIRE App.

For any future firmware updates, you can simply connect ("dock") the gun to the OF App, and click the Reboot to Bootloader option in the Gun Tests tab.

Board files are as follows:

  • adafruitItsy: Adafruit ItsyBitsy RP2040 - Samco Carrier Boards Layout (2.0 [default] or 1.1 [set preset in app])
  • adafruitKB2040: Adafruit "Keeboar" KB2040 - Other Carrier Boards Layout
  • arduinoNano: Arduino Nano RP2040 Connect
  • rpipico: Raspberry Pi Pico (non-W) and clones thereof
  • rpipicow-btBETA: Raspberry Pi Pico W, Bluetooth-enabled (BETA)
  • rpipicow-noBT: Raspberry Pi Pico W, USB-only
  • vccgndYD: VCC-GND YD RP2040 (aka: the Chinese Pico clone with embedded NeoPixel)
  • waveshareZero: Waveshare RP2040 Zero
  • generic: Generic RP2040, may or may not work if your board isn't listed above.

OpenFIRE Public Release (Candidate) 4 - Heartful!

26 Jun 23:35
7efd05d
Compare
Choose a tag to compare

SAMCO Fix

SAMCO 1.1 boards requires that pin 5 be set to an output and normally high, so versions after this release should allow the camera to work on ItsyBitsy builds in either SAMCO 1.1 or 2.0. With the corresponding app update introducing a SAMCO 1.1 layout preset, there should be no need for separate Adafruit ItsyBitsy builds for each board anymore.

To clarify, OpenFIREfw.adafruitItsy.uf2 is the default release for both SAMCO carrier boards. The default pinout is setup for Samco 2.0 by default; if you're using a Samco 1.1 board, you'll need to update the pinout in the app (simply choose SAMCO 1.1 from the preset layouts drop down in the bottom right-hand corner of the board layout screen).

EDIT: Binaries have been updated July 3rd @ 7:30 PM EST to resolve a minor compiler snafu where some boards weren't applying all of their default presets on boot (mainly rpipico's 4-pin & TMP pins). If you aren't using a TMP, you may want to enable custom pins and unmap Pin 28 from the app to avoid irregular pin reads. Also, binaries have been updated again @ 8:33 PM EST to resolve issues where static NeoPixels weren't being lit when it matched the count of neopixels in a chain.

Installation

Download the firmware file that corresponds to your microcontroller - if it's not listed, you may have luck with the generic image, but you'll have to map your controls manually.
For first-time installation, plug in your RP2040 board while holding the BOOTSEL button to enter bootloader mode (this also happens if your boards has no code loaded on it yet) - it will appear as a removable drive named RPI-RP2. Now simply drag'n'drop your chosen .UF2 file to the drive, let it copy, and it will automatically unmount and reboot into OpenFIRE! You can now setup the gun as you please from the OpenFIRE App.

For any future firmware updates, you can simply connect ("dock") the gun to the OF App, and click the Reboot to Bootloader option in the Gun Tests tab.

Board files are as follows:

  • adafruitItsy: Adafruit ItsyBitsy RP2040 - Samco Carrier Boards Layout (2.0 [default] or 1.1 [set preset in app])
  • adafruitKB2040: Adafruit "Keeboar" KB2040 - Other Carrier Boards Layout
  • arduinoNano: Arduino Nano RP2040 Connect
  • rpipico: Raspberry Pi Pico (non-W) and clones thereof
  • rpipicow-btBETA: Raspberry Pi Pico W, Bluetooth-enabled (BETA)
  • rpipicow-noBT: Raspberry Pi Pico W, USB-only
  • vccgndYD: VCC-GND YD RP2040 (aka: the Chinese Pico clone with embedded NeoPixel)
  • waveshareZero: Waveshare RP2040 Zero
  • generic: Generic RP2040, may or may not work if your board isn't listed above.

OpenFIRE Public Release (Candidate) 3 - Heartful!

18 Jun 14:25
d2265ce
Compare
Choose a tag to compare

Welcome to OpenFIRE!-deux

This RC fixes a position range oversight that mainly affected Windows users, and player ID (when it actually correlates to Player Number) now properly reflects the keyboard mappings at boot, rather than needing an XR# signal - though you may still want to use the serial commands offered to get the full flexibility of the OpenFIRE system!

The only currently known issues are within the Bluetooth support, as it's still early and a work-in-progress - it only supports the Pico W, and using the Bluetooth-enabled firmware image over USB will cause the board to hang. It also may not re-sync to the PC without manually reconnecting to it. If anyone with more experience of Arduino/Pico Bluetooth could offer assistance in this area, it would be appreciated.

Update: Binaries have been updated @ June 19th, 12:11 AM EST with some backend tweaks to the calibration, and fixes for the gamepad output under Windows.

Installation

Download the firmware file that corresponds to your microcontroller - if it's not listed, you may have luck with the generic image, but you'll have to map your controls manually.
For first-time installation, plug in your RP2040 board while holding the BOOTSEL button to enter bootloader mode (this also happens if your boards has no code loaded on it yet) - it will appear as a removable drive named RPI-RP2. Now simply drag'n'drop your chosen .UF2 file to the drive, let it copy, and it will automatically unmount and reboot into OpenFIRE! You can now setup the gun as you please from the OpenFIRE App.

For any future firmware updates, you can simply connect ("dock") the gun to the OF App, and click the Reboot to Bootloader option in the Gun Tests tab.

Board files are as follows:

  • adafruitItsy: Adafruit ItsyBitsy RP2040 - Samco Carrier Boards Layout
  • adafruitKB2040: Adafruit "Keeboar" KB2040 - Other Carrier Boards Layout
  • arduinoNano: Arduino Nano RP2040 Connect
  • rpipico: Raspberry Pi Pico (non-W) and clones thereof
  • rpipicow-btBETA: Raspberry Pi Pico W, Bluetooth-enabled (BETA)
  • rpipicow-noBT: Raspberry Pi Pico W, USB-only
  • vccgndYD: VCC-GND YD RP2040 (aka: the Chinese Pico clone with embedded NeoPixel)
  • waveshareZero: Waveshare RP2040 Zero
  • generic: Generic RP2040, may or may not work if your board isn't listed above.

OpenFIRE Public Release (Candidate) 2 - Heartful!

11 Jun 17:12
580c7f1
Compare
Choose a tag to compare

Welcome to OpenFIRE!

insert music link here

After nearly a year of cumulative work, this is the first second 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!

The only currently known issues are within the Bluetooth support, as it's still early and a work-in-progress - it only supports the Pico W, and using the Bluetooth-enabled firmware image over USB will cause the board to hang. It also may not re-sync to the PC without manually reconnecting to it. If anyone with more experience of Arduino/Pico Bluetooth could offer assistance in this area, it would be appreciated.

Installation

Download the firmware file that corresponds to your microcontroller - if it's not listed, you may have luck with the generic image, but you'll have to map your controls manually.
For first-time installation, plug in your RP2040 board while holding the BOOTSEL button to enter bootloader mode (this also happens if your boards has no code loaded on it yet) - it will appear as a removable drive named RPI-RP2. Now simply drag'n'drop your chosen .UF2 file to the drive, let it copy, and it will automatically unmount and reboot into OpenFIRE! You can now setup the gun as you please from the OpenFIRE App.

For any future firmware updates, you can simply connect ("dock") the gun to the OF App, and click the Reboot to Bootloader option in the Gun Tests tab.

Board files are as follows:

  • adafruitItsy: Adafruit ItsyBitsy RP2040 - Samco Carrier Boards Layout
  • adafruitKB2040: Adafruit "Keeboar" KB2040 - Other Carrier Boards Layout
  • arduinoNano: Arduino Nano RP2040 Connect
  • rpipico: Raspberry Pi Pico (non-W) and clones thereof
  • rpipicow-btBETA: Raspberry Pi Pico W, Bluetooth-enabled (BETA)
  • rpipicow-noBT: Raspberry Pi Pico W, USB-only
  • vccgndYD: VCC-GND YD RP2040 (aka: the Chinese Pico clone with embedded NeoPixel)
  • waveshareZero: Waveshare RP2040 Zero
  • generic: Generic RP2040, may or may not work if your board isn't listed above.