Releases: TeamOpenFIRE/OpenFIRE-Firmware
OpenFIRE Public Release 5.2 - Dawn
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 LayoutarduinoNano
: Arduino Nano RP2040 Connectrpipico
: Raspberry Pi Pico (non-W) and clones thereofrpipicow-noBT
: Raspberry Pi Pico W, USB-onlyvccgndYD
: VCC-GND YD RP2040 (aka: the Chinese Pico clone with embedded NeoPixel)waveshareZero
: Waveshare RP2040 Zerogeneric
: 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!
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 ofM0
commands, whereM0x0
sets outputs to Mouse & Keyboard, andM0x1
sets it to Gamepad mode, with the camera mapped to the right stick. To set the camera to the left stick, append anL
to the command (M0x1L
)M2
now sets Pedal 1 functionality:x0
uses Mouse 4 as before,x1
sets it to Right Mouse, andx2
sets it to Middle Mouse. These are reset whenever a Serial Exit commandE
is detected.M6
sets either Solenoid or Rumble FF (x0
orx1
, 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 LayoutarduinoNano
: Arduino Nano RP2040 Connectrpipico
: Raspberry Pi Pico (non-W) and clones thereofrpipicow-noBT
: Raspberry Pi Pico W, USB-onlyvccgndYD
: VCC-GND YD RP2040 (aka: the Chinese Pico clone with embedded NeoPixel)waveshareZero
: Waveshare RP2040 Zerogeneric
: 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!
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 LayoutarduinoNano
: Arduino Nano RP2040 Connectrpipico
: Raspberry Pi Pico (non-W) and clones thereofrpipicow-btBETA
: Raspberry Pi Pico W, Bluetooth-enabled (BETA)rpipicow-noBT
: Raspberry Pi Pico W, USB-onlyvccgndYD
: VCC-GND YD RP2040 (aka: the Chinese Pico clone with embedded NeoPixel)waveshareZero
: Waveshare RP2040 Zerogeneric
: Generic RP2040, may or may not work if your board isn't listed above.
OpenFIRE Public Release (Candidate) 4 - Heartful!
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 LayoutarduinoNano
: Arduino Nano RP2040 Connectrpipico
: Raspberry Pi Pico (non-W) and clones thereofrpipicow-btBETA
: Raspberry Pi Pico W, Bluetooth-enabled (BETA)rpipicow-noBT
: Raspberry Pi Pico W, USB-onlyvccgndYD
: VCC-GND YD RP2040 (aka: the Chinese Pico clone with embedded NeoPixel)waveshareZero
: Waveshare RP2040 Zerogeneric
: Generic RP2040, may or may not work if your board isn't listed above.
OpenFIRE Public Release (Candidate) 3 - Heartful!
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 LayoutadafruitKB2040
: Adafruit "Keeboar" KB2040 - Other Carrier Boards LayoutarduinoNano
: Arduino Nano RP2040 Connectrpipico
: Raspberry Pi Pico (non-W) and clones thereofrpipicow-btBETA
: Raspberry Pi Pico W, Bluetooth-enabled (BETA)rpipicow-noBT
: Raspberry Pi Pico W, USB-onlyvccgndYD
: VCC-GND YD RP2040 (aka: the Chinese Pico clone with embedded NeoPixel)waveshareZero
: Waveshare RP2040 Zerogeneric
: Generic RP2040, may or may not work if your board isn't listed above.
OpenFIRE Public Release (Candidate) 2 - Heartful!
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 LayoutadafruitKB2040
: Adafruit "Keeboar" KB2040 - Other Carrier Boards LayoutarduinoNano
: Arduino Nano RP2040 Connectrpipico
: Raspberry Pi Pico (non-W) and clones thereofrpipicow-btBETA
: Raspberry Pi Pico W, Bluetooth-enabled (BETA)rpipicow-noBT
: Raspberry Pi Pico W, USB-onlyvccgndYD
: VCC-GND YD RP2040 (aka: the Chinese Pico clone with embedded NeoPixel)waveshareZero
: Waveshare RP2040 Zerogeneric
: Generic RP2040, may or may not work if your board isn't listed above.