Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
25 changes: 25 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Build NUSense firmware for STM32H753

on:
push:
branches:
- "**"

jobs:
build:
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.x"

- name: Install PlatformIO
run: pip install platformio

- name: Build firmware
run: cd NUSense && pio run -e nucleo_h753zi
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -113,3 +113,4 @@ tags
.ccls-cache

.vscode
NUSense/.pio
50 changes: 50 additions & 0 deletions NUSense/platformio.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html

[platformio]
src_dir = .
include_dir = Core/Inc

[env:nucleo_h753zi]
platform = ststm32
board = nucleo_h753zi
framework = stm32cube
platform_packages =
toolchain-gccarmnoneeabi@~1.120301.0

; Ensure C++20 headers (e.g. <bit>) are available/selected.
build_unflags =
-std=gnu++11
-std=gnu++14
-std=gnu++17

; Compile all C/C++ sources under Core/Src recursively.
build_src_filter =
+<Core/Src/**/*.c>
+<Core/Src/**/*.cpp>
+<USB_DEVICE/App/*.c>
+<USB_DEVICE/Target/*.c>
-<Core/Src/system_stm32h7xx.c>

; Make Core/Src module headers visible without changing include statements.
build_flags =
-Ofast ; optimize for speed - change this based on what you're up to :D
-std=gnu++20
-ICore/Src
-ICore/Src/device
-ICore/Src/dynamixel
-ICore/Src/nusense
-ICore/Src/uart
-ICore/Src/usb
-ICore/Src/utility
-IUSB_DEVICE/App
-IUSB_DEVICE/Target
-IMiddlewares/ST/STM32_USB_Device_Library/Core/Inc
-IMiddlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# NUcontroller
[![NUSense Build Test](https://github.com/NUbots/NUcontroller/actions/workflows/build.yml/badge.svg)](https://github.com/NUbots/NUcontroller/actions)

Contains firmware for the subcontrollers used by the NUbots team.
Loading