embassy-rs / embassy

Modern embedded framework, using Rust and async.
https://embassy.dev
Apache License 2.0
5.4k stars 746 forks source link

how a generic pin #3321

Open adavida opened 1 month ago

adavida commented 1 month ago

currently testing embassy on stm32f401 (blackpill board)

I want to read the value of adc from a list:

for pin in pins.iter_mut() {
        info!("{}", adc.read(pin));
 }

or

for analog in pins.iter_mut() {
        info!("{}", analog.read());
 }

it was possible to generate list pins ?

thanks

Dirbaio commented 1 month ago

You can do .degrade_adc() on a pin, which converts all pins to the same type, AnyAdcChannel.

See example: https://github.com/embassy-rs/embassy/blob/main/examples/stm32h7/src/bin/adc_dma.rs#L55-L68

adavida commented 1 month ago

Thank this work ;-)

by only on master