How pudap/qubot works
This repository provides four PUDA-advertised machine edge services backed by shared Python drivers. The user-facing workflow is to invoke a machine command through its edge service; the corresponding machine class coordinates motion, pipetting, deck/labware, or capper operations and device-specific controllers. The README documents the service-to-machine pattern and hardware variants. The graph preserves major driver capabilities shown in the source index, but several implementations and edge entry points were not excerpted, so only documented or indexed relationships are connected.
Main entry points: first.py First machine · pipqubot_mof.py MOF machine · serialcontroller.py Serial controller · satorius.py Sartorius pipette
Components 22
Edge services
- First edge
first-edge/main.py - Capper edge
capper-edge/main.py - MOF edge
pipqubot-mof-edge/main.py - Pescador edge
pescador-pipqubot-edge/main.py
Machine workflows
- First machine
driver/src/qubot_drivers/machines/first.py - Capper machine
driver/src/qubot_drivers/machines/capper.py - MOF machine
driver/src/qubot_drivers/machines/pipqubot_mof.py - Pescador machine
driver/src/qubot_drivers/machines/pescador.py - Pipette machine
driver/src/qubot_drivers/machines/pipette.py
Motion controllers
- RepRap motion
driver/src/qubot_drivers/move/reprap.py - GRBL HAL motion
driver/src/qubot_drivers/move/grblHAL.py - GRBL WebSocket
driver/src/qubot_drivers/move/grbl_ws.py - RepRap HTTP
driver/src/qubot_drivers/move/reprap_http.py - G-code API
driver/src/qubot_drivers/move/gcode/api.py
Device I/O
- Serial controller
driver/src/qubot_drivers/serialcontroller.py - Sartorius pipette
driver/src/qubot_drivers/satorius.py
Shared capabilities
- Deck and labware
driver/src/qubot_drivers/move/deck.py - Labware definitions
driver/src/qubot_drivers/labware/labware.py - Position model
driver/src/qubot_drivers/position.py - Camera utilities
driver/src/qubot_drivers/cv/camera.py - Logging setup
driver/src/qubot_drivers/logging.py
Other components
- PUDA user
Connections 26
- PUDA user → First edge: invokes commands
README.md - PUDA user → Capper edge: invokes commands
README.md - PUDA user → MOF edge: invokes commands
README.md - PUDA user → Pescador edge: invokes commands
README.md - First edge → First machine: wraps machine
README.md - Capper edge → Capper machine: wraps machine
capper-edge/main.py - MOF edge → MOF machine: wraps machine
pipqubot-mof-edge/main.py - Pescador edge → Pipette machine: wraps machine
pescador-pipqubot-edge/main.py - First machine → RepRap motion: uses motion
driver/src/qubot_drivers/machines/first.py - First machine → Sartorius pipette: controls pipette
driver/src/qubot_drivers/machines/first.py - First machine → Deck and labware: manages deck
driver/src/qubot_drivers/machines/first.py - MOF machine → GRBL HAL motion: uses motion
driver/src/qubot_drivers/machines/pipqubot_mof.py - MOF machine → Sartorius pipette: controls pipette
driver/src/qubot_drivers/machines/pipqubot_mof.py - MOF machine → Deck and labware: manages deck
driver/src/qubot_drivers/machines/pipqubot_mof.py - Pipette machine → GRBL WebSocket: uses motion
driver/src/qubot_drivers/machines/pipette.py - Pipette machine → Sartorius pipette: controls pipette
driver/src/qubot_drivers/machines/pipette.py - Pescador machine → GRBL WebSocket: uses motion
driver/src/qubot_drivers/machines/pescador.py - Capper machine → RepRap HTTP: uses motion
driver/src/qubot_drivers/machines/capper.py - Serial controller → Position model
- RepRap motion → Serial controller: uses serial
driver/src/qubot_drivers/move/reprap.py - GRBL HAL motion → Serial controller: uses serial
driver/src/qubot_drivers/move/grblHAL.py - Sartorius pipette → Serial controller: uses serial
driver/src/qubot_drivers/satorius.py - RepRap motion → Position model: tracks position
driver/src/qubot_drivers/move/reprap.py - GRBL HAL motion → Position model: tracks position
driver/src/qubot_drivers/move/grblHAL.py - GRBL WebSocket → Position model: reports position
driver/src/qubot_drivers/move/grbl_ws.py - Deck and labware → Labware definitions: loads definitions
driver/src/qubot_drivers/move/deck.py