Fusion Arduino SDK Event Hooks
onTelemetryUpdated
void onTelemetryUpdated(TelemetryUpdateHandler &handler);
using TelemetryUpdateHandler = void (*)(const FusionTelemetry& current);
Parameters
| Name |
Type |
Required |
Description |
current |
const FusionTelemetry& |
Yes |
Telemetry snapshot. |
Example
void onTelemetryUpdated(const FusionTelemetry &now)
{
fuel = static_cast(now.liquidFuelPct);
orbital_speed = static_cast(now.orbitalSpeed);
apoapsis = static_cast(now.apoapsis);
periapsis = static_cast(now.periapsis);
// Here you would normally update your display
// or LEDs, gauges, motor drivers etc.
}
void setup()
{
ksa.onTelemetryUpdated(onTelemetryUpdated);
}
onVehicleChanged
void onVehicleChanged(VehicleChangeHandler &handler);
using VehicleChangeHandler = void (*)(const FusionTelemetry& previous, const FusionTelemetry& current);
Parameters
| Name |
Type |
Required |
Description |
previous |
const FusionTelemetry& |
Yes |
Telemetry snapshot. |
current |
const FusionTelemetry& |
Yes |
Telemetry snapshot. |
Example
void onVehicleChanged(const FusionTelemetry &prev, const FusionTelemetry &now)
{
vehicle_name = now.vesselName;
}
void setup()
{
ksa.onVehicleChanged(onTelemetryUpdated);
}
onEngineIgnited
void onEngineIgnited(EngineIgnitedHandler &handler);
using EngineIgnitedHandler = void (*)(const FusionTelemetry& previous, const FusionTelemetry& current);
Parameters
| Name |
Type |
Required |
Description |
previous |
const FusionTelemetry& |
Yes |
Telemetry snapshot. |
current |
const FusionTelemetry& |
Yes |
Telemetry snapshot. |
Example
void onEngineIgnited(const FusionTelemetry &prev, const FusionTelemetry &now)
{
// Engine ignition edge only — use for LEDs, buzzers, animations, etc.
engine_status = now.engineIgnited ? "Ignited" : "Shutdown";
}
void setup()
{
ksa.onEngineIgnited(onTelemetryUpdated);
}
onThrottleChanged
void onThrottleChanged(ThrottleChangeHandler &handler);
using ThrottleChangeHandler = void (*)(const FusionTelemetry& previous, const FusionTelemetry& current);
Parameters
| Name |
Type |
Required |
Description |
previous |
const FusionTelemetry& |
Yes |
Telemetry snapshot. |
current |
const FusionTelemetry& |
Yes |
Telemetry snapshot. |
Example
void onThrottleChanged(const FusionTelemetry &prev, const FusionTelemetry &now)
{
throttle = static_cast(now.throttle * 100.0f);
// We can feed back to motorized faders
}
void setup()
{
ksa.onThrottleChanged(onTelemetryUpdated);
}