Synchronizing ADC samples with another periodic event (e.g. PWM out)
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 30/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Tranquilo
- Área
- embedded-iot
Línea de trabajo
Start by reading the CircuitPython analogbufio and PWM APIs and checking whether they expose a way to synchronize ADC sampling with a periodic output. The issue does not name files or tests; done would mean establishing a supported approach for phase-locked sampling, or clarifying what capability would need to be added.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Is there any sanctioned way in Circuitpython to sample an ADC coincident another periodic action? For example, is there any way to output a PWM signal and start ADC sampling with analogbufio, with some assurance that the two will actually be phase-locked?
I'm teaching an instrumentation class, and my use case is a beam-block sensor where you pulse an LED and collect analog samples from a photodiode some distance away. The right way to do this is to collect two analog samples for each cycle of LED PWM: one during the "on" time and the other during the "off" time. Do this for a while, then subtract the "off" samples from the "on" samples and average.
Alternatively we can try a tight loop (software PWM) where we turn the LED on, sample, LED off, sample, etc. But it would be nicer to do it using proper PWM. I think there are similar use cases for things like synchronized ADC/DAC sampling and so on, basically any time you have two periodic processes that you want to link together.
Also, if it's not inappropriate to ask here, would this be relatively trivial in micropython using a PWM with associated timer interrupt? (I'm an embedded guy but don't have experience with either micro- or circuit-python, only C/C++)
- Lenguaje dominante
- C
- Estrellas
- 4.6k
- Forks
- 1.4k
- Merge medio
- 1 d 6 h
- PR fusionados (30 d)
- 163
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de adafruit/circuitpython
-
Drop SD_ aliases for SDIO signals (SD_CMD, SD_DAT0..3) on RP2040 Adalogger boardPosiblemente ocupada @mikeysklar la tomó hace 1 día. Abiertoboard breaks api
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
adafruit/circuitpython#11099 · 4 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Support SDIO cards as a second USB mass-storage LUNPosiblemente ocupada @ladyada la tomó hace 1 día. Abiertorp2 sdcardio storage supervisor usb
adafruit/circuitpython#11564 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
bug sdcardio storage
Dificultad 4/5 3-5 días Aptitud para principiantes 43/100
adafruit/circuitpython#11562 ·
Los mantenedores suelen responder en 1 día
-
storage usb zephyr
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
adafruit/circuitpython#11531 ·
Los mantenedores suelen responder en 1 día
-
Move silabs to ZephyrAbiertosilabs
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
adafruit/circuitpython#11507 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de adafruit/circuitpython
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
compiler-explorer/compiler-explorer#9272 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
semantic-reasoning/wirelog#2163 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 3 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 63/100
Xinyuan-LilyGO/T-Display-S3#352 · 3 comentarios ·
-
documentation severity/minor
Dificultad 1/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día