1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
menuconfig RT_USING_ADC
bool "Using ADC device drivers"
default n
if RT_USING_ADC
config RT_USING_ADC_V2
bool "Using ADC V2 device drivers"
default n
help
Enable the standalone ADC V2 framework. ADC V2 uses the legacy ADC
public namespace, so it cannot be enabled together with ADC V1.
config RT_USING_ADC_V1
bool
default y if !RT_USING_ADC_V2
if RT_USING_DM && RT_USING_ADC_V1
osource "$(SOC_DM_ADC_DIR)/Kconfig"
endif
if RT_USING_ADC_V2
config RT_ADC_USING_TRIGGER
bool "Enable ADC trigger framework"
default n
help
Enable device-level ADC trigger requests, framework validation, caching,
and stream lifecycle coordination. Timer trigger frequency and TRGO
start/stop are delegated to the timer trigger backend.
config RT_ADC_TRIGGER_USING_TIMER
bool "Enable ADC timer trigger selector support"
depends on RT_ADC_USING_TRIGGER
default n
help
Enable timer update/TRGO and timer compare events as ADC stream
trigger sources.
config RT_ADC_TRIGGER_USING_COMPARE
bool "Enable ADC analog comparator trigger selector support"
depends on RT_ADC_USING_TRIGGER
default n
help
Enable analog comparator output events as ADC stream trigger sources.
config RT_ADC_USING_STREAM
bool "Enable ADC stream framework"
default n
help
Enable long-running ADC stream sessions.
Disable this option to remove ADC stream runtime state, stream APIs,
and stream backend hooks from the ADC V2 framework.
if RT_ADC_USING_STREAM
menu "ADC stream buffering policies"
config RT_ADC_STREAM_USING_LATEST
bool "Enable ADC stream latest-frame policy"
default y
help
Enable the latest-frame ADC stream policy.
This mode is intended for slow-changing or status-like ADC values, such
as battery voltage, temperature, potentiometer input, resistor-divider
voltage, or board health monitoring.
The DMA buffer stores exactly one complete ADC scan frame. Old values
may be overwritten. This mode does not require DMA half-transfer or
transfer-complete data interrupts, and it does not allocate a framework
FIFO.
This option may be enabled together with RT_ADC_STREAM_USING_FIFO. The
active policy is selected per stream at runtime.
config RT_ADC_STREAM_USING_FIFO
bool "Enable ADC stream FIFO policy"
default n
help
Enable the FIFO ADC stream policy.
This mode is intended for continuous and loss-sensitive sampling. The
DMA buffer is used as a staging buffer, and completed DMA data events
are copied into a ringbuffer for ordered blocking reads.
FIFO mode requires DMA data events. The default DMA event mode uses both
half-transfer and transfer-complete events to reduce read latency. A
stream configuration may select full-only events to reduce interrupt
frequency, at the cost of higher latency and larger data bursts.
This option may be enabled together with RT_ADC_STREAM_USING_LATEST. The
active policy is selected per stream at runtime.
comment "At least one ADC stream buffering policy should be enabled"
depends on !RT_ADC_STREAM_USING_LATEST && !RT_ADC_STREAM_USING_FIFO
endmenu
endif
config RT_ADC_V2_USING_MSH
bool "Enable ADC V2 MSH command"
depends on RT_USING_FINSH
default y
help
Enable the ADC V2 MSH command.
This option exports the "adc" shell command for probing ADC devices,
configuring channels, reading raw samples, reading voltage values, and
reading one ADC sequence. When RT_ADC_USING_STREAM is enabled, stream
subcommands are also available.
Disable this option to remove the ADC V2 shell command while keeping
the ADC V2 framework and driver APIs available.
endif
endif
|