Skip to content

🤖🤖🤖 docs: Getting Started guide, fix gain label, add open questions - #2

Open
kelu124 wants to merge 1 commit into
mainfrom
questions
Open

🤖🤖🤖 docs: Getting Started guide, fix gain label, add open questions#2
kelu124 wants to merge 1 commit into
mainfrom
questions

Conversation

@kelu124

@kelu124 kelu124 commented Jun 8, 2026

Copy link
Copy Markdown
Owner

Summary

Documentation review pass by automated agent (rick/NanoClaw).

Changes

  • README.md: remove stray s character (line 57); mention RP2350 in intro paragraph; add Getting Started section covering firmware flashing, Python install, quick-start code, full serial command table with parameter details (pon/poff/damp in nanoseconds, gain as raw DAC value), and a signal chain diagram.
  • pic0lib/ndt_acquisition.py: correct gain field label from [dB] to raw DAC value (0-1023) throughout (UltrasonicAcquisition dataclass, label() method, calibrate() plot title); add gain/pon/poff/damp parameter docs to from_probe() docstring.
  • requirements-minimal.txt (new): five-package minimal install list alongside the existing full freeze.
  • QUESTIONS.md (new): 14 open questions for maintainer review (see below).

Unsolved / Unanswered Questions

These are documented in QUESTIONS.md. Reproducing here for visibility:

Firmware

Q1 — DMA timeout race condition TODO.md notes a sleep_us(1) fix. Is this ready to merge?

Q2 — RP2350 firmware status Is the RP2350 build tested and confirmed working? Any differences from the RP2040 build?

Q3 — Max pon/poff/damp values What are the hardware-safe upper limits? The pulser board may have constraints (inductor saturation, HV cap discharge time).

Q4 — SAMPLE_COUNT configurability Hardcoded to 8000. Can it be set via serial command, or requires firmware rebuild?

Hardware

Q5 — HV rail voltage tolerance No monitoring circuit in schematic. What is the measured spread across production boards (e.g. ±22–26V)?

Q6 — HV board OE signal Active-high or active-low? Driven from RP2040 or static?

Q7 — Production PCB vs GitHub KiCad files Production board appears to differ from main branch files (commit bab83371). Should the README note the production tag?

Q8 — MUX board documentation write mux / set mux / clear mux are implemented but hardware/mux/ does not exist in the repo. Where are the KiCad files?

Python library

Q9 — DAC value to dB mapping What is VREF for the MCP4812? This would let us publish a dac_to_db(n) helper and label plots correctly in dB.

Q10 — Fech accuracy 60 Msps is derived from ADC_CLK=120 MHz / 2 PIO cycles. Has this been verified? Is there a calibration path?

Q11 — requirements.txt scope Should the existing full freeze be replaced by the minimal file, or kept as a dev-environment reference alongside it?

Documentation

Q12 — Assembly instructions No step-by-step build guide exists. Are photos + reference designator callouts planned?

Q13 — VGA branch maintenance Should the VGA branch be flagged as experimental/archived in the README?

Q14 — Transducer compatibility Which frequencies/types beyond 5 MHz contact probes have been tested? Are immersion probes supported without hardware changes?

- README: remove stray character, mention RP2350, add Getting Started
  section with firmware flashing, Python setup, quick-start code,
  serial command table with parameter details, and signal chain diagram
- ndt_acquisition.py: correct gain field label from [dB] to raw DAC
  value (0-1023); fix same error in label() and calibrate() plot title;
  add gain/pon/poff/damp parameter docs to from_probe() docstring
- requirements-minimal.txt: add minimal install requirements (5 packages)
  alongside the existing full environment freeze
- QUESTIONS.md: 14 open questions on firmware, hardware, Python library,
  and documentation for maintainer review

Co-Authored-By: rick <rick@nanoclaw.ai>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant