🛠️ Developer Documentation
Welcome to the developer documentation for the Latency Recorder project. This section provides detailed technical information for contributors working on different aspects of the project.
🔧 Hardware Development
Work with the Arduino-based hardware and Rust firmware that powers the latency recorder.
•Firmware: Rust embedded development for ATmega328P
•Hardware: Circuit design with TLV2462 op-amp
•Tools: cargo, avrdude, Arduino IDE
💻 GUI Development
Build and enhance the cross-platform Flutter application for device control and data visualization.
•Framework: Flutter/Dart for desktop platforms
•Features: Serial communication, real-time recording
•Platforms: macOS, Linux, Windows
📊 Data Analytics
Analyze and visualize timing data to extract meaningful insights from experiments.
•Analysis: Python scripts for data processing
•Formats: CSV data with timestamps and ADC readings
•Visualization: matplotlib, statistical analysis
🌐 Repository & Contribution
Access the source code, submit issues, and contribute to the project on GitHub.
•License: Open source project
•Community: Join our Discord for discussions
•Contributing: PRs welcome!
🚀 Quick Start
For Hardware Developers
# Install Rust and AVR target
rustup target add avr-unknown-gnu-atmega328
# Build firmware
cd firmware/recorder
cargo build --release
# Flash to Arduino
avrdude -p atmega328p -c arduino -P /dev/tty.usbserial-* -b 115200 -U flash:w:target/avr-atmega328p/release/recorder.elf:e
For GUI Developers
# Install Flutter dependencies
cd gui
flutter pub get
# Run the application
flutter run -d macos # or linux, windows
# Build for release
flutter build macos --release
📚 Documentation Generation
Generate comprehensive API documentation for all components:
# Generate all documentation
./generate-docs.sh
# View generated docs
cd docs && npm run dev
🤝 Join the Community
Connect with other developers and researchers working with the Latency Recorder: