-
-
Notifications
You must be signed in to change notification settings - Fork 40
Real time provider firmata
Peter Corke edited this page May 25, 2026
·
1 revision
Current status:
- Provider scaffold exists.
- Pin mapping/session implementation is not complete yet.
Implementation module: src/bdsim/blocks/io_firmata.py.
- Provider class registration (
name = "firmata"). - Handle types for analog/digital input/output.
- Placeholder API shape for board session setup.
- Concrete board connect/startup flow (pyFirmata or equivalent).
- Pin mode mapping (
analog_in,analog_out,digital_in,digital_out). - Robust shutdown and reconnection behavior.
- End-to-end tested examples.
from bdsim.realtime import BDRealTime
rt = BDRealTime(
io_provider="firmata",
io_provider_kwargs={
"port": "/dev/ttyACM0",
"baudrate": 57600,
},
)Serial port bring-up and permissions are shared with other serial devices. See Real-time provider: Serial transport setup.
Until Firmata provider is completed:
- Use
rpifor direct Raspberry Pi GPIO control. - Use
serial+ TCLab where appropriate. - Use
mockon desktop for scheduler and telemetry development.
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.