Skip to content

Releases: stm32duino/Arduino_Core_STM32

Arduino Core for STM32 2.8.0

27 Jun 15:16
Compare
Choose a tag to compare

Github Releases (by Release)

What's Changed

  • feat(usb): allow USB PID to be 0x0000 by @fpistm in #2219
  • feat(wire): disable clock when deinit by @fpistm in #2223
  • fix(wire): reset pins to INPUT_ANALOG when deinit by @fpistm in #2227
  • chore(G0): update to latest STM32CubeG0 v1.6.2 by @fpistm in #2235
  • chore(G4): update to latest STM32CubeG4 v1.5.2 by @fpistm in #2236
  • Update README.md by @Khelicon in #2238
  • variants: update generated files to STM32_open_pin_data v6.0.100 by @fpistm in #2240
  • fix(platform): wrong optimization_flags for Arduino 1.8.x by @fpistm in #2247
  • chore: update to latest STM32CubeWB v1.18.0 by @fpistm in #2249
  • fix(i2c): prevent unused variable and functions by @fpistm in #2253
  • HardwareSerial's flush() method to override the method of the base class Print by @ilolis in #2254
  • Fix compiler warning on HardwareTimer by @ldursw in #2256
  • ci(stm32cube): update parse version by @fpistm in #2278
  • feat: add STM32WBAxx support by @fpistm in #2288
  • Multiple sketch support by @ddowling in #2283
  • feat(HardwareTimer): support regular and complementary channels by @fpistm in #2294
  • chore(L5): update to latest STM32CubeL5 v1.5.1 by @fpistm in #2300
  • fix(HardwareTimer): handle FDCANx irq when shared with TIMx irq by @fpistm in #2301
  • Adding an option to disable DAC output buffer by @Bozog in #2309
  • chore: update xpack arm-none-eabi-gcc and openocd versions by @fpistm in #2315
  • Fix issue with writing inital servo value before min/max is configured by @jan019 in #2318
  • add "toString" function with IPAddress by @VirensCn in #2306
  • refactor(platform): factorize using variables by @fpistm in #2320
  • fix(backup): update to support STM32C0xx by @fpistm in #2326
  • ci: prevent to use branch name by @fpistm in #2333
  • chore(h5): update to latest STM32CubeH5 v1.2.0 by @fpistm in #2332
  • chore(h7): update to latest STM32CubeH7 v1.11.2 by @fpistm in #2334
  • Initial support for Nucleo-F439ZI by @pmantoine in #2347
  • chore(f0): update to latest STM32CubeF0 v1.11.5 by @fpistm in #2351
  • chore(f3): update to latest STM32CubeF3 v1.11.5 by @fpistm in #2352
  • chore(wb): update to latest STM32CubeWB v1.19.0 by @fpistm in #2354
  • chore(wba): update to latest STM32CubeWBA v1.3.1 by @fpistm in #2353
  • Added Support for ELV-BM-TRX1 by @ELV-Elektronik-AG in #2373
  • fix(codespell): ignore new words by @fpistm in #2379
  • Adding support for stm32c011j4m6 by @alexnagelberg in #2359
  • chore(system): define USE_HAL_DRIVER on command line by @fpistm in #2380
  • feat: support stm32 assert by @fpistm in #2384
  • STM32H7B0VBTX board variant added to the boards by @Aurentiaco35 in #2387
  • chore(f7): update to latest STM32CubeF7 v1.17.2 by @fpistm in #2394
  • feat: Blues Cygnet by @zfields in #2399
  • chore: cmake enhancement by @fpistm in #2401
  • fix(nucleo_g431k): add missing PinName in digitalPin array by @fpistm in #2403
  • refactor: move several sources as built-in library by @fpistm in #2404
  • refactor(STM32CubeProgrammer): rework options by @fpistm in #2323
  • chore(f4): update to latest STM32CubeF4 v1.28.1 by @fpistm in #2406
  • Define generic boards for STM32L051K8U and -T by @ademuri in #2405
  • feat(debug): implement latest arduino-cli specifications by @fpistm in #2409

New Contributors

Full Changelog: 2.7.1...2.8.0

Arduino Core for STM32 2.7.1

29 Nov 13:36
Compare
Choose a tag to compare

Github Releases (by Release)

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

16 Nov 14:12
Compare
Choose a tag to compare

Github Releases (by Release)

What's Changed

New Contributors

Full Changelog: 2.6.0...2.7.0

Arduino Core for STM32 2.6.0

05 Jul 07:26
Compare
Choose a tag to compare

Github Releases (by Release)

What's Changed

New Contributors

Full Changelog: 2.5.0...2.6.0

Arduino Core for STM32 2.5.0

30 Mar 09:47
Compare
Choose a tag to compare

Github Releases (by Release)

What's Changed

New Contributors

Full Changelog: 2.4.0...2.5.0

Arduino Core for STM32 2.4.0

21 Dec 16:40
Compare
Choose a tag to compare

Github Releases (by Release)

What's Changed

New Contributors

Full Changelog: 2.3.0...2.4.0

Arduino Core for STM32 2.3.0

21 Jun 14:46
Compare
Choose a tag to compare

Github Releases (by Release)

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

  • cores(U5): support USB Type-C on U5 by @ABOSTM in #1640

  • Adding new variant for Generic G070xxT by @techstudio-design in #1638

  • fix(cli): optional column number in error pattern by @fpistm in #1658

  • Bootloader jump to application by @ABOSTM in #1653

  • 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

  • Variant update 6.0.50 by @ABOSTM in #1683

  • fix: Stabilize SWD Programming for Swan (STM32L4R5) by @zfields in #1694

  • core: fix HardwareSerial compilation failed when USART disabled by @ABOSTM in #1697

  • wire: add fix for toggling NoStretch by @ric96 in #1691

  • 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

  • fix: make micros compatible with ISR by @fpistm in #1702

  • Cleaning the build process by @massonal in #1708

  • HAL legacy support by @fpistm in #1710

  • Added new Agafia SG0 Board by @harji2130 in #1690

  • Add support to CRC peripheral by default by @cparata in #1715

  • fix: allow to disable HAL CRC module by @fpistm in #1716

  • HardwareTimer: call refresh() after parameter update when timer not running by @ABOSTM in #1721

  • Improve Swan initialization by @zfields in #1722

  • 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

  • Added STM32F765IIKx by @PumaFPV in #1732

  • variant: update entries and ci config by @fpistm in #1734

  • variant: add AcSIP S76S support by @fpistm in #1733

  • 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

  • Arduino lint by @fpistm in #1743

  • Adding L431RC Generic by @mackelec in #1736

  • variant: G0: add Nucleo-G070RB by @TDhaouST in #1745

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

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

20 Dec 19:25
Compare
Choose a tag to compare

Github Releases (by Release)

This release includes:

Add support of:

HAL Drivers and CMSIS updated:

Middleware updated:

  • OpenAmp Middleware to MP1 Cube version 1.5.0

Core dependencies:

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

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

30 Sep 14:53
Compare
Choose a tag to compare

Github Releases (by Release)

This release includes:

Add support of:

  • B-U585I-IOT02A

  • EtherCATduino from Elecgator

  • Generic Node Sensor Edition (GNSE) by TTI. More information

  • NUCLEO F042K6

  • NUCLEO G0B1RE

  • NUCLEO L010RB

  • NUCLEO U575ZI-Q

  • NUCLEO WL55JC1 (No LoRa support available)

  • STM32WB5MM-DK

  • STorM32 V1.31 RC

  • 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:

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 of MAX_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 of build_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

21 Apr 13:48
Compare
Choose a tag to compare

Github Releases (by Release)

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:

  • Nucleo L552ZE-Q

  • Nucleo F070RB

  • Nucleo G031K8

  • STM32F3DISCOVERY

  • B-G431B-ESC1

  • B-L4S5I-IOT01A

  • OLIMEXINO-STM32F3

  • vcc-gnd.com Mini

  • Aurora One

  • 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:

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 to PinMap_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
    The PinName mentioned Px_y_ALTz (described in the PeripheralPins.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 renamed stm32variant.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...
Read more