Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
553 commits
Select commit Hold shift + click to select a range
e009a06
Merge pull request #1 from rogerclarkmelbourne/master
saloid Sep 17, 2019
6894baa
fix: remove warninig __always_inline not always possible
stevstrong2 Sep 17, 2019
ff9ae38
Fix timeout calculation in wait_for_state_change().
dewhisna Sep 12, 2019
f0203ab
Merge WireSlave I2C code into Arduino_STM32 core.
dewhisna Sep 12, 2019
b39be2d
Rearchitect Wire_slave to work with i2c_slave integration in core.
dewhisna Sep 12, 2019
d52422c
Rewrite low-level I2C driver and update WireSlave.
dewhisna Sep 16, 2019
4db72ea
Cleanup i2c core code and WireSlave.
dewhisna Sep 16, 2019
c714fc3
Fix i2c power-up reset logic.
dewhisna Sep 17, 2019
6f3a1da
Make _i2c_irq_priority_fixup truly optional if user disables it.
dewhisna Sep 18, 2019
fbdf077
Fix Wire.h vs Wire_slave.h header confusion.
dewhisna Sep 18, 2019
9fea86d
Update WireSlave library.properties.
dewhisna Sep 18, 2019
986ae2b
Update WireSlave examples to function correctly with new code.
dewhisna Sep 18, 2019
39d716a
Add recvSlaveAddress() helper function to WireSlave library.
dewhisna Sep 18, 2019
64e2e04
Add I2C General Call Address enable/disable option for slaves.
dewhisna Sep 18, 2019
e3915a0
Update WireSlave buffer allocations to not fragment the heap.
dewhisna Sep 19, 2019
968aa50
Fix WireSlave flush() function and fix end() to call flush().
dewhisna Sep 19, 2019
e9223c2
Fix WireSlave to use Timeout from base Stream class.
dewhisna Sep 19, 2019
e6cbf5f
Merge branch 'WireSlave_rework_stage' into WireSlave_rework
dewhisna Sep 19, 2019
3a8eee2
Fix i2c_libmaple_slave_reader example that broke during the merge.
dewhisna Sep 19, 2019
7da2d82
Merge pull request #677 from stevstrong2/master
stevstrong Sep 19, 2019
9827d91
Make constructor of TwoWire in WireSlave more compatible with Wire.
dewhisna Sep 19, 2019
0eb2cfd
Restore (undelete) original Wire.h file in WireSlave.
dewhisna Sep 20, 2019
eeea8e5
fix unresolved inline functions with newer compiler versions
stevstrong2 Sep 20, 2019
2ab223e
Merge pull request #2 from rogerclarkmelbourne/master
saloid Sep 22, 2019
f35abf3
Update board.cpp
saloid Sep 22, 2019
d04f9c8
Update board.cpp
saloid Sep 22, 2019
b42121a
Update board.cpp
saloid Sep 22, 2019
aa0f0f7
Update board.cpp
saloid Sep 22, 2019
2c6451d
Update board.cpp
saloid Sep 22, 2019
17604cc
Update board.cpp
saloid Sep 22, 2019
857315e
Update board.cpp
saloid Sep 22, 2019
f208149
Update board.cpp
saloid Sep 22, 2019
957238e
Update board.cpp
saloid Sep 22, 2019
fb13c19
Update board.cpp
saloid Sep 22, 2019
70c7fb7
Update board.cpp
saloid Sep 22, 2019
f6540ec
Update HardwareSerial.h
saloid Sep 22, 2019
99ce6b3
ARDUINO_ARCH_STM32 should not be defined
fpistm Sep 24, 2019
0651dd7
Merge pull request #681 from stevstrong2/master
stevstrong Sep 24, 2019
baa8550
Avoid C++ demangle to reduce binary size
katyo Sep 25, 2019
6d6b87f
Merge branch 'master' into fix_spi_config_gpios_remapped
stevstrong Sep 26, 2019
aa6a289
Fix I2C error state transition logic.
dewhisna Sep 30, 2019
1151b3d
Don't set the I2C Stop bit in i2c_master_xfer.
dewhisna Sep 30, 2019
8974be4
Fix race condition in I2C wait_for_state_change.
dewhisna Oct 1, 2019
c04aa72
Merge pull request #3 from rogerclarkmelbourne/master
saloid Oct 1, 2019
6fb15b3
Some compiler warning removed. Now it compiles
saloid Oct 1, 2019
301982c
Revert "Some compiler warning removed. Now it compiles"
saloid Oct 1, 2019
ab952e1
Revert "Merge pull request #3 from rogerclarkmelbourne/master"
saloid Oct 1, 2019
d0f2185
Merge pull request #679 from dewhisna/WireSlave_rework
stevstrong Oct 4, 2019
359533c
Update platform.txt
kruftindustries Oct 6, 2019
4ec785c
usb_reg_map: Write count to lower 10 bits of USB_COUNTn_RX
soreau Sep 29, 2019
77ecdae
usb: Define isochronous endpoint type
soreau Oct 7, 2019
2ecec52
Merge pull request #691 from soreau/master
rogerclarkmelbourne Oct 7, 2019
a9cdfef
Update platform.txt
kruftindustries Oct 8, 2019
58317ae
F4: correct ST Link upload command
stevstrong Oct 8, 2019
c9e4899
Fix I2C master 2-byte read case.
dewhisna Oct 8, 2019
83ae701
Merge pull request #706 from dewhisna/i2c_2byteread_fix
stevstrong Oct 8, 2019
f55720f
Disable only I2C IRQs when avoiding IRQ race-condition instead of glo…
dewhisna Nov 25, 2019
29ed131
Merge pull request #718 from dewhisna/i2c_irq_fix
stevstrong Nov 26, 2019
5560c6c
I2C Master should send a STOP when receiving NACK error (SR1_AF).
dewhisna Dec 1, 2019
7bfeab0
Merge pull request #722 from dewhisna/fix_i2cmaster_StopOnNACK
stevstrong Dec 3, 2019
087ce93
support for fake stm32f103c8t6
arpruss Dec 8, 2019
c7eea40
Merge pull request #727 from arpruss/master
stevstrong Dec 8, 2019
e07a412
move fake blue pill to separate menu item
arpruss Dec 8, 2019
0deff00
remove unnecessary flash_k6.ld
arpruss Dec 8, 2019
9dad67f
fix RAM size for k6
arpruss Dec 8, 2019
d2708f3
fake 103c8 tentatively identified as 103c6
arpruss Dec 9, 2019
b121922
rename fake to C6, which is the most likely ID
arpruss Dec 9, 2019
d40edca
Added virtual end() to WireBase.
GitMoDu Dec 17, 2019
75fd146
added an example for USB-serial-uart sketch
ag88 Dec 18, 2019
1192e2d
update readme in usbserialexample
ag88 Dec 18, 2019
36099bd
update readme in usbserialexample
ag88 Dec 18, 2019
1421814
relocate to A_STM32_Examples/examples/Communication/USB-uart-w-signals
ag88 Dec 19, 2019
3409bb1
fix a typo
ag88 Dec 19, 2019
c32defd
renamed as .ino
ag88 Dec 19, 2019
8a2210c
Merge pull request #732 from GitMoDu/master
stevstrong Dec 19, 2019
58c556b
Merge pull request #689 from katyo/patch-1
stevstrong Dec 19, 2019
793daef
named sketch same as folder & added flags handling
ag88 Dec 19, 2019
a7f515c
bugfix: parity
ag88 Dec 19, 2019
94b93a8
Merge pull request #733 from ag88/master
stevstrong Dec 19, 2019
8e3b652
Merge pull request #676 from tmp64/USBCompFix
stevstrong Dec 25, 2019
a589f1c
Merge pull request #684 from fpistm/Fix_arch
stevstrong Dec 25, 2019
9909faf
Merge pull request #729 from arpruss/master
stevstrong Dec 25, 2019
0423aa8
Merge branch 'Wsign-compare' of https://github.com/lacklustrlabs/Ardu…
stevstrong Dec 25, 2019
9270ebe
Merge branch 'lacklustrlabs-Wsign-compare'
stevstrong Dec 25, 2019
0c580b9
Merge branch 'master' of https://github.com/saloid/Arduino_STM32 into…
stevstrong Dec 26, 2019
a16f4fc
Merge branch 'saloid-master'
stevstrong Dec 26, 2019
4c02522
correct some files form the last commit
stevstrong Dec 27, 2019
285ee91
Merge pull request #738 from rogerclarkmelbourne/saloid-master
stevstrong Dec 27, 2019
93e9860
Merge pull request #1 from rogerclarkmelbourne/master
arpruss Dec 30, 2019
8f28e3b
F1: fix BDCR_RTCEN enable bit definition
stevstrong Dec 31, 2019
6b028e2
remove warning about arithmetic with void* pointer
arpruss Jan 2, 2020
c4f5d03
Change from using digitalWrite and digitalRead to gpio_write_bit and …
profdc9 Jan 17, 2020
495ad3a
Merge pull request #747 from profdc9/patch-2
stevstrong Jan 17, 2020
d8c83f0
Update WireBase.h
stevstrong Jan 23, 2020
683e5a3
Merge pull request #536 from coddingtonbear/fix_spi_config_gpios_rema…
stevstrong Feb 4, 2020
4417403
RTCAdjustment e.g. add incremental calibration
Feb 15, 2020
2d61e7b
update readme and comments
Feb 15, 2020
53ed23b
F4: rework of delay() to include yield()
stevstrong Feb 18, 2020
af8df21
F4: merge all files from stevestrong master
stevstrong Feb 18, 2020
1c62f86
Merge branch 'stevestrong_F4_merge'
rogerclarkmelbourne Feb 18, 2020
0383384
F1: added definition of pulseInLong()
stevstrong Feb 23, 2020
e9a1b76
[FIX] Missing initialization for doubleBuffer and begun, may lead to …
Mar 12, 2020
4d355e2
Merge branch 'ccestari05-fix_ws2812b_initialization'
rogerclarkmelbourne Mar 13, 2020
ee91c82
Merge pull request #742 from arpruss/master
stevstrong Apr 17, 2020
53b5af3
Added digitalPinToInterrupt macro for STM32F4
jgromes Apr 22, 2020
f6fb21a
Merge pull request #770 from jgromes/master
stevstrong Apr 22, 2020
6fb6877
upgrade to latest USBComposite library
arpruss May 13, 2020
f1c4c30
fix digitizer range bug
arpruss May 13, 2020
d5521f0
F4: fix #779
stevstrong May 15, 2020
1b54573
F4: fix for #780
stevstrong May 15, 2020
faa0dc5
F4: fix #778
stevstrong May 15, 2020
3fab619
F1: added HardwareTimer.init() to be compatible with F4
stevstrong May 15, 2020
2b3491f
Revert "F1: added HardwareTimer.init() to be compatible with F4"
stevstrong May 15, 2020
8964d85
F1: add HardwareTimer.init() to be compatible with F4
stevstrong May 15, 2020
4dde563
Updated readme
rogerclarkmelbourne May 18, 2020
c31e5d2
delete out of date files
arpruss May 18, 2020
0454531
F4: updates in adc.h and adc.c
May 22, 2020
ae60f7a
Prevent min and max macro definitions from colliding with the stdlib …
danieltr3s May 24, 2020
67e1be5
Prevent min and max macro definitions from colliding with the stdlib …
danieltr3s May 25, 2020
a698003
Fix for sprintf usages when compiling with nano.specs option set.
danieltr3s May 25, 2020
97b9c44
Merge pull request #789 from danieltr3s/minmax_stdlib_fix
stevstrong May 25, 2020
b2a48a5
bugfix, adc_ovr_enable_irq()
May 25, 2020
f581210
add test sketch and example for PR784
May 26, 2020
d86d77b
Merge branch 'master' of https://github.com/arpruss/Arduino_STM32 int…
rogerclarkmelbourne May 30, 2020
ae71191
remove old file
arpruss May 31, 2020
2785a48
Merge branch 'master' of https://github.com/arpruss/Arduino_STM32 int…
rogerclarkmelbourne May 31, 2020
51fdd0c
Update stlink_upload.bat
stevstrong Jun 2, 2020
bb057bc
Add hid-flash for linux64. Fixes #794
albertskog Jun 2, 2020
7ca379e
Merge pull request #795 from albertskog/add-hid-flash
stevstrong Jun 2, 2020
aabca7b
stm3f103 timer only 4 channel
bigtreetech Jun 3, 2020
5a7d8da
Merge pull request #796 from bigtreetech/master
stevstrong Jun 3, 2020
42022d4
Merge branch 'arpruss-master'
rogerclarkmelbourne Jun 7, 2020
7a7659d
Merge branch 'master' of https://github.com/rogerclarkmelbourne/Ardui…
rogerclarkmelbourne Jun 7, 2020
2363e7b
F1: fixed STM32ADC example MultiChannelSingleConversion
stevstrong Jun 11, 2020
9b81135
Update cxxabi-compat.cpp
stevstrong Jun 15, 2020
5236648
F1: update STM32ADC.h to fix #801
stevstrong Jun 17, 2020
6d884b1
F1: update wirish_math.h to fix error 'isnan' was not declared in thi…
stevstrong Jun 19, 2020
58ca12a
F1: update sdio.cpp - fix compile error
stevstrong Aug 3, 2020
83fbb07
F1: Wire: fix compile warnings (unused parameters)
stevstrong Aug 5, 2020
162ecbf
F1: SPI: remove compiler warnings + fix SdFat compatibility
stevstrong Aug 7, 2020
fedf4d4
Update wirish_math.h - fix GCC 4.8 error related to min and max
stevstrong Aug 8, 2020
b9fbddd
Fix Java PATH problem on Windows
dadul96 Aug 24, 2020
2ac6f6c
recompile upload-reset for 64-bit systems
midnight-wonderer Sep 5, 2020
bd6d569
Update boards.h
stevstrong Oct 18, 2020
7a7cff8
Update boards.h
stevstrong Oct 20, 2020
b6f73e9
F1: STM32ADC library update - added AWD handling
stevstrong Nov 1, 2020
59227d1
F1: STM32ADC - added AnalogWatchdog example
stevstrong Nov 1, 2020
d04e7f6
Merge pull request #790 from danieltr3s/sprintf_fix
stevstrong Nov 8, 2020
194a45a
Update dtostrf.c
stevstrong Nov 13, 2020
6e1b2e6
Create TestCompile.yml
ArminJo Nov 14, 2020
79ec492
Update TestCompile.yml
ArminJo Nov 14, 2020
47a7122
Changed Ethernet.h to Ethernet_STM.h
ArminJo Nov 14, 2020
ae0eac8
Adding Adafruit Gfx library, excluding errorneous examples
ArminJo Nov 14, 2020
3b2b77d
included libs excluded examples, removed debug
ArminJo Nov 14, 2020
05d8bee
more exludes
ArminJo Nov 14, 2020
cb66e94
excluded OLED_I2C examples
ArminJo Nov 14, 2020
4a70375
Add some preprocessor guards to allow configuring (or disabling) the …
kiki-lamb Nov 25, 2020
d9adc52
Compatibility with current HEAD versions of Adafruit GFX and Adafruit…
kiki-lamb Nov 25, 2020
70f99b7
Adafruit_GFX_AS: Use a macro to achieve s/textsize/textsize_x/.
kiki-lamb Nov 25, 2020
ad73d1c
Fix mistaken cast of wrong argument.
kiki-lamb Nov 25, 2020
7ad9625
Instead of changing behaviour or DMA_ON_LIMIT, just add an ILI9341_ST…
kiki-lamb Nov 26, 2020
b86dc92
- whitespace.
kiki-lamb Nov 26, 2020
7b68776
Instead of ILI9341_STM_FORCEDMA, rename DMA_ON_LIMIT to ILI9341_STM_D…
kiki-lamb Nov 27, 2020
618e0aa
Merge pull request #828 from kiki-lamb/master
stevstrong Nov 27, 2020
de925dc
Merge pull request #439 from kolyshkin/upload
stevstrong Nov 29, 2020
278c520
F1: fix #823 - DMA IRQ related
stevstrong Dec 5, 2020
57df9db
Merge branch 'master' of https://github.com/rogerclarkmelbourne/Ardui…
stevstrong Dec 5, 2020
179c026
Merge pull request #784 from ag88/PR-F4-adc.h-adc.c-updates
stevstrong Dec 5, 2020
fa6c360
Fix STOP conditions on I2C Master.
dewhisna Jun 27, 2020
1ac0186
F1: update Wire.cpp - possible fix for #799
stevstrong Dec 6, 2020
b6eb20d
F1: fix for #767 - STM32ADC example
stevstrong Dec 7, 2020
58264cf
Fix spaces in paths for F4
ThexXTURBOXx Dec 10, 2020
d60ff19
F4: platform.txt - Fix spaces in paths
stevstrong Dec 12, 2020
f575fda
F1: I2C: Fix STOP condition on I2C Master for Bus Error and Timeout
stevstrong Dec 13, 2020
73e2644
F1: SPI: added transfer() function superseeds #622, #586, #515
stevstrong Dec 13, 2020
5fd0941
Merge branch 'master' of https://github.com/rogerclarkmelbourne/Ardui…
stevstrong Dec 13, 2020
48c16ff
F1/F4: Change board identification text for this core - fixes #761
stevstrong Dec 13, 2020
6b4fc02
Tools: recompile upload-reset for 64-bit systems
stevstrong Dec 13, 2020
6ab02e5
Fix Java PATH problem (improved version)
dadul96 Dec 16, 2020
c9ab50d
Fix Java PATH problem (improved version)
dadul96 Dec 16, 2020
0484ef7
Fix Java PATH problem on Windows (Fix Issue #813)
stevstrong Dec 16, 2020
971e43b
Merge pull request #753 from ag88/rtc_adjust_example_incremental_cali…
stevstrong Dec 25, 2020
497dc7a
Update usb_composite_serial.c
arjanmels Feb 6, 2021
bfbf05f
Update usb_cdcacm.c
arjanmels Feb 6, 2021
7924149
F4: guard SPI transfer functions from NULL pointer parameters
stevstrong Feb 6, 2021
c6e96aa
F4: SPI transfer function safeguard correction
stevstrong Feb 6, 2021
4c639ad
F1: USB: fix usb_cdcacm_peek_ex
stevstrong Feb 7, 2021
3a7db43
F1: USB: fix composite_cdcacm_peek_ex
stevstrong Feb 7, 2021
27ce867
F1: USB: fix composite_cdcacm_peek_ex (cont.)
stevstrong Feb 7, 2021
7e93a1b
F1: USB: fix usb_cdcacm_peek_ex (cont.)
stevstrong Feb 7, 2021
31ba073
Merge pull request #843 from arjanmels/patch-1
stevstrong Feb 7, 2021
e54ad47
F4: platform.txt: add -specs=nano.specs as linker directive to reduce…
stevstrong Feb 8, 2021
11b55c4
F1: platform.txt: added --specs=nano.specs to reduce code size
stevstrong Feb 21, 2021
5175e3b
F1: allow core usage in C library files
stevstrong Feb 21, 2021
4860048
F1: added some function definitions to avr\pgmspace,h
stevstrong Feb 27, 2021
9ef6d9d
F4: corrected RTC & backup registers address - fixes https://github.c…
stevstrong Mar 3, 2021
e07d0a5
STM32F4 backup domain registers and backup domain sram
Mar 10, 2021
48817fa
STM32F4: RTClock - prevent clobbering if run on LSE and VBAT
Mar 11, 2021
46609bc
STM32F4 RTClock minor fix
Mar 11, 2021
bab4fda
F1: fix for #852: added function definition into pgmsapce.h
stevstrong Mar 17, 2021
4c2d5e1
USBComposite library updates: MIDI sysex support; bug fixes
arpruss Apr 10, 2021
edb69cc
fix maple_upload dfu_address set to {runtime.ide.path} instead of {up…
tomaskovacik May 7, 2021
098a98c
F1: Wire: add wire(const uint8*, int) to WireBase.h
stevstrong May 21, 2021
ec7a93e
Tools: Linux: Merge pull request #855 from tomaskovacik/master
stevstrong May 30, 2021
8f0490c
Merge branch 'rogerclarkmelbourne:master' into master
arpruss Feb 3, 2022
606e291
USB Composite 1.06 merge
arpruss Feb 3, 2022
dc35dd5
Delete unneeded file
arpruss Feb 3, 2022
0ddc946
Update WireBase.h
stevstrong Feb 24, 2022
52cceec
Added blackpill_f411 variant
board707 Mar 17, 2022
b59ea46
added build options for the abilirty to select HSI clock source witho…
purewack Apr 21, 2022
f5188ce
Fix incorrect upload method for F411
board707 Jun 24, 2022
2f43c05
fixes #883
ArminJo Sep 17, 2022
341cd89
Merge branch 'Arduino-IRremote-master'
rogerclarkmelbourne Sep 26, 2022
3f57bae
update USBComposite to 1.0.7
arpruss Jan 4, 2023
cd1d2a0
Merge pull request #850 from ag88/stm32f4bkp
stevstrong Sep 25, 2023
7c357b4
Merge branch 'rogerclarkmelbourne:master' into master
ArminJo Oct 27, 2023
29ffd9b
Added workflow_dispatch for manual build check
ArminJo Oct 27, 2023
bc91b52
Using ln -s instead of cp
ArminJo Oct 27, 2023
980dfe1
Using ln -s instead of cp
ArminJo Oct 27, 2023
dae6e85
Merge pull request #827 from ArminJo/master
stevstrong Oct 28, 2023
9f32103
Merge pull request #874 from board707/blackpill_F411
stevstrong Nov 3, 2023
819ed8e
Merge pull request #868 from arpruss/master
stevstrong Nov 3, 2023
de3b2c6
Fixing error: 'utoa' was not declared in this scope - see #884
ArminJo Nov 3, 2023
73cb0a6
Merge pull request #829 from kiki-lamb/adafruit-gfx-compat
stevstrong Nov 3, 2023
cca05ed
Merge pull request #912 from ArminJo/patch-1
stevstrong Nov 3, 2023
20d38f8
Merge pull request #878 from purewack/master
stevstrong Nov 3, 2023
33f4ee2
Merge pull request #674 from svmac/master
stevstrong Nov 3, 2023
317348a
Merge pull request #632 from rogerclarkmelbourne/Phonog-Phonog-patch-1
stevstrong Nov 3, 2023
916e416
Update README.md
stevstrong Nov 3, 2023
1b65c84
fix HardwareCANexample.ino
stevstrong Nov 3, 2023
7cf5070
Update wirish_digital.cpp - fix #859
stevstrong Nov 6, 2023
c5a8e9d
fix boardPWMpins table for generic gdf103c variant
stevstrong Nov 6, 2023
689f478
fix boardPWMpins for generic F103c variant
stevstrong Nov 6, 2023
da6b55d
fix boardPWMpins table for generic F103C variant
stevstrong Nov 6, 2023
4bc749d
fix BOARD_NR_PWM_PIN for generic F103C variant
stevstrong Nov 6, 2023
338020b
Rename hid-flash to hid_flash
stevstrong Jan 1, 2024
1ff4b7f
Add return values to write() methods to be compatible with STM32F1 core
board707 Apr 24, 2024
2bd65d9
Fix spi.transfer() "is ambiguous" issue
board707 Apr 24, 2024
b863dd2
Fix spi.transfer() "is ambiguous" issue
board707 Apr 24, 2024
1cbad56
Merge pull request #925 from board707/wire_compat_issue
stevstrong Apr 28, 2024
d05a128
Merge pull request #924 from board707/spi_transfer_issue
stevstrong Apr 28, 2024
8347901
Add support for hardwire I2C2 on blackpill F401
board707 Aug 29, 2024
951c1ac
Add conditional select of I2C pins.
board707 Aug 30, 2024
a1e6f3f
Add support of I2C3 on blackpill boards
board707 Aug 30, 2024
245b97a
Merge pull request #936 from board707/HardWire2
stevstrong Sep 3, 2024
0ebfb4b
Remove CCMRAM to work
board707 Mar 17, 2025
5f5f75c
Move stack out of CCMRAM
board707 Mar 22, 2025
ad45681
Merge pull request #941 from board707/F407VE_board - move stack from …
stevstrong Mar 25, 2025
2c0d1a6
Change order of F103C8 clock options to ensure 72 MHz defaults.
board707 Jul 1, 2025
78d0cd8
Merge pull request #944 from board707/F103C8_clock_default
stevstrong Jul 1, 2025
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
  •  
  •  
  •  
84 changes: 84 additions & 0 deletions .github/workflows/TestCompile.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# TestCompile.yml
# Github workflow script to test compile all examples of an Arduino core repository.
#
# Copyright (C) 2020 Armin Joachimsmeyer
# https://github.com/ArminJo/Github-Actions
#

# This is the name of the workflow, visible on GitHub UI.
name: TestCompile
on:
workflow_dispatch: # To run it manually
description: 'manual build check'
push: # see: https://help.github.com/en/actions/reference/events-that-trigger-workflows#pull-request-event-pull_request
paths:
- '**.ino'
- '**.cpp'
- '**.h'
- '**TestCompile.yml'
pull_request:
jobs:
build:
name: Test compiling examples for Arduino_STM32
runs-on: ubuntu-latest
env:
# PLATFORM_DEFAULT_URL: http://dan.drown.org/stm32duino/package_STM32duino_index.json
# Comma separated list without double quotes around the list.
REQUIRED_LIBRARIES: SdFat,Streaming,Adafruit GFX Library,Adafruit SSD1306,Adafruit STMPE610,Adafruit TouchScreen,SD

strategy:
matrix:
# The matrix will produce one job for each configuration parameter of type `arduino-boards-fqbn`
# In the Arduino IDE, the fqbn is printed in the first line of the verbose output for compilation as parameter -fqbn=... for the "arduino-builder -dump-prefs" command
#
# Examples: arduino:avr:uno, arduino:avr:leonardo, arduino:avr:nano, arduino:avr:mega
# arduino:sam:arduino_due_x, arduino:samd:arduino_zero_native"
# ATTinyCore:avr:attinyx5:chip=85,clock=1internal, digistump:avr:digispark-tiny, digistump:avr:digispark-pro
# STM32:stm32:GenF1:pnum=BLUEPILL_F103C8
# esp8266:esp8266:huzzah:eesz=4M3M,xtal=80, esp32:esp32:featheresp32:FlashFreq=80
# You may add a suffix behind the fqbn with "|" to specify one board for e.g. different compile options like arduino:avr:uno|trace
#############################################################################################################
arduino-boards-fqbn:
- stm32duino:STM32F1:genericSTM32F103C
#- stm32duino:STM32F1:nucleo_f103rb
#- stm32duino:STM32F1:mapleMini

# Specify parameters for each board.
# With sketches-exclude you may exclude specific examples for a board. Use a comma separated list.
#############################################################################################################
include:
- arduino-boards-fqbn: stm32duino:STM32F1:genericSTM32F103C
# errors: BOARD_BUTTON_PIN not defined, 'textsize' was not declared in this scope, 'A0' was not declared in this scope, 'BOARD_LED_PIN' was not declared in this scope, no matching function for call to 'SPIClass::transfer(uint8_t*&, size_t&)
sketches-exclude: Debounce,StateChangeDetection,Button,QASlave,InteractiveTest,WhileStatementConditional,HardwareTimerOnePulseMode,HardwareTimerPWMInput,StringEx_Parsing,hello_STM,MIDI_Classic_Mode,JeeUdp,multipacketSD,udpListener,etherNode,SingleChannelContinuousConversion,OLED_I2C_NumberFonts,OLED_I2C_TinyFont_View,OLED_I2C_Scrolling_Text,OLED_I2C_Bitmap,OLED_I2C_3D_Cube,OLED_I2C_ViewFont,OLED_I2C_Graph_Demo,OLED_I2C_Brightness,OLED_I2C_NumberFonts,OLED_I2C_TinyFont_View,coos_display_blink,rtos_blink,rtos_display_blink,Twitter_Serial_GW,XivelyClientString,XivelyClient,ssd1306_128x64_i2c_STM32,breakouttouchpaint,graphicstest,stm32_graphicstest,TFT_Rainbow_ILI9341,TFT_Clock_ILI9341,TFT_Clock_Digital_ILI9341,TFT_Show_Font_ILI9341,graphicstest,stm32_graphicstest,onoffbutton_breakout,onoffbutton_breakout,onoffbutton,spitftbitmap,ssd1306_128x64_spi,ssd1306_128x32_i2c,ssd1306_128x32_spi,sdreader

#- arduino-boards-fqbn: stm32duino:STM32F1:nucleo_f103rb
# Examples to exclude because of ...
#sketches-exclude: WiiClassicJoystick,BasicUsage,DigisparkOLED,SoftPwm13Pins,TinySoftPwmDemo,DigiUSB2LCD,DigisparkUSBDemo,ArduinoNunchukDemo,DigisparkJoystickDemo

# Do not cancel all jobs / architectures if one job fails
fail-fast: false
steps:
- name: Checkout
uses: actions/checkout@master

- name: Use this repo as Arduino core
run: |
mkdir --parents $HOME/.arduino15/packages/stm32duino/hardware/STM32F1/0.0.7 # dummy release number
# cannot move, since we want to compile the examples in the library subfolder :-)
ln -s $GITHUB_WORKSPACE/STM32F1/* $HOME/.arduino15/packages/stm32duino/hardware/STM32F1/0.0.7
#cp --recursive $GITHUB_WORKSPACE/STM32F1/* $HOME/.arduino15/packages/stm32duino/hardware/STM32F1/0.0.7/
#ls -l --dereference --recursive --all $HOME/.arduino15/packages/stm32duino/hardware/STM32F1/0.0.7/

- name: Compile all examples
uses: ArminJo/arduino-test-compile@master
with:
required-libraries: ${{ env.REQUIRED_LIBRARIES }}
arduino-board-fqbn: ${{ matrix.arduino-boards-fqbn }}
arduino-platform: stm32duino:STM32F1,arduino:sam # we require the C compiler from it. See dependencies of package_STM32duino_index.json
#platform-default-url: ${{ env.PLATFORM_DEFAULT_URL }}
#platform-url: ${{ matrix.platform-url }}
sketches-exclude: ${{ matrix.sketches-exclude }}
build-properties: ${{ toJson(matrix.build-properties) }}
sketch-names: "*.ino"
sketch-names-find-start: STM32F1/libraries/*/examples/
#debug-install: true
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@ other/maple-bootloader/*~
*.o
*.bak
*.1
platform.local.txt
boards.local.txt
49 changes: 18 additions & 31 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,50 +1,37 @@
Arduino STM32
=============
Arduino STM32
=============

## Notice

This software is experimental and a work in progress.
Under no circumstances should these files be used in relation to any critical system(s).
Use of these files is at your own risk.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

## Summary:
This repo contains, the "Hardware" files to support STM32 based boards on Arduino version 1.8.x (some older versions may also work) including [LeafLabs Maple, and Maple mini](http://www.leaflabs.com/about-maple/), and other generic STM32F103 boards

***PRIMARY SUPPORT FORUM: http://www.stm32duino.com/***
## Summary:
This repo contains the "Hardware" files to support STM32 based boards on Arduino version 1.8.x (some older versions may also work) including [LeafLabs Maple, and Maple mini](http://www.leaflabs.com/about-maple/), and other generic STM32F103 boards.

***We are also on Gitter https://gitter.im/stm32duino/Lobby/***
[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/stm32duino/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

## Background & Support:
* Based on https://github.com/bobc/maple-asp, which is in turn based on LibMaple by Leaflabs
## Background & Support:
* Based on https://github.com/bobc/maple-asp, which is in turn based on LibMaple by Leaflabs
* **Please read the wiki (https://github.com/rogerclarkmelbourne/Arduino_STM32/wiki) for full details**
* See also my blog: http://www.rogerclark.net/stm32f103-and-maple-maple-mini-with-arduino-1-5-x-ide/
* **NEW: Main support site for using STM32 boards with the Arduino IDE: http://www.stm32duino.com/**
* See also my blog: http://www.rogerclark.net/stm32f103-and-maple-maple-mini-with-arduino-1-5-x-ide/
* **NEW: Main support site for using STM32 boards with the Arduino IDE: http://www.stm32duino.com/**
* Original LeafLabs "Docs:" http://docs.leaflabs.com/docs.leaflabs.com/index.html

## Known issues
* Use of static variables inside functions greatly increase the code size becuase additional code is needed for thread-safe handling of these statics.
If this is a problem for your application, please edit platform.txt and add -fno-threadsafe-statics the compiler.cpp.flags

**YouTube Videos:**
* 20141116: [Arduino 1.5.8 IDE with STM32 board](https://www.youtube.com/watch?v=-zwGnytGT8M)
* 20150413: [STM32 for Arduino 1.6.2 or newer (update)](https://www.youtube.com/watch?v=TePglhSkghg)
* 20150419: [Uploading via USB to Serial to STM32F103 boards](https://www.youtube.com/watch?v=G_RF0a0hrak)

## Additional Links & Info:
* https://www.hackster.io/rayburne/4-dollar-90-mips-32-bit-72-mhz-arm-arduino
## Additional Links & Info:
* https://www.hackster.io/rayburne/4-dollar-90-mips-32-bit-72-mhz-arm-arduino

## Purchase info:
## Purchase info:
### Entry level boards

* [Ebay search for "arduino maple"](http://www.ebay.com/sch/i.html?_from=R40&_sacat=0&LH_BIN=1&_nkw=arduino+maple&_sop=15) (currently costs <$5 with shipping)
* [AliExpress search for "leaflabs maple"] (http://www.aliexpress.com/wholesale?catId=0&initiative_id=SB_20150607085526&SearchText=leaflabs+maple)
* [AliExpress search for "leaflabs maple"](http://www.aliexpress.com/wholesale?catId=0&initiative_id=SB_20150607085526&SearchText=leaflabs+maple)

### Bigger boards (You need to load the stm32duino bootloader)

Some supplier have this board e.g.

*[ STM32F103VET ](http://www.ebay.com.au/itm/1PCS-STM32F103VET6-ARM-STM32-Minimum-System-Development-Board-Arduino-M77-/301433302819)

*[There is also a STM32F103ZET board which also works, however they are not always available. They have been listed as "STM32F103ZET6 Minimum System Development Board ARM STM32 Cortex-m3 M75"]
(http://www.ebay.com.au/itm/1pcs-STM32F103ZET6-Minimum-System-Development-Board-ARM-STM32-Cortex-m3-M75-/291305557264)

Some suppliers have this board e.g.
* [ STM32F103VET ](http://www.ebay.com.au/itm/1PCS-STM32F103VET6-ARM-STM32-Minimum-System-Development-Board-Arduino-M77-/301433302819)
* [There is also a STM32F103ZET board which also works, however they are not always available. They have been listed as "STM32F103ZET6 Minimum System Development Board ARM STM32 Cortex-m3 M75"](http://www.ebay.com.au/itm/1pcs-STM32F103ZET6-Minimum-System-Development-Board-ARM-STM32-Cortex-m3-M75-/291305557264)
Loading