How darkwood-byte/robotica works
Robotica is Pico firmware for a two-axis telescope mount. A user sends a pan:tilt command over serial; the serial handler parses it and calls Robot::Move, which sets motor goals. A repeating timer ticks both motors, whose sensor-guided state machines calibrate and move them; the robot also updates status LEDs. The README is empty, so capabilities and wiring here are based on the sampled source; external hardware details are limited to the GPIO and UART calls shown.
Main entry points: Robot.cpp Robot coordinator · Motor.cpp Motor controller · SerialIRQHandler.cpp Command handler · Main.cpp Firmware entry
Components 8
Application
- Firmware entry
Main.cpp - Command handler
SerialIRQHandler.cpp
Motion Control
- Robot coordinator
Robot.cpp - Motor controller
Motor.cpp
Hardware I/O
- Limit sensor
Sensor.cpp - Status LED signals
error.h
Other components
- Serial operator
- Pico UART and GPIO
Connections 12
- Serial operator → Pico UART and GPIO: sends commands
- Pico UART and GPIO → Command handler: delivers input
- Firmware entry → Robot coordinator: initializes
- Firmware entry → Command handler: registers handler
- Command handler → Robot coordinator: moves to goals
- Robot coordinator → Motor controller: initializes motors
- Robot coordinator → Motor controller: ticks motors
- Motor controller → Limit sensor: initializes and checks
- Motor controller → Pico UART and GPIO: drives step pins
- Limit sensor → Pico UART and GPIO: reads inputs
- Robot coordinator → Status LED signals: updates indicators
- Status LED signals → Pico UART and GPIO: sets LED pins