Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
169 commits
Select commit Hold shift + click to select a range
65d4ad1
feat: WIP - Protobuf config, ConfiguratorBackend, remapping, persiste…
JonnyHaystack Sep 30, 2023
64e9947
fix: remove large stack allocations to heap to prevent stack overflow
JonnyHaystack Oct 3, 2023
a9d782b
fix: prevent unmapping default activator when a new physical activato…
JonnyHaystack Oct 3, 2023
39ec0c8
fix: typo in ToughLoveArena mode
JonnyHaystack Oct 3, 2023
8dc3cd2
chore: remove commented out code
JonnyHaystack Oct 3, 2023
6fb1efc
feat: add config utils
JonnyHaystack Oct 6, 2023
fac53ac
feat: updated mode selection code
JonnyHaystack Oct 6, 2023
123a22c
Lots of refactoring: use const where possible, split up backend initi…
JonnyHaystack Oct 8, 2023
4361d2f
Update B0XXInputViewer, Configurator, and mode_selection
JonnyHaystack Oct 8, 2023
5246ce1
fix: resolve AVR performance issues
JonnyHaystack Oct 8, 2023
512e5a4
feat: update pico and c53 configs
JonnyHaystack Oct 8, 2023
abd1222
feat: update everything to use new standardised button names
JonnyHaystack Oct 9, 2023
50855e1
feat: use watchdog and magic key for reboot firmware/bootloader on AVR
JonnyHaystack Oct 15, 2023
4dfa0b7
fix: RT1 -> LT1 in MODE_FGC activation binding
JonnyHaystack Oct 15, 2023
acb2300
fix: correct default DInputBackend binding
JonnyHaystack Oct 20, 2023
773ec53
feat: improve console detection on Pico
JonnyHaystack Oct 20, 2023
39a457c
fix: make input source static in c53 config and correct RF1 and RF2 b…
JonnyHaystack Oct 20, 2023
593b86b
refactor: calculate game_mode_configs max length
JonnyHaystack Oct 20, 2023
970fe26
refactor: remove large stack and heap allocations
JonnyHaystack Oct 21, 2023
b63ee1c
feat: add configurable keyboard mode support
JonnyHaystack Oct 21, 2023
8381986
fix: fix console detection with Model U
JonnyHaystack Oct 21, 2023
01a970e
feat: update HayBox-proto and enable more warnings
JonnyHaystack Oct 21, 2023
030f478
refactor: fix delete-non-virtual-dtor warnings
JonnyHaystack Oct 21, 2023
775a5c0
fix: update avr_usb backend init with keyboard mode configs
JonnyHaystack Oct 21, 2023
66ed1bf
feat: track current game mode config index
JonnyHaystack Oct 21, 2023
4e16eca
build: update HayBox-proto to reduce integer sizes
JonnyHaystack Oct 21, 2023
dfaf289
refactor: reduce AVR RAM usage for Protobuf arrays
JonnyHaystack Oct 21, 2023
d0851f1
feat: add HTangl V1 config
JonnyHaystack Oct 21, 2023
88450fe
build: optimise AVR memory usage a bit
JonnyHaystack Oct 21, 2023
7ffd24e
feat: add keyboard mode to Pico default config
JonnyHaystack Oct 21, 2023
e58164b
refactor: extract default config for reusability
JonnyHaystack Oct 21, 2023
4afed5e
feat: add config for MODE_KEYBOARD in pico config
JonnyHaystack Oct 21, 2023
df90428
refactor: extract Pico default config for reusability
JonnyHaystack Oct 21, 2023
29c8d10
build: move Persistence dependencies to arduino_pico_base
JonnyHaystack Oct 21, 2023
7066340
refactor: move Persistence to Pico HAL
JonnyHaystack Oct 21, 2023
b5d455e
feat: add config defaults for avr_nousb
JonnyHaystack Oct 21, 2023
c58477e
refactor: move ConfiguratorBackend to Pico HAL
JonnyHaystack Oct 21, 2023
2fd72e9
fix: add back missing argument to EEPROM.begin()
JonnyHaystack Oct 21, 2023
d2839c5
fix: Pico config incorrect button names in pinout
JonnyHaystack Oct 22, 2023
5687c9d
fix: revert back to manually specified mode activation masks array le…
JonnyHaystack Oct 26, 2023
bc0b16d
refactor: use array indices instead of enum values for mode and backe…
JonnyHaystack Nov 11, 2023
279b202
feat: making backend initialization stuff overridable
JonnyHaystack Nov 11, 2023
596d2b2
fix: remove HandleSocd override from RocketLeague mode
JonnyHaystack Nov 11, 2023
71f1005
feat: add array bound checks for set config command
JonnyHaystack Nov 11, 2023
7b1520a
refactor: improve backend init overriding
JonnyHaystack Nov 11, 2023
1e44fe9
fix: incorrect backend configs count in default pico config
JonnyHaystack Nov 13, 2023
4b32410
feat: add DebouncedGpioButtonInput and DebouncedSwitchMatrixInput for…
JonnyHaystack Nov 15, 2023
f600645
fix: build errors in SwitchMatrixInput and DebouncedSwitchMatrixInput
JonnyHaystack Nov 23, 2023
d60daf1
feat: add initial Glyph config including 4pos switch implementation
JonnyHaystack Nov 23, 2023
7018adc
feat: use debounced input on core1 in pico config
JonnyHaystack Nov 23, 2023
bdefb91
fix: default AVR config was broken
JonnyHaystack Nov 27, 2023
a88fd85
build: update arduino-pico version to 3.6.1
JonnyHaystack Nov 27, 2023
1553910
feat: add initial version of NeoPixelBackend
JonnyHaystack Nov 27, 2023
992ca2d
feat: add NeoPixelBackend to Glyph secondary backends
JonnyHaystack Nov 27, 2023
dc4d718
fix: use default configs for C53
JonnyHaystack Nov 27, 2023
f8cd716
fix: input viewer had wrong input for Z
JonnyHaystack Nov 27, 2023
bf79a42
fix: undefined behaviour
JonnyHaystack Nov 28, 2023
7e88f2b
fix: add missing break
JonnyHaystack Nov 28, 2023
783f414
ci: add Glyph config to CI
JonnyHaystack Nov 28, 2023
ef9a4c3
build: update nanopb to new stable release
JonnyHaystack Nov 29, 2023
c76ec0c
feat: update HayBox-proto to add RGB configuration
JonnyHaystack Nov 30, 2023
58599ba
feat: implement RGB config support
JonnyHaystack Dec 12, 2023
c95b733
fix: handle some edge cases in NeoPixelBackend
JonnyHaystack Dec 12, 2023
b57a387
feat: set gamemode for all backends on init
JonnyHaystack Dec 12, 2023
f0cb9c3
feat: add NesBackend and SnesBackend
JonnyHaystack Dec 17, 2023
9758553
feat: use FastLED instead of Adafruit_NeoPixel
JonnyHaystack Dec 17, 2023
3be6503
fix: add NES/SNES backends to backend_init
JonnyHaystack Dec 17, 2023
520f261
perf: get rid of unnecessary dynamic allocations
JonnyHaystack Dec 17, 2023
58ba272
build: fix missing FastLED option
JonnyHaystack Dec 20, 2023
608ebf1
fix: wrong array length fields in default Pico config
JonnyHaystack Dec 22, 2023
d281591
fix: update pico config
JonnyHaystack Jan 2, 2024
7443bb5
build: pin XInput lib to specific tag
JonnyHaystack Jan 2, 2024
b686722
build: update HayBox-proto version
JonnyHaystack Jan 3, 2024
5aa2a7f
ci: make build workflow safer
JonnyHaystack Jan 30, 2024
0649a0a
build: switch back to mainline FastLED now that PRs are merged
JonnyHaystack Jan 30, 2024
0a358fb
feat: OLED display support
JonnyHaystack Feb 8, 2024
6503d84
feat: add missing stuff for OLED support
JonnyHaystack Feb 8, 2024
a250f49
chore: update clang-format config
JonnyHaystack Feb 8, 2024
a97eabf
feat: move default RGB config to Glyph overrides
JonnyHaystack Feb 8, 2024
535d12a
style: remove commented out code
JonnyHaystack Feb 8, 2024
736aed9
feat: add SOCD menu to OLED and move to core1
JonnyHaystack Mar 6, 2024
45b5d8d
feat: add RGB brightness menu and refactor display control handling
JonnyHaystack Mar 6, 2024
19cc1c2
feat: set default RGB brightness to 255 for Glyph
JonnyHaystack Mar 6, 2024
7f7c639
feat: add input display to OLED
JonnyHaystack Mar 6, 2024
b184d8d
chore: update some copyright headers
JonnyHaystack Mar 8, 2024
5d664a1
refactor: introduce DisplayMode, refactor IntegratedDisplay
JonnyHaystack Mar 8, 2024
f3e7ba0
fix: minor visual bugs due to order of operations
JonnyHaystack Mar 8, 2024
674aa15
build: update nes-pio
JonnyHaystack Mar 8, 2024
41be1c8
feat: add CustomControllerMode
JonnyHaystack Mar 10, 2024
06d4714
feat: implement analog triggers in CustomControllerMode
JonnyHaystack Mar 10, 2024
f2b400c
refactor: statically allocate gamemodes
JonnyHaystack Mar 10, 2024
bbd5f59
fix: if no RGB config then LEDs should be off
JonnyHaystack Mar 10, 2024
1797bea
feat: add MenuButtonHints display mode
JonnyHaystack Mar 11, 2024
7cf8f23
feat: reorganise display mode transitions
JonnyHaystack Mar 11, 2024
07ca073
feat: Glyph-specific proto and display menu
JonnyHaystack Mar 22, 2024
4cf4331
feat: use streams and LittleFS instead of buffers and EEPROM
JonnyHaystack Mar 23, 2024
933cd8a
fix: prevent busy wait in FastLED
JonnyHaystack Mar 23, 2024
1ae1c4f
feat: add Schism config and PCA9671 input source
JonnyHaystack Apr 16, 2024
1562151
build: add missing dependency
JonnyHaystack Apr 23, 2024
175f00e
fix: Glyph default config missing RGB mode assignments
JonnyHaystack May 14, 2024
97d4fcf
fix: RGB refresh timeout not initialized
JonnyHaystack May 17, 2024
0fa222e
fix: remapping bug allows macro creation
JonnyHaystack May 23, 2024
3fd3535
perf: optimize remapping with bitwise operations
JonnyHaystack May 23, 2024
f493fbd
style: cleanup Schism config
JonnyHaystack May 23, 2024
e49ada0
feat: update OLED menu item text
JonnyHaystack May 23, 2024
cbf6f5a
feat: add Glyph button remapping for FGC mode
JonnyHaystack May 23, 2024
3247d30
fix: keyboard modes should only be visible when using DInputBackend
JonnyHaystack May 23, 2024
06e7090
feat: CustomControllerMode support multi-button modifiers
JonnyHaystack May 23, 2024
45b6225
style: remove commented out code
JonnyHaystack May 23, 2024
e2ac009
refactor: write out Glyph config in full because the overrides are ge…
JonnyHaystack May 23, 2024
d335c36
feat: update Glyph OLED controls
JonnyHaystack May 23, 2024
505318c
fix: missing break and wrong count
JonnyHaystack May 23, 2024
2bfc5ac
fix: revert test default_mode_config values
JonnyHaystack May 23, 2024
bccde9c
fix: RGB mode not being applied for keyboard modes
JonnyHaystack May 24, 2024
f423ab4
feat: NES/SNES autodetection
JonnyHaystack May 24, 2024
ff0bb2e
feat: add RGB config for default keyboard mode
JonnyHaystack May 24, 2024
9eafeb8
ci: set fail-fast = false
JonnyHaystack May 25, 2024
8e3aedc
ci: add build-device-config reusable Action
JonnyHaystack May 25, 2024
c74261c
ci: rename yaml -> yml
JonnyHaystack May 25, 2024
e4b6956
ci: update repo checkout path for device config build
JonnyHaystack May 25, 2024
7d9c2be
ci: revert to manual command for git clone
JonnyHaystack May 25, 2024
35b9654
ci: fix git clone path
JonnyHaystack May 25, 2024
f417dc5
ci: use setup-python@v5
JonnyHaystack May 26, 2024
51e9e51
fix: use static Persistence instance in pico config
JonnyHaystack May 26, 2024
7a7baa3
chore: clean up duplicated coords in Ultimate mode
JonnyHaystack May 27, 2024
9ebdc81
feat: only allow keyboard mode with DInputBackend
JonnyHaystack May 27, 2024
6df21d5
feat: add dashboard option support for Glyph
JonnyHaystack May 27, 2024
3fbe2c9
chore: clean up default Pico config
JonnyHaystack May 27, 2024
296a34f
fix: incorrect SOCD pairs for FgcMode
JonnyHaystack Jun 6, 2024
43f03a3
fix: add missing remap for split FGC mode
JonnyHaystack Jun 6, 2024
38ccfa9
fix: incorrect button remap for Glyph split FGC
JonnyHaystack Jun 8, 2024
42bc7c0
feat: add B0XX R4 config
JonnyHaystack Jun 8, 2024
40c118a
ci: add schism build
JonnyHaystack Jun 8, 2024
b743868
fix: schism should scan expander_input before checking button holds
JonnyHaystack Jun 8, 2024
a1ccfc4
ci: update deprecated actions
JonnyHaystack Jun 8, 2024
ac0e9b3
fix: use global Persistence instance in schism config
JonnyHaystack Jun 8, 2024
374f912
feat: add Melee and PM mode config options
JonnyHaystack Jun 9, 2024
8b51244
feat: add more validation checks for config update
JonnyHaystack Jun 11, 2024
d80420c
feat: add default mappings for L3 and R3 in FgcMode
JonnyHaystack Jun 11, 2024
c5da944
feat: update default mappings for L3 and R3 in FgcMode
JonnyHaystack Jun 11, 2024
6f522b0
feat: add button combo mapping support
JonnyHaystack Jun 11, 2024
491b517
fix: add back code that got removed by VS Code...
JonnyHaystack Jun 12, 2024
dead2a6
feat: config menu instantly USB backend switching
JonnyHaystack Jun 12, 2024
c75527c
fix: fix typo and add watchdog reboot check
JonnyHaystack Jun 12, 2024
5031aba
refactor: remove glyph config (has been moved to LimitLabs/HayBox-con…
JonnyHaystack Jun 12, 2024
05f548e
fix: don't allow keyboard modes unless DInputBackend
JonnyHaystack Jun 12, 2024
65bb5e5
feat: add CommunicationBackend.GetOutputs()
JonnyHaystack Jun 14, 2024
602c61e
refactor: put OutputState analog axes in anonymous union + struct
JonnyHaystack Jun 14, 2024
ce0341c
feat: add digital_output_name() helper
JonnyHaystack Jun 14, 2024
a836a21
ci: update GitHub Actions workflows
JonnyHaystack Jun 15, 2024
b38e53a
feat: add RoA mode config to default config
JonnyHaystack Jun 29, 2024
211f97c
build: pin platform version
JonnyHaystack Sep 29, 2024
82a1810
Add Austin's Rivals 2 mode (#87)
GrammyMoney Jan 26, 2025
b779b4d
build: fix devcontainer config
JonnyHaystack Jan 27, 2025
ba8f4c9
Merge branch 'configurator' of github.com:JonnyHaystack/HayBox into c…
JonnyHaystack Jan 27, 2025
900b1b4
chore: remove commented out code
JonnyHaystack Jan 27, 2025
7fb6b2c
Update nanopb dependency
JonnyHaystack Mar 14, 2025
393bc1d
Get AVR builds working again
JonnyHaystack Mar 14, 2025
60e493a
Add htangl_v1 env to CI
JonnyHaystack Mar 14, 2025
60f589e
Add missing AVR state_util.hpp
JonnyHaystack Mar 14, 2025
9db70bd
Fix avr_nousb builds
JonnyHaystack Mar 15, 2025
ed38be3
build: Remove glyph from CI
JonnyHaystack Mar 15, 2025
23a5847
Add missing file
JonnyHaystack Mar 15, 2025
3c11591
build: Fix leonardo and micro env builds
JonnyHaystack Mar 15, 2025
bb27698
Update AVR device configs
JonnyHaystack Mar 15, 2025
5872724
build: increase RP2040 clock rate to 200MHz
JonnyHaystack Mar 15, 2025
82704b1
Fix gccmx and c53 builds
JonnyHaystack Mar 15, 2025
bc357ad
Disable AVR Nunchuk functionality to fix build
JonnyHaystack Mar 15, 2025
d41200d
Merge branch 'master' into configurator
JonnyHaystack Mar 15, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion .clang-format
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
---
DisableFormat: false
AlignAfterOpenBracket: BlockIndent
AlignArrayOfStructures: Left
Expand Down Expand Up @@ -36,7 +37,7 @@ PackConstructorInitializers: CurrentLine
PenaltyReturnTypeOnItsOwnLine: 2000
PointerAlignment: Right
QualifierAlignment: Custom
QualifierOrder: ['inline', 'static', 'const', 'constexpr', 'restrict', 'volatile', 'type']
QualifierOrder: ['inline', 'static', 'constexpr', 'const', 'restrict', 'volatile', 'type']
ReferenceAlignment: Right
ReflowComments: true
SeparateDefinitionBlocks: Always
Expand All @@ -57,3 +58,6 @@ SpaceBeforeCtorInitializerColon: true
SpacesInContainerLiterals: false
TabWidth: 4
UseTab: Never
---
Language: Proto
ColumnLimit: 100
4 changes: 2 additions & 2 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
{
"name": "HayBox",
"image": "mcr.microsoft.com/devcontainers/base:ubuntu-22.04",
"image": "mcr.microsoft.com/devcontainers/base:ubuntu-24.11",
"features": {
"ghcr.io/rocker-org/devcontainer-features/apt-packages:1": {
"packages": "python3-pip,python3-venv,clang-format-14"
}
},
"onCreateCommand": "python3 -m pip install -U platformio && pio pkg install && pio pkg update -g -p https://github.com/maxgerhardt/platform-raspberrypi",
"onCreateCommand": "python3 -m pip install -U platformio && pio pkg install && pio pkg update -g -p https://github.com/maxgerhardt/platform-raspberrypi.git#5e87ae34ca025274df25b3303e9e9cb6c120123c",
"customizations": {
"vscode": {
"settings": {
Expand Down
86 changes: 86 additions & 0 deletions .github/workflows/build-device-config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
name: Build device config

on: [workflow_call]

jobs:
metadata:
runs-on: ubuntu-latest
name: Parse config metadata
outputs:
meta_json: ${{ steps.parse_yaml.outputs.metadata }}
build_matrix: ${{ steps.parse_yaml.outputs.metadata.build }}
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Install yaml2json
run: python3 -m pip install remarshal

- name: Read metadata from yaml file
id: parse_yaml
run: |
echo "metadata=$(yaml2json 'meta.yaml')" >> "$GITHUB_OUTPUT"

build:
runs-on: ubuntu-latest
permissions:
contents: write
needs: metadata
env:
HAYBOX_REPO: ${{ fromJson(needs.metadata.outputs.meta_json).repo }}
HAYBOX_REVISION: ${{ fromJson(needs.metadata.outputs.meta_json).revision }}
DEVICE_CONFIG_REVISION: ${{ github.ref_type == 'tag' && github.ref_name || github.sha }}
PIO_ENV: ${{ matrix.env }}
BIN_EXT: ${{ matrix.bin_ext }}
strategy:
fail-fast: false
matrix:
include: ${{ fromJson(needs.metadata.outputs.meta_json).build }}

steps:
- name: Check out specific HayBox revision
run: |
git clone "https://github.com/$HAYBOX_REPO" .
git checkout "$HAYBOX_REVISION"

- name: Check out config repo
uses: actions/checkout@v4
with:
path: config/device

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.10'

- name: Install PlatformIO
run: |
python -m pip install --upgrade pip
pip install --upgrade platformio

- name: Set artifact filename environment variable
run: |
echo "ARTIFACT_NAME=HayBox-${HAYBOX_REVISION}-${PIO_ENV}-${DEVICE_CONFIG_REVISION}.${BIN_EXT}" >> "$GITHUB_ENV"

- name: Set artifact path environment variable
run: |
echo "ARTIFACT_PATH=${PIO_ENV}/${ARTIFACT_NAME}" >> "$GITHUB_ENV"

- name: Build ${{ matrix.env }} env
run: |
pio run -e "$PIO_ENV"
mkdir -p "$PIO_ENV"

cp ".pio/build/${PIO_ENV}/firmware.${BIN_EXT}" "$ARTIFACT_PATH"

- name: Publish ${{ matrix.env }} artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ env.ARTIFACT_NAME }}
path: ${{ env.ARTIFACT_PATH }}

- name: Upload binaries to release
uses: softprops/action-gh-release@v1
if: github.ref_type == 'tag'
with:
files: ${{ env.ARTIFACT_PATH }}
95 changes: 56 additions & 39 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,44 +9,53 @@ jobs:
contents: write
env:
VERSION_REF: ${{ github.ref_type == 'tag' && github.ref_name || github.sha }}
PIO_ENV: ${{ matrix.env }}
BIN_EXT: ${{ matrix.bin_ext }}
strategy:
matrix:
include:
- env: c53
bin_ext: uf2
- env: pico
bin_ext: uf2
- env: arduino_uno
bin_ext: hex
- env: arduino_nano
bin_ext: hex
- env: arduino_mega
bin_ext: hex
- env: arduino_leonardo
bin_ext: hex
- env: arduino_micro
bin_ext: hex
- env: b0xx_r1
bin_ext: hex
- env: b0xx_r2
bin_ext: hex
- env: gccmx
bin_ext: hex
- env: gccpcb1
bin_ext: hex
- env: gccpcb2
bin_ext: hex
- env: lbx
bin_ext: hex
- env: smashbox
bin_ext: hex
fail-fast: false
matrix:
include:
- env: c53
bin_ext: uf2
- env: b0xx_r4
bin_ext: uf2
- env: pico
bin_ext: uf2
- env: schism
bin_ext: uf2
- env: arduino_uno
bin_ext: hex
- env: arduino_nano
bin_ext: hex
- env: arduino_mega
bin_ext: hex
- env: arduino_leonardo
bin_ext: hex
- env: arduino_micro
bin_ext: hex
- env: b0xx_r1
bin_ext: hex
- env: b0xx_r2
bin_ext: hex
- env: gccmx
bin_ext: hex
- env: gccpcb1
bin_ext: hex
- env: gccpcb2
bin_ext: hex
- env: htangl_v1
bin_ext: hex
- env: lbx
bin_ext: hex
- env: smashbox
bin_ext: hex

steps:
- name: Check out source code
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: '3.10'

Expand All @@ -55,20 +64,28 @@ jobs:
python -m pip install --upgrade pip
pip install --upgrade platformio

- name: Set artifact filename environment variable
run: |
echo "ARTIFACT_NAME=HayBox-${VERSION_REF}-${PIO_ENV}.${BIN_EXT}" >> "$GITHUB_ENV"

- name: Set artifact path environment variable
run: |
echo "ARTIFACT_PATH=${PIO_ENV}/${ARTIFACT_NAME}" >> "$GITHUB_ENV"

- name: Build ${{ matrix.env }} env
run: |
pio run -e ${{ matrix.env }}
mkdir -p ${{ matrix.env }}
cp .pio/build/${{ matrix.env }}/firmware.${{ matrix.bin_ext }} ${{ matrix.env }}/HayBox-${{ env.VERSION_REF }}-${{ matrix.env }}.${{ matrix.bin_ext }}
pio run -e "$PIO_ENV"
mkdir -p "$PIO_ENV"
cp ".pio/build/${PIO_ENV}/firmware.${BIN_EXT}" "$ARTIFACT_PATH"

- name: Publish ${{ matrix.env }} artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: HayBox-${{ env.VERSION_REF }}-${{ matrix.env }}.${{ matrix.bin_ext }}
path: ${{ matrix.env }}/HayBox-${{ env.VERSION_REF }}-${{ matrix.env }}.${{ matrix.bin_ext }}
name: ${{ env.ARTIFACT_NAME }}
path: ${{ env.ARTIFACT_PATH }}

- name: Upload binaries to release
uses: softprops/action-gh-release@v1
if: github.ref_type == 'tag'
with:
files: ${{ matrix.env }}/HayBox-${{ env.VERSION_REF }}-${{ matrix.env }}.${{ matrix.bin_ext }}
files: ${{ env.ARTIFACT_PATH }}
14 changes: 7 additions & 7 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
// See http://go.microsoft.com/fwlink/?LinkId=827846
// for the documentation about the extensions.json format
"recommendations": [
"platformio.platformio-ide"
]
}
{
// See http://go.microsoft.com/fwlink/?LinkId=827846
// for the documentation about the extensions.json format
"recommendations": [
"platformio.platformio-ide"
]
}
39 changes: 39 additions & 0 deletions HAL/avr/avr_nousb/include/comms/backend_init.hpp.bak
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
#ifndef _COMMS_BACKEND_INIT_HPP
#define _COMMS_BACKEND_INIT_HPP

#include "core/CommunicationBackend.hpp"
#include "core/InputSource.hpp"
#include "core/pinout.hpp"
#include "core/state.hpp"

#include <config.pb.h>

/**
* @brief Initialize the backends array and return the number of elements in the array
*
* @param backends The reference to assign to the created backends array
* @param inputs Reference to the InputState struct to pass into each backend's constructor
* @param input_sources Input sources array to pass into each backend's constructor
* @param input_source_count Number of elements in the input_sources array
* @param config Reference to global config struct
* @param pinout Pinout struct used for GameCube/N64 communication backends
* @return size_t The number of backends in the array
*/
size_t initialize_backends(
CommunicationBackend **&backends,
InputState &inputs,
InputSource **input_sources,
size_t input_source_count,
const Config &config,
const Pinout &pinout
);

bool initialize_backends_custom(
CommunicationBackend **&backends,
InputSource **input_sources,
size_t input_source_count
) __attribute__((weak));

void select_backend_custom(CommunicationBackendConfig &backend_config) __attribute__((weak));

#endif
Loading