Synchronizing ADC samples with another periodic event (e.g. PWM out)
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 30/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Ít trao đổi
- Lĩnh vực
- embedded-iot
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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++)
- Ngôn ngữ chính
- C
- Star
- 4.6k
- Fork
- 1.4k
- Merge trung bình
- 1 ngày 1 giờ
- Pull request đã merge (30 ngày)
- 161
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của adafruit/circuitpython
-
Web Workflow Locks UpĐang mởbug esp32 web workflow
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 12/100
adafruit/circuitpython#11616 · 6 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
nordic
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 30/100
adafruit/circuitpython#11611 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
zephyr: REPL on console?Đang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 15/100
adafruit/circuitpython#11606 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
busio zephyr
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 18/100
adafruit/circuitpython#11605 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
busio zephyr
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 28/100
adafruit/circuitpython#11604 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của adafruit/circuitpython
Issue tương tự
-
native-cpu: -Wreturn-type in skainet_row_threads.c:150 (worker fn has no return)Có thể đã có người làm @Doomguy-BFG9000 đã nhận hôm nay. Đang mởgood first issue size:xs skill:native
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 78/100
SKaiNET-developers/SKaiNET#1358 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
I/O internal correctness medium priority rt_lib
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 79/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 64/100
libsdl-org/SDL#16539 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
git-workflow task-4
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày