Commit Graph

89 Commits

Author SHA1 Message Date
Old-Ding b9550aad85 drivers: dac: Fix disable callback check
_dac_control() checked the enabled callback before invoking disabled for RT_DAC_CMD_DISABLE. That can reject DAC drivers that provide a disable callback without enable, and can call through a NULL disabled callback when only enable is implemented.

Check the disabled callback in the disable command path so the guard matches the operation being dispatched.

Generated-by: OpenAI Codex
Signed-off-by: Old-Ding <35417409+Old-Ding@users.noreply.github.com>
2026-07-08 13:24:42 +08:00
wdfk-prog 937be2c97d
feat[ADC]: 新增 ADC V2 驱动支持 (#11440)
* feat[ADC V2]: add ADC V2 driver support

add ADC V2 core APIs, session state management, and sequence read support
add STM32 ADC V2 HAL backend with internal-channel and VREF handling
add per-series STM32 ADC V2 default configuration headers
wire ADC V2 Kconfig and SConscript integration for components and STM32 BSP drivers
keep ADC V2 mutually exclusive with the legacy ADC driver path

* feat[ADC V2]: add ADC V2 MSH special channel read support

add generic ADC V2 MSH commands for probing, configuring, raw reads, voltage reads, and sequence reads
add STM32 ADC V2 backend special commands for VREFINT, temperature sensor, and VBAT reads
add STM32 helper APIs for special logical channels, sampling time, resolution, and temperature calculation
wire ADC V2 MSH sources through Kconfig and SConscript

* feat[ADC V2]: add ADC V2 stream DMA support

add ADC V2 stream APIs with latest-frame and FIFO buffering policies
wire STM32 ADC V2 to circular DMA stream mode with per-instance Kconfig options
extend STM32 ADC config headers and DMA helpers for stream DMA configuration
add FinSH stream commands for start, read, cancel, and stop operations
handle Cortex-M7 cache-safe DMA buffers for STM32 stream sampling

* feat[ADC V2]: add timer trigger support for ADC V2 streams

add ADC V2 trigger configuration, validation, and lifecycle coordination
add timer update trigger support through clock timer TRGO controls
map STM32 ADC V2 timer update triggers to HAL external trigger selector fields
add Kconfig, SConscript, and MSH entries for ADC trigger setup and inspection

* feat[ADCV2]: add timer and comparator trigger selectors

add ADC V2 timer compare and analog comparator trigger configuration support
extend clock timer trigger config with compare event and channel fields
wire STM32 ADC external trigger selector mappings for TIM update, TIM compare, and COMP output
add FinSH trigger_set commands and Kconfig switches for timer and comparator trigger backends

* fix[ADC V2]: resolve ADC V1 compatibility Kconfig loop

* ci[ADC V2][stm32]: add ADC v2 peripheral config for stm32f407-rt-spark BSP
2026-07-07 08:59:22 +08:00
GUI 6618fa1cf6
[Driver][MISC] Update ADC/PWM (#11003)
* [DM][MISC] Make Kconfig(ADC/PWM) import for DM

* [Driver][MISC][ADC] Fixup ADC

1. Fixup error no.
2. Fixup type of control for args.
3. Fixup value no init.

* [Driver][MISC][PWM] Enable `rt_pwm_get` API

Signed-off-by: GuEe-GUI <2991707448@qq.com>
2025-12-09 09:49:02 +08:00
rcitach 9150317539 Fixed PWM assertion error caused by using DM 2025-11-13 11:11:59 +08:00
Chen Wang 60c6fc0e3a components: drivers: adc: fixed cppcheck error
[cpp_check.py 80 INFO] components/drivers/misc/adc.c:76:12:
error: Uninitialized variable: result [legacyUninitvar]
    return result;
           ^

Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
2025-06-10 14:21:46 +08:00
Chen Wang ae86c6e8bb componnets: drivers: adc: remove build warnings
gcc build warnings:
cast from pointer to integer of different size [-Wpointer-to-int-cast]

For rt_adc_ops.enabled, the type of second param is rt_int8_t,
original _adc_control also called with wrong type casting.

Convert first to rt_base_t, then cast to rt_int8_t to remove the
build warnings.

Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
2025-06-10 14:21:46 +08:00
CYFS 84b5b2f408 fix:pwm msh err 2025-03-01 15:39:02 +08:00
zhao maosheng 393a61b048 Fix potential return value discrepancy when writing to urandom 2024-07-18 10:05:05 +08:00
yiyi bc3afab2c9
[bsp][stm32]Optimize ADCs and fix some bugs 2024-06-26 20:26:52 +08:00
sp-cai f1832fea24
[components] [drivers ] [Kconfig] 整理 components/drivers 的 Kconfig (#9054)
整理 components/drivers 的 Kconfig
2024-06-16 15:43:27 +08:00
sp-cai 884e391954 [fix][misc][adc] 修复 ADC 电压转换的计算错误 2024-06-03 11:31:30 +08:00
Shell e0df85c819
dev: random should copy size bytes of data to buffer (#9012) 2024-05-30 20:09:02 +08:00
Meco Man a4204c61bd [devcie][pwm] fix warnings 2024-03-31 07:38:00 +08:00
Meco Man 6ee7197587 [stm32][pwm] fix warning in Keil5 2024-03-18 23:22:34 -04:00
zms123456 97c5edf947
[component][drivers]add pinctrl/pin-irqchip (#8383) 2024-02-29 22:27:27 +08:00
1ridic 0bf7adf394 [pwm] Fix compiler warning 2023-12-26 12:12:31 +08:00
1ridic 3da0b76add [pwm] Add second-level command completion 2023-12-25 12:07:49 +08:00
wangqinglin a07fda3470
[bsp][stm32][airm2m]<pin>更新pin num命令 (#7390) 2023-07-19 18:45:43 -04:00
Bernard Xiong e3f068f058
[DeviceDrivers] prepare for device driver v2.0 (#7697) 2023-06-22 14:16:03 +08:00
Mingjie Shen 177f3d4056 [adc] remove dead code
The variable result_str is never used after this assignment.
2023-06-13 17:47:54 -04:00
7YZ7 501b22aabe
[HUST CSE] Fix many abnormal symbols in annotations and format code 2023-04-17 22:26:23 -04:00
Meco Man e9bbc2e349 [adc] modify adc channel data type from rt_uint32_t to rt_int8_t 2023-04-08 22:40:37 -04:00
Bernard Xiong 9600b75b55
[DFS] prepare for dfs_v2.0 (#7200)
* [DFS] prepare for dfs_v2. dfs_fd -> dfs_file; dfs_fnode -> dfs_vnode.

* [BSP] fix code analysis warning

* [smart] fix the pointer overflow.

* code format

* [smart] fix the lwp->lwp_obj checking.
2023-04-08 22:25:51 +08:00
Meco Man 0f461e870c [errno code][-RT_ERROR] fix that use RT_ERROR without - 2023-03-20 00:06:16 -04:00
Zxy f5798d9917
[pin][5.0.0] 修正pin框架数据类型使用不当 (#6934) 2023-02-26 21:17:51 -05:00
Meco Man f58d3c5200 rt_device_write/read return data type as rt_ssize_t
rt_ssize_t can give negative error code, which follows the unix style correctly
2023-02-07 21:43:57 -05:00
Meco Man 9bc68d26a4 format Kconfig and sconscript 2023-01-08 22:52:13 -05:00
guo ecf2d82159
sync branch rt-smart. (#6641)
* Synchronize the code of the rt mart branch to the master branch.
  * TTY device
  * Add lwP code from rt-smart
  * Add vnode in DFS, but DFS will be re-write for rt-smart
  * There are three libcpu for rt-smart:
    * arm/cortex-a, arm/aarch64
    * riscv64

Co-authored-by: Rbb666 <zhangbingru@rt-thread.com>
Co-authored-by: zhkag <zhkag@foxmail.com>
2022-12-03 12:07:44 +08:00
YuQi 94221bbdd8
[bsp][c28x] 新增adc驱动 (#6520)
1. 在c28x文件目录上一层再套一层文件夹ti,目前28379的项目路径为rt-thread\bsp\ti\c28x\tms320f28379d
2. 新增adc驱动与kconfig配置
2022-10-15 00:56:00 -04:00
YuQi 5debfdd84d
[TMS320F28379] implement PWM driver (#6457)
增加c28x芯片的pwm驱动
已经在TMS320F28379中通过测试
pwm设备框架增加如下方法:
#define PWM_CMD_SET_DEAD_TIME (RT_DEVICE_CTRL_BASE(PWM) + 8)
#define PWM_CMD_SET_PHASE (RT_DEVICE_CTRL_BASE(PWM) + 9)
#define PWM_CMD_ENABLE_IRQ (RT_DEVICE_CTRL_BASE(PWM) + 10)
#define PWM_CMD_DISABLE_IRQ (RT_DEVICE_CTRL_BASE(PWM) + 11)
2022-09-25 22:41:00 -04:00
liYangYang d25bf469fa
[rt_drv_pwm]完善PWM框架互补输出部分代码 (#6338)
* [pwm]Improve the code

* 将与bsp无关的代码移植到框架部分

* 添加注释
2022-09-01 00:59:44 -04:00
liYang~ 32ed7dcfd2
修复了pwm互补输出的一些bug,并在finsh中添加使用说明 (#6191)
* Fix the bug of complementary output
2022-07-26 10:07:07 +08:00
Jiang Runnan 37fcfdb972 Solve the problem that LOG_W() may not be recognized when the INPUT CAPTURE module is enabled,which may cause the compilation failure. 2022-07-22 14:25:43 +08:00
BreederBai b2bc0dcd16
[rt_drv_pwm]增加API:增加单独设置PWM频率和脉宽的函数 (#6130)
* [rt_drv_pwm]增加API:增加单独设置PWM频率和脉宽的函数
2022-07-04 10:40:42 +08:00
Meco Man 1c95670bef [rtdevices] eliminate recursion 2022-06-22 14:48:00 +08:00
xfwangqiang e8d775f888
[componnets][pin]add pin operate command in MSH (#5892)
* 1. 在AT32的BSP的drv_gpio中增加了at32_pin_get函数,用于实现rt_pin_ops对象中的pin_get
2. 在MSH中增加了PIN的操作命令
3. 为了方便在MSH命令中解析字符串,增加了一些字符串相关的函数
2022-05-30 18:00:26 +08:00
Stanley Lwin 04a17d469a
[device][adc] implement adc_get_vref (#5988)
* add adc_get_vref

add stm32_adc_get_vref
2022-05-29 10:22:33 +08:00
Meco Man 42a136288d [adc][pwm] correct the command description 2022-05-25 10:04:33 +08:00
Stanley Lwin f92c26a60b
[adc.c] add finsh voltage conversion command (#5937)
* Update adc.c

add finsh voltage conversion command
2022-05-19 10:36:50 +08:00
Stanley Lwin 3ecfe9c61e
[rt_drv_pwm.c] add finsh pwm function (#5944)
* add finsh pwm function
2022-05-19 10:18:55 +08:00
Man, Jianting (Meco) 0d2b96d7cc
[stm32][l4] add tim7 support | 设备框架以及驱动错误码处理逻辑存在问题 (#5901) 2022-05-09 22:59:27 +08:00
Meco Man 175ca2ee09 [dac] add get resolution method 2022-04-23 23:03:59 +08:00
Man, Jianting (Meco) 2c6a279ac3
[pwm] 优化pwm框架 (#5857) 2022-04-22 22:31:29 +08:00
Man, Jianting (Meco) c2a0995545
[adc] 支持adc框架获取BSP的ADC分辨率 (#5853) 2022-04-22 22:26:41 +08:00
Wayne 615dbe946c
Fix return value of rt_dac_write function. (#5816)
Co-authored-by: Wayne Lin <wclin@nuvoton.com>
2022-04-15 17:09:37 +08:00
Tangyuxin da3d61e043
[device]Detailed classification of devices types (#5769) 2022-04-06 21:12:39 +08:00
woody 6d0caf7bfc
修改dac.c函数名称错误 (#5591) 2022-02-10 18:18:52 +08:00
Meco Man f89a162ea3 [core] 使用rt_memcpy rt_memset代替memcpy memset 2022-01-09 00:23:18 +08:00
Lim-LinYuanbo 06fdc108b4
解决无法dist问题 (#5150)
* first commit, keil test pass

* feat : n32g452xx direct structure base at32

1. 重新整理目录结构

* feat : 基于AT32,将各驱动移植整改待验证

1. 部分驱动已经整改,但未验证
2. 根据AT32整改目录结构

* feat : add README document

1. 完善配置文件
2. 添加说明文档

* feat : 验证添加的驱动

1. UART 1-3 验证通过
2. ADC 1-2 CH 6-9 验证通过
3. TIM 6-7 验证通过

* feat : complete readme document

* feat : format code

1. ref https://github.com/mysterywolf/formatting

* feat : 完成PWM驱动移植与自测

1. 添加PWM测试代码
2. 修正PWM驱动周期与脉冲错误问题

* feat : 删除多余代码与多余的文件,修正注释与函数命名

* feat : fix tim channel comment

* feat : 完成DEMO测试例子

1. 完成MAIN函数中的LED测试例子
2. 完善README文档
3. 更新添加许可文件

* feat : 根据BSP提交自查完善固件

1. 添加.ignore_format.yml文件
2. 修正main.c的注释

* feat : add last line in .ignore_format.yml

* feat : delet file_path in .ignore_format.yml

* fix: gPIO/ADC driver

1. add ADC temperature&vref channel.
2.add GPIO IPD/OD configration

* fix: 解决告警

1. 解决告警(rt_drv_pwm.c: warning: implicit declaration of function 'atoi')

* feat: add scons --dist function

* fix: 解决MDK5无法编译问题

* perf: delete invalid code

Co-authored-by: linyuanbo_breo_server <linyuanbo@breo.com.cn>
2021-10-12 14:35:01 +08:00
马志远 221da7f464 Remove C Style Command Shell 2021-08-23 17:30:05 +08:00