Releases: stm32duino/Arduino_Core_STM32
Arduino Core for STM32 2.7.1
What's Changed
- Fixed SPI mode enum in SubGHz library by @jgromes in #2191
- fix(SubGhz): SPISettings not properly defined by @fpistm in #2193
- Fixed memory on Wire instance by @gbr1 in #2196
- fix(nucleo_f722ze): remove duplicate PE2 definition by @fpistm in #2200
- chore(U5): update to latest STM32CubeU5 v1.4.0 by @fpistm in #2198
- fix(spi): keep constexpr constructor by @fpistm in #2204
- feat(spi): add transfer api with tx and rx buffer by @fpistm in #2206
- chore(F4): update to latest STM32CubeF4 v1.28.0 by @fpistm in #2213
New Contributors
Full Changelog: 2.7.0...2.7.1
Arduino Core for STM32 2.7.0
What's Changed
- Sdmmc signals by @fpistm in #2053
- system(H7): allow VECT_TAB_BASE_ADDRESS redefinition by @fpistm in #2061
- make cmake work on macos by @nathantsoi in #2060
- Update to latest STM32CubeC0 v1.1.0 by @fpistm in #2065
- Update to latest STM32CubeL4 v1.18.0 by @fpistm in #2066
- Update to latest STM32CubeU5 v1.3.0 by @fpistm in #2068
- Update to latest STM32CubeH5 v1.1.0 by @fpistm in #2067
- Update to latest STM32CubeWB v1.17.0 by @fpistm in #2069
- feat: allow USE_HAL_PPP_REGISTER_CALLBACKS redefinition by @fpistm in #2080
- Update to latest STM32CubeF1 v1.8.5 by @fpistm in #2088
- fix(H7): restore DATA_IN_D2_SRAM comment in system source file by @fpistm in #2095
- chore: update to CMSIS 5.9.0 by @fpistm in #2099
- fix(Nucleo_G031K8): add new node name by @fpistm in #2097
- chore(pio): disable build by @fpistm in #2100
- Add variant: add support for generic F446Z(C-E)(H-J-T) and Nucleo-F446ZE by @CMGeldenhuys in #2108
- variant(H5): add generic H503RB and Nucelo H503RB by @fpistm in #2117
- fix(clock): handle HSE TCXO when available by @fpistm in #2123
- feat(serial): add timeout support to flush() by @fpistm in #2124
- chore: prevent old gcc version to raised an error by @fpistm in #2126
- Support for NUCLEO-H753ZI board by @yp05327 in #2130
- Update PlatformIO build script by @valeros in #2135
- Add support for setting the channel input filter by @dberlin in #2136
- fix(Wire): avoid memory leaks by @fpistm in #2148
- Add Iot continuum devkit board by @orange-halben in #2145
- feat: implement weaked _gettimeofday by @fpistm in #2151
- fix(backup): enable RTC clock for TAMP backup registers by @fpistm in #2153
- Wrap cmake policies in if statements by @TrentHouliston in #2155
- variant(H7): add generic H747XIH and STM32H747I-DISCO by @mathieuchopstm in #2158
- external redefinition of CDC_TRANSMIT_QUEUE_BUFFER_PACKET_NUMBER and CDC_RECEIVE_QUEUE_BUFFER_PACKET_NUMBER by @pat1 in #2165
- fix(SPI): avoid 0 delay when SPI clock > 1MHz by @fpistm in #2182
- [breaking] SPI library rework by @fpistm in #2171
- feat: support compiler.optimization_flags for Arduino IDE 2.X by @fpistm in #2184
- Add Generic F723-F730-F733 Variants by @shreyask21 in #2174
- fix(nucleo_G474RE): wrong SystemClock_Config configuration by @fpistm in #2186
- fix(nucleo_G431KB): add missing analog pin by @fpistm in #2187
New Contributors
- @nathantsoi made their first contribution in #2060
- @CMGeldenhuys made their first contribution in #2108
- @yp05327 made their first contribution in #2130
- @dberlin made their first contribution in #2136
- @orange-halben made their first contribution in #2145
- @TrentHouliston made their first contribution in #2155
- @mathieuchopstm made their first contribution in #2158
- @pat1 made their first contribution in #2165
- @shreyask21 made their first contribution in #2174
Full Changelog: 2.6.0...2.7.0
Arduino Core for STM32 2.6.0
What's Changed
- Add SparkFun MicroMod STM32F405 by @bsatrom in #1987
- feat: add offset option to stm32CubeProg upload method by @fpistm in #1993
- Update to latest STM32CubeWB v1.16.0 by @fpistm in #1996
- variant(WL): add LoRa-E5 mini by @fpistm in #1997
- GNSE clock config update and moved to LoRa menu by @fpistm in #1999
- fix(F4): add missing HAL_ETH_LEGACY_MODULE_ENABLED by @fpistm in #2004
- fix(Nucleo_F401RE): use HSI intead of HSE bypass by @fpistm in #2007
- Add RAK3172 module by @Oliv4945 in #2005
- Added support for STM32F412Zx MCU by @Toritos01 in #2011
- fix(nucleo F413ZH): several wrong definitions by @fpistm in #2022
- Add support of STM32H5 serie by @fpistm in #2016
- Update to latest STM32CubeF2 v1.9.4 by @fpistm in #2013
- Update to latest STM32CubeL1 v1.10.4 by @fpistm in #2014
- fix(DISCO_F072RB): USER_BTN definition by @fpistm in #2031
- chore(usb): update to stm32_mw_usb_device v2.11.1 by @fpistm in #2028
- add STM32L433RC, STM32L433RB and STM32L443RC support by @emoninet2 in #2033
- Add MicroMod STM32WB5MMG. Move MicroMod STM32F405 under SparkFun Boards file. by @SFE-Brudnerd in #2037
- variant(L1): add L151ZDT, L152ZDT and L162ZDT generic support by @fpistm in #2042
- variant(): add STEVAL-MKBOXPRO (SensorTile.box Pro) by @fpistm in #2043
- update ram size for stm32f72x and f73x by @gautierg-st in #2044
- Sd pinmap arrays by @fpistm in #2045
- Add print(float) to save space (VS double). by @honnet in #2036
- variants(C0): add generic C011D6, C011F(4-6)(P-U) and C031F(4-6)P by @fpistm in #2048
- Update README.md by @SFE-Brudnerd in #2051
- variants(C0): add STM32C0116-DK support by @fpistm in #2049
New Contributors
- @bsatrom made their first contribution in #1987
- @Oliv4945 made their first contribution in #2005
- @Toritos01 made their first contribution in #2011
- @emoninet2 made their first contribution in #2033
- @SFE-Brudnerd made their first contribution in #2037
- @honnet made their first contribution in #2036
Full Changelog: 2.5.0...2.6.0
Arduino Core for STM32 2.5.0
What's Changed
- Added Nucleo-WB15CC by @Subtle-Puneet-Shrivas in #1900
- fix: remove RTC clock source selection for Nucleo_F446 by @fpistm in #1920
- Add STM32 C0 support by @fpistm in #1926
- map LED_BUILTIN to PA13 by @GreenEllipsis in #1930
- fix: USB configuration STM32H723ZG by @fpistm in #1932
- Fix links for "WeAct MiniSTM32H7*" boards by @per1234 in #1934
- Fix issue on upload for old NUCLEO-F401RE boards by @cparata in #1937
- fix(CRC): explicitly set InputDataFormat to avoid assert by @fpistm in #1941
- platform: moved from arm-none-eabi-gcc 10.3.1-2.3 to 12.2.1-1.2 by @fpistm in #1944
- chore: unified maple upload method by @fpistm in #1949
- ci: deploy check on Markdown links by @fpistm in #1958
- ci: cleanup to avoid useless execution by @fpistm in #1959
- swan_r5: Increase LSE drive strength by @zfields in #1961
- ci(cmake): use matrix to build against one board per serie by @fpistm in #1960
- fix(serial): warning Warray-bounds by @fpistm in #1964
- Update to latest STM32CubeL0 v1.12.2 by @fpistm in #1969
- Update to latest STM32CubeF3 v1.11.4 by @fpistm in #1968
- Update to latest STM32CubeU5 v1.2.0 and open_pin_data v6.0.80 by @fpistm in #1965
- fix: typos raised by new codespell version by @fpistm in #1971
- fix: silence the warnings from ExternalProject_Add by @massonal in #1972
- Add debug openocd by @gautierg-st in #1976
- Update to latest STM32CubeF0 v1.11.4 by @fpistm in #1979
- variant(WB): add P-Nucleo WB55 USB Dongle by @fpistm in #1985
New Contributors
- @Subtle-Puneet-Shrivas made their first contribution in #1900
- @GreenEllipsis made their first contribution in #1930
- @per1234 made their first contribution in #1934
Full Changelog: 2.4.0...2.5.0
Arduino Core for STM32 2.4.0
What's Changed
- ci(arduino-lint): fix new error raised by new version 1.2.1 by @fpistm in #1754
- Print and debug improvements by @matthijskooijman in #1750
- variant: update generated files to STM32_open_pin_data v6.0.60 by @fpistm in #1757
- fix(build_opt): add double quotes to allow space in path by @fpistm in #1759
- system(F4) update STM32F4xx HAL Drivers to v1.8.1 by @TDhaouST in #1763
- System(g0) update stm32 G0xx HAL Drivers & CMSIS by @TDhaouST in #1764
- Fix for ADC timing for NUCLEO-WL55JC (STM32WLxx) by @yourapiexpert in #1766
- Update f7xx HAL drivers and CMSIS by @TDhaouST in #1761
- arduino-lint 1.2.1 requirements fix prevents upload with arduino-cli by @fpistm in #1769
- fix(SoftwareSerial): correct TX to RX switch when using half-duplex by @dominikberse in #1771
- fix(wire): ensure i2c bus is ready by @fpistm in #1775
- Daisy Patch SM Audio Fix by @beserge in #1780
- fix: variant Nucleo F031K6: switch PLL source to HSI by @ABOSTM in #1787
- fix: readme: typo Generic STM32F207ZG and STM32F217ZG by @ABOSTM in #1788
- chore: Enable Swan
CDCgen
by default by @zfields in #1797 - fix: take into account STM32G0B0 USART IRQ multiplexing specificities by @ABOSTM in #1790
- fix: Nucleo G474RE: define LED_BUILTIN in the proper way by @ABOSTM in #1815
- fix(Wire): in case of slave, (re)enable interrupt when configuring clock by @ABOSTM in #1818
- I2C slave: enable matching any configured slave address by @deltaford in #1801
- Added Generic F3xx Boards by @alextrical in #1795
- Added F410T(8-B)Y board by @alextrical in #1791
- Added Generic F1 boards by @alextrical in #1793
- Added Generic F2xx Boards by @alextrical in #1794
- Defined BlackPill F401CE by @alextrical in #1823
- 3D printer board Big Tree Tech EBB42, missing Generic STM32G0 and STM32G4 support by @alextrical in #1784
- fix: set only AF mode for mcu with single AF by @fpistm in #1824
- Added F0 boards by @alextrical in #1792
- Added Generic L0xx Boards by @alextrical in #1796
- fix: typo "..build.peripheral_pins" by @massonal in #1825
- Add Nucleo F722ZE board by @gautierg-st in #1831
- Core debug hardening by @fpistm in #1826
- fix: U575Z(G-I)TxQ_U585ZITxQ ram issue by @fpistm in #1836
- feat: Name Swan Virtual COM Port pins by @zfields in #1841
- chore: Incorporate ST feedback by @zfields in #1844
- Added F13-F24 to USB HID. by @mikaelsundin in #1845
- Add mass storage name for B-U585I-IOT02A board by @gautierg-st in #1851
- system(wb) update STM32WBxx HAL Drivers to v1.11.0 and CMSIS Drivers to v1.11.0 by @ABOSTM in #1843
- Add nucleo f413zh variant by @gautierg-st in #1853
- variants(H7): add generic H723Z(E-G)T, H730ZBT, H733ZGT and Nucleo_H723ZG by @fpistm in #1859
- ci: review by @fpistm in #1876
- I2C slave: allow function wrapped callbacks by @hitech95 in #1835
- variants: update generated files to STM32_open_pin_data v6.0.70 by @fpistm in #1886
- fix(serial): use defined pins when not mapped on Serial by @fpistm in #1888
- variants: add Leafony AP03 by @fpistm in #1889
- Update STM32H7 HAL and CMSIS drivers by @fpistm in #1891
- Update STM32L5 HAL and CMSIS drivers by @fpistm in #1892
- Update HAL and CMSIS drivers to STM32CubeWL 1.3.0 by @fpistm in #1890
- Update STM32WB HAL and CMSIS drivers by @fpistm in #1897
- Update STM32MP1 HAL and CMSIS drivers by @fpistm in #1898
- Implementing an alternative build framework with CMake by @massonal in #1776
- Add SUBGHZSPI support to SPI library. by @fpistm in #1839
New Contributors
- @yourapiexpert made their first contribution in #1766
- @dominikberse made their first contribution in #1771
- @deltaford made their first contribution in #1801
- @alextrical made their first contribution in #1795
- @gautierg-st made their first contribution in #1831
- @mikaelsundin made their first contribution in #1845
Full Changelog: 2.3.0...2.4.0
Arduino Core for STM32 2.3.0
What's Changed
-
Interrupts: remove C prototype and keep only C++ prototypes by @ABOSTM in #1617
-
ci(stm32cube): enhance version regex to match RC versions for example by @ABOSTM in #1618
-
ci(stm32cube): manage Release candidate for HAL/CMSIS versions by @ABOSTM in #1630
-
[U(S)ART] hardware flow control support by @akasona in #1634
-
system(U5): HAL RCC should restore PWR clock after clock configuration by @ABOSTM in #1639
-
Adding new variant for Generic G070xxT by @techstudio-design in #1638
-
fix(cli): optional column number in error pattern by @fpistm in #1658
-
add STM32G031FxPx (and STM32G031Y8Yx, STM32G041F6Px, STM32G041F8Px STM32G041Y8Yx) by @olikraus in #1655
-
Wire: implement STOP sequence to recover I2C bus. by @ABOSTM in #1663
-
fix(WL): wrong arm cortex math library and VECT_TAB_OFFSET used for CM4 by @fpistm in #1665
-
feat: Add No Optimization (-O0) option to menus by @ABOSTM in #1666
-
feat: Add STM32Cube HAL getter to SPI, Wire and HardwareSerial by @ABOSTM in #1674
-
fix: Stabilize SWD Programming for Swan (STM32L4R5) by @zfields in #1694
-
core: fix HardwareSerial compilation failed when USART disabled by @ABOSTM in #1697
-
Add flags about fpv4 for cortex-m33 on platformio-build.py by @asukiaaa in #1704
-
chore: Prepare for next STM32CubeProgrammer release by @zfields in #1711
-
Added new Agafia SG0 Board by @harji2130 in #1690
-
Add support to CRC peripheral by default by @cparata in #1715
-
HardwareTimer: call refresh() after parameter update when timer not running by @ABOSTM in #1721
-
feat: allows arduino-cli to override build property by @fpistm in #1725
-
Improve support for hand-written asm source files by @ivankravets in #1729
-
Added F722RE Variant to boards.txt, added F722RE ldscript.ld by @geosmall in #1712
-
Added the N-Versions of G0(7,8)1G(8,B)U generic Boards by @microtronics in #1730
-
fix: add COM port prefix in bmp_upload pattern on Windows by @reppad in #1737
-
Review get adc/dac/timer channel functions by @fpistm in #1735
-
Error management: save space when core logs are not enabled by @fpistm in #1739
-
Add functionality to ignore library examples in CI for PlatformIO by @valeros in #1746
-
fix: CMSIS STM32G491and STM32G4A1 : add missing aliases for TIM7 and COMP4/5/6 by @ABOSTM in #1744
HAL Drivers and CMSIS updated:
- STM32WBxx HAL Drivers to v1.10.1 and CMSIS Drivers to v1.10.1 by @ABOSTM in #1684
- STM32F4xx HAL Drivers to v1.8.0 and CMSIS Drivers to v2.6.8 by @ABOSTM in #1687
- STM32G0xx HAL Drivers to v1.4.4 and CMSIS Drivers to v1.4.2 by @ABOSTM in #1688
- STM32U5xx HAL Drivers to v1.1.0 , CMSIS Drivers to v1.1.0 by @ABOSTM in #1685
- STM32H7xx HAL Drivers to v1.11.0 and CMSIS Drivers to v1.10.2 by @ABOSTM in #1686
- STM32L4xx HAL Drivers to v1.13.3 by @fpistm in #1701
New Contributors
- @akasona made their first contribution in #1634
- @techstudio-design made their first contribution in #1638
- @olikraus made their first contribution in #1655
- @ric96 made their first contribution in #1691
- @asukiaaa made their first contribution in #1704
- @massonal made their first contribution in #1708
- @harji2130 made their first contribution in #1690
- @ivankravets made their first contribution in #1729
- @microtronics made their first contribution in #1730
- @PumaFPV made their first contribution in #1732
- @reppad made their first contribution in #1737
- @mackelec made their first contribution in #1736
- @TDhaouST made their first contribution in #1745
Known issue
- #1749 build_opt.h not properly generated (see issue to get patch)
Full Changelog: 2.2.0...2.3.0
Arduino Core for STM32 2.2.0
This release includes:
Add support of:
- Daisy Petal SM by @beserge in #1559
- Daisy Patch SM by @beserge in #1519
- Generic G030C6Tx and G030C8Tx by @hitech95 in #1547
- WeAct MiniSTM32H7xx by @ag88 in #1552
- Generic STM32G030F6 by @ademuri in #1589
- DevEBox H7xx by @fpistm in #1573
HAL Drivers and CMSIS updated:
- STM32F7xx HAL Drivers to v1.2.10 by @ABOSTM in #1599
- STM32F7xx CMSIS Drivers to v1.2.10 by @ABOSTM in #1599
- STM32G4xx HAL Drivers to v1.2.2 by @ABOSTM in #1597
- STM32G4xx CMSIS Drivers to v1.2.2 by @ABOSTM in #1597
- STM32H7xx HAL Drivers to v1.10.1 by @ABOSTM in #1603
- STM32H7xx CMSIS Drivers to v1.10.1 by @ABOSTM in #1603
- STM32L4xx HAL Drivers to v1.13.2 by @ABOSTM in #1594
- STM32L4xx HAL Drivers to v1.7.2 by @ABOSTM in #1594
- STM32MP1xx HAL Drivers to v1.5.0 by @ABOSTM in #1576
- STM32MP1xx CMSIS Drivers to v1.5.0 by @ABOSTM in #1576
- STM32U5xx HAL Drivers to v1.0.2 by @ABOSTM in #1595
- STM32WBxx HAL Drivers to v1.10.0 by @ABOSTM in #1580
- STM32WBxx CMSIS Drivers to v1.10.0 by @ABOSTM in #1580
Middleware updated:
- OpenAmp Middleware to MP1 Cube version 1.5.0
Core dependencies:
- Update STM32 Tools 2.1.1
- Move from xpack-arm-none-eabi-gcc-10.2.1-1.1 to xpack-arm-none-eabi-gcc-10.3.1-2.3.
What's Changed
- CI: refactor python scripts by @fpistm in #1522
- Daisy Seed 1.1 variant compatibility by @beserge in #1528
- fix(F2): Ethernet peripheral configuration for LAN8742A by @fpistm in #1540
- HardwareTimer: Allow delaying initialization to setup method by @matthijskooijman in #1534
- HardwareTimer: Add API to check whether timer/channels are running by @ABOSTM in #1550
- Fix typos in variants/ subdirectory by @luzpaz in #1553
- ci: add codespell action by @fpistm in #1554
- HardwareTimer: start timer in case only CC interrupts are used by @ABOSTM in #1549
- HardwareTimer: fix typo in comments and obvious ICPolarity wrong setting by @ABOSTM in #1548
- HardwareTimer: remove useless variable timAssociatedInputChannel by @ABOSTM in #1558
- Wire: Max TX buffer length by @ABOSTM in #1562
- Synchronize PlatformIO build scripts by @valeros in #1563
- fix variant WeActMiniH7xx, DevEBoxH7xx: ena peripheral pll clks by @ag88 in #1585
New Contributors
- @beserge made their first contribution in #1528
- @hitech95 made their first contribution in #1547
- @luzpaz made their first contribution in #1553
- @ag88 made their first contribution in #1552
- @ademuri made their first contribution in #1589
Full Changelog: 2.1.0...2.2.0
Several components libraries are available on stm32duino organization.
They are also available through the Arduino library manager. Search for STM32duino 😉
Arduino Core for STM32 2.1.0
This release includes:
Add support of:
-
EtherCATduino from Elecgator
-
Generic Node Sensor Edition (GNSE) by TTI. More information
-
NUCLEO WL55JC1 (No LoRa support available)
-
SWAN R5 from Blues Wireless
-
Several generic variant:
- Generic F042K4Tx
- Generic F042K6Tx
- Generic G0B1RBTx
- Generic G0B1RCIx
- Generic G0B1RCTx
- Generic G0B1REIx
- Generic G0B1RETx
- Generic G0C1RCIx
- Generic G0C1RCTx
- Generic G0C1REIx
- Generic G0C1RETx
- Generic H742IGKx
- Generic H742IGTx
- Generic H742IIKx
- Generic H742IITx
- Generic H750IBTx
- Generic L433CBTx
- Generic L433CBUx
- Generic L433CCTx
- Generic L433CCUx
- Generic L443CCTx
- Generic L443CCUx
- Generic L4R5ZGYx
- Generic L4R5ZIYx
- Generic L4R9ZGYx
- Generic L4R9ZIYx
- Generic L4S5ZIYx
- Generic L4S9ZIYx
- Generic U575AGIxQ
- Generic U575AIIxQ
- Generic U575ZGTxQ
- Generic U575ZITxQ
- Generic U585AIIxQ
- Generic U585ZETxQ
- Generic WB5MMGHx
- Generic WL54CCUx
- Generic WL54JCIx
- Generic WL55CCUx
- Generic WL55JCIx
- Generic WLE4C8Ux
- Generic WLE4CBUx
- Generic WLE4CCUx
- Generic WLE4J8Ix
- Generic WLE4JBIx
- Generic WLE4JCIx
- Generic WLE5C8Ux
- Generic WLE5CBUx
- Generic WLE5CCUx
- Generic WLE5J8Ix
- Generic WLE5JBIx
- Generic WLE5JCIx
HAL Drivers and CMSIS added:
- STM32U5xx CMSIS Drivers to v1.0.0
- STM32U5xx HAL Drivers to v1.0.0
- STM32WLxx CMSIS Drivers to v1.1.0
- STM32WLxx HAL Drivers to v1.1.0
HAL Drivers and CMSIS updated:
- STM32F0xx HAL Drivers to v1.7.6
- STM32F0xx CMSIS Drivers to v2.3.6
- STM32F1xx HAL Drivers to v1.1.8
- STM32F1xx CMSIS Drivers to v4.3.3
- STM32F2xx HAL Drivers to v1.2.7
- STM32F2xx CMSIS Drivers to v2.2.5
- STM32F3xx CMSIS Drivers to v2.3.6
- STM32F3xx HAL Drivers to v1.5.6
- STM32F4xx HAL Drivers to v1.7.13
- STM32F4xx CMSIS Drivers to v2.6.7
- STM32G0xx HAL Drivers to v1.4.2
- STM32G0xx CMSIS Drivers to v1.4.1
- STM32L0xx CMSIS Drivers to v1.9.2
- STM32L0xx HAL Drivers to v1.10.5
- STM32L1xx HAL Drivers to v1.4.4
- STM32L1xx CMSIS Drivers to v2.3.2
- STM32WBxx CMSIS Drivers to v1.9.0
- STM32WBxx HAL Drivers to v1.9.0
Middleware updated:
- USB Device library to v2.8.0
Core dependencies:
- Update STM32 Tools 2.1.0
- Move from xpack-arm-none-eabi-gcc-9.3.1-1.3 to xpack-arm-none-eabi-gcc-10.2.1-1.1.
Enhancements/improvements:
- board: Nucleo-G474RE: use HSE instead of HSI (#1376)
- feat(cdc): add api to manage the DTR usage (#1193)
- feat(cdc): implement rts api
- feat(uart): add LPUART2 support available wit G0
- Dual pad analog switch: skip gpio configuration in case of direct ADC
- chore: update ll and hal source wrapped files to ignore unused warning
- library: add RGB LED TLC59731
- config: add debug information menu (#873)
- update generated files to STM32_open_pin_data c6.0.30 including L1 AF USB fix (#1451)
- wire: enhance
i2c_getClkFreq()
- spi: enhance
spi_getClkFreqInst()
- spi: ensure peripheral reset
- spi: set
MasterKeepIOState
to avoid glitches - bsp: analog: handle
ADC_VER_V5_V90
available with some STM32H7xx
...
Fixes:
- fix: BlackPill F411CE I2C SDA pin (#1369)
- fix: analog: use
MAX_PWM_RESOLUTION
instead ofMAX_ADC_RESOLUTION
(#1378) - fix: variant NUCLEO_H743ZI digital pin typo
- fix(spi): get correct peripheral clock frequency
- fix(eeprom): define
FLASH_FLAG_ALL_ERRORS
- fix: BlackPill F407Zx missing comma
- fix: nucleo-l152RE: add missing clock configuration for ADC
- fix: correct guard for RHF76_052 (#1439)
- platform: use
build.opt
instead ofbuild_opt.h
. See: arduino/arduino-cli#1338
When the above issue will be fix. This change should be reviewed. This is backward compatible. - fix: Add missing USB and ADC clock configuration for STM32F103R(8-B)T
- fix(uart): add missing half duplex init
- fix: correct variant path for some STM32G0xx
- HartdwareSerial: recover original Arduino asynchronous write API (#1492)
- chore: sort third party group by alphabetical order
- refactor: unified stm32CubeProg shell script. Require STM32Tools v2.1.0
…
Plus several other fixes: See 2.0.0...2.1.0
Several components libraries are available on stm32duino organization.
They are also available through the Arduino library manager. Search for STM32duino 😉
Arduino Core for STM32 2.0.0
Important note:
The board package index has changed to better follow the package index specification. New link is:
https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json
Main changes
As the number of variants continues to grow and in order to ease navigation, they have been grouped in sub-folders per series.
To improve variants support and generic ones several enhancements/fixes has been done:
- Each variant is linked to its mcu/package
- All pins capabilities is possible without modifying the
PeriperhalPins.c
PinMap array.ALTx
pin naming allows to use all alternative possibilities which use other Hardware peripheral instances. - All remap pins are supported (F0/G0)
- All dual pad pins are supported (H7)
- Analog definition clean up
- Several fixes in existing variants
All generic variants are now automatically generated thanks the STM32_open_pin_data repository which provides all the information required for the pin configuration of products based on STM32 MCU. All the generic variants are generated in the variant folder, this means all the generic STM32 MCU are generated. Only the linker script and the clock config are missing. A board_entry.txt
file is generated to ease board declaration.
Note that flash size used can be increased by 2k as now all pins are available in the PeripheralPins.c
. To decrease it you can redefine the \ PinMap
arrays at sketch level to only provide access to the used pins. See the Wiki custom pinmap array section.
This release includes:
Add support of:
-
vcc-gnd.com Mini
-
Several generic variant:
- STM32F030C8
- STM32F030F4
- STM32F030R8
- STM32F031K6T
- STM32F042C4, STM32F042C6
- STM32F051K6U, STM32F051K8U
- STM32F070CB
- STM32F070RB
- STM32F072C8, STM32F072CB
- STM32F072R8, STM32F072RB
- STM32F091RB, STM32F091RC
- STM32F100C4, STM32F100C6
- STM32F100C8, STM32F100CB
- STM32F207ZC, STM32F207ZE, STM32F207ZF, STM32F207G
- STM32F217ZE, STM32F217G
- STM32F302R6, STM32F302R8
- STM32F303CB, STM32F303CC
- STM32F303K6, STM32F303K8
- STM32F303RD, STM32F303RE
- STM32F303RB, STM32F303RC
- STM32F303VBT, STM32F303VCT
- STM32F334K4, STM32F334K6, STM32F334K8
- STM32F401VB, STM32F401VC, STM32F401VD, STM32F401VE
- STM32F407ZE, STM32F407ZG
- STM32F413ZG, STM32F413ZH
- STM32F417ZE, STM32F417ZG
- STM32F423ZH
- STM32F427ZG, STM32F427ZI
- STM32F429ZE, STM32F429ZG, STM32F429ZI
- STM32F437ZG, STM32F437ZI
- STM32F439ZG, STM32F439ZI
- STM32F446VC, STM32F446VE
- STM32F745ZE, STM32F745ZG
- STM32F746BE, STM32F746BG, STM32F746NE, STM32F746NG
- STM32F746ZE, STM32F746ZG
- STM32F750N8
- STM32F750Z8
- STM32F756BG, STM32F756NG
- STM32F756ZG
- STM32F765VG, STM32F765VI
- STM32F765ZG, STM32F765ZI
- STM32F767VG, STM32F767VI
- STM32F767ZG, STM32F767ZI
- STM32F777VI
- STM32F777ZI
- STM32G030K6, STM32G030K8
- STM32G031J4, STM32G031J6
- STM32G031K4, STM32G031K6, STM32G031K8
- STM32G041J6
- STM32G041K6, STM32G041K8
- STM32G071R6, STM32G071R8, STM32G071RB
- STM32G081RB
- STM32G431C6U, STM32G431C8U, STM32G431CBU
- STM32G441CBU
- STM32G431K6, STM32G431K8, STM32G431KB
- STM32G441KB
- STM32G431R6, STM32G431R8, STM32G431RB
- STM32G441RB
- STM32G473RB, STM32G473RC, STM32G473RE
- STM32G474RB, STM32G474RC, STM32G474RE
- STM32G483RE
- STM32G484RE
- STM32H742VG, STM32H742VI
- STM32H742ZG, STM32H742ZI
- STM32H743IG, STM32H743II
- STM32H743VG, STM32H743VI
- STM32H743ZG, STM32H743ZI
- STM32H747AG, STM32H747AI
- STM32H747IG, STM32H747II
- STM32H750ZB
- STM32H750IB, STM32H750II
- STM32H750VB
- STM32H753VI
- STM32H753ZI
- STM32H757AI
- STM32H757II
- STM32L010RB
- STM32L031K4T, STM32L031K6T
- STM32L041K6T
- STM32L051C6, STM32L051C8
- STM32L052R6T, STM32L052R8T
- STM32L053R6T, STM32L053R8T
- STM32L063R8T
- STM32L072CBY, STM32L072CZE, STM32L072CZY
- STM32L072KBT, STM32L072KZT
- STM32L072RBT, STM32L072RZT
- STM32L073CZY
- STM32L073RBT, STM32L073RZT
- STM32L082CZY
- STM32L082KBT, STM32L082KZT
- STM32L083RBT, STM32L083RZT
- STM32L100C6, STM32L100C6-A
- STM32L151C6, STM32L151C8, STM32L151CB
- STM32L151C6-A, STM32L151C8-A, STM32L151CB-A
- STM32L152C6, STM32L152C8, STM32L152CB
- STM32L152C6-A, STM32L152C8-A, STM32L152CB-A
- STM32L151RE
- STM32L152RE
- STM32L162RE
- STM32L412K8, STM32L412KB, STM32L422KB
- STM32L432KB, STM32L432KC, STM32L442KC
- STM32L433RC-P
- STM32L452RC, STM32L452RE, STM32L462RE
- STM32L452RE-P
- STM32L475VC, STM32L475VE, STM32L475VG
- STM32L476VC, STM32L476VE, STM32L476VG
- STM32L476RC, STM32L476RE, STM32L476RG
- STM32L486VG
- STM32L496ZE, STM32L496ZG
- STM32L496ZG-P
- STM32L4A6ZG
- STM32L4A6ZG-P
- STM32L4R5VG, STM32L4R5VI
- STM32L4R5ZGTx, STM32L4R5ZITx
- STM32L4R5ZI-P
- STM32L4R7VITx
- STM32L4R7ZITx
- STM32L4R9ZGJx, STM32L4R9ZIJx
- STM32L4S5VI
- STM32L4S5ZITx
- STM32L4S7VI
- STM32L4S7ZITx
- STM32L4S9ZIJx
- STM32L552ZC-Q, STM32L552ZE-Q
- STM32L562ZE-Q
- STM32WB55CC, STM32WB55CE, STM32WB55CG
- STM32WB55RC, STM32WB55RE, STM32WB55RG
HAL Drivers and CMSIS added:
- [L5] STM32L5xx CMSIS Drivers to v1.0.4
- [L5] STM32L5xx HAL Drivers to v1.0.4
HAL Drivers and CMSIS updated:
- [F0] STM32F0xx CMSIS Drivers to v2.3.5
- [F0] STM32F0xx HAL Drivers to v1.7.5
- [F1] STM32F1xx HAL Drivers to v1.1.7
- [F1] STM32F1xx CMSIS Drivers to v4.3.2
- [F2] STM32F2xx HAL Drivers to v1.2.6
- [F2] STM32F2xx CMSIS Drivers to v2.2.4
- [F3] STM32F3xx CMSIS Drivers to v2.3.5
- [F3] STM32F3xx HAL Drivers to v1.5.5
- [F4] STM32F4xx HAL Drivers to v1.7.12
- [F4] STM32F4xx CMSIS Drivers to v2.6.6
- [F7] STM32F7xx CMSIS Drivers to v1.2.6
- [F7] STM32F7xx HAL Drivers to v1.2.9
- [G4] STM32G4xx CMSIS Drivers to v1.2.1
- [G4] STM32G4xx HAL Drivers to v1.2.1
- [H7] STM32H7xx CMSIS Drivers to v1.10.0
- [H7] STM32H7xx HAL Drivers to v1.10.0
- [L0] STM32L0xx CMSIS Drivers to v1.9.1
- [L0] STM32L0xx HAL Drivers to v1.10.4
- [L1] STM32L1xx HAL Drivers to v1.4.3
- [L1] STM32L1xx CMSIS Drivers to v2.3.1
- [L4] STM32L4xx CMSIS Drivers to v1.7.1
- [L4] STM32L4xx HAL Drivers to v1.13.0
- [MP1] STM32MP1xx CMSIS Drivers to v1.4.0
- [MP1] STM32MP1xx HAL Drivers to v1.4.0
- [WB] STM32WBxx CMSIS Drivers to v1.8.0
- [WB] STM32WBxx HAL Drivers to v1.8.0
Middleware updated:
- USB Device library to v2.6.0
- USB Host library to v3.3.4
Core dependencies:
- Updates STM32 Tools 2.0.0
- Moved from CMSIS 5.5.1 to 5.7.0
- Move from xpack-arm-none-eabi-gcc-9.2.1-1.1 to xpack-arm-none-eabi-gcc-9.3.1-1.3.
Enhancements/improvements:
- variant: Group each variant per STM32 series
As the number of variants continues to grow and in order to ease navigation,
they have been grouped in sub-folders per STM32 series. - Rename
PinMap_PWM
toPinMap_TIM
- Extend Arduino pin naming to the max possibilities (64)
- Clean up old way to define Ax pins definition
- Rework analog pin management. Use mask to ease analog pin management and ease alternative
analog pins introduction. - Add Alternate pins (
ALTx
) management
ThePinName
mentionedPx_y_ALTz
(described in thePeripheralPins.c
/PinNames.h
files)
are alternative possibilities which use other HW peripheral instances.
To access those alternative PinName name using a pin number can be performed like this:PYn_ALTx
Ax | ALTx
Dx | ALTx
x | ALTx
- Change
Ax
constants to an enum - Move
genpinmap
from Arduino_Tools repository and renamedstm32variant.py
- Allow use of a custom peripheral pins file
Syntax in the board.txt:
xxx.build.peripheral_pins=-DCUSTOM_PERIPHERAL_PINS
Example to use a custom peripheral pins file for Nucleo_L476RG:
Nucleo_64.menu.pnum.NUCLEO_L476RG.build.peripheral_pins=-DCUSTOM_PERIPHERAL_PINS
Then add...
Arduino Core for STM32 1.9.0
This release includes:
Add support of:
- Nucleo F746ZG
- Nucleo F756ZG
- Nucleo F072RB
- Nucleo L433RC-P
- Nucleo F031K6
- STM32G0316-DISCO
- 32F413HDISCOVERY
- Generic F103C(4-6-8-B)
- Generic F103R(6-8-B-C-D-E-F-G)
- Generic F103T(4-6-8-B)
- Generic F103V(8-B-C-D-E-F-G)
- Generic F103Z(C-D-E-F-G)
- vcc-gnd.com F103ZE large and mini
- WeAct Black Pill V2.0
- Generic F401C(B-C-D-E)
- Generic F401R(B-C-D-E)
- Generic F405RG
- Generic F407V(E-G)
- Generic F410C(8-B)
- Generic F410R(8-B)
- Generic F411C(C-E)
- Generic F411R(C-E)
- Generic F412C(C-G)
- Generic F412R(E-G)
- Generic F413C(G-H)
- Generic F413R(G-H)
- Generic F415RG
- Generic F417V(E-G)
- Generic F423CH
- Generic F423RH
- Generic F446R(C-E)
- ThunderPack v1.1+
- Daisy
- FYSETC_S6
- PYBStick 26 Duino
- PYBStick 26 Lite
- PYBStick 26 Standard
- PYBStick 26 Pro
HAL Drivers and CMSIS updated:
- STM32F2xx HAL Drivers to v1.2.4
- STM32F2xx CMSIS Drivers to v2.2.3
- STM32G4xx HAL Drivers to v1.1.1
- STM32G4xx CMSIS Drivers to v1.1.1
- STM32H7xx HAL Drivers to v1.8.0
- STM32H7xx CMSIS to v1.8.0
- STM32L4xx HAL Drivers to v1.11.1
- STM32L4xx CMSIS to v1.6.1
- STM32MP1xx HAL Drivers to v1.2.0
- STM32MP1xx CMSIS Drivers to v1.2.0
- STM32WBxx HAL Drivers to v1.5.0
- STM32WBxx CMSIS Drivers to v1.4.0
Middleware update:
- Update OpenAMP to v1.0.4
Core dependencies:
- Updates STM32 Tools 1.4.0
Enhancements/improvements:
- HardwareTimer: start timer when only update interrupt needed (#841)
- HardwareTimer: Clear IT flag only if callback not previously configured
- HardwareTimer: Allow setting preload enable bits
- HardwareTimer: Enable preload for ARR/overflow register
- HardwareTimer: Add API to get configured mode
- HardwareTimer: Added functionality to pass custom parameter to callback (#892)
- I2C: allow static redefinition of buffer size (
I2C_TXRX_BUFFER_SIZE
) - [USB] Do not claim AT-protocol in CDC interface descriptor
- [USB] Clean up USB id and string assignment
- USB: Disable Vbus sensing by default. To enable define:
USBD_VBUS_DETECTION_ENABLE
- Servo: enlarge pin number range to [0..255]
- [G0] Handle pin remap
- SPI: improvements for SPI library (#912)
- [MP1] Add RPMsg virtual serial protocol support (VirtIOSerial)
- Support a .noinit section for variables
- Refactor USB pullup handling
Fixes:
- Fix build issue when TIM module is disabled or only requested
- HardwareTimer: Fix ARR and CCRx computation
- HardwareTimer: specific F1 GPIO needs Alternate Function configuration
- analogWrite: Configure HardwareTimer mode only if not previously done (avoid glitch)
- [HardwareSerial] Fix ambiguous call of overloaded function
- [F1/F2/F4/L1] I2C HAL fix: generate Start only once Stop is finished
- I2C multi instances: Remove static qualifier on TwoWire attributes
- analogRead: don't set ADC common register when ADC doesn't support it.
- Fix EEPROM hardfault: eeprom_buffer should be 8 bytes aligned (#931)
- EEPROM emulation: wrong flash sector used for some F7 variants (#938)
- Fix weaked serialEventRun() not being called
- Fix weaked initVariant()declaration
- F1 pinmap: input mode may be associated with an alternate function
…
Plus several other fixes: See 1.8.0...1.9.0
Several components libraries are available on stm32duino organization.
They are also available through the Arduino library manager. Search for STM32duino 😉