Commit Graph

1990 Commits

Author SHA1 Message Date
SCZeiDan d78429eb8e
[stm32] i2c hard driver fixup:增加硬件I2C传输超时等待时间
问题:
在使用硬件 I2C 驱动进行音频模块 WM8978 配置时,发现连续 rt_i2c_transfer 进行 I2C 传输时发现,连续多次调用 rt_i2c_transfer 会出现丢包现象;溯源发现是每次使用 rt_i2c_transfer 传输2字节,传输频率过高导致底层 HAL_I2C_Master_Seq_Transmit_DMA 报错 HAL_BUSY;

现象:
rt_completion_wait超时等待完成之后,I2C仍处于HAL_I2C_STATE_BUSY_TX状态,且后续第二次运行至HAL_I2C_Master_Seq_Transmit_DMA时会直接返回HAL_BUSY,从而直接 goto out; 退出而不会再次进行超时等待;

* drv_hard_i2c.c: 修复325行缺失'}'语法错误;更改HAL_I2C_xx_Transimt_xx调用中目标设备地址值;i2c_hard_config.h: 添加STM32F系列芯片xx_DMA_CONFIG宏定义;

* 回溯I2C设备地址传参处(msg->addr<<1)修改;

* fixup: 增加硬件I2C传输延时,解决连续传输导致HAL_BUSY状态;
2024-05-04 12:51:27 -04:00
LZerro f190cba0ab
[i2c] adjust the timing for I2C initialization 2024-04-29 20:46:12 -04:00
LZerro a92f971267
[spi] soft_spi_pin_init loop variable is initialized to 0
The loop variable in the function 'drv_soft_spi:xx_pin_init()' is initialized to 0.
2024-04-29 17:49:20 -04:00
Meco Man e548a99da4 [ci] set at_device package as strict mode 2024-04-29 10:56:05 +08:00
SCZeiDan 7ca2ebc51a
[bsp][stm32] fix bugs of i2c hardware drivers
在STM32F429IGTx设备上使用硬件i2c驱动程序师遇到以下几个问题:

语法错误:drv_hard_i2c.c 行67、68中i2c_handle未正常替换过来,估计是上个版本对变量重命名后因为宏定义忽略了此处修改;
语法错误:drv_hard_i2c.c 行326中缺少一个"}"导致编译出错;
初始化i2c设备过程中对双地址选项进行设置时(i2c_handle->Init.OwnAddress2Masks = I2C_OA2_NOMASK),STM32F4系列SOC没有这个配置定义,于是我直接将双地址模式关闭了(i2c_handle->Init.DualAddressMode = I2C_DUALADDRESS_DISABLE);
初始化i2c设备(DMA方式)过程中发现i2c_hard_config.h文件中未定义DMA通道配置;

