stm32_adc_conf_scan_seq(9)
β¨ stm32_adc_conf_scan_seq β¨
okay bestie, buckle up π this one lives in the Kernel API Manual and it's literally the glow-up artist for your regular channels β it builds the scan sequence, no cap.
πΈ NAME πΈ
stm32_adc_conf_scan_seq β build regular channels scan sequence π
π¦ SYNOPSIS π¦
int stm32_adc_conf_scan_seq (struct iio_dev *indio_dev , const unsigned
long *scan_mask );
π ARGUMENTS π
indio_devβ the IIO device, aka the main character of this whole operation πscan_maskβ the channels that are gonna get converted, hand-picked by you π«Ά
π₯ DESCRIPTION π₯
Conversion sequence β here's the tea π: first it applies the sampling time settings for all the channels. Every single one. Not a vibe check skipped.
Then it configures the ADC scan sequence based on whichever channels you selected in scan_mask β¨.
The way it does this: it adds channels to the SQR registers, going from scan_mask LSB to MSB (lowkey important order, don't come for me), and then it programs the sequence length. Periodt. π
π SEE ALSO π
- Kernel file
./drivers/iio/adc/stm32-adc.c struct stm32_adc_ic(9)struct stm32_adc_trig_info(9)struct stm32_adc_calib(9)struct stm32_adc_regs(9)struct stm32_adc_vrefint(9)struct stm32_adc_regspec(9)struct stm32_adc_cfg(9)struct stm32_adc(9)struct stm32_adc_info(9)stm32_adc_conv_irq_enable(9)stm32_adc_conv_irq_disable(9)stm32f4_adc_start_conv(9)stm32h7_adc_read_selfcalib(9)stm32h7_adc_restore_selfcalib(9)stm32h7_adc_selfcalib(9)stm32h7_adc_check_selfcalib(9)stm32h7_adc_prepare(9)stm32_adc_get_trig_extsel(9)stm32_adc_set_trig(9)stm32_adc_single_conv(9)stm32_adc_validate_trigger(9)stm32_adc_debugfs_reg_access(9)
mwah π that's the whole page β sourced from ./drivers/iio/adc, dated October 2026, in the Kernel API Manual. go read some driver code, ily, bye π§β¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms