-
Notifications
You must be signed in to change notification settings - Fork 1
Examples
This page points to runnable examples and suggests a learning path. For protocol details and role behavior, see Time-Sync.
c-example-code/ (source)
c-example-code/src/timesync_example.c (source)
c-example-code/src/load_balancing_example.c (source)
c-example-code/src/managed_variables_e2e_example.c (source)
c-example-code/src/managed_variables_e2e_example.cpp (source)
What it demonstrates:
- Building and linking the staticlib.
- Creating and sending packets.
- Receiving and dispatching to handlers.
- Time sync announce/request/response and offset math.
- Managed-variable latest-value resync, bounded packed sides, and E2E policy configuration.
Suggested first steps:
- Build the library with build.py (source) or CMake.
- Compile the example and run it locally.
- Watch the output to see packet creation and handling.
python-example/ (source)
python-example/timesync_example.py (source)
python-example/load_balancing_example.py (source)
python-example/typed_routing_example.py (source)
python-example/managed_variables_e2e_example.py (source)
What it demonstrates:
- Installing the Python package.
- Logging packets and decoding values.
- Looking up runtime schema names and using the returned IDs.
- Type-specific routing to two dedicated command links without weighted or failover path selection.
- Time sync announce/request/response and offset math.
- Managed-variable latest-value resync and E2E router/type policy settings.
Suggested first steps:
- Build Python bindings with
build.py pythonorbuild.py maturin-install( build.py: source). - Run the example script.
- Inspect printed packets to see decoded values.
If you want a minimal Rust example, start with Usage-Rust and build a small router with one endpoint handler. For a runnable example, see:
rust-example-code/timesync_example.rs (source)
rust-example-code/relay_example.rs (source)
rust-example-code/reliable_example.rs (source)
rust-example-code/queue_timeout_example.rs (source)
rust-example-code/multinode_sim_example.rs (source)
rust-example-code/load_balancing_example.rs (source)
rust-example-code/typed_routing_example.rs (source)
rust-example-code/managed_variables_e2e_example.rs (source)
The typed-routing example shows one practical pattern: ordinary telemetry stays on its normal
link, while a command-like packet type is manually fanned out to two dedicated sides that both
reach the same remote destination. It uses set_typed_route(...) only, so there is no load
balancing or failover policy involved.
rtos-example-code/freertos_timesync.c (source)
rtos-example-code/threadx_timesync.c (source)
Recommended structure:
- Define one
EndpointHandlerfor a singleDataEndpoint. - Create a router with no remote sides for local-only logging, or add sides and control forwarding with runtime route rules.
- Call
log_*with a typed payload. - Call
rx_packedwith the bytes you just sent (loopback).
- Read Overview
- Read Concepts
- Try one example in your target language
- Read Technical-Architecture for the implementation details