Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
5e687d3
chore: update libDaisy to v8.1.0
TheSlowGrowth Oct 8, 2025
8780bca
chore: update gcc-arm-none-eabi to version 10-2020-q4-major
TheSlowGrowth Sep 5, 2024
0d0b47d
feat: allow to abort a recording immediately
TheSlowGrowth Aug 10, 2024
9126620
feat: allow to prevent recording/playing in `TapeLooper`
TheSlowGrowth Aug 9, 2024
8f214e3
feat: Add more getters to `TapeLooper`
TheSlowGrowth Aug 10, 2024
e8bca51
feat: Allow to set playback length without recording
TheSlowGrowth Aug 16, 2024
30619d7
feat: Add empty `AudioSaveAndRecall`
TheSlowGrowth Aug 16, 2024
d28bb95
feat: allow to set recording progress from tests
TheSlowGrowth Sep 4, 2024
53a9e51
chore: Move some libDaisy stubs in tests to a dedicated header file
TheSlowGrowth Oct 7, 2025
9d78b40
feat: add WavFileFormat.cpp
TheSlowGrowth Sep 4, 2024
11ef983
fix: don't destroy never created object
TheSlowGrowth Oct 7, 2025
08b1a7a
chore: run firmware tests in test folder to be able to access files t…
TheSlowGrowth Oct 7, 2025
95c9d3a
chore: update Visual Studio version and github actions
TheSlowGrowth Oct 8, 2025
31cf105
feat: implement AudioSaveAndRecall
TheSlowGrowth Sep 4, 2024
30359c1
feat: LooperController can start save and recall
TheSlowGrowth Oct 8, 2025
20c62a9
feat: UiHardware provides array of all channel LEDs
TheSlowGrowth Oct 8, 2025
c5b9104
feat: implement UI pages for loading and saving
TheSlowGrowth Oct 7, 2025
e739627
feat: main loop processes save or load operation
TheSlowGrowth Oct 8, 2025
8c58c17
chore: remove plugin
TheSlowGrowth Oct 8, 2025
c267be2
feat: extract loop library into its own class and namespace
TheSlowGrowth Oct 8, 2025
a74f946
refactor: extract file io ownership from `AudioSaveAndRecall`
TheSlowGrowth Oct 8, 2025
8d4cc9c
feat: pass loop library into save and load ui pages
TheSlowGrowth Oct 8, 2025
7acffb0
feat: Save and load pages show existing loops
TheSlowGrowth Oct 8, 2025
f780e02
feat: implement fatfs based file IO
TheSlowGrowth Oct 8, 2025
aa1e765
chore: use a more up to date setup step in firmware CI build
TheSlowGrowth Oct 9, 2025
f272106
chore: add .cache to .gitignore
TheSlowGrowth Apr 13, 2026
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
16 changes: 8 additions & 8 deletions .github/workflows/firmware.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ jobs:

steps:
- name: Install arm-none-eabi-gcc
uses: fiam/arm-none-eabi-gcc@v1
uses: carlosperate/arm-none-eabi-gcc-action@v1
with:
release: '9-2019-q4' # The arm-none-eabi-gcc release to use.
release: '10-2020-q4'

- name: Setup cmake
uses: jwlawson/actions-setup-cmake@v1.9
Expand All @@ -37,19 +37,19 @@ jobs:
submodules: recursive

- name: Configure
run: cmake -S firmware -B firmware/build -G "Unix Makefiles" -D CMAKE_TOOLCHAIN_FILE="$(pwd)/lib/libDaisy/cmake/toolchains/stm32h750xx.cmake" -D CMAKE_BUILD_TYPE=RelWithDebInfo -D TOOLCHAIN_PREFIX=$(which arm-none-eabi-gcc | sed -e "s/bin\/arm-none-eabi-gcc//")
run: cmake -S firmware -B firmware/build -G "Unix Makefiles" -D CMAKE_BUILD_TYPE=RelWithDebInfo -D TOOLCHAIN_PREFIX=$(which arm-none-eabi-gcc | sed -e "s/bin\/arm-none-eabi-gcc//")

- name: Build
run: cmake --build firmware/build

- name: Upload Firmware hex
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: TapeLooper.hex
path: firmware/build/TapeLooper.hex

- name: Upload Firmware bin
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: TapeLooper.bin
path: firmware/build/TapeLooper.bin
Expand All @@ -72,14 +72,14 @@ jobs:

- name: Run Tests
run: |
cd firmware/tests/build/bin
./TapeLooper_gtest --gtest_output=xml:gtestresults.xml
cd firmware/tests
./build/bin/TapeLooper_gtest --gtest_output=xml:gtestresults.xml

- name: Publish Test Results
uses: EnricoMi/publish-unit-test-result-action@v1
if: always()
with:
files: firmware/tests/build/bin/**/*.xml
files: firmware/tests/**/*.xml
github_token: ${{ secrets.GITHUB_TOKEN }}


180 changes: 0 additions & 180 deletions .github/workflows/plugin.yaml

This file was deleted.

1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -47,3 +47,4 @@ plugin/build

# macOS crap
.DS_Store
firmware/.cache
53 changes: 3 additions & 50 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,12 @@
},
"linux": {
"MIMode": "gdb",
"MIDebuggerPath": "~/dev/gcc-arm-none-eabi-9-2020-q2-update/bin/arm-none-eabi-gdb",
"MIDebuggerPath": "~/dev/gcc-arm-none-eabi-10-2020-q4-major/bin/arm-none-eabi-gdb",
"debugServerPath": "openocd"
},
"osx": {
"MIMode": "gdb",
"MIDebuggerPath": "/Users/johanneselliesen/dev/gcc-arm-none-eabi-9-2020-q2-update/bin/arm-none-eabi-gdb",
"MIDebuggerPath": "/Users/johanneselliesen/dev/gcc-arm-none-eabi-10-2020-q4-major/bin/arm-none-eabi-gdb",
"debugServerPath": "openocd"
},
"windows": {
Expand Down Expand Up @@ -91,7 +91,7 @@
"program": "${workspaceFolder}/firmware/tests/build/bin/TapeLooper_gtest",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}/firmware/tests/build/bin",
"cwd": "${workspaceFolder}/firmware/tests/",
"environment": [],
"externalConsole": false,
"logging": {
Expand All @@ -106,53 +106,6 @@
"windows": {
"MIMode": "gdb",
}
},
{
"name": "Plugin Tests",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/plugin/build/TapeLooperPlugin_Gtest",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}/plugin/build",
"environment": [],
"externalConsole": false,
"logging": {
"engineLogging": false
},
"preLaunchTask": "build plugin",

"osx": {
"type": "lldb",
"MIMode": "lldb",
},
"windows": {
"MIMode": "gdb",
}
},
{
"name": "Standalone Plugin",
"type": "cppdbg",
"request": "launch",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}/plugin/build",
"environment": [],
"externalConsole": false,
"logging": {
"engineLogging": false
},
"preLaunchTask": "build plugin",

"osx": {
"type": "lldb",
"MIMode": "lldb",
"program": "${workspaceFolder}/plugin/build/TapeLooperPlugin_artefacts/Standalone/Tape Looper Plugin.app/Contents/MacOS/Tape Looper Plugin",
},
"windows": {
"MIMode": "gdb",
"program": "${workspaceFolder}/plugin/build/TapeLooperPlugin_artefacts/Standalone/Tape Looper Plugin.exe",
}
}
]
}
Loading
Loading