Commit Graph

3108 Commits (d6323700d9a92b44e63d8bdb30c38b625f59b17f)

Author SHA1 Message Date
Martin Kojtal bc01a4e063
Merge pull request #15082 from jeromecoutant/PR_STM32F1_AF
STM32F1: add more alternate functions
2021-09-29 15:31:10 +01:00
Martin Kojtal 0b9a7740d5
Merge pull request #15099 from jeromecoutant/PR_H723
STM32H7: enable more custom boards
2021-09-29 15:18:00 +01:00
Martin Kojtal d5d6688a26
Merge pull request #15074 from jeromecoutant/PR_L432
STM32 : default SPI and I2C for targets with ARDUINO-NANO
2021-09-29 10:39:05 +01:00
Martin Kojtal 611ec14905
Merge pull request #15081 from jeromecoutant/PR_PERIPHSCRIPT
STM32: STM32_gen_PeripheralPins.py v1.20.4
2021-09-29 10:26:45 +01:00
Martin Kojtal 0fac696bfc
Merge pull request #15077 from hazzlim/make_can_api_portable
CAN: Use uintptr_t for can_irq_ids
2021-09-29 10:26:37 +01:00
Martin Kojtal 963aa8bcd3
Merge pull request #15065 from jeromecoutant/PR_CAN
STM32L5/STM32U5 : CAN support
2021-09-29 10:25:27 +01:00
Jerome Coutant f9010ed7a0 STM32F4: CAN issue with F407 target 2021-09-28 13:32:11 +02:00
Jerome Coutant 26df0c144e STM32 : default SPI anbd I2C for targets with ARDUINO-NANO 2021-09-28 13:23:21 +02:00
Martin Kojtal 94c7463762
Merge pull request #15062 from jeromecoutant/PR_LORABARE
Lora drivers: explicit lib requirement
2021-09-28 11:04:55 +01:00
Martin Kojtal c8b489ea9b
Merge pull request #15075 from jeromecoutant/PR_G0_CUBE
STM32G0 update drivers version to CUBE V1.5.0
2021-09-28 11:04:36 +01:00
Jerome Coutant da903bf057 STM32H7 add subfamilies for custom boards
- STM32H723xG
- STM32H725xE
- STM32H750xB
2021-09-22 15:13:31 +02:00
Jerome Coutant 998a46f775 STM32F303xC: cmakelist issue 2021-09-22 11:48:01 +02:00
Jerome Coutant d61d7aa24b STM32G0: update README 2021-09-22 11:47:05 +02:00
Jerome Coutant 168f9a37a9 STM32G0: introduce sub family for custom boards
STM32G030x8
STM32G041x8
STM32G050x8
STM32G051x8
STM32G061x8
STM32G081xB
STM32G0B0xE
STM32G0B1xE
STM32G0C1xE
2021-09-22 11:46:54 +02:00
Jerome Coutant 4da602f79e STM32: STM32_gen_PeripheralPins.py v1.20.4
Minor updates needed in
https://github.com/ARMmbed/stm32customtargets/tree/GENERIC_TARGET
2021-09-22 10:59:56 +02:00
Jerome Coutant b711180838 STM32G0: update from STM32Cube_FW_G0_V1.5.0 2021-09-21 11:29:33 +02:00
Jerome Coutant e0877e4077 STM32G0: align code with CubeUpdate script 2021-09-21 11:29:33 +02:00
Jerome Coutant a3d21b7672 STM32F1: add more alternate functions 2021-09-17 15:37:56 +02:00
Hari Limaye b493a15a53 CAN: Use uintptr_t for can_irq_ids
The HAL can_api stores an array of IDs in order to dispatch interrupts
to the correct CAN object. The drivers level CAN Class casts a pointer
to itself to an uint32_t, which is stored as the ID and then cast back
to a CAN * in order to call the correct handler. This results in
compilation failure when the size of an object pointer is greater than
uint32_t, for example when building on a PC for unit testing.

In order to allow Unit Testing of the CAN Class, we replace the use of
uint32_t with uintptr_t (type capable of holding a pointer), which
allows portability and expresses intentions more clearly. In aid of this
latter goal, we also replace the use of the name "id" with "context",
to improve clarity. These are addresses of the context related to that
callback.
2021-09-17 13:36:43 +01:00
Jerome Coutant abe2e48ae8 STM32L5/STM32U5 : CAN suport 2021-09-13 13:55:33 +02:00
Jerome Coutant 4ef3b6cc9c STM32U5: README update 2021-09-10 11:16:17 +02:00
Jerome Coutant 84959256b7 STM32U5 : B_U585I_IOT02A introduction 2021-09-10 11:16:17 +02:00
Jerome Coutant 8114954054 STM32U5 : NUCLEO_U575ZI_Q introduction 2021-09-10 11:16:17 +02:00
Jerome Coutant 724c378c42 STM32U5 : STM32U5xxxxx sub-families 2021-09-10 11:16:16 +02:00
Jerome Coutant f45b1890aa STM32U5 specific driver files 2021-09-10 11:16:16 +02:00
Jerome Coutant e2ca71d1bf STM32U5: generic STM32 driver files update 2021-09-10 11:16:16 +02:00
Jerome Coutant 69c7cb4d59 STM32U5 CMSIS update 2021-09-10 11:16:16 +02:00
Jerome Coutant 3a1eb190d1 STM32U5 / GPIO HAL : GPIO_AF3_TIM1 is missing 2021-09-10 11:16:16 +02:00
Jerome Coutant 16a40c3ff1 STM32U5 ST_HAL_SPI workaround
Internal ticket 112451
2021-09-10 11:16:16 +02:00
Jerome Coutant 8bdd782a30 STM32U5 / CMSIS : USB_OTG patch 2021-09-10 11:16:16 +02:00
Jerome Coutant 59affad91c STM32U5: STM32Cube_FW_U5_V1.0.0 2021-09-10 11:16:08 +02:00
Martin Kojtal 5a3f3f7330
Merge pull request #15051 from hallard/STM32_LPTIM_Prescaler
Allow to use all STM32 targets prescaler for LPTIM
2021-09-10 09:52:04 +01:00
Jerome Coutant fe1adbcc86 Lora drivers: explicit lib requirement 2021-09-10 09:07:15 +02:00
Jerome Coutant 066c07b234 STM32 SPI : Pull Down for output line 2021-09-07 14:32:47 +02:00
Jerome Coutant 8bd27caf89 STM32 SPI : Add SPI reset in init 2021-09-07 14:32:47 +02:00
Jerome Coutant d3b03dec0c STM32 SPI : STM32H7 IP is SPI_IP_VERSION_V2 2021-09-07 14:32:39 +02:00
Charles 1ad23b8d13 Allow more target prescaler for LPTIM 2021-09-03 22:33:40 +02:00
Konstantin Kochin 7bc773badd Improve STM32 SPI asynchronous API stability
`HAL_SPI_Receive_IT` HAL function causes dummy reads in 3-wire mode,
that causes data corruption in RX FIFO/register. It isn't possible
to fix it without signification refactoring, but we may prevent data
corruption with the following fixes:

- RX buffer/register cleanup after asynchronous transfer in 3-wire mode
- Explicit RX buffer/register cleanup after SPI initialization
  (for cases if we re-create SPI object).
2021-09-01 21:12:48 +03:00
Konstantin Kochin c60f0cc11e Fix STM32 spi_abort_asynch function
- add RX cleanup after SPI re-initialization,
  as it isn't implemented in the `HAL_SPI_Init`
- cancel SPI enabling for 3-wire mode
2021-09-01 21:12:48 +03:00
Konstantin Kochin f1c4a7fe52 Fix STM32 SPI 3-wire (synchronous API)
All STM32 families except STM32H7 has the following 3-wire SPI peculiarity in master receive mode:
SPI continuously generates clock signal till it's disabled by a software. It causes that a software
must disable SPI in time. Otherwise, "dummy" reads will be generated.

Current STM32 synchronous SPI 3-wire implementation relies on HAL library functions HAL_SPI_Receive/HAL_SPI_Transmit.
It performs some SPI state checks to detect errors, but unfortunately it isn't fast enough to disable SPI in time.
Additionally, a multithreading environment or interrupt events may cause extra delays.

This commit contains the custom transmit/receive function for SPI 3-wire mode. It uses critical sections to
prevents accidental interrupt event delays, disables SPI after each frame receiving and disables SPI during
frame generation. It adds some delay between SPI frames (~700 ns), but gives reliable 3-wire SPI communications.
2021-09-01 21:12:48 +03:00
Konstantin Kochin 179bba9189 Move common STM32 SPI operations to separate functions
- move a code that waits readable SPI state from `spi_master_write`
  function to inline functions `msp_writable` and `msp_wait_writable`
- move a code that waits writeable SPI state from `spi_master_write`
  function to inline functions `msp_readable` and `msp_wait_readable`
- move a code that writes data to SPI from `spi_master_write`
  function to inline function `msp_write_data`
- move a code that reads data from SPI from `spi_master_write`
  function to inline function `msp_read_data`
2021-09-01 21:12:48 +03:00
Lukas Karel e4f0281dd8 add RTC from HSE to target STM32F1 2021-09-01 14:42:04 +02:00
Martin Kojtal 43a060fe7c
Merge pull request #14926 from katherrafi/hal_callback_override
Eth: STM32: Overriding HAL callbacks in stm32xx
2021-08-26 09:51:48 +01:00
Kather Rafi Ibrahim a9f51e31fd Eth: STM32: Overriding HAL callbacks in stm32xx
This commit enables the Overriding of HAL callbacks and IRQHandler
in stm32xx_emac.cpp. Hence the user can have their own
implementations of callbacks and IRQHandler functions.

Signed-off-by: Kather Rafi Ibrahim <katherrafi.i@hcl.com>
2021-08-25 14:30:47 +05:30
Martin Kojtal 513f581bce
Merge pull request #15012 from felser/MTS_DRAGONFLY_L496VG
Add platform MTS_DRAGONFLY_L496VG
2021-08-24 09:50:58 +01:00
Leon 4b27aef0ae Add platform MTS_DRAGONFLY_L496VG 2021-08-18 12:03:48 -05:00
Martin Kojtal 5d82bd5b85
Merge pull request #14956 from jeromecoutant/PR_SCRIPT_UPDATE
STM32_gen_PeripheralPins script update
2021-08-17 20:29:54 +01:00
Martin Kojtal 4e0e21f897
Merge pull request #15000 from SamuA-AP/fix-can-api-filters
Fix Extended Message Filter count in STM CAN API
2021-08-17 11:14:31 +01:00
Jerome Coutant 79d403a0db STM32_gen_PeripheralPins script update
- add CMakeLists.txt
- patch for STM32U5 boards
2021-08-16 10:28:21 +02:00
Martin Kojtal 9bcc48678a
Merge pull request #14976 from world-direct/feature/target_stm32f1
Add more uarts for STM32F103xG
2021-08-13 13:08:02 +01:00