-
-
Notifications
You must be signed in to change notification settings - Fork 40
Real time provider arduio
Peter Corke edited this page May 25, 2026
·
1 revision
Current status:
- Prototype provider exists.
- Not integrated as a fully validated hardware path yet.
Implementation module: src/bdsim/blocks/io_arduio.py.
The arduIO provider model is sample-frame oriented:
- Remote server owns sample clock.
- Input reads come from the latest coherent frame snapshot.
- Output writes are staged and flushed as a batch.
This differs from simple pin-polled providers like Firmata.
- Provider registration (
name = "arduio"). - Input/output handle abstractions.
- Frame ingestion and sequence checking model.
- Output staging/flush mechanism.
- Production transport integration in runtime.
- Full hardware setup documentation and validation workflow.
- End-to-end examples in repo docs/tests.
from bdsim.realtime import BDRealTime
rt = BDRealTime(
io_provider="arduio",
io_provider_kwargs={"period_s": 0.02},
)If using serial transport under the hood, start with:
and then add arduIO-specific transport/client details as they are finalized.
Copyright (c) Peter Corke 2020-
- Home
- API reference (Sphinx)
- Block catalog
- Control Systems Magazine article
- Adding blocks to your model
- Block path
- Connecting blocks
- Compiling
- Running
- Watching a simulation variable
- Simulation results
- Runtime options
- Environment variables
- Discrete-time blocks
- Subsystems
- Figures
- Notebook animation
- Animation and movies
- PID control
- Coding patterns
- Block methods and attributes
- Time stepping: integration, animation & events
- Blocks, wires and plugs
- Graphics blocks
- Evaluation
- Runtimes and simulator state
- Creating a new block
- Related packages
Under development on feat/realtime branch, planned for release before end of 2026.