主要补丁如下:
修复硬件i2c驱动代码中语法错误(drv_hard_i2c.c行67、68、326);
关闭默认i2c双地址模式(drv_hard_i2c.c行75:I2C_DUALADDRESS_DISABLE);
添加硬件i2c驱动配置文件DMA相关配置项,增加对SOC_SERIES_STM32F2、SOC_SERIES_STM32F4、SOC_SERIES_STM32F7系列芯片配置DMA_CHANNEL的适配
2024-04-24 01:42:03 -04:00
wdfk-prog 184bfb447b
[STM32][SPI-DMA]特定条件下接收错误 2024-04-22 21:15:38 -04:00
Meco Man d68e47eb25 [klibc] organize and renmae macros, and add CI check 2024-04-20 21:52:49 -04:00
Shell 8c4db32d04 fixup: debug 2024-04-19 21:30:12 -04:00
Rbb666 3c9b7b1f96 [bsp][renesas][stm32]Fix some bsp probelm in 5.1.x. 2024-04-18 20:32:47 -04:00
Meco Man a225d26a8a [bsp][stm32f103-fire-arbitrary] fix missing header file 2024-04-16 01:39:30 -04:00
Meco Man d10fb37c05 [bsp] revert delete of stm32f407-sparkfire RTduino pinout 2024-04-15 22:41:00 -04:00
yuanzihao 1a8b8522f7
[BSP][STM32]add stm32f407-lckfb-skystar 2024-04-13 08:00:15 -04:00
wirano dbce35ba2b bsp/stm32: remove duplicate if condition 2024-04-12 19:01:26 -04:00
Shicheng Chu ca90d3f6c3 [bsp][stm32]fix stm32f103 default console uart name 2024-04-11 18:49:10 -04:00
LZerro e50fbe8b94
[SBP] Stm32F407-rt-spark adapts to RTduino 2024-04-11 18:46:52 -04:00
StackYuan 83bd05391f
[add] Readme doc for stm32h7s7-disco BSP (#8767)
[bsp][stm32] add English version readme doc for BSP stm32h7s7-st-disco.
2024-04-11 14:55:34 +08:00
StackYuan 87d47bf935 [fix] fixup spaces and add in ci. 2024-04-10 16:04:28 +08:00
StackYuan 187e69a698 [BSP] add bsp for st's new platform stm32h7s7-st-disco.
[drv] STM32H7RSxx_HAL bsp fixed and update.
  [add] bsp stm32h7s7-dk README.md
2024-04-10 16:04:28 +08:00
Yuqiang Wang d08ae0bfd1
[driver][soft-spi] spi device driver framework adds pin init function function
为什么提交这份PR (why to submit this PR)
ps:在设备初始化阶段不应该存在对硬件的操作

你的解决方案是什么 (what is your solution)
ps:添加一个pin_init函数,在spi设备使用时调用该函数来完成硬件引脚的状态初始化,而不是在设备初始化阶段对硬件进行操作,已经在瑞萨HMI上通过验证
2024-04-09 18:33:29 -04:00
Meco Man 38204386b3
[ci] add vi package checking (#8737)
* [ci] add vi package checking

* [ci] add MultiButton software package checking
2024-04-09 21:36:04 +08:00
Dyyt587 34fb8d2f10
[bsp][stm32] fix hardware i2c driver bug 2024-04-01 23:21:09 -04:00
wdfk-prog 5cfa9c6390 [bsp][stm32][spi] 优化H7 DMA数据非字节对齐的处理流程 2024-03-31 20:30:56 -04:00
Meco Man d2c12e2da8 [RTduino] change the pinout group name 2024-03-29 21:49:13 +08:00
Shicheng Chu 3ff4fe5395
[bsp][stm32] drv_rtc.c中包含drv_common.h 避免找不到 error_handle实现 (#8676) 2024-03-26 00:57:03 -04:00
Meco Man 3782127116 [bsp] format drivers code 2024-03-24 09:18:25 +08:00
Meco Man 6a9c42a19d [bsp][drv_gpio] fix the error code return when pin number is illegal 2024-03-24 09:18:25 +08:00
kk 2549b82bd6
[pin] pin_read/write rt_uint8_t to rt_ssize_t 2024-03-23 14:50:31 -04:00
Meco Man 3f26998f9c [bsp] update projects 2024-03-21 11:23:29 +08:00
Ruixuan Zhang bc85f5aaf4
[bsp][stm32]Add stm32l431-tencentos-tiny-EVB_MX+ remaining drivers 2024-03-19 19:06:54 -04:00
Jiabing c8851d15a8
[bsp][ST]Update mdk project 2024-03-19 08:07:33 -04:00
rbb666 1162b55c86 [bsp][stm32]Update mdk project 2024-03-19 08:04:12 -04:00
rbb666 08d75e613f [bsp][stm32]Update stm32l5 mdk project 2024-03-19 08:01:39 -04:00
Yuqiang Wang 4d7071a1d5 [bsp][stm32] Standardize the pin configuration 2024-03-19 08:01:19 -04:00
Meco Man 6071e8aa14 [bsp][stm32g474-nucleo][RTduino] support SPI 2024-03-17 12:30:56 -04:00
Meco Man cd1c08b3cd
[bsp][RTduino] format Kconfig (#8621) 2024-03-17 19:49:34 +08:00
Meco Man aa49e8ada9 [bsp][stm32pandora] fix SConscript gramma issues 2024-03-16 23:31:54 -04:00
Meco Man 9ac8b47eb2 [sensor-v2] enable sensor v2
fix the confilcts with sensor v1
2024-03-16 23:31:54 -04:00
Meco Man b3e073864f [stm32][stm32f103-100ask-pro] fix missing drv_gpio.h in spi_flash_init.c 2024-03-16 23:31:40 -04:00
Meco Man 7f3f6e9beb [bsp][stm32f469-disc][RTduino] fix Kconfig 2024-03-16 10:21:58 -04:00
Meco Man 7218127a83 [bsp][stm32f072-nucleo][RTduino] support SPI 2024-03-16 10:21:58 -04:00
Ruixuan Zhang 5a6b5be77c
[bsp][stm32] add a new stm32L431_tencentos bsp (#8613) 2024-03-15 22:19:14 -04:00
刘伟 0ff23d8951 [bsp][stm32] eth driver support phy YT8512C 2024-03-15 19:12:46 -04:00
Meco Man adaa44c911 [bsp][stm32f469-disco] support RTduino SPI 2024-03-09 21:43:23 -05:00
Meco Man b85c4cade2 [bsp][stm32] format code of i2c hardware drivers 2024-03-08 13:29:32 +08:00
Dyyt587 4e1626703f
[bsp][stm32] add hardware i2c driver 2024-03-07 22:59:47 -05:00
Meco Man 384a370c9a [stm32][tim-config] fix F4 TIM6's IRQ source in STM32F412 2024-03-08 09:39:57 +08:00
Meco Man 5f87e10032 [stm32f469-disc] support RTduino Tone feature 2024-03-08 09:39:57 +08:00
Meco Man 1a240798fa [RTduino] pins_arduino.h add limit check 2024-03-08 09:39:57 +08:00
Meco Man e961b051f9 [stm32f412-nucleo] support RTduino Tone feature 2024-03-08 09:39:57 +08:00
Meco Man 0400fffafc [stm32f412] support RTduino SPI 2024-02-23 19:50:33 -05:00