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 ARUW's version of modm to the latest #4

Merged
merged 136 commits into from
Sep 24, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
136 commits
Select commit Hold shift + click to select a range
141aa71
[board] add BSP and examples for Nucleo F303RE
luxarf Apr 14, 2020
3dad446
[build] Add default.avrdude.options collector
salkinium Apr 25, 2020
fca14fd
[board] Add Mega 2560 PRO BSP and example
salkinium Apr 25, 2020
37bc53d
[ext] Update libstdc++ submodule to fix <cmath>
salkinium Apr 25, 2020
80b62fb
[test] Compile stdc++ tests for all platforms
salkinium Apr 25, 2020
11ffe92
[test] Add large AVR unittests for Mega 2560 board
salkinium Apr 25, 2020
ab44739
[architecture] Reduce interface dependencies
salkinium Apr 26, 2020
cd05330
[gpio] Remove :platform:gpio.common module
salkinium Apr 26, 2020
79e0490
[ext] Update submodules
salkinium Apr 27, 2020
5cadbf7
[can] Do not print data in Remote Transmission Request (RTR)
strongly-typed Apr 28, 2020
69a531b
[example] Use integrated CAN message print method
strongly-typed Apr 28, 2020
8546bcb
Remove zeromq as it is not maintained anymore and broken
strongly-typed Apr 28, 2020
4d5cb7b
[timer] Fix time_point cast for short versions
salkinium Apr 28, 2020
f6052ec
[platform] CANUSB: add missing mutex usage
strongly-typed Apr 28, 2020
6190dc5
[cmake] Do not suffix all tools
salkinium Jul 26, 2019
4e02180
[ci] Enable macOS build on TravisCI
salkinium Apr 29, 2020
59ce752
Explicitly set the stack pointer in the reset handler.
mikewolfram May 5, 2020
0217a19
[dma] New DMA implementation, starting with some STM32L4 MCU.
mikewolfram May 6, 2020
f14ab9c
[ext] Remove stray debug print() in :cmsis:core
salkinium May 7, 2020
f7ef4a9
[scons] Make SConscript/site_tools more path independent
salkinium May 7, 2020
82e95c4
[core] Fix Jinja2 issue in AVR delay template
salkinium May 7, 2020
aaae1d1
[gpio] Fix missing GPIO connector files for Hosted
salkinium May 7, 2020
80a9c66
[spi] Enhance STM32 SPI with DMA support
mikewolfram May 7, 2020
cd065e1
[doc] How to create a SystemClock struct
rleh May 8, 2020
a2ca836
gitignore: codium/vscode editor
rleh Mar 23, 2020
a010cbb
[board] Add NUCLEO-F746ZG support
FelixPetriconi May 10, 2020
c38550a
[examples] Add NUCLEO-F746ZG example
FelixPetriconi May 10, 2020
30c95fd
[driver] Add driver for LP503x pwm led driver
chris-durand Nov 3, 2019
6e5ebf4
[examples] Add example for LP503x led driver for Nucleo F042
chris-durand Mar 22, 2020
4eb8adf
Fixes __wrap__free_r() to ignore freeing null pointers.
mikewolfram May 12, 2020
f101d0b
[scons] add command-line arguments to manipulate CCFLAGS,CFLAGS,etc
rleh Aug 10, 2018
2c29b67
[spi] Fix writing SPI data size into correct register and add missing…
mikewolfram May 22, 2020
f12252b
Derive iterators from std::iterator to make the containers work with …
mikewolfram May 22, 2020
cfc320d
[timer] Move BDTR to GeneralPurpose on STM32
lukh May 18, 2020
4f5bed1
Changed the Clock config of the Nucleo F042K6
nesos Jun 7, 2020
8d3ca7d
[stm32] RCC: Fix wrong pll hsi source selection
rleh Jun 8, 2020
01d439c
[board] Fix pll source for disci_f051, nucleo_f031 and nucleo_f303
rleh Jun 8, 2020
91a590e
[docs] Fix mkdocs-material social icons
salkinium Jun 8, 2020
7f55366
[tools] Improve sync docs script
salkinium May 11, 2020
5c24e02
[match] Add CRC8,16,32 implementations
salkinium Jun 8, 2020
9335bcf
[cortex-m] Add .ramcode section to linkerscript
salkinium Jun 8, 2020
ed4e6d0
[heap] Fix block heap implementation
salkinium Jun 8, 2020
64edfcd
[timer] Add missing timer.interval() method
salkinium Jun 8, 2020
b695744
[resumable] Fix RF_CALL for template functions
salkinium Jun 8, 2020
746acea
[atomic] Expose approximate size of Queue
salkinium Jun 8, 2020
965ba50
[cortex-m] Add option for project-provided linker script
mcbridejc Jun 10, 2020
47d9f4f
[flash] Add simple STM32 Flash implementation
salkinium Jun 10, 2020
9e285db
[examples] Add Flash programming for STM32
salkinium Jun 10, 2020
5c381ab
[driver] Add Sx1276 LoRa Modem
nesos Jun 13, 2020
7d1f7cc
[examples] Added Sx1276 LoRa example for Nucleo64
nesos Jun 13, 2020
7755151
[driver] Driver for AB (incremental) encoder output
rleh Feb 24, 2019
21af57b
[examples] Encoder output examle for STM32F4_Discovery
rleh Feb 24, 2019
78d18f6
[dac] Add basic STM32F4 driver
mcbridejc May 18, 2020
ad56ca2
Added checks for tx and rx calls
nesos Jun 20, 2020
46351e5
Patches for arm32v7
asmfreak Jun 25, 2020
b5a66c6
Added driver for LSM6DS33 Sensor
nesos Jul 2, 2020
e233708
Added an example for the LSM6DS33
nesos Jul 2, 2020
af2eb29
[ext] Enable SAMD devices and update submodules
salkinium Apr 27, 2020
5367b04
[ext] Add :cmsis:device module for SAM devices
salkinium Apr 24, 2019
9081d7a
[build] Add BOSSA tool for SAM programming
salkinium Apr 26, 2020
4327990
[test] Use Cortex-M runner for unit tests
salkinium Jul 5, 2020
304f43c
[core] Add ATSAM port
salkinium May 6, 2019
8f85905
[clock] Port ATSAM GCLK peripheral
salkinium May 6, 2019
411150e
[gpio] Implement GPIO driver for SAMD
salkinium Apr 26, 2020
1dd5c4a
[board] Add Feather-M0 and SAMD21-MINI board
salkinium May 6, 2019
6dbeb59
[examples] Add SAMD21 examples
salkinium Apr 27, 2020
6c4a8d6
[ci] Add SAMD devices to CI
salkinium Apr 27, 2020
2f125fd
[scons] Use GCC-10 on hosted-darwin targets
salkinium Jul 5, 2020
d2d38a0
[src] Add support for Microchip SAM devices
salkinium Jul 5, 2020
dd00964
[docs] Update and fix small inconsistencies
salkinium Jul 5, 2020
11fa4ee
[docs] Use verbose zipping to prevent CI timeout
salkinium Jul 5, 2020
303f2a8
[docs] Fix verbose zipping to use relative path
salkinium Jul 6, 2020
58e9e46
[build] Use regex to extract tool docs
salkinium Jul 6, 2020
483eba8
Implementation of the LIS3MDL Driver
nesos Jul 6, 2020
0994a55
Example for the LIS3MDL driver on the Nucleo F042K6
nesos Jul 6, 2020
f74e342
[board] Make SAMD blink example work on Feather M0
henrikssn Jul 6, 2020
7b6f342
[gclk] Add system clock sources and flash latency
henrikssn Jul 8, 2020
2ed785d
[gpio] Add basic SAMD connect implementation
henrikssn Jul 8, 2020
04688bc
[uart] Add basic SAMD UART driver
henrikssn Jul 8, 2020
9f75518
[gpio] Make inputs work for SAM and add Feather M0 pin defs
Jul 14, 2020
5f71fb4
synchronize the modm documentation
Jul 14, 2020
fecc5e0
[board] Enable modm_abandon reporter on Feather-M0
henrikssn Jul 20, 2020
bad229a
[clock] Connect peripheral clocks via API
henrikssn Jul 20, 2020
cbce428
[extint] Add external interrupt support for SAM
henrikssn Jul 20, 2020
026f82d
[uart] Add more interface methods
salkinium Jun 8, 2020
8820d6b
[communication] Reimplement AMNB protocol
salkinium Jun 8, 2020
339cbc7
[unittest] String compare any operator[] type
salkinium Oct 6, 2018
9d8bbfa
[driver] Add GpioSampler for IO analysis
salkinium Oct 5, 2018
30e4f46
[test] Add GpioSampler test
salkinium Oct 7, 2018
062e1b7
[test] Add LogicAnalyzer implementation
salkinium Oct 8, 2018
9ab15d2
[test] Add BitBang SpiMaster test
salkinium Oct 7, 2018
bf517ef
[tools] Detect macOS properly for Python 3.8
salkinium Aug 1, 2020
58db47f
[ci] Fix Travis CI Python version
salkinium Aug 1, 2020
75c7134
Fix the method isConversionFinished() to wait on EndOfConversion inst…
Aug 10, 2020
824f6b5
fixed issue with escaping of arguemnts for size function
Aug 12, 2020
471605b
[driver] Add IS31FL3733 matrix driver
salkinium Aug 14, 2020
9b6aeee
[example] Add IS31FL3733 driver on STM32G071
salkinium Aug 14, 2020
3f14258
Fix the CPU clock speed used in FreeRTOS.
Aug 25, 2020
f402179
Use an integer instead of scientific notation. In some cases the 1e6 …
Aug 25, 2020
bbe65ba
[ext] Add FreeRTOS-Plus-TCP module with config
Aug 30, 2020
821677b
[ext] Add local config inclusion for FreeRTOS
salkinium Aug 30, 2020
177b2ec
Latest version of FreeRTOS in modm declares the hook function now in
Sep 1, 2020
c6b91d6
[timer] STM32 TIM14 actually has BDTR register
lukh Sep 1, 2020
b555133
[docs] Installation: Update and simplify installation for linux
rleh Sep 1, 2020
3ff3436
[gpio] Add support for GPIO on Raspberry Pi
henrikssn Sep 7, 2020
b0d84ba
[board] Add Raspberry Pi BSP
henrikssn Sep 7, 2020
d3496a3
[examples] Add Raspberry Pi GPIO example
henrikssn Sep 7, 2020
703d7bb
Fix RCC class to allow enable/disable of ETHMAC peripheral.
Sep 11, 2020
fcb4ccd
[clock] SysTick Reference Clock can differ by platform
henrikssn Sep 11, 2020
6a18134
[core] Suppress interrupt vector redeclaration warning
salkinium Sep 11, 2020
239d568
[board] Add MCUdev DevEBox STM324XX BSP
strongly-typed Sep 11, 2020
3bebdb5
[examples] Add DevEBox STM32F4XX GPIO example
strongly-typed Sep 11, 2020
c2193b2
[examples] Add DevEBox STM32F4XX Logger example
strongly-typed Sep 11, 2020
8082f69
[examples] Add DevEBox STM32F4XX Flash example
strongly-typed Sep 11, 2020
a6b6e9c
[rpi] Remove stray #endif
strongly-typed Sep 12, 2020
ae43945
[ros-lib] Bump version
strongly-typed Sep 14, 2020
457e815
[windows] Adapt for Windows compatibility
salkinium Sep 9, 2020
9675f17
[tools] Generate, build and run hosted examples
salkinium Sep 9, 2020
3a495ee
[ci] Add Windows CI for Hosted and STM32 targets
rleh Sep 9, 2020
98a600c
[ci] Move macOS CI from TravisCI to GitHub Actions
rleh Sep 9, 2020
76c4d0f
[math] Fix bit_operations for 64bit ARM
Sep 14, 2020
575ec13
[ci] Add AArch64/Ubuntu CI for Hosted, Raspberry Pi and STM32 targets
rleh Sep 14, 2020
d813f56
[docs] Update and improve installation guide
rleh Sep 16, 2020
31a2ced
[ext] Update modm-devices submodule
salkinium Sep 17, 2020
81265c6
[ext] Update STM32 CMSIS Headers
salkinium Sep 17, 2020
48d73dc
[stm32] Add support for remapped A11/A12 pins on F0/G0
chris-durand Sep 16, 2020
96a3e72
[freertos] Bump version
strongly-typed Sep 17, 2020
4332c14
[freertos] Add compiler support files
strongly-typed Sep 17, 2020
642461d
[ci] Compile a project with FreeRTOS plus TCP
strongly-typed Sep 17, 2020
cb82eec
[freertos] Make malloc/free thread-safe
salkinium Sep 16, 2020
b7b88e3
[freertos] Bump version FreeRTOS Kernel V10.4.1
strongly-typed Sep 19, 2020
0e1e4fb
[freertos] Fix include of BufferAllocation_2.c
strongly-typed Sep 19, 2020
7ef59a7
[board] Add STM32_F32VE board support package
asmfreak Sep 19, 2020
a5b1d9e
[examples] Add W25Q16 external Flash example
asmfreak Sep 19, 2020
9263e8d
[display] Add ILI9341 Parallel/SPI display driver
mikewolfram Sep 19, 2020
a6f1186
[examples] Add ILI9341 display example
asmfreak Sep 19, 2020
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
  •  
  •  
  •  
37 changes: 33 additions & 4 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,14 +42,19 @@ jobs:
(cd test && make compile-al-avreb-can)
(cd test && make compile-arduino-uno)
(cd test && make compile-arduino-nano)
(cd test && make compile-mega-2560-pro)
- run:
name: Linux Examples
command: |
(cd examples && ../tools/scripts/examples_compile.py linux zmq)
(cd examples && ../tools/scripts/examples_compile.py linux)
- run:
name: Generic Examples
command: |
(cd examples && ../tools/scripts/examples_compile.py generic)
- run:
name: Examples SAM Devices
command: |
(cd examples && ../tools/scripts/examples_compile.py samd)
- run:
name: Execute Python Scripts
command: |
Expand Down Expand Up @@ -88,11 +93,11 @@ jobs:
- run:
name: Examples STM32F3 Series
command: |
(cd examples && ../tools/scripts/examples_compile.py stm32f3_discovery nucleo_f303k8)
(cd examples && ../tools/scripts/examples_compile.py stm32f3_discovery nucleo_f303k8 nucleo_f303re)
- run:
name: Examples STM32F7 Series
command: |
(cd examples && ../tools/scripts/examples_compile.py stm32f746g_discovery stm32f769i_discovery)
(cd examples && ../tools/scripts/examples_compile.py stm32f746g_discovery stm32f769i_discovery nucleo_f746zg)
- run:
name: Examples STM32G0 Series
command: |
Expand Down Expand Up @@ -123,7 +128,7 @@ jobs:
name: Examples STM32F4 Series
command: |
(cd examples && ../tools/scripts/examples_compile.py stm32f4_discovery)
(cd examples && ../tools/scripts/examples_compile.py stm32f429_discovery stm32f469_discovery nucleo_f401re nucleo_f411re nucleo_f429zi nucleo_f446re stm32f411ccu_mini_f401 stm32f411ceu_mini_f411)
(cd examples && ../tools/scripts/examples_compile.py stm32f429_discovery stm32f469_discovery nucleo_f401re nucleo_f411re nucleo_f429zi nucleo_f446re stm32f411ccu_mini_f401 stm32f411ceu_mini_f411 stm32f407vet6_devebox stm32_f4ve)

avr-examples:
docker:
Expand Down Expand Up @@ -156,6 +161,23 @@ jobs:
path: test/all/log
destination: log

samd-compile-all:
docker:
- image: modm/modm-build:latest
steps:
- checkout
- run:
name: Checkout code and update modm tools
command: |
(git submodule sync && git submodule update --init --jobs 8) & pip3 install --upgrade --upgrade-strategy=eager modm & wait
- run:
name: Compile HAL for all SAMD
command: |
(cd test/all && python3 run_all.py samd)
- store_artifacts:
path: test/all/log
destination: log

stm32f0-compile-all:
docker:
- image: modm/modm-build:latest
Expand Down Expand Up @@ -436,6 +458,12 @@ workflows:
filters:
branches:
ignore: /^develop.*/
- samd-compile-all:
requires:
- unittests-linux-generic
filters:
branches:
ignore: /^develop.*/
- stm32f0-compile-all:
requires:
- unittests-linux-generic
Expand Down Expand Up @@ -513,6 +541,7 @@ workflows:
ignore: /^develop.*/
requires:
- avr-compile-all
- samd-compile-all
- stm32f0-compile-all
- stm32f1-compile-all
- stm32f2-compile-all
Expand Down
49 changes: 49 additions & 0 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Run tests on MacOS

on: [pull_request]

jobs:
macos_testing:
runs-on: macos-10.15

steps:
- name: Setup environment - Brew tap
run: |
brew tap osx-cross/avr
brew tap osx-cross/arm

- name: Setup environment - Brew install
run: |
brew install git doxygen boost gcc avr-gcc arm-gcc-bin cmake || true
brew upgrade boost gcc git || true

- name: Setup environment - Python pip
run: |
pip3 install --user modm scons
echo "::add-path::/usr/local/bin"
echo "::add-path::/Users/runner/Library/Python/3.8/bin"
echo $PATH

- name: Check out repository
uses: actions/checkout@v2

- name: Git Submodules
run: |
git submodule update --init

- name: Hosted Unittests
run: |
(cd test && make run-hosted-darwin)

- name: Hosted Examples
run: |
(cd examples && ../tools/scripts/examples_compile.py linux)

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

- name: Compile AVR Examples
run: |
(cd examples && ../tools/scripts/examples_compile.py avr)
63 changes: 63 additions & 0 deletions .github/workflows/windows_armcortexm.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: Run ARM Cortex-M tests on Windows

on: [pull_request]

jobs:
windows_armcortexm:
runs-on: windows-2019
#env:
# PYTHONIOENCODING: "utf-8"

steps:

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

- name: Install Python
uses: actions/setup-python@v2
with:
python-version: "3.8"

- name: Install Python packages
run: |
pip install --user modm scons future

- name: Download ARM Toolchain
shell: powershell
run: |
$ProgressPreference = 'SilentlyContinue'
Invoke-WebRequest -OutFile gcc-arm-none-eabi-win32.zip https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-rm/9-2020q2/gcc-arm-none-eabi-9-2020-q2-update-win32.zip

- name: Install ARM Toolchain
shell: powershell
run: |
Add-Type -Assembly "System.IO.Compression.Filesystem"
[System.IO.Compression.ZipFile]::ExtractToDirectory("gcc-arm-none-eabi-win32.zip", "C:\arm-none-eabi-gcc")
dir C:\arm-none-eabi-gcc
echo "::add-path::C:\arm-none-eabi-gcc\bin"
rm gcc-arm-none-eabi-win32.zip

- name: Show lbuild and arm-none-eabi-gcc Version Information
run: |
lbuild --version
arm-none-eabi-g++ --version

- name: Check out repository
uses: actions/checkout@v2

- name: Git Submodules
shell: bash
run: |
git submodule update --init

- name: Compile STM32 Examples
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_l152re nucleo_l476rg nucleo_g474re)

# - name: Compile AVR Examples
# shell: bash
# run: |
# (cd examples && python ../tools/scripts/examples_compile.py avr)
68 changes: 68 additions & 0 deletions .github/workflows/windows_hosted.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: Run hosted tests on Windows

on: [pull_request]

jobs:
windows_hosted:
runs-on: windows-2019
#env:
# PYTHONIOENCODING: "utf-8"

steps:

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

- name: Install Python
uses: actions/setup-python@v2
with:
python-version: "3.8"

- name: Install Python packages
run: |
pip install --user modm scons future

- name: Download MinGW installer
run: |
$ProgressPreference = 'SilentlyContinue'
Invoke-WebRequest -OutFile mingw-get-0.6.3.zip https://acc.dl.osdn.jp/mingw/68260/mingw-get-0.6.3-mingw32-pre-20170905-1-bin.zip

- name: Unpack MinGW installer
shell: powershell
run: |
Add-Type -Assembly "System.IO.Compression.Filesystem"
[System.IO.Compression.ZipFile]::ExtractToDirectory("mingw-get-0.6.3.zip", "C:\mingw-get")
dir C:\mingw-get
echo "::add-path::C:\mingw-get\bin"
rm mingw-get-0.6.3.zip

- name: Install MinGW toolchains
shell: powershell
run: |
mingw-get install gcc g++ mingw32-make

- name: Show lbuild and gcc version
run: |
lbuild --version
gcc --version
g++ --version
make --version

- name: Check out repository
uses: actions/checkout@v2

- name: Git Submodules
shell: bash
run: |
git submodule update --init

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

- name: Hosted Unittests
shell: bash
run: |
(cd test && make run-hosted-windows)
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@ CMakeLists.txt
#Clion
**/.idea/

# Codium/Code
**/.vscode/

# ignore generated code in the example folder
examples/**/modm
examples/**/compile_commands.json
Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,6 @@
[submodule "ext/adamgreen/crashcatcher"]
path = ext/adamgreen/crashcatcher
url = https://github.com/modm-ext/CrashCatcher-partial.git
[submodule "ext/microchip/sam"]
path = ext/microchip/sam
url = https://github.com/modm-io/cmsis-header-sam.git
22 changes: 22 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
os: linux
dist: focal # Ubuntu 20.04LTS
arch: arm64
#arch: arm64-graviton2

language: minimal

before_install:
- sudo apt-get update
- sudo apt-get install -y python3 python3-pip scons cmake doxygen gcc build-essential libboost-all-dev libwiringpi-dev
#- sudo apt-get install -y gcc-arm-none-eabi
- wget -qO- https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-rm/9-2020q2/gcc-arm-none-eabi-9-2020-q2-update-aarch64-linux.tar.bz2 | tar xj -C /opt
- export PATH="/opt/gcc-arm-none-eabi-9-2020-q2-update/bin:$PATH"
- pip3 install modm
- export PATH="~/.local/bin:$PATH"
- uname -a

script:
- (cd test && make run-hosted-linux)
- (cd examples && ../tools/scripts/examples_compile.py linux)
- (cd examples && ../tools/scripts/examples_compile.py stm32f1_discovery nucleo_f103rb olimexino_stm32 stm32f103c8t6_blue_pill stm32f103c8t6_black_pill)
- (cd examples && ../tools/scripts/examples_compile.py rpi)
Loading