Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to upstream modm develop #12

Merged
merged 161 commits into from
Mar 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
161 commits
Select commit Hold shift + click to select a range
ef0df70
[driver] Add MCP3008 SPI ADC driver
chris-durand May 25, 2023
eda224e
[example] Add MCP3008 SPI ADC example for SAMV71 Xplained Ultra
chris-durand May 25, 2023
1f0251c
[driver] Fix MS5611 calibrated value calculation
rasmuskleist Jun 4, 2023
4f766a6
[stm32] Enable STM32G0B/C devices
chris-durand Jun 5, 2023
8f29894
[stm32] Fix platform startup for STM32G0B/C
chris-durand Jun 5, 2023
e7ea251
[stm32] Add STM32G0B/C support to I2C driver
chris-durand Jun 5, 2023
60962a4
[stm32] Fix DMAMUX max channel calculation
chris-durand Jun 6, 2023
d461eee
[ext] Update modm-devices submodule
chris-durand Jun 6, 2023
a28177d
[stm32] Support STM32G0B/C shared interrupt handler in SPI HAL
chris-durand Jun 6, 2023
76d2d49
[stm32] Do not enable FDCAN driver on STM32G0
chris-durand Jun 6, 2023
768d749
[platform] Add support for STM32G0Bx/Cx devices
salkinium Jun 7, 2023
161ec42
[sam] Enable cache controller for SAMD5x/E5x
Jun 6, 2023
a2e095d
[board] Add Adafruit Feather-M4 BSP
May 29, 2023
fe3c24e
[example] Add Feather M4 blink example
May 29, 2023
b15034a
[example] Add Feather M4 neopixel example
May 29, 2023
81b86be
[example] Add Feather M4 usbserial example
May 29, 2023
3632f01
[cortex] Remove -fsingle-precision-constant default option
salkinium Jun 8, 2023
cd584b1
[src] Fix warnings about double promotion
salkinium Jun 9, 2023
78ca76f
[driver] Fix cast to bool narrowing conversion warning
salkinium Jun 9, 2023
2384756
[board] Pass priority to USB initializer
salkinium Jun 9, 2023
07d4b7f
[build] Fixed '0x0x' prefix for UF2 memory map
Jun 16, 2023
b05df3e
[build] Add STM32 and SAM support to ELF2UF2 tool
Jun 16, 2023
8fc616c
[driver] Compare calculated crc with MS5611 prom
rasmuskleist Jun 5, 2023
2557b1a
[timer] Remove deprecated setPeriod function
salkinium Jul 1, 2023
fe2b6c3
[ext] Update submodules to latest version
salkinium Jun 25, 2023
68f9a82
[release] Update changelog for 2023q3 release
salkinium Jul 1, 2023
027811f
[stm32] Place .data section into D1_SRAM instead of DTCM for H7
chris-durand Jul 10, 2023
64fc5e6
[math] Adding long vector typedefs
rasmuskleist Jul 17, 2023
7bdcab4
[driver] Adding InvenSense 6-Axis IMU driver
rasmuskleist Jul 17, 2023
79f66ff
[example] Adding InvenSense 6-Axis IMU example
rasmuskleist Jul 17, 2023
11a7829
[driver] Adding InvenSense FIFO support
rasmuskleist Jul 17, 2023
8012d82
[example] Adding InvenSense FIFO example
rasmuskleist Jul 17, 2023
a05cc62
shared IRQ handling for fdcan on STM32G0
Jun 15, 2023
5d03d53
[stm32] Fix STM32G0 ADC
chris-durand Jul 26, 2023
fc85e13
[stm32] Add support for H7 16-bit and 12-bit ADCs in stm32-f3 driver
chris-durand Jul 11, 2023
478461c
[example] Add simple ADC example for Nucleo H723ZG
chris-durand Jul 11, 2023
384dd9c
[stm32] Add support for injected conversions in stm32-f3 ADC driver
chris-durand Jul 12, 2023
4d69227
[example] Add injected conversion ADC example for Nucleo H723ZG
chris-durand Jul 12, 2023
8b84135
[driver] BdSpiFlash with SpiStack instruction set
rasmuskleist Aug 3, 2023
005e05a
[driver] Add BdSpiFlash chip erase implementation
rasmuskleist Aug 3, 2023
8766889
[driver] Flip BdSpiFlash waitWhileBusy
rasmuskleist Aug 7, 2023
fb41780
[example] Wait test manually after erasing flash
rasmuskleist Aug 11, 2023
ebe4114
[docs] Let synchronize_docs ignore SPI-STACK-FLASH
rasmuskleist Aug 3, 2023
a1ad2a0
[driver] Add BdSpiStackFlash contiguous memory
rasmuskleist Aug 3, 2023
ba23833
[example] Add BdSpiStackFlash test
rasmuskleist Aug 3, 2023
d214fb7
[architecture] Adding UartDevice for resumable r/w
rasmuskleist Aug 7, 2023
194f3bc
[driver] Adding Semtech SX1280/SX1281 driver
rasmuskleist Aug 7, 2023
517bd84
[example] Adding SX128x LoRa example
rasmuskleist Aug 7, 2023
01c02d2
[driver] Fix BdSpiFlash flipped waiting
rasmuskleist Aug 15, 2023
74f9cad
[example] Adding SpiFlash FatFs compatibility test
rasmuskleist Aug 4, 2023
ffc02a3
Fix incorrect register indices in HMC58x3-based drivers
mbait Aug 23, 2023
d37fa24
Fix typo in a sample AVR code
mbait Aug 28, 2023
5e4d09e
Fix incorrect register names
mbait Aug 29, 2023
3395235
[stm32] Fix spurious EXTI interrupt with shared IRQ
chris-durand Jul 20, 2023
c9e5227
[stm32] Fix compilation error when Exti::disconnect() is used
chris-durand Jul 13, 2023
c4222a7
[ci] Split STM32G0 compile all job into two
salkinium Sep 2, 2023
32adefe
Improve file names processing in clang-format.sh
mbait Sep 4, 2023
93af956
[board] Default putchar_ to use the board logger
salkinium Sep 10, 2023
7f30961
[driver] Implement QMC5883L driver
mbait Sep 10, 2023
17d8a7e
LM75 temp sensor: fix utils/endianness dependency
rleh Sep 18, 2023
9b961f6
[docs] Update macOS installation of toolchain
salkinium Sep 20, 2023
d22ef29
[ext] Remove peripheral typedef in device header
salkinium Oct 1, 2023
36f7bfd
[ext] Update submodules
salkinium Oct 1, 2023
f90360d
[release] Update changelog for 2023q3 release
salkinium Oct 1, 2023
e310746
[platform] Move common SpiMaster acquire()/release() out of drivers
chris-durand Jul 13, 2023
0b0ddd4
[stm32] Add interface to query DMA transfer status without interrupt
chris-durand Jul 13, 2023
3b2530f
[board] Fix SPI1, SPI2 and SPI3 clock for Nucleo H723ZG
chris-durand Jul 13, 2023
13c1cd2
[processing] Do not require protothread module to use SPI with fibers
chris-durand Jul 18, 2023
53796b0
[stm32] Add STM32H7 SPI driver with DMA support
chris-durand Jul 13, 2023
f1f4f86
[driver] Add BMI088 driver
chris-durand Jul 20, 2023
06c0700
[example] Add BMI088 SPI example for Nucleo H723ZG
chris-durand Jul 20, 2023
a771042
[example] Add BMI088 I2C example for Nucleo H723ZG
chris-durand Oct 4, 2023
354da57
Add isCountingDown/Up functions to STM32 Timers
Nov 3, 2023
605aaba
Update example main in custom-project documentation.
jensboe Nov 5, 2023
efb40cc
[stm32] Place stack in SRAM by default on H7, add lbuild option
chris-durand Nov 16, 2023
825e53e
[scons] Use the same Python for XPCC builders
salkinium Nov 18, 2023
ca80170
[docs] Compress html docs and speed up deduplication
salkinium Dec 28, 2023
c66f80b
[ext] Update submodules
salkinium Dec 23, 2023
84463ae
[release] Update changelog for 2023q4 release
salkinium Jan 1, 2024
6b1f001
[stm32] Fix Rcc::enable for H7 comparator
chris-durand Aug 7, 2023
32fa118
[stm32] Add advanced timer isOutputEnabled()
chris-durand Aug 7, 2023
c7d7daf
[tools] Suppress GCC ABI warning
chris-durand Sep 4, 2023
088a848
[tools] Fix RTT logger if data structure is not in RAM with lowest ad…
chris-durand Sep 4, 2023
ea1e6ff
[test] Allow unit test case names in snake_case (test_foo())
chris-durand Sep 4, 2023
7bd22ce
[tools] Treat missing return in function as error
chris-durand Sep 5, 2023
08479cd
[stm32] Fix STM32G0 DMA
chris-durand Sep 6, 2023
7207472
[stm32] Fix reconfiguring DMAMUX requests
chris-durand Sep 21, 2023
5441d08
[stm32] Fix STM32H7 32-bit timer counter size
chris-durand Oct 6, 2023
5e3acab
[stm32] Fix H7 ADC asynchronous clock
chris-durand Nov 16, 2023
59437d1
[stm32] Fix sampling time configuration in F3 ADC driver
chris-durand Nov 16, 2023
8bcbe25
[stm32] Fix compilation of DMA channel clearInterruptFlags()
chris-durand Nov 16, 2023
2da6c2f
[board] Add support for STM32F401 Discovery
cajt Jan 5, 2024
2381c61
[example] Add STM32F401 Discovery examples
cajt Jan 5, 2024
26d1edc
[ext] Update TinyUSB to v0.16.0
salkinium Jan 3, 2024
c507188
[ext] Refactor TinyUSB module structure and config
salkinium Jan 3, 2024
dd1ad5c
[stm32] Move peripheral enumeration to :cmsis:device
salkinium Jan 4, 2024
76cbf62
[stm32] Separate ULPI clock from OTGHS clock
salkinium Jan 3, 2024
1c7af50
[stm32] Configure GPIO when connecting to USB
salkinium Jan 3, 2024
1f210c1
[board] Enable TinyUSB on more STM32 dev boards
salkinium Jan 5, 2024
7de2289
[docs] Fix links in Windows install instructions
salkinium Jan 14, 2024
ae9dca2
[avr] Linker flag --no-warn-rwx-segment not needed on GCC12
salkinium Jan 14, 2024
f90d87e
[ci] Allow filtering out examples by Python query
salkinium Jan 14, 2024
d1a6984
[ci] Merge Windows CI workflows and add avr-gcc
salkinium Jan 14, 2024
7318c28
[ext] Catch missing :printf module
salkinium Jan 13, 2024
2182d3f
[build] Compile with -O3 for hosted targets
salkinium Jan 17, 2024
5db4aa7
[fiber] Fix alignment of stack underneath promise
salkinium Jan 17, 2024
f968531
[devices] Remove RPi target in favor of Linux
salkinium Jan 18, 2024
6dff630
[fiber] Add support for ARM64 targets
salkinium Jan 17, 2024
c5dc4b1
[devices] Add ARM64 version of hosted targets
salkinium Jan 20, 2024
623a13b
[scons] Hardcode gcc-12 compiler suffix on macOS
salkinium Jan 20, 2024
c26ab00
[stm32] Add H7 BDMA driver
chris-durand Sep 21, 2023
5c7db3e
[stm32] Make SPI and DAC driver compatible with BDMA
chris-durand Sep 21, 2023
e6ffb1d
[ext] Update modm-devices submodule
chris-durand Jan 2, 2024
2e40ab4
[test] Add STM32H7 BDMA and SPI6 hardware unit test
chris-durand Jan 2, 2024
e5fb526
[board] Add Nucleo-G070RB
chris-durand Sep 22, 2023
6de70ba
[example] Add Nucleo-G070RB blink example
chris-durand Sep 22, 2023
a3cb641
[stm32] Add regular conversion sequences to F3 ADC driver
chris-durand Nov 16, 2023
d941ea4
[stm32] Add basic DMA support to F3 ADC driver
chris-durand Feb 1, 2024
fe4cbc5
[example] Add STM32G4 ADC example with conversion sequence and DMA
chris-durand Feb 1, 2024
4128548
[clock] Add LSI and HSI values to RCC class on STM32
salkinium Jan 17, 2024
7f87840
[board] Add IWDG frequency to SystemClock
salkinium Jan 28, 2024
de86a14
[board] Deduplicate NUCLEO-G070rb board file
salkinium Feb 5, 2024
9587afc
[uart] STM32 12-bit prescaler must not be zero
salkinium Jan 28, 2024
1fb1339
[math] Fix enumerate() when range reference type is not a reference
chris-durand Feb 6, 2024
3811b71
[math] Remove Tolerance class in favor of function
salkinium Jan 27, 2024
8f880ee
[math] percent_t unit can be float since C++20
salkinium Jan 26, 2024
534be22
[math] Add chrono units for template parameters
salkinium Jan 26, 2024
fdd2a9c
[math] Add prescaler + counter algorithm
salkinium Jan 21, 2024
f647254
[stm32] Simplify IWDG driver by inlining functions
salkinium Jan 14, 2024
6d72622
[iwdg] Add initialize() with prescaler calculator
salkinium Jan 28, 2024
23036e3
[ci] Remove unused TravisCI configuration
salkinium Feb 3, 2024
df012e4
[stm32] fix include path on dac implementation
wald-zat Feb 2, 2024
efb8e94
[ci] Update Xcode version to 15.2 to fix linker bug
chris-durand Feb 23, 2024
2ac6250
[ci] Update deprecated actions
chris-durand Feb 23, 2024
c47e7b7
[docs] Polishing the documentation
salkinium Feb 24, 2024
009bb06
[board] Add DISCO-F411VE
TomSaw Aug 19, 2021
dbfd93b
[driver] Adding AS5047 driver and example
hshose Mar 6, 2024
2406559
[stm32] Extend Timer features: PWM modes and Comparator
victorandrehc Mar 28, 2023
a371df6
[stm32] add enable break in timer
Feb 26, 2024
3aedcf8
fix clock in lis3::SpiMaster::initialize
TomSaw Mar 7, 2024
553c4c7
[cmake] Change template to respect repo name
Javask Apr 24, 2023
d257401
[cmake] Support header only libraries
Javask Sep 20, 2023
2f51822
[cmake] Correctly propagate options to all repos
Javask Sep 22, 2023
97ffcb4
[cmake] Emulate scons behaviour of including everything
Javask Sep 22, 2023
a5cee07
[cmake] Fix build on windows
Javask Sep 27, 2023
1a89fbe
[cmake] Update auto-generated CMakeLists
Javask Mar 8, 2024
9496060
[stm32] add advanced initialize on iwdg
Feb 26, 2024
734de07
[stm32] i2c irq priority can be set
wald-zat Oct 4, 2023
9d4baa9
[stm32] Fix flash page size for large F103, F105 and F107 devices
chris-durand Mar 12, 2024
e1d8a17
[stm32/sam_x7x] Allow I2C ISR priority to be set
rleh Mar 14, 2024
a066925
Fix Python syntax
rleh Mar 14, 2024
c43be03
[ext] Update modm-devices submodule
rleh Mar 14, 2024
cd5d3bf
[menu] Add optional allocator for ui menu classes (#5)
MatthewMArnold Jun 2, 2021
096b388
[utils] Re-implement safe fail behavior into AllocatorBase
manolipt May 9, 2023
b2a0189
[menu] Add optional allocator for ui menu classes (#5)
MatthewMArnold Jun 2, 2021
9a534b2
[bno055] suppress -Waddress-of-packed-member in bno055.hpp (#7)
MatthewMArnold Sep 10, 2021
e4b9d41
resolve merge conflicts: bno055.hpp c-style cast
MatthewMArnold Sep 10, 2021
dac6f82
[windows] Silence warning about incomplete assertion support
WasabiFan Nov 9, 2021
ea92c98
[menu] Update include path for static allocator in AbstractView
manolipt May 10, 2023
5eb4908
added test hpp file that somehow got missed by rebase
nedonse Mar 18, 2024
9874d0a
Merge remote-tracking branch 'origin' into update-modm-develop
nedonse Mar 18, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
144 changes: 85 additions & 59 deletions .github/workflows/compile-all.yml

Large diffs are not rendered by default.

14 changes: 9 additions & 5 deletions .github/workflows/deploy-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
image: ghcr.io/modm-ext/modm-build-base:2023-03-12
steps:
- name: Check out repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Fix Git permission/ownership problem
Expand All @@ -27,7 +27,7 @@ jobs:
mkdocs --version
pip3 show mkdocs-material
- name: Clone modm-ext/modm.io repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
repository: modm-ext/modm.io
ssh-key: ${{secrets.MODM_EXT_MODM_IO_DEPLOY_KEY}}
Expand All @@ -41,8 +41,8 @@ jobs:
- name: Push New Docs to Github
run: |
cd docs/modm.io
git config user.email "[email protected]"
git config user.name "CircleCI Deployment Bot"
git config user.email "[email protected]"
git config user.name "modm bot"
git add -A
git diff-index --quiet HEAD || git commit -m "Update"
git push origin master
Expand All @@ -54,7 +54,7 @@ jobs:
image: ghcr.io/modm-ext/modm-build-base:2022-09-27
steps:
- name: Check out repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Fix Git permission/ownership problem
Expand All @@ -68,6 +68,10 @@ jobs:
export TERM=xterm-256color
export COLUMNS=120
python3 tools/scripts/docs_modm_io_generator.py -c -j4 -d
- name: Size of documentation archive
if: always()
run: |
ls -lh modm-api-docs.tar.gz
- name: Upload api documentation to docs.modm.io
if: always()
env:
Expand Down
42 changes: 21 additions & 21 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:

steps:
- name: Check out repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Fix Git permission/ownership problem
Expand Down Expand Up @@ -92,7 +92,7 @@ jobs:
- name: Examples SAMD Devices
if: always()
run: |
(cd examples && ../tools/scripts/examples_compile.py samd samd21_xplained_pro)
(cd examples && ../tools/scripts/examples_compile.py feather_m4 samd samd21_xplained_pro)
- name: Examples SAMG Devices
if: always()
run: |
Expand All @@ -104,7 +104,7 @@ jobs:
- name: Examples SAME70 Devices
if: always()
run: |
(cd examples && ../tools/scripts/examples_compile.py same70_xplained)
(cd examples && ../tools/scripts/examples_compile.py same70_xplained)
- name: Examples SAMV Devices
if: always()
run: |
Expand All @@ -125,7 +125,7 @@ jobs:
image: ghcr.io/modm-ext/modm-build-cortex-m:2023-03-12
steps:
- name: Check out repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Fix Git permission/ownership problem
Expand Down Expand Up @@ -153,7 +153,7 @@ jobs:
- name: Examples STM32G0 Series
if: always()
run: |
(cd examples && ../tools/scripts/examples_compile.py nucleo_g071rb)
(cd examples && ../tools/scripts/examples_compile.py nucleo_g070rb nucleo_g071rb)
- name: Examples STM32L0 Series
if: always()
run: |
Expand Down Expand Up @@ -189,7 +189,7 @@ jobs:
image: ghcr.io/modm-ext/modm-build-cortex-m:2023-03-12
steps:
- name: Check out repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Fix Git permission/ownership problem
Expand All @@ -201,15 +201,15 @@ jobs:
- name: Examples STM32F4 Only Discovery Board
if: always()
run: |
(cd examples && ../tools/scripts/examples_compile.py stm32f4_discovery stm32f429_discovery stm32f469_discovery)
(cd examples && ../tools/scripts/examples_compile.py stm32f4_discovery stm32f429_discovery stm32f469_discovery stm32f401_discovery)

stm32f4-examples-2:
runs-on: ubuntu-22.04
container:
image: ghcr.io/modm-ext/modm-build-cortex-m:2023-03-12
steps:
- name: Check out repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Fix Git permission/ownership problem
Expand All @@ -232,7 +232,7 @@ jobs:
image: ghcr.io/modm-ext/modm-build-avr:2023-03-12
steps:
- name: Check out repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Fix Git permission/ownership problem
Expand Down Expand Up @@ -267,7 +267,7 @@ jobs:
run: |
(cd test/all && python3 run_all.py at --quick)
- name: Upload log artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: hal-compile-quick-avr
path: test/all/log
Expand All @@ -278,7 +278,7 @@ jobs:
image: ghcr.io/modm-ext/modm-build-cortex-m:2023-03-12
steps:
- name: Check out repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Fix Git permission/ownership problem
Expand All @@ -292,7 +292,7 @@ jobs:
run: |
(cd test/all && python3 run_all.py stm32 sam rp --quick --split 4 --part 0)
- name: Upload log artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: hal-compile-quick-1
path: test/all/log
Expand All @@ -303,7 +303,7 @@ jobs:
image: ghcr.io/modm-ext/modm-build-cortex-m:2023-03-12
steps:
- name: Check out repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Fix Git permission/ownership problem
Expand All @@ -317,7 +317,7 @@ jobs:
run: |
(cd test/all && python3 run_all.py stm32 sam rp --quick --split 4 --part 1)
- name: Upload log artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: hal-compile-quick-2
path: test/all/log
Expand All @@ -328,7 +328,7 @@ jobs:
image: ghcr.io/modm-ext/modm-build-cortex-m:2023-03-12
steps:
- name: Check out repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Fix Git permission/ownership problem
Expand All @@ -342,7 +342,7 @@ jobs:
run: |
(cd test/all && python3 run_all.py stm32 sam rp --quick --split 4 --part 2)
- name: Upload log artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: hal-compile-quick-3
path: test/all/log
Expand All @@ -353,7 +353,7 @@ jobs:
image: ghcr.io/modm-ext/modm-build-cortex-m:2023-03-12
steps:
- name: Check out repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Fix Git permission/ownership problem
Expand All @@ -367,7 +367,7 @@ jobs:
run: |
(cd test/all && python3 run_all.py stm32 sam rp --quick --split 4 --part 3)
- name: Upload log artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: hal-compile-quick-4
path: test/all/log
Expand All @@ -380,7 +380,7 @@ jobs:
image: ghcr.io/modm-ext/modm-build-base:2022-09-27
steps:
- name: Check out repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Fix Git permission/ownership problem
Expand All @@ -401,7 +401,7 @@ jobs:
export COLUMNS=120
python3 tools/scripts/docs_modm_io_generator.py -t -c -j4 -d
- name: Upload Doxypress Documentation
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: build-docs-test
path: modm-api-docs.tar.gz
Expand All @@ -416,7 +416,7 @@ jobs:
ls -l docs/src/reference/module
(cd docs && mkdocs build)
- name: Upload Homepage Documentation
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: build-homepage-test
path: docs/modm.io
Expand Down
7 changes: 5 additions & 2 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ jobs:
runs-on: macos-13

steps:
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '15.2'

- name: Setup environment - Brew tap
run: |
Expand All @@ -22,7 +25,7 @@ jobs:
brew link --force avr-gcc@12
# brew upgrade boost gcc git || true

- uses: actions/setup-python@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'

Expand Down Expand Up @@ -53,7 +56,7 @@ jobs:

- name: Check out repository
if: always()
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
submodules: 'recursive'

Expand Down
126 changes: 126 additions & 0 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
name: Run tests on Windows

on: [pull_request]

jobs:
windows_testing:
runs-on: windows-2022
env:
PYTHONIOENCODING: "utf-8"

steps:

# Disabling snake-oil for performance reasons
- name: Disable Windows Defender
run: Set-MpPreference -DisableRealtimeMonitoring $true

# This doesn't work due to files getting overwritten from inside the zip
# [System.IO.Compression.ZipFile]::ExtractToDirectory("gcc-arm-none-eabi-win64.zip", "C:\")
# And this manual expansion code
# function Unzip($zipfile, $outdir)
# {
# Add-Type -AssemblyName System.IO.Compression.FileSystem
# $archive = [System.IO.Compression.ZipFile]::OpenRead($zipfile)
# foreach ($entry in $archive.Entries)
# {
# $entryTargetFilePath = [System.IO.Path]::Combine($outdir, $entry.FullName)
# $entryDir = [System.IO.Path]::GetDirectoryName($entryTargetFilePath)
# if(!(Test-Path $entryDir )){
# New-Item -ItemType Directory -Path $entryDir | Out-Null
# }
# if (!$entryTargetFilePath.EndsWith("\") -And !$entryTargetFilePath.EndsWith("/")) {
# [System.IO.Compression.ZipFileExtensions]::ExtractToFile($entry, $entryTargetFilePath, $true);
# }
# }
# }
# Unzip -zipfile "gcc-arm-none-eabi-win64.zip" -outdir "C:\"
# is not faster than
# Expand-Archive -Path gcc-arm-none-eabi-win64.zip -DestinationPath C:\ -Force
- name: Download and Unzip GCCs
shell: powershell
run: |
$ProgressPreference = 'SilentlyContinue'
Start-Job {
Set-Location $using:PWD
Add-Type -Assembly "System.IO.Compression.Filesystem"
Invoke-WebRequest -OutFile gcc-win64.zip https://github.com/brechtsanders/winlibs_mingw/releases/download/12.2.0-15.0.6-10.0.0-msvcrt-r3/winlibs-x86_64-posix-seh-gcc-12.2.0-mingw-w64msvcrt-10.0.0-r3.zip
[System.IO.Compression.ZipFile]::ExtractToDirectory("gcc-win64.zip", "C:\")
}
Start-Job {
Set-Location $using:PWD
Invoke-WebRequest -OutFile gcc-arm-none-eabi-win64.zip https://developer.arm.com/-/media/Files/downloads/gnu/12.2.rel1/binrel/arm-gnu-toolchain-12.2.rel1-mingw-w64-i686-arm-none-eabi.zip
Expand-Archive -Path gcc-arm-none-eabi-win64.zip -DestinationPath C:\ -Force
}
Start-Job {
Set-Location $using:PWD
Add-Type -Assembly "System.IO.Compression.Filesystem"
Invoke-WebRequest -OutFile gcc-avr-win64.zip https://github.com/ZakKemble/avr-gcc-build/releases/download/v12.1.0-1/avr-gcc-12.1.0-x64-windows.zip
[System.IO.Compression.ZipFile]::ExtractToDirectory("gcc-avr-win64.zip", "C:\")
}
Get-Job | Wait-Job

- name: Install GCCs
if: always()
shell: powershell
run: |
dir C:\
dir C:\mingw64
dir C:\arm-gnu-toolchain-12.2.rel1-mingw-w64-i686-arm-none-eabi
dir C:\avr-gcc-12.1.0-x64-windows
echo "C:\mingw64\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
echo "C:\arm-gnu-toolchain-12.2.rel1-mingw-w64-i686-arm-none-eabi\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
echo "C:\avr-gcc-12.1.0-x64-windows\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
rm gcc-arm-none-eabi-win64.zip

- name: Install Python
if: always()
uses: actions/setup-python@v5
with:
python-version: "3.11"

- name: Install Python packages
if: always()
run: |
pip install --upgrade --upgrade-strategy=eager modm scons future

- name: Show Version Information
if: always()
run: |
gcc --version
g++ --version
make --version
arm-none-eabi-g++ --version
avr-g++ --version
lbuild --version
python -c "import os; print(os.cpu_count())"

- name: Check out repository
if: always()
uses: actions/checkout@v4
with:
submodules: 'recursive'

- name: Hosted Examples
if: always()
shell: bash
run: |
(cd examples && python ../tools/scripts/examples_compile.py linux/assert linux/block_device/ram linux/build_info linux/git linux/logger linux/printf linux/etl linux/fiber)

- name: Hosted Unittests
if: always()
shell: bash
run: |
(cd test && make run-hosted-windows)

- name: Compile STM32 Examples
if: always()
shell: bash
run: |
(cd examples && python ../tools/scripts/examples_compile.py nucleo_f031k6 nucleo_f103rb nucleo_f303re nucleo_f411re nucleo_f746zg)
(cd examples && python ../tools/scripts/examples_compile.py nucleo_g071rb nucleo_l031k6 nucleo_l152re nucleo_l476rg nucleo_g474re)

- name: Compile AVR Examples
if: always()
shell: bash
run: |
(cd examples && ../tools/scripts/examples_compile.py avr arduino_nano arduino_uno srxe)
Loading