Synapse-compatible sensor emulators for radar, MAVLink, and LiDAR collection
Project description
Sensor Emulator
Standalone Synapse-compatible emulators for:
- Radar TCP control/data protocol
- MAVLink telemetry stream
- LiDAR collector subprocess contract
Why this exists
synapse expects real hardware and device access. This repo emulates the same interfaces so development and CI can run without hardware.
Install
cd sensor-emulator
python3 -m venv .venv
source .venv/bin/activate
pip install -e .[test]
Run emulators
Radar only:
sensor-emulator radar --host 127.0.0.1 --ctrl-port 8100 --data-port 8101
MAVLink only:
sensor-emulator mavlink --host 127.0.0.1 --port 14550 --stream-hz 10
Radar + MAVLink:
sensor-emulator all --host 127.0.0.1 --ctrl-port 8100 --data-port 8101 --mavlink-port 14550
LiDAR collector mode (drop-in for LidarRunner subprocess):
export POINT_CLOUD_CSV_PATH=/tmp/lidar_point_cloud.csv
export IMU_DATA_CSV_PATH=/tmp/lidar_imu_data.csv
sensor-lidar-collector dummy-config-path
Synapse wiring
For Synapse LiDAR:
export LIDAR_EXEC_PATH=$(which python3)
export LIDAR_CONFIG_PATH=/absolute/path/to/sensor-emulator/src/sensor_emulator/lidar_collector.py
For Synapse radar, set RADAR_CONFIG_PATH to a config like:
{
"ip": "127.0.0.1",
"ctrlPort": 8100,
"dataPort": 8101,
"nSamples": 511,
"headerFields": 16,
"sampleBytes": 4,
"timeout": 1.0
}
For Synapse MAVLink:
Use getMavlinkController(port=\"udpin:127.0.0.1:14550\", ...) in local tests.
Test suite
Run all tests:
pytest -q
Coverage intent:
- Radar command compatibility (
STA?,IRF1,FMT?,#IRF,RUN,STOP) - Radar frame binary layout + CSV generation through Synapse
RadarController - MAVLink heartbeat and required message set + Synapse
MavlinkControllerCSV output - LiDAR subprocess env contract + Synapse
LidarRunnerCSV output
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aerostacks_sensor_emulator-0.1.0.tar.gz.
File metadata
- Download URL: aerostacks_sensor_emulator-0.1.0.tar.gz
- Upload date:
- Size: 7.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d76ba34bf00cf55dfbe7290236988a6c68d9defb4887f35ab242037a4fddf89f
|
|
| MD5 |
1ef6ea470af16e647861e89e09d584c3
|
|
| BLAKE2b-256 |
46141c8d44a00a262dd799684932e56b6b982972e28e97540c473610965ab080
|
Provenance
The following attestation bundles were made for aerostacks_sensor_emulator-0.1.0.tar.gz:
Publisher:
python-publish.yml on Aerostacks/sensor-emulator
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aerostacks_sensor_emulator-0.1.0.tar.gz -
Subject digest:
d76ba34bf00cf55dfbe7290236988a6c68d9defb4887f35ab242037a4fddf89f - Sigstore transparency entry: 952752015
- Sigstore integration time:
-
Permalink:
Aerostacks/sensor-emulator@1d2df343aae373d860c6c02f3af70a77d7075679 -
Branch / Tag:
refs/tags/1.0 - Owner: https://github.com/Aerostacks
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@1d2df343aae373d860c6c02f3af70a77d7075679 -
Trigger Event:
release
-
Statement type:
File details
Details for the file aerostacks_sensor_emulator-0.1.0-py3-none-any.whl.
File metadata
- Download URL: aerostacks_sensor_emulator-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
48a35481cfaee2d6326f16cd104bde3c27de15d3447e6c5f666ef99dfdaea65c
|
|
| MD5 |
74f16065bff9e80731614e266e31021c
|
|
| BLAKE2b-256 |
b1c26a073f442cd384770316a0b79b773e0ecc935b1f5179e1e6ac25059134cc
|
Provenance
The following attestation bundles were made for aerostacks_sensor_emulator-0.1.0-py3-none-any.whl:
Publisher:
python-publish.yml on Aerostacks/sensor-emulator
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aerostacks_sensor_emulator-0.1.0-py3-none-any.whl -
Subject digest:
48a35481cfaee2d6326f16cd104bde3c27de15d3447e6c5f666ef99dfdaea65c - Sigstore transparency entry: 952752087
- Sigstore integration time:
-
Permalink:
Aerostacks/sensor-emulator@1d2df343aae373d860c6c02f3af70a77d7075679 -
Branch / Tag:
refs/tags/1.0 - Owner: https://github.com/Aerostacks
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@1d2df343aae373d860c6c02f3af70a77d7075679 -
Trigger Event:
release
-
Statement type: