Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Synapse FlatBuffers main

Generated from the FlatBuffers schemas in fbs/. Fixed memory layout is the default for runtime protocol payloads so chip-to-chip shared-memory transports can use the payload layout directly. Coordinate frames follow ROS REP-0103: local/world vectors use ENU and body vectors use FLU.

Motivation

Synapse messages are designed for vehicles that exchange state, sensor, and control data in real time. The schema should be efficient enough for shared-memory message passing between chips, compact enough for constrained over-the-air links, and still straightforward to use from ordinary application code.

  • Fixed memory layout first: runtime payloads prefer FlatBuffers struct definitions so producers and consumers can share predictable native layouts without allocation when the transport and language allow it.
  • ROS-compatible conventions: frames and units follow ROS REP-0103 by default: ENU for local/world vectors, FLU for body vectors, and SI units unless a field name explicitly declares a scaled integer representation.
  • Bit-conscious transport: scaled integer fields preserve needed fidelity without spending unnecessary bytes. Airborne systems pay for latency, range, and reliability, so schemas should avoid waste on high-rate or over-the-air messages.
  • Native web and cross-platform use: release artifacts for npm, Python, Rust, C, and C++ let browser tools, cloud services, embedded firmware, and developer scripts consume the same schema source.

Transport Boundaries

Most deployments should publish typed topic payloads directly over transports such as Zenoh, UDP, or TCP and rely on those transports or links for framing, integrity checks, and optional security. The optional Frame envelope exists for links that need an explicit Synapse byte-stream container, especially serial-style transports where message delimiting, sequence tracking, and future opt-in integrity or authentication metadata belong at the frame boundary.

Checksums, authentication tags, or encryption should not be hardcoded into every topic payload. When needed, they should be transport-envelope features so fixed-layout payloads remain compact, inspectable, and reusable across shared memory, local middleware, native web tooling, and constrained radio links.

Zenoh Use

Synapse is intended to be straightforward to use with Zenoh. The canonical encoding publishes each fixed-layout topic’s bare payload struct bytes on a stable key expression: the key identifies the stream and the type, so the same bytes serve shared memory, Zenoh values, radio frames, and log messages with zero re-serialization. Little-endian byte order is a protocol requirement. Variable-size topics and generic bridges use the thin FlatBuffers root tables instead; the catalog encoding field records which applies.

Several parts of the schema support this model:

  • Fixed-layout payload structs: every runtime topic payload is a struct with a documented byte size, so consumers can decode by overlay without FlatBuffers machinery.
  • Generated topic catalog: release artifacts include TopicId, canonical Zenoh key, root table, payload struct and size, scope, encoding, and helper lookups so applications do not hand-maintain routing tables.
  • Stable topic identifiers: TopicId is available for bridges, logs, serial frames, or compact routing tables, while Zenoh deployments can use key expressions as the primary discriminator.
  • No transport checksums in payloads: Zenoh, UDP, TCP, and link layers can provide their own integrity behavior, so Synapse payloads stay portable across middleware and shared memory.
  • Schema assets in every release: npm, Python, Rust, C, and C++ artifacts carry generated bindings or schema assets so Zenoh tools, web dashboards, firmware bridges, and scripts can decode the same messages.

Canonical keys use synapse/v1/topic/<topic_name>[/<instance>]; the v1 segment is the schema-major compatibility signal, and multi-instance sensor topics append an instance segment so subscribers can select one sensor without decoding payloads. Deployments prepend vehicle, swarm, or site namespaces (for example cub1/synapse/v1/topic/gnss_fix); namespace prefixes come from deployment configuration and are never hardcoded in firmware. The package helpers parse namespaced keys and look up topics by TopicId, name, key, or key suffix. Commands and transfers are Zenoh queryables under synapse/v1/cmd/...; synapse/v1/meta/... and synapse/v1/live/... are reserved for schema metadata and liveliness.

Topic Catalog

The generated topic catalog is included as topics.json in schema-asset archives and as language helpers where the package has a public API. It records TopicId, canonical key expression, FlatBuffers root table, fixed-layout payload type, schema file, and the topic description from the schema comments.

Use the catalog when writing Zenoh publishers/subscribers, serial frame routers, log readers, gateways, and ROS bridge nodes. That keeps topic routing synchronized with the schema instead of duplicating key strings and numeric IDs in application code.

ROS And FlatROS

ROS messages are local integration types, not the Synapse over-the-air format. They are useful for visualization, autonomy stacks, simulation, rosbag tooling, and operator workflows, but they should not replace compact Synapse FlatBuffers payloads on constrained vehicle links.

ROS 2 integration should happen at the edge through bridge nodes that translate selected Synapse topics into ROS concepts only where ROS tooling needs them. The planned flatros2 path is a generated ROS workspace or release archive that consumes the Synapse schemas and topic catalog, depends on flatros2, and provides adapter nodes without making ROS message definitions the protocol source of truth.

Layout Rules

Telemetry, state, command, and control samples should use FlatBuffers struct definitions. Use table, string, or vector fields only for thin root wrappers, transport unions, log records, metadata, text, or naturally variable-size data.

Unit And Scale Rules

Fields encode units and frames in their names. Local/world vectors use _enu_; body vectors use _flu_. Global coordinates use _deg_e7, altitudes use _mm, speeds commonly use _cm_s or _mm_s, temperatures use _cdeg or _c, currents use _da, pack voltages use _cv, magnetic field uses _tesla, and normalized manual-control axes use _milli. The scale column in each entity page is generated from those suffixes, and schema validation fails when a quantitative field has no recognized suffix.

Schema Files

Version path: main. Generated by cargo run --locked --manifest-path xtask/Cargo.toml -- docs.

fbs/all.fbs

Namespace: synapse

Includes: transport.fbs, telemetry.fbs, transfer.fbs, sil.fbs

Source schema

This schema file does not define public entities.

fbs/control.fbs

Namespace: synapse.topic

Includes: types.fbs

Source schema

KindNameDescription
enumManualControlAxesAxis-validity bits for ManualControlData.active_axes.
enumManualControlFlagsSwitch and validity bits for ManualControlData.flags.
enumAttitudeCommandMaskIgnore bits for AttitudeCommandData.type_mask.
enumRateCommandMaskIgnore bits for RateCommandData.type_mask.
enumLocalPositionCommandMaskIgnore and interpretation bits for LocalPositionCommandData.type_mask.
structRadioControlDataRaw receiver channel sample before pilot-input normalization. This is a raw-layer topic: channel values are the receiver’s native pulse widths.
structManualControlDataNormalized pilot intent after receiver decoding, mapping, and validity checks. Axis fields use the full range -1000 to 1000. Throttle semantics are fixed by the schema: negative values command reverse thrust or descent; unidirectional vehicles clamp negative throttle to zero. Axis validity is carried only by active_axes; there are no sentinel values.
structAttitudeCommandDataAttitude setpoint with optional angular-rate and thrust feed-forward.
structRateCommandDataBody-rate setpoint with optional thrust feed-forward.
structLocalPositionCommandDataLocal-frame position, velocity, acceleration, and yaw setpoint.
structVehicleCommandDataGeneric command with seven floating-point arguments. Commands travel as Zenoh queryable requests on the cmd key space; the reply payload is CommandResultData. The transport provides correlation, retry, and timeout.
structGeoCommandDataGeographic command form preserving global-coordinate precision. Also used as the mission-item payload for mission transfer.
structCommandResultDataResult, progress, and routing information for command execution. Sent as the queryable reply for command requests; InProgress replies may stream until a terminal result is reached.
structActuatorCommandDataNormalized actuator command for up to sixteen logical actuator controls.
structActuatorFeedbackDataNormalized actuator feedback for up to thirty-two physical outputs. The command message carries sixteen logical controls while feedback covers thirty-two physical outputs after mixing and allocation.
structPwmSignalOutputsDataRaw PWM pulse-width outputs for servo and ESC drivers.
structControlLoopMetricsDataRuntime metrics for a control loop or scheduler slice.
tableRadioControl -> RadioControlDataFlatBuffers root wrapper for RadioControlData.
tableManualControlCommand -> ManualControlDataFlatBuffers root wrapper for ManualControlData.
tableAttitudeCommand -> AttitudeCommandDataFlatBuffers root wrapper for AttitudeCommandData.
tableRateCommand -> RateCommandDataFlatBuffers root wrapper for RateCommandData.
tableLocalPositionCommand -> LocalPositionCommandDataFlatBuffers root wrapper for LocalPositionCommandData.
tableVehicleCommand -> VehicleCommandDataFlatBuffers root wrapper for VehicleCommandData.
tableGeoCommand -> GeoCommandDataFlatBuffers root wrapper for GeoCommandData.
tableCommandResult -> CommandResultDataFlatBuffers root wrapper for CommandResultData.
tableActuatorCommand -> ActuatorCommandDataFlatBuffers root wrapper for ActuatorCommandData.
tableActuatorFeedback -> ActuatorFeedbackDataFlatBuffers root wrapper for ActuatorFeedbackData.
tablePwmSignalOutputs -> PwmSignalOutputsDataFlatBuffers root wrapper for PwmSignalOutputsData.
tableControlLoopMetrics -> ControlLoopMetricsDataFlatBuffers root wrapper for ControlLoopMetricsData.

enum ManualControlAxes

fbs/control.fbs / Source schema

Backing type: ushort (bit_flags)

Axis-validity bits for ManualControlData.active_axes.

NameValueNotes
Pitchpitch_milli is meaningful.
Rollroll_milli is meaningful.
Throttlethrottle_milli is meaningful.
Yawyaw_milli is meaningful.
Aux0aux0_milli is meaningful.
Aux1aux1_milli is meaningful.
Aux2aux2_milli is meaningful.
Aux3aux3_milli is meaningful.
Aux4aux4_milli is meaningful.
Aux5aux5_milli is meaningful.

enum ManualControlFlags

fbs/control.fbs / Source schema

Backing type: ubyte (bit_flags)

Switch and validity bits for ManualControlData.flags.

NameValueNotes
ArmSwitchThe pilot arm switch is in the arm position.
KillSwitchThe pilot kill switch requests immediate output inhibition.
ActiveManual input is currently selected or influencing control.
ValidThe manual input sample is fresh and passed validation.

enum AttitudeCommandMask

fbs/control.fbs / Source schema

Backing type: ubyte (bit_flags)

Ignore bits for AttitudeCommandData.type_mask.

NameValueNotes
IgnoreAttitudeIgnore the attitude quaternion.
IgnoreRateRollIgnore the roll body-rate feed-forward.
IgnoreRatePitchIgnore the pitch body-rate feed-forward.
IgnoreRateYawIgnore the yaw body-rate feed-forward.
IgnoreThrustIgnore the thrust field.

enum RateCommandMask

fbs/control.fbs / Source schema

Backing type: ubyte (bit_flags)

Ignore bits for RateCommandData.type_mask.

NameValueNotes
IgnoreRateRollIgnore the roll rate setpoint.
IgnoreRatePitchIgnore the pitch rate setpoint.
IgnoreRateYawIgnore the yaw rate setpoint.
IgnoreThrustIgnore the thrust field.

enum LocalPositionCommandMask

fbs/control.fbs / Source schema

Backing type: ushort (bit_flags)

Ignore and interpretation bits for LocalPositionCommandData.type_mask.

NameValueNotes
IgnorePositionXIgnore the X position setpoint.
IgnorePositionYIgnore the Y position setpoint.
IgnorePositionZIgnore the Z position setpoint.
IgnoreVelocityXIgnore the X velocity setpoint.
IgnoreVelocityYIgnore the Y velocity setpoint.
IgnoreVelocityZIgnore the Z velocity setpoint.
IgnoreAccelerationXIgnore the X acceleration setpoint.
IgnoreAccelerationYIgnore the Y acceleration setpoint.
IgnoreAccelerationZIgnore the Z acceleration setpoint.
ForceSetpointInterpret the acceleration fields as force instead of acceleration.
IgnoreYawIgnore the yaw setpoint.
IgnoreYawRateIgnore the yaw-rate setpoint.

struct RadioControlData

fbs/control.fbs / Source schema

Raw receiver channel sample before pilot-input normalization. This is a raw-layer topic: channel values are the receiver’s native pulse widths.

FlatBuffers root table: RadioControl

NameTypeUnit / ScaleNotes
timestamp_usulongmicrosecondsSample timestamp in monotonic boot time.
channel_countubyteNumber of valid channels in this sample, starting at channel 0.
link_quality_pctubytepercentReceiver link quality from 0 to 100.
chan0_raw_usushortraw pulse width in microsecondsRaw channel 0 pulse width.
chan1_raw_usushortraw pulse width in microsecondsRaw channel 1 pulse width.
chan2_raw_usushortraw pulse width in microsecondsRaw channel 2 pulse width.
chan3_raw_usushortraw pulse width in microsecondsRaw channel 3 pulse width.
chan4_raw_usushortraw pulse width in microsecondsRaw channel 4 pulse width.
chan5_raw_usushortraw pulse width in microsecondsRaw channel 5 pulse width.
chan6_raw_usushortraw pulse width in microsecondsRaw channel 6 pulse width.
chan7_raw_usushortraw pulse width in microsecondsRaw channel 7 pulse width.
chan8_raw_usushortraw pulse width in microsecondsRaw channel 8 pulse width.
chan9_raw_usushortraw pulse width in microsecondsRaw channel 9 pulse width.
chan10_raw_usushortraw pulse width in microsecondsRaw channel 10 pulse width.
chan11_raw_usushortraw pulse width in microsecondsRaw channel 11 pulse width.
chan12_raw_usushortraw pulse width in microsecondsRaw channel 12 pulse width.
chan13_raw_usushortraw pulse width in microsecondsRaw channel 13 pulse width.
chan14_raw_usushortraw pulse width in microsecondsRaw channel 14 pulse width.
chan15_raw_usushortraw pulse width in microsecondsRaw channel 15 pulse width.
chan16_raw_usushortraw pulse width in microsecondsRaw channel 16 pulse width.
chan17_raw_usushortraw pulse width in microsecondsRaw channel 17 pulse width.

struct ManualControlData

fbs/control.fbs / Source schema

Normalized pilot intent after receiver decoding, mapping, and validity checks. Axis fields use the full range -1000 to 1000. Throttle semantics are fixed by the schema: negative values command reverse thrust or descent; unidirectional vehicles clamp negative throttle to zero. Axis validity is carried only by active_axes; there are no sentinel values.

FlatBuffers root table: ManualControlCommand

NameTypeUnit / ScaleNotes
timestamp_usulongmicrosecondsCommand timestamp in monotonic boot time.
buttonsuintBitmask of active momentary buttons or switches, indexed from bit 0.
active_axesushortBitmask of ManualControlAxes bits indicating meaningful axes.
pitch_millishortnormalized milli-units; value / 1000, usually [-1, 1]Pitch command in milli-units over -1000 to 1000; positive pitches nose up.
roll_millishortnormalized milli-units; value / 1000, usually [-1, 1]Roll command in milli-units over -1000 to 1000; positive rolls right.
throttle_millishortnormalized milli-units; value / 1000, usually [-1, 1]Throttle command in milli-units over -1000 to 1000; negative means reverse or descend.
yaw_millishortnormalized milli-units; value / 1000, usually [-1, 1]Yaw command in milli-units over -1000 to 1000; positive yaws counter-clockwise.
aux0_millishortnormalized milli-units; value / 1000, usually [-1, 1]Auxiliary axis 0 in milli-units over -1000 to 1000.
aux1_millishortnormalized milli-units; value / 1000, usually [-1, 1]Auxiliary axis 1 in milli-units over -1000 to 1000.
aux2_millishortnormalized milli-units; value / 1000, usually [-1, 1]Auxiliary axis 2 in milli-units over -1000 to 1000.
aux3_millishortnormalized milli-units; value / 1000, usually [-1, 1]Auxiliary axis 3 in milli-units over -1000 to 1000.
aux4_millishortnormalized milli-units; value / 1000, usually [-1, 1]Auxiliary axis 4 in milli-units over -1000 to 1000.
aux5_millishortnormalized milli-units; value / 1000, usually [-1, 1]Auxiliary axis 5 in milli-units over -1000 to 1000.
flight_modeubyteProducer-defined requested flight mode.
flagsubytebitmaskBitmask of ManualControlFlags bits.

struct AttitudeCommandData

fbs/control.fbs / Source schema

Attitude setpoint with optional angular-rate and thrust feed-forward.

FlatBuffers root table: AttitudeCommand

NameTypeUnit / ScaleNotes
timestamp_usulongmicrosecondsCommand timestamp in monotonic boot time.
attitudesynapse.types.QuaternionfDesired orientation rotating body FLU vectors into the ENU world frame.
body_rate_flu_rad_ssynapse.types.RateTripletFLU body frame (x forward, y left, z up), radians per secondBody-rate feed-forward in the FLU frame.
thrustfloatNormalized collective thrust command over 0 to 1, or -1 to 1 for reverse-capable vehicles.
type_maskubytebitmaskBitmask of AttitudeCommandMask bits for ignored fields.

struct RateCommandData

fbs/control.fbs / Source schema

Body-rate setpoint with optional thrust feed-forward.

FlatBuffers root table: RateCommand

NameTypeUnit / ScaleNotes
timestamp_usulongmicrosecondsCommand timestamp in monotonic boot time.
body_rate_flu_rad_ssynapse.types.RateTripletFLU body frame (x forward, y left, z up), radians per secondDesired body angular rates in the FLU frame.
thrustfloatNormalized collective thrust command over 0 to 1, or -1 to 1 for reverse-capable vehicles.
type_maskubytebitmaskBitmask of RateCommandMask bits for ignored fields.

struct LocalPositionCommandData

fbs/control.fbs / Source schema

Local-frame position, velocity, acceleration, and yaw setpoint.

FlatBuffers root table: LocalPositionCommand

NameTypeUnit / ScaleNotes
timestamp_usulongmicrosecondsCommand timestamp in monotonic boot time.
position_enu_msynapse.types.Vec3fENU frame (x east, y north, z up), metersDesired local position in the ENU frame.
velocity_enu_m_ssynapse.types.Vec3fENU frame (x east, y north, z up), meters per secondDesired local velocity in the ENU frame.
acceleration_or_force_enusynapse.types.Vec3fDesired ENU acceleration in m/s^2, or force in newtons when ForceSetpoint is set.
yaw_radfloatradiansDesired yaw angle; zero east and positive counter-clockwise.
yaw_rate_rad_sfloatradians per secondDesired yaw rate; positive counter-clockwise.
type_maskushortbitmaskBitmask of LocalPositionCommandMask bits.
coordinate_framesynapse.types.LocalFrameFrame in which the setpoint is expressed.

struct VehicleCommandData

fbs/control.fbs / Source schema

Generic command with seven floating-point arguments. Commands travel as Zenoh queryable requests on the cmd key space; the reply payload is CommandResultData. The transport provides correlation, retry, and timeout.

FlatBuffers root table: VehicleCommand

NameTypeUnit / ScaleNotes
timestamp_usulongmicrosecondsCommand timestamp in monotonic boot time.
arg0floatCommand-specific argument 0.
arg1floatCommand-specific argument 1.
arg2floatCommand-specific argument 2.
arg3floatCommand-specific argument 3.
arg4floatCommand-specific argument 4.
arg5floatCommand-specific argument 5.
arg6floatCommand-specific argument 6.
command_idushortProducer-defined command identifier.
target_systemubyteTarget system identifier, or zero for broadcast/default.
target_componentubyteTarget component identifier, or zero for broadcast/default.

struct GeoCommandData

fbs/control.fbs / Source schema

Geographic command form preserving global-coordinate precision. Also used as the mission-item payload for mission transfer.

FlatBuffers root table: GeoCommand

NameTypeUnit / ScaleNotes
timestamp_usulongmicrosecondsCommand timestamp in monotonic boot time.
arg0floatCommand-specific argument 0.
arg1floatCommand-specific argument 1.
arg2floatCommand-specific argument 2.
arg3floatCommand-specific argument 3.
latitude_deg_e7intdegrees scaled by 1e7; int32 preserves global-coordinate precisionTarget latitude in WGS-84 degrees scaled by 1e7.
longitude_deg_e7intdegrees scaled by 1e7; int32 preserves global-coordinate precisionTarget longitude in WGS-84 degrees scaled by 1e7.
altitude_mfloatmetersTarget altitude in meters in the frame selected by frame.
command_idushortProducer-defined command identifier.
framesynapse.types.GeoAltitudeFrameAltitude reference frame for altitude_m.
target_systemubyteTarget system identifier, or zero for broadcast/default.
target_componentubyteTarget component identifier, or zero for broadcast/default.
currentboolTrue when this item should become current immediately.
autocontinueboolTrue when navigation should automatically continue after this item.

struct CommandResultData

fbs/control.fbs / Source schema

Result, progress, and routing information for command execution. Sent as the queryable reply for command requests; InProgress replies may stream until a terminal result is reached.

FlatBuffers root table: CommandResult

NameTypeUnit / ScaleNotes
timestamp_usulongmicrosecondsResult timestamp in monotonic boot time.
result_detailintProducer-defined extended result or error detail.
command_idushortCommand identifier this result refers to.
resultsynapse.types.CommandResultCodeCommand execution result.
progress_pctubytepercentCompletion progress from 0 to 100 while InProgress.
target_systemubyteSystem identifier that produced or should receive the result.
target_componentubyteComponent identifier that produced or should receive the result.

struct ActuatorCommandData

fbs/control.fbs / Source schema

Normalized actuator command for up to sixteen logical actuator controls.

FlatBuffers root table: ActuatorCommand

NameTypeUnit / ScaleNotes
timestamp_usulongmicrosecondsCommand timestamp in monotonic boot time.
active_maskuintbitmaskBitmask indicating which control slots are valid, indexed from bit 0.
control0floatNormalized actuator control slot 0.
control1floatNormalized actuator control slot 1.
control2floatNormalized actuator control slot 2.
control3floatNormalized actuator control slot 3.
control4floatNormalized actuator control slot 4.
control5floatNormalized actuator control slot 5.
control6floatNormalized actuator control slot 6.
control7floatNormalized actuator control slot 7.
control8floatNormalized actuator control slot 8.
control9floatNormalized actuator control slot 9.
control10floatNormalized actuator control slot 10.
control11floatNormalized actuator control slot 11.
control12floatNormalized actuator control slot 12.
control13floatNormalized actuator control slot 13.
control14floatNormalized actuator control slot 14.
control15floatNormalized actuator control slot 15.

struct ActuatorFeedbackData

fbs/control.fbs / Source schema

Normalized actuator feedback for up to thirty-two physical outputs. The command message carries sixteen logical controls while feedback covers thirty-two physical outputs after mixing and allocation.

FlatBuffers root table: ActuatorFeedback

NameTypeUnit / ScaleNotes
timestamp_usulongmicrosecondsFeedback timestamp in monotonic boot time.
active_maskuintbitmaskBitmask indicating which output slots are valid, indexed from bit 0.
output0floatNormalized actuator output slot 0.
output1floatNormalized actuator output slot 1.
output2floatNormalized actuator output slot 2.
output3floatNormalized actuator output slot 3.
output4floatNormalized actuator output slot 4.
output5floatNormalized actuator output slot 5.
output6floatNormalized actuator output slot 6.
output7floatNormalized actuator output slot 7.
output8floatNormalized actuator output slot 8.
output9floatNormalized actuator output slot 9.
output10floatNormalized actuator output slot 10.
output11floatNormalized actuator output slot 11.
output12floatNormalized actuator output slot 12.
output13floatNormalized actuator output slot 13.
output14floatNormalized actuator output slot 14.
output15floatNormalized actuator output slot 15.
output16floatNormalized actuator output slot 16.
output17floatNormalized actuator output slot 17.
output18floatNormalized actuator output slot 18.
output19floatNormalized actuator output slot 19.
output20floatNormalized actuator output slot 20.
output21floatNormalized actuator output slot 21.
output22floatNormalized actuator output slot 22.
output23floatNormalized actuator output slot 23.
output24floatNormalized actuator output slot 24.
output25floatNormalized actuator output slot 25.
output26floatNormalized actuator output slot 26.
output27floatNormalized actuator output slot 27.
output28floatNormalized actuator output slot 28.
output29floatNormalized actuator output slot 29.
output30floatNormalized actuator output slot 30.
output31floatNormalized actuator output slot 31.

struct PwmSignalOutputsData

fbs/control.fbs / Source schema

Raw PWM pulse-width outputs for servo and ESC drivers.

FlatBuffers root table: PwmSignalOutputs

NameTypeUnit / ScaleNotes
timestamp_usulongmicrosecondsOutput timestamp in monotonic boot time.
active_maskuintbitmaskBitmask indicating which PWM outputs are valid, indexed from bit 0.
portubyteProducer-defined output bank or timer port.
output0_usushortmicrosecondsPWM output 0 pulse width.
output1_usushortmicrosecondsPWM output 1 pulse width.
output2_usushortmicrosecondsPWM output 2 pulse width.
output3_usushortmicrosecondsPWM output 3 pulse width.
output4_usushortmicrosecondsPWM output 4 pulse width.
output5_usushortmicrosecondsPWM output 5 pulse width.
output6_usushortmicrosecondsPWM output 6 pulse width.
output7_usushortmicrosecondsPWM output 7 pulse width.
output8_usushortmicrosecondsPWM output 8 pulse width.
output9_usushortmicrosecondsPWM output 9 pulse width.
output10_usushortmicrosecondsPWM output 10 pulse width.
output11_usushortmicrosecondsPWM output 11 pulse width.
output12_usushortmicrosecondsPWM output 12 pulse width.
output13_usushortmicrosecondsPWM output 13 pulse width.
output14_usushortmicrosecondsPWM output 14 pulse width.
output15_usushortmicrosecondsPWM output 15 pulse width.

struct ControlLoopMetricsData

fbs/control.fbs / Source schema

Runtime metrics for a control loop or scheduler slice.

FlatBuffers root table: ControlLoopMetrics

NameTypeUnit / ScaleNotes
timestamp_usulongmicrosecondsMetrics timestamp in monotonic boot time.
period_usuintmicrosecondsMeasured loop period.
latency_usuintmicrosecondsTime from scheduled release to completion or publication.
overrun_countuintCumulative count of missed deadlines.
load_dpermilleushortdeci-percent; percent = value / 10, 1000 means 100%Loop load as deci-percent, where 1000 means 100%.

fbs/mocap.fbs

Namespace: synapse.topic

Includes: types.fbs

Source schema

KindNameDescription
structMocapMarkerSampleFixed-layout position sample for a labeled or unlabeled mocap marker.
structMocapRigidBodySampleFixed-layout pose sample for a tracked mocap rigid body.
structMocapSegmentSampleFixed-layout pose sample for a tracked skeleton segment.
tableMocapMarkerDefinitionStatic metadata for a mocap marker that consumers can cache.
tableMocapRigidBodyDefinitionStatic metadata for a mocap rigid body that consumers can cache.
tableMocapSegmentDefinitionStatic metadata for a mocap skeleton segment that consumers can cache.
tableMocapDefinitionVariable-size mocap metadata packet describing tracked objects. This is a cached definition record and an intentional table boundary.
tableMocapFrameVariable-size mocap frame containing all tracked samples for one timestamp.

struct MocapMarkerSample

fbs/mocap.fbs / Source schema

Fixed-layout position sample for a labeled or unlabeled mocap marker.

NameTypeUnit / ScaleNotes
idintMarker identifier assigned by the mocap source; negative values may indicate unlabeled markers.
position_enu_msynapse.types.Vec3fENU frame (x east, y north, z up), metersMarker position in the mocap ENU frame.
residualfloatProducer-defined fit residual or reprojection error.

struct MocapRigidBodySample

fbs/mocap.fbs / Source schema

Fixed-layout pose sample for a tracked mocap rigid body.

NameTypeUnit / ScaleNotes
idintRigid-body identifier assigned by the mocap source.
position_enu_msynapse.types.Vec3fENU frame (x east, y north, z up), metersRigid-body position in the mocap ENU frame.
attitudesynapse.types.QuaternionfRigid-body orientation rotating body FLU vectors into the mocap ENU frame.
residualfloatProducer-defined solve residual or tracking error.
tracking_validboolTrue when the rigid body is actively tracked in this frame.

struct MocapSegmentSample

fbs/mocap.fbs / Source schema

Fixed-layout pose sample for a tracked skeleton segment.

NameTypeUnit / ScaleNotes
skeleton_idintSkeleton identifier assigned by the mocap source.
segment_idintSegment identifier within the skeleton.
position_enu_msynapse.types.Vec3fENU frame (x east, y north, z up), metersSegment position in the mocap ENU frame.
attitudesynapse.types.QuaternionfSegment orientation rotating segment FLU vectors into the mocap ENU frame.
tracking_validboolTrue when the segment is actively tracked in this frame.

table MocapMarkerDefinition

fbs/mocap.fbs / Source schema

Static metadata for a mocap marker that consumers can cache.

NameTypeUnit / ScaleNotes
idintMarker identifier used by MocapMarkerSample.
namestringHuman-readable marker name.
coloruintProducer-defined display color encoded as an integer.

table MocapRigidBodyDefinition

fbs/mocap.fbs / Source schema

Static metadata for a mocap rigid body that consumers can cache.

NameTypeUnit / ScaleNotes
idintRigid-body identifier used by MocapRigidBodySample.
namestringHuman-readable rigid-body name.

table MocapSegmentDefinition

fbs/mocap.fbs / Source schema

Static metadata for a mocap skeleton segment that consumers can cache.

NameTypeUnit / ScaleNotes
skeleton_idintSkeleton identifier used by MocapSegmentSample.
skeleton_namestringHuman-readable skeleton name.
segment_idintSegment identifier within the skeleton.
segment_namestringHuman-readable segment name.

table MocapDefinition

fbs/mocap.fbs / Source schema

Variable-size mocap metadata packet describing tracked objects. This is a cached definition record and an intentional table boundary.

NameTypeUnit / ScaleNotes
sourcestringMocap system or producer name.
frame_idstringFrame name for the mocap ENU coordinate system.
labeled_markers[MocapMarkerDefinition]Marker definitions indexed by marker id.
rigid_bodies[MocapRigidBodyDefinition]Rigid-body definitions indexed by rigid-body id.
skeleton_segments[MocapSegmentDefinition]Skeleton segment definitions indexed by skeleton and segment id.

table MocapFrame

fbs/mocap.fbs / Source schema

Variable-size mocap frame containing all tracked samples for one timestamp.

NameTypeUnit / ScaleNotes
timestamp_usulongmicrosecondsFrame timestamp in monotonic boot time.
frame_numberuintProducer frame counter for loss/reorder detection.
labeled_markers[MocapMarkerSample]Marker samples with stable source identifiers.
unlabeled_markers[MocapMarkerSample]Marker samples without stable source identifiers.
rigid_bodies[MocapRigidBodySample]Rigid-body pose samples.
skeleton_segments[MocapSegmentSample]Skeleton segment pose samples.

fbs/optical_flow.fbs

Namespace: synapse.topic

Includes: types.fbs

Source schema

KindNameDescription
structOpticalFlowDataIntegrated optical-flow sample from an image sensor or flow module. This is a raw-layer topic: flow is the sensor’s integrated angular image motion.
structOpticalFlowVelocityDataVelocity estimate derived from optical flow.
tableOpticalFlow -> OpticalFlowDataFlatBuffers root wrapper for OpticalFlowData.
tableOpticalFlowVelocity -> OpticalFlowVelocityDataFlatBuffers root wrapper for OpticalFlowVelocityData.

struct OpticalFlowData

fbs/optical_flow.fbs / Source schema

Integrated optical-flow sample from an image sensor or flow module. This is a raw-layer topic: flow is the sensor’s integrated angular image motion.

FlatBuffers root table: OpticalFlow

NameTypeUnit / ScaleNotes
timestamp_usulongmicrosecondsSample timestamp in monotonic boot time.
flow_radsynapse.types.Vec2fradiansIntegrated angular flow about the sensor X and Y axes in radians over integration_timespan_us.
delta_angle_flu_radsynapse.types.Vec3fradiansIntegrated body rotation in the FLU frame during the same interval.
distance_mfloatmetersMeasured distance to the observed surface.
integration_timespan_usuintmicrosecondsIntegration interval for flow_rad and delta_angle_flu_rad.
max_flow_rate_rad_sfloatradians per secondMaximum measurable angular flow rate.
min_ground_distance_mfloatmetersMinimum valid range for distance-compensated flow.
max_ground_distance_mfloatmetersMaximum valid range for distance-compensated flow.
quality_pctubytepercentFlow quality from 0 to 100.

struct OpticalFlowVelocityData

fbs/optical_flow.fbs / Source schema

Velocity estimate derived from optical flow.

FlatBuffers root table: OpticalFlowVelocity

NameTypeUnit / ScaleNotes
timestamp_usulongmicrosecondsEstimate timestamp in monotonic boot time.
velocity_flu_m_ssynapse.types.Vec2fmeters per secondPlanar velocity estimate in the body FLU frame.
velocity_enu_m_ssynapse.types.Vec2fENU frame (x east, y north, z up), meters per secondPlanar velocity estimate in the local ENU frame.
flow_rate_uncompensated_rad_ssynapse.types.Vec2fradians per secondRaw angular flow rate before gyro compensation.
flow_rate_compensated_rad_ssynapse.types.Vec2fradians per secondAngular flow rate after gyro compensation.
gyro_flu_rad_ssynapse.types.Vec3fFLU body frame (x forward, y left, z up), radians per secondBody angular rate used for compensation.

fbs/sensors.fbs

Namespace: synapse.topic

Includes: types.fbs

Source schema

KindNameDescription
enumInertialFieldFlagsField-validity bits for InertialSampleData.flags.
enumAirDataFlagsField-validity bits for AirDataData.flags.
enumGnssFixFlagsField-validity bits for GnssFixData.flags.
enumPowerFaultFlagsFault bits for PowerStatusData.fault_flags.
structInertialSampleDataRaw inertial and environmental sample from an IMU-class sensor. This is a raw-layer topic: values are sensor-native measurements in the body FLU mounting frame after driver axis alignment; no estimator products belong here. Sensors updating at different rates set the matching flags bits.
structAirDataDataAir-data sample used by fixed-wing estimators and controllers.
structBatteryCellVoltages16Per-cell battery voltages for packs with up to sixteen monitored cells. Unmonitored cell slots are zero; zero is physically impossible for a connected, monitored cell.
structPowerStatusDataBattery or power-source state used for monitoring and failsafe decisions.
structGnssFixDataGlobal navigation satellite receiver fix and motion estimate. This is a raw-layer topic: angles keep the receiver’s native convention (clockwise from true north) so logs stay faithful to the hardware; the estimator converts to REP-0103 conventions for estimate-layer topics.
tableInertialSample -> InertialSampleDataFlatBuffers root wrapper for InertialSampleData.
tableAirData -> AirDataDataFlatBuffers root wrapper for AirDataData.
tablePowerStatus -> PowerStatusDataFlatBuffers root wrapper for PowerStatusData.
tableGnssFix -> GnssFixDataFlatBuffers root wrapper for GnssFixData.

enum InertialFieldFlags

fbs/sensors.fbs / Source schema

Backing type: ubyte (bit_flags)

Field-validity bits for InertialSampleData.flags.

NameValueNotes
AccelAccelerometer fields were updated in this sample.
GyroGyroscope fields were updated in this sample.
MagMagnetometer fields were updated in this sample.
PressureStatic pressure field was updated in this sample.
TemperatureTemperature field was updated in this sample.

enum AirDataFlags

fbs/sensors.fbs / Source schema

Backing type: ubyte (bit_flags)

Field-validity bits for AirDataData.flags.

NameValueNotes
AbsolutePressureStatic pressure is valid.
DifferentialPressureDifferential pressure is valid.
PressureAltitudePressure altitude is valid.
IndicatedAirspeedIndicated airspeed is valid.
TrueAirspeedTrue airspeed is valid.
AngleOfAttackAngle of attack is valid.
SideslipSideslip angle is valid.
TemperatureTemperature fields are valid.

enum GnssFixFlags

fbs/sensors.fbs / Source schema

Backing type: ubyte (bit_flags)

Field-validity bits for GnssFixData.flags.

NameValueNotes
TimeValidtime_unix_us carries a valid receiver time.
CourseValidcourse_over_ground_cdeg is valid.
YawValidyaw_cdeg carries a valid receiver yaw.
VelocityUpValidvelocity_up_cm_s is valid.

enum PowerFaultFlags

fbs/sensors.fbs / Source schema

Backing type: ushort (bit_flags)

Fault bits for PowerStatusData.fault_flags.

NameValueNotes
DeepDischargePack was discharged below its safe minimum.
VoltageSpikesAbnormal voltage transients were detected.
CellFailOne or more cells failed.
OverCurrentDischarge current exceeded limits.
OverTemperaturePack temperature exceeded limits.
UnderTemperaturePack temperature is below operating limits.
IncompatibleVoltagePack voltage is incompatible with this vehicle.
HardwareFailureMonitor or pack hardware failure.

struct InertialSampleData

fbs/sensors.fbs / Source schema

Raw inertial and environmental sample from an IMU-class sensor. This is a raw-layer topic: values are sensor-native measurements in the body FLU mounting frame after driver axis alignment; no estimator products belong here. Sensors updating at different rates set the matching flags bits.

FlatBuffers root table: InertialSample

NameTypeUnit / ScaleNotes
timestamp_usulongmicrosecondsSample timestamp in monotonic boot time.
accel_flu_m_s2synapse.types.Vec3fFLU body frame (x forward, y left, z up), meters per second squaredLinear acceleration in the body FLU frame.
gyro_flu_rad_ssynapse.types.Vec3fFLU body frame (x forward, y left, z up), radians per secondAngular rate in the body FLU frame.
mag_flu_teslasynapse.types.Vec3fFLU body frame (x forward, y left, z up), teslaRaw magnetic field in the body FLU frame, not declination corrected.
absolute_pressure_hpafloathectopascalsStatic pressure from the sensor barometer.
temperature_cfloatdegrees CelsiusSensor temperature in degrees Celsius.
flagsubytebitmaskBitmask of InertialFieldFlags bits updated in this sample.
idubyteSensor instance identifier; also the instance segment of the Zenoh key.

struct AirDataData

fbs/sensors.fbs / Source schema

Air-data sample used by fixed-wing estimators and controllers.

FlatBuffers root table: AirData

NameTypeUnit / ScaleNotes
timestamp_usulongmicrosecondsSample timestamp in monotonic boot time.
absolute_pressure_hpafloathectopascalsStatic pressure used for altitude and air-density calculations.
differential_pressure_hpafloathectopascalsPitot/static differential pressure used for airspeed.
pressure_altitude_mfloatmetersPressure-derived altitude using the producer’s atmosphere model.
indicated_airspeed_m_sfloatmeters per secondIndicated airspeed before density correction.
true_airspeed_m_sfloatmeters per secondTrue airspeed after density correction when available.
angle_of_attack_radfloatradiansAngle between body X axis and relative wind in the pitch plane.
sideslip_radfloatradiansAngle between body X axis and relative wind in the yaw plane.
temperature_cdegshortcenti-degrees Celsius; degC = value / 100Static-air temperature in centi-degrees Celsius.
differential_pressure_temperature_cdegshortcenti-degrees Celsius; degC = value / 100Differential-pressure sensor temperature in centi-degrees Celsius.
flagsubytebitmaskBitmask of AirDataFlags bits valid in this sample.

struct BatteryCellVoltages16

fbs/sensors.fbs / Source schema

Per-cell battery voltages for packs with up to sixteen monitored cells. Unmonitored cell slots are zero; zero is physically impossible for a connected, monitored cell.

NameTypeUnit / ScaleNotes
cell0_mvushortmillivoltsCell 0 voltage, or zero when unmonitored.
cell1_mvushortmillivoltsCell 1 voltage, or zero when unmonitored.
cell2_mvushortmillivoltsCell 2 voltage, or zero when unmonitored.
cell3_mvushortmillivoltsCell 3 voltage, or zero when unmonitored.
cell4_mvushortmillivoltsCell 4 voltage, or zero when unmonitored.
cell5_mvushortmillivoltsCell 5 voltage, or zero when unmonitored.
cell6_mvushortmillivoltsCell 6 voltage, or zero when unmonitored.
cell7_mvushortmillivoltsCell 7 voltage, or zero when unmonitored.
cell8_mvushortmillivoltsCell 8 voltage, or zero when unmonitored.
cell9_mvushortmillivoltsCell 9 voltage, or zero when unmonitored.
cell10_mvushortmillivoltsCell 10 voltage, or zero when unmonitored.
cell11_mvushortmillivoltsCell 11 voltage, or zero when unmonitored.
cell12_mvushortmillivoltsCell 12 voltage, or zero when unmonitored.
cell13_mvushortmillivoltsCell 13 voltage, or zero when unmonitored.
cell14_mvushortmillivoltsCell 14 voltage, or zero when unmonitored.
cell15_mvushortmillivoltsCell 15 voltage, or zero when unmonitored.

struct PowerStatusData

fbs/sensors.fbs / Source schema

Battery or power-source state used for monitoring and failsafe decisions.

FlatBuffers root table: PowerStatus

NameTypeUnit / ScaleNotes
timestamp_usulongmicrosecondsSample timestamp in monotonic boot time.
voltagesBatteryCellVoltages16Per-cell voltages for the monitored pack.
current_consumed_mahintmilliamp-hoursIntegrated discharged capacity since the producer’s reset point.
energy_consumed_hjinthecto-joules; joules = value * 100Integrated discharged energy since the producer’s reset point.
time_remaining_sintsecondsEstimated remaining runtime, or a negative value when unknown.
fault_flagsushortbitmaskBitmask of PowerFaultFlags bits.
current_battery_dashortdeci-amps; amps = value / 10Battery current in deci-amps; positive means discharge.
temperature_cdegshortcenti-degrees Celsius; degC = value / 100Battery or power-module temperature in centi-degrees Celsius.
remaining_pctbytepercentRemaining state of charge, or negative when unknown.
idubyteBattery instance identifier; also the instance segment of the Zenoh key.
battery_functionsynapse.types.BatteryFunctionRole of this power source on the vehicle.
battery_typesynapse.types.BatteryTypeBattery chemistry or power-source type.
charge_statesynapse.types.BatteryChargeStateCharging or discharge health state.
connectedboolTrue when the power source is physically present and reporting.

struct GnssFixData

fbs/sensors.fbs / Source schema

Global navigation satellite receiver fix and motion estimate. This is a raw-layer topic: angles keep the receiver’s native convention (clockwise from true north) so logs stay faithful to the hardware; the estimator converts to REP-0103 conventions for estimate-layer topics.

FlatBuffers root table: GnssFix

NameTypeUnit / ScaleNotes
timestamp_usulongmicrosecondsFix timestamp in monotonic boot time.
time_unix_usulongmicrosecondsReceiver-reported Unix time of the fix; valid when GnssFixFlags.TimeValid is set.
latitude_deg_e7intdegrees scaled by 1e7; int32 preserves global-coordinate precisionLatitude in WGS-84 degrees scaled by 1e7.
longitude_deg_e7intdegrees scaled by 1e7; int32 preserves global-coordinate precisionLongitude in WGS-84 degrees scaled by 1e7.
altitude_msl_mmintmillimetersHeight above mean sea level.
altitude_ellipsoid_mmintmillimetersHeight above the WGS-84 ellipsoid.
horizontal_accuracy_mmushortmillimetersOne-sigma horizontal accuracy; producers must saturate at 65535, never truncation-cast (65535 means at or above 65.535 m, unusable).
vertical_accuracy_mmushortmillimetersOne-sigma vertical accuracy; producers must saturate at 65535, never truncation-cast.
velocity_accuracy_mm_sushortmillimeters per secondOne-sigma velocity accuracy; producers must saturate at 65535, never truncation-cast.
yaw_accuracy_cdegushortcentidegrees; degrees = value / 100One-sigma yaw accuracy when receiver yaw is available.
hdop_centiushortcenti-units; value / 100Horizontal dilution of precision scaled by 100.
vdop_centiushortcenti-units; value / 100Vertical dilution of precision scaled by 100.
ground_speed_cm_sushortcentimeters per secondHorizontal ground speed magnitude.
course_over_ground_cdegushortcentidegrees; degrees = value / 100Course over ground, receiver native: zero at true north, positive clockwise; valid when CourseValid is set.
yaw_cdegushortcentidegrees; degrees = value / 100Receiver-reported vehicle yaw, zero at true north, positive clockwise; valid when YawValid is set.
velocity_up_cm_sshortcentimeters per secondVertical velocity, positive up; valid when VelocityUpValid is set.
flagsubytebitmaskBitmask of GnssFixFlags bits.
fix_typesynapse.types.GnssFixTypeReceiver fix quality.
satellites_usedubyteNumber of satellites used in the solution.
satellites_visibleubyteNumber of satellites tracked or visible.
idubyteGNSS receiver instance identifier; also the instance segment of the Zenoh key.

fbs/sil.fbs

Namespace: synapse.sil

Includes: types.fbs, control.fbs

Source schema

KindNameDescription
tableSimInputSimulation input root passed from a simulator into a controller under test.

table SimInput

fbs/sil.fbs / Source schema

Simulation input root passed from a simulator into a controller under test.

NameTypeUnit / ScaleNotes
gyro_flu_rad_ssynapse.types.Vec3fFLU body frame (x forward, y left, z up), radians per secondSimulated body angular velocity in the FLU frame.
accel_flu_m_s2synapse.types.Vec3fFLU body frame (x forward, y left, z up), meters per second squaredSimulated body linear acceleration in the FLU frame.
rcsynapse.topic.RadioControlDataSimulated raw receiver input sample.
rc_link_quality_pctubytepercentSimulated receiver link quality from 0 to 100.
rc_validboolTrue when rc contains a valid receiver sample.
imu_validboolTrue when gyro and accel contain valid inertial data.
target_boot_time_usulongmicrosecondsTarget controller boot time for deterministic simulation stepping.

fbs/state.fbs

Namespace: synapse.topic

Includes: types.fbs

Source schema

KindNameDescription
enumSensorComponentFlagsSensor and subsystem bits for the VehicleHealthData sensor bitmasks.
enumVehicleHealthFlagsVehicle-level status bits for VehicleHealthData.flags.
enumAttitudeEstimateFlagsField-validity bits for AttitudeEstimateData.flags.
enumLocalPositionFlagsField-validity bits for LocalPositionEstimateData.flags.
enumGlobalPositionFlagsField-validity bits for GlobalPositionEstimateData.flags.
enumHomeReferenceFlagsField-validity bits for HomeReferenceData.flags.
structVehicleHealthDataVehicle-wide state summary for operator displays and failsafe supervision.
structTimeReferenceDataPairing between Unix time and monotonic boot time.
structAttitudeEstimateDataAttitude estimate and angular velocity from the active estimator. The quaternion is the only attitude representation on the wire; consumers derive Euler angles locally when needed for display.
structLocalPositionEstimateDataLocal-frame position estimate for navigation and control.
structGlobalPositionEstimateDataGlobal geodetic position estimate with compact velocity and status fields.
structOdometryEstimateDataCombined pose, twist, covariance, and estimator metadata.
structEstimatorHealthDataEstimator health and innovation-test summary. The flags field is deliberately producer-defined: estimator status models differ between implementations and are standardized via discovery records, not the schema.
structMissionProgressDataMission progress and mission database identifiers.
structNavigationTargetDataNavigation controller target and tracking-error summary. Angles follow REP-0103: zero east, positive counter-clockwise, range -18000 to 18000.
structHomeReferenceDataHome position and local-origin reference.
tableVehicleHealth -> VehicleHealthDataFlatBuffers root wrapper for VehicleHealthData.
tableTimeReference -> TimeReferenceDataFlatBuffers root wrapper for TimeReferenceData.
tableAttitudeEstimate -> AttitudeEstimateDataFlatBuffers root wrapper for AttitudeEstimateData.
tableLocalPositionEstimate -> LocalPositionEstimateDataFlatBuffers root wrapper for LocalPositionEstimateData.
tableGlobalPositionEstimate -> GlobalPositionEstimateDataFlatBuffers root wrapper for GlobalPositionEstimateData.
tableOdometryEstimate -> OdometryEstimateDataFlatBuffers root wrapper for OdometryEstimateData.
tableEstimatorHealth -> EstimatorHealthDataFlatBuffers root wrapper for EstimatorHealthData.
tableMissionProgress -> MissionProgressDataFlatBuffers root wrapper for MissionProgressData.
tableNavigationTarget -> NavigationTargetDataFlatBuffers root wrapper for NavigationTargetData.
tableHomeReference -> HomeReferenceDataFlatBuffers root wrapper for HomeReferenceData.

enum SensorComponentFlags

fbs/state.fbs / Source schema

Backing type: uint (bit_flags)

Sensor and subsystem bits for the VehicleHealthData sensor bitmasks.

NameValueNotes
GyroAngular-rate sensing.
AccelLinear-acceleration sensing.
MagMagnetic field sensing.
AbsolutePressureStatic pressure sensing.
DifferentialPressureDifferential pressure sensing.
GnssGlobal navigation satellite receiver.
OpticalFlowOptical-flow sensing.
VisionPositionVision or motion-capture positioning input.
RangefinderDistance-to-surface sensing.
RadioControlManual receiver input.
MotorOutputsActuator and motor output path.
BatteryBattery monitoring.
EstimatorState estimator.
LoggingOnboard logging.
CommandLinkCommand and telemetry link.
TerrainTerrain database or terrain following.

enum VehicleHealthFlags

fbs/state.fbs / Source schema

Backing type: ubyte (bit_flags)

Vehicle-level status bits for VehicleHealthData.flags.

NameValueNotes
ArmedActuators are allowed to produce motion.
FailsafeAn active failsafe is affecting vehicle behavior.

enum AttitudeEstimateFlags

fbs/state.fbs / Source schema

Backing type: ubyte (bit_flags)

Field-validity bits for AttitudeEstimateData.flags.

NameValueNotes
AttitudeValidThe attitude quaternion is usable.
RatesValidThe angular-velocity fields are usable.

enum LocalPositionFlags

fbs/state.fbs / Source schema

Backing type: ubyte (bit_flags)

Field-validity bits for LocalPositionEstimateData.flags.

NameValueNotes
XyValidHorizontal position is valid.
ZValidVertical position is valid.
VxyValidHorizontal velocity is valid.
VzValidVertical velocity is valid.

enum GlobalPositionFlags

fbs/state.fbs / Source schema

Backing type: ubyte (bit_flags)

Field-validity bits for GlobalPositionEstimateData.flags.

NameValueNotes
ValidThe global position estimate is usable for navigation.
YawValidThe yaw estimate is usable.

enum HomeReferenceFlags

fbs/state.fbs / Source schema

Backing type: ubyte (bit_flags)

Field-validity bits for HomeReferenceData.flags.

NameValueNotes
PositionValidGeodetic and local home positions are valid.
AttitudeValidThe home alignment quaternion is valid.
ApproachValidThe approach vector is valid.

struct VehicleHealthData

fbs/state.fbs / Source schema

Vehicle-wide state summary for operator displays and failsafe supervision.

FlatBuffers root table: VehicleHealth

NameTypeUnit / ScaleNotes
timestamp_usulongmicrosecondsSample timestamp in monotonic boot time.
sensors_presentuintBitmask of SensorComponentFlags bits for detected components.
sensors_enableduintBitmask of SensorComponentFlags bits enabled for use.
sensors_healthuintBitmask of SensorComponentFlags bits currently considered healthy.
sensors_present_extuintReserved extension bitmask for future component bits.
sensors_enabled_extuintReserved extension bitmask for future component bits.
sensors_health_extuintReserved extension bitmask for future component bits.
load_dpermilleushortdeci-percent; percent = value / 10, 1000 means 100%Main controller load as deci-percent, where 1000 means 100%.
voltage_battery_cvushortcenti-volts; volts = value / 100Primary battery pack voltage in centi-volts.
current_battery_dashortdeci-amps; amps = value / 10Primary battery current in deci-amps; positive means discharge.
drop_rate_comm_cpercentushortcenti-percent; percent = value / 100Communication drop rate as centi-percent.
errors_commushortCommunication error count.
battery_remaining_pctbytepercentRemaining primary battery percentage, or negative when unknown.
vehicle_typeubyteProducer-defined vehicle class.
flight_modeubyteProducer-defined active flight mode.
system_stateubyteProducer-defined high-level system state.
link_quality_pctubytepercentCommand/control link quality from 0 to 100.
flagsubytebitmaskBitmask of VehicleHealthFlags bits.

struct TimeReferenceData

fbs/state.fbs / Source schema

Pairing between Unix time and monotonic boot time.

FlatBuffers root table: TimeReference

NameTypeUnit / ScaleNotes
time_unix_usulongmicrosecondsUnix epoch timestamp corresponding to time_boot_us.
time_boot_usulongmicrosecondsMonotonic boot timestamp at which time_unix_us was sampled.

struct AttitudeEstimateData

fbs/state.fbs / Source schema

Attitude estimate and angular velocity from the active estimator. The quaternion is the only attitude representation on the wire; consumers derive Euler angles locally when needed for display.

FlatBuffers root table: AttitudeEstimate

NameTypeUnit / ScaleNotes
timestamp_usulongmicrosecondsEstimate timestamp in monotonic boot time.
attitudesynapse.types.QuaternionfOrientation rotating body FLU vectors into the ENU world frame.
angular_velocity_flu_rad_ssynapse.types.RateTripletFLU body frame (x forward, y left, z up), radians per secondBody angular velocity in the FLU frame.
flagsubytebitmaskBitmask of AttitudeEstimateFlags bits.

struct LocalPositionEstimateData

fbs/state.fbs / Source schema

Local-frame position estimate for navigation and control.

FlatBuffers root table: LocalPositionEstimate

NameTypeUnit / ScaleNotes
timestamp_usulongmicrosecondsEstimate timestamp in monotonic boot time.
position_enu_msynapse.types.Vec3fENU frame (x east, y north, z up), metersLocal position relative to the active local origin.
velocity_enu_m_ssynapse.types.Vec3fENU frame (x east, y north, z up), meters per secondLocal velocity in the ENU frame.
acceleration_enu_m_s2synapse.types.Vec3fENU frame (x east, y north, z up), meters per second squaredLocal acceleration in the ENU frame.
yaw_radfloatradiansHeading angle; zero east and positive counter-clockwise.
yaw_rate_rad_sfloatradians per secondHeading rate, positive counter-clockwise.
flagsubytebitmaskBitmask of LocalPositionFlags bits.
xy_reset_counterubyteIncrements when the estimator resets or jumps the horizontal state.
z_reset_counterubyteIncrements when the estimator resets or jumps the vertical state.

struct GlobalPositionEstimateData

fbs/state.fbs / Source schema

Global geodetic position estimate with compact velocity and status fields.

FlatBuffers root table: GlobalPositionEstimate

NameTypeUnit / ScaleNotes
timestamp_usulongmicrosecondsEstimate timestamp in monotonic boot time.
latitude_deg_e7intdegrees scaled by 1e7; int32 preserves global-coordinate precisionLatitude in WGS-84 degrees scaled by 1e7.
longitude_deg_e7intdegrees scaled by 1e7; int32 preserves global-coordinate precisionLongitude in WGS-84 degrees scaled by 1e7.
altitude_msl_mmintmillimetersHeight above mean sea level.
relative_altitude_mmintmillimetersHeight above the active home or local origin.
velocity_east_cm_sshortcentimeters per secondEast component of global-frame velocity.
velocity_north_cm_sshortcentimeters per secondNorth component of global-frame velocity.
velocity_up_cm_sshortcentimeters per secondUp component of global-frame velocity.
yaw_cdegshortcentidegrees; degrees = value / 100Heading in the range -18000 to 18000; zero east and positive counter-clockwise per REP-0103.
sourceubyteProducer-defined source identifier for this global estimate.
flagsubytebitmaskBitmask of GlobalPositionFlags bits.

struct OdometryEstimateData

fbs/state.fbs / Source schema

Combined pose, twist, covariance, and estimator metadata.

FlatBuffers root table: OdometryEstimate

NameTypeUnit / ScaleNotes
timestamp_usulongmicrosecondsEstimate timestamp in monotonic boot time.
position_enu_msynapse.types.Vec3fENU frame (x east, y north, z up), metersLocal position in the ENU frame.
attitudesynapse.types.QuaternionfOrientation rotating body FLU vectors into the ENU world frame.
velocity_enu_m_ssynapse.types.Vec3fENU frame (x east, y north, z up), meters per secondLinear velocity in the ENU frame.
angular_velocity_flu_rad_ssynapse.types.RateTripletFLU body frame (x forward, y left, z up), radians per secondBody angular velocity in the FLU frame.
pose_covariancesynapse.types.CovarianceUpperTriangle21fUpper-triangular covariance for position and orientation.
velocity_covariancesynapse.types.CovarianceUpperTriangle21fUpper-triangular covariance for linear and angular velocity.
frame_idsynapse.types.ReferenceFrameReference frame of the pose fields.
child_frame_idsynapse.types.ReferenceFrameFrame of the twist fields.
reset_counterubyteIncrements when the estimator resets or jumps the state.
estimator_typeubyteProducer-defined estimator implementation identifier.
quality_pctbytepercentOverall odometry quality percentage, or negative when unknown.

struct EstimatorHealthData

fbs/state.fbs / Source schema

Estimator health and innovation-test summary. The flags field is deliberately producer-defined: estimator status models differ between implementations and are standardized via discovery records, not the schema.

FlatBuffers root table: EstimatorHealth

NameTypeUnit / ScaleNotes
timestamp_usulongmicrosecondsSample timestamp in monotonic boot time.
flagsushortbitmaskProducer-defined estimator status and fault bitmask.
velocity_test_ratiofloatdimensionless ratioInnovation test ratio for velocity observations.
pos_horiz_test_ratiofloatdimensionless ratioInnovation test ratio for horizontal position observations.
pos_vert_test_ratiofloatdimensionless ratioInnovation test ratio for vertical position observations.
mag_test_ratiofloatdimensionless ratioInnovation test ratio for magnetic observations.
hagl_test_ratiofloatdimensionless ratioInnovation test ratio for height-above-ground observations.
tas_test_ratiofloatdimensionless ratioInnovation test ratio for true-airspeed observations.
pos_horiz_accuracy_mfloatmetersEstimated one-sigma horizontal position accuracy.
pos_vert_accuracy_mfloatmetersEstimated one-sigma vertical position accuracy.

struct MissionProgressData

fbs/state.fbs / Source schema

Mission progress and mission database identifiers.

FlatBuffers root table: MissionProgress

NameTypeUnit / ScaleNotes
timestamp_usulongmicrosecondsSample timestamp in monotonic boot time.
mission_iduintIdentifier that changes when the mission plan changes.
fence_iduintIdentifier that changes when the geofence set changes.
rally_points_iduintIdentifier that changes when the rally-point set changes.
current_sequshortCurrent mission item sequence number.
totalushortTotal number of mission items known to the producer.
mission_statesynapse.types.MissionStateMission execution state.
mission_modeubyteProducer-defined mission mode or mission type.

struct NavigationTargetData

fbs/state.fbs / Source schema

Navigation controller target and tracking-error summary. Angles follow REP-0103: zero east, positive counter-clockwise, range -18000 to 18000.

FlatBuffers root table: NavigationTarget

NameTypeUnit / ScaleNotes
timestamp_usulongmicrosecondsSample timestamp in monotonic boot time.
altitude_error_mfloatmetersTarget altitude minus estimated altitude.
airspeed_error_m_sfloatmeters per secondTarget airspeed minus estimated airspeed.
xtrack_error_mfloatmetersCross-track error relative to the active path.
desired_roll_cdegshortcentidegrees; degrees = value / 100Roll angle requested by navigation.
desired_pitch_cdegshortcentidegrees; degrees = value / 100Pitch angle requested by navigation.
desired_yaw_cdegshortcentidegrees; degrees = value / 100Navigation yaw command.
target_yaw_cdegshortcentidegrees; degrees = value / 100Yaw toward the active target.
distance_to_waypoint_mushortmetersRemaining straight-line distance to the active waypoint.

struct HomeReferenceData

fbs/state.fbs / Source schema

Home position and local-origin reference.

FlatBuffers root table: HomeReference

NameTypeUnit / ScaleNotes
timestamp_usulongmicrosecondsReference timestamp in monotonic boot time.
latitude_deg_e7intdegrees scaled by 1e7; int32 preserves global-coordinate precisionHome latitude in WGS-84 degrees scaled by 1e7.
longitude_deg_e7intdegrees scaled by 1e7; int32 preserves global-coordinate precisionHome longitude in WGS-84 degrees scaled by 1e7.
altitude_msl_mmintmillimetersHome height above mean sea level.
local_position_enu_msynapse.types.Vec3fENU frame (x east, y north, z up), metersHome position in the active local ENU frame.
attitudesynapse.types.QuaternionfMap-to-local alignment rotating FLU vectors at home into ENU.
approach_enu_msynapse.types.Vec3fENU frame (x east, y north, z up), metersPreferred approach point or vector in the local ENU frame.
flagsubytebitmaskBitmask of HomeReferenceFlags bits.

fbs/telemetry.fbs

Namespace: synapse.topic

Includes: types.fbs

Source schema

KindNameDescription
enumGcsStatusFlagsStatus bits for GcsStatusData.flags.
structGcsStatusDataCompact vehicle status aggregate for low-rate ground-control links such as LoRa or satellite backhaul. This is a display-oriented estimate-layer summary published at 0.2 to 1 Hz; it is never used for control. Angles follow REP-0103: zero east, positive counter-clockwise.
tableGcsStatus -> GcsStatusDataFlatBuffers root wrapper for GcsStatusData.

enum GcsStatusFlags

fbs/telemetry.fbs / Source schema

Backing type: ubyte (bit_flags)

Status bits for GcsStatusData.flags.

NameValueNotes
ArmedActuators are allowed to produce motion.
FailsafeAn active failsafe is affecting vehicle behavior.
GlobalPositionValidThe latitude/longitude/altitude fields are usable.
YawValidThe yaw field is usable.
HomeSetA home reference is set and distance_home_dam is meaningful.
RcLinkThe manual control link is healthy.
GcsLinkThe ground-control link is healthy.

struct GcsStatusData

fbs/telemetry.fbs / Source schema

Compact vehicle status aggregate for low-rate ground-control links such as LoRa or satellite backhaul. This is a display-oriented estimate-layer summary published at 0.2 to 1 Hz; it is never used for control. Angles follow REP-0103: zero east, positive counter-clockwise.

FlatBuffers root table: GcsStatus

NameTypeUnit / ScaleNotes
time_boot_msuintmillisecondsSample timestamp in monotonic boot time.
latitude_deg_e7intdegrees scaled by 1e7; int32 preserves global-coordinate precisionLatitude in WGS-84 degrees scaled by 1e7.
longitude_deg_e7intdegrees scaled by 1e7; int32 preserves global-coordinate precisionLongitude in WGS-84 degrees scaled by 1e7.
altitude_msl_mshortmetersHeight above mean sea level.
relative_altitude_mshortmetersHeight above the home reference.
yaw_cdegshortcentidegrees; degrees = value / 100Heading in the range -18000 to 18000; zero east, positive counter-clockwise.
ground_speed_cm_sushortcentimeters per secondHorizontal ground speed magnitude.
climb_cm_sshortcentimeters per secondVertical speed, positive up.
distance_home_damushortdecameters; meters = value * 10Straight-line distance to home in decameters.
voltage_battery_cvushortcenti-volts; volts = value / 100Primary battery pack voltage in centi-volts.
current_battery_dashortdeci-amps; amps = value / 10Primary battery current in deci-amps; positive means discharge.
mission_sequshortCurrent mission item sequence number.
battery_remaining_pctbytepercentRemaining battery percentage, or negative when unknown.
flight_modeubyteProducer-defined active flight mode.
system_stateubyteProducer-defined high-level system state.
link_quality_pctubytepercentCommand/control link quality from 0 to 100.
satellites_usedubyteNumber of GNSS satellites used in the solution.
fix_typesynapse.types.GnssFixTypeGNSS fix quality.
flagsubytebitmaskBitmask of GcsStatusFlags bits.

fbs/transfer.fbs

Namespace: synapse.cmd

Includes: types.fbs, control.fbs

Source schema

KindNameDescription
enumCmdIdStable numeric identifiers for command and transfer services. Zenoh deployments select services by key (synapse/v1/cmd/); non-Zenoh request/reply transports such as framed serial links use these ids as the service discriminator. Values mirror the generated command catalog.
enumParamKindValue type carried by a ParamValue record.
tableParamValueOne named parameter value. Tables are appropriate here: parameter transfer is a cached request/reply flow, never a control-loop payload.
tableParamGetRequestRequest one parameter by name, or all parameters when name is absent. Served as a Zenoh queryable on the cmd key space.
tableParamGetReplyReply to ParamGetRequest.
tableParamSetRequestRequest to set one parameter. Served as a Zenoh queryable.
tableParamSetReplyReply to ParamSetRequest.
tableMissionItemOne mission item: a sequenced geographic command.
tableMissionGetRequestRequest the mission plan. Served as a Zenoh queryable.
tableMissionGetReplyReply to MissionGetRequest.
tableMissionSetRequestRequest to replace the mission plan. Served as a Zenoh queryable.
tableMissionSetReplyReply to MissionSetRequest.

enum CmdId

fbs/transfer.fbs / Source schema

Backing type: ushort

Stable numeric identifiers for command and transfer services. Zenoh deployments select services by key (synapse/v1/cmd/); non-Zenoh request/reply transports such as framed serial links use these ids as the service discriminator. Values mirror the generated command catalog.

NameValueNotes
Unknown0Reserved value for invalid or unassigned services.
VehicleCommand1Generic command with floating-point arguments.
GeoCommand2Geographic command with scaled latitude/longitude precision.
ParamGet3Fetch one parameter by name, or all parameters.
ParamSet4Set one parameter.
MissionGet5Fetch the mission plan.
MissionSet6Replace the mission plan.

enum ParamKind

fbs/transfer.fbs / Source schema

Backing type: ubyte

Value type carried by a ParamValue record.

NameValueNotes
Float0float_value carries the parameter.
Int1int_value carries the parameter.
Bool2int_value carries the parameter as zero or one.
Text3text_value carries the parameter.

table ParamValue

fbs/transfer.fbs / Source schema

One named parameter value. Tables are appropriate here: parameter transfer is a cached request/reply flow, never a control-loop payload.

NameTypeUnit / ScaleNotes
namestringParameter name unique within the producer.
kindParamKindWhich value field carries the parameter.
float_valuedoubleFloating-point value when kind is Float.
int_valuelongInteger or boolean value when kind is Int or Bool.
text_valuestringText value when kind is Text.

table ParamGetRequest

fbs/transfer.fbs / Source schema

Request one parameter by name, or all parameters when name is absent. Served as a Zenoh queryable on the cmd key space.

NameTypeUnit / ScaleNotes
namestringParameter name to fetch; absent or empty requests all parameters.

table ParamGetReply

fbs/transfer.fbs / Source schema

Reply to ParamGetRequest.

NameTypeUnit / ScaleNotes
resultsynapse.types.CommandResultCodeRequest outcome.
values[ParamValue]Returned parameter values.
totaluintTotal number of parameters held by the producer.

table ParamSetRequest

fbs/transfer.fbs / Source schema

Request to set one parameter. Served as a Zenoh queryable.

NameTypeUnit / ScaleNotes
valueParamValueParameter name and new value.

table ParamSetReply

fbs/transfer.fbs / Source schema

Reply to ParamSetRequest.

NameTypeUnit / ScaleNotes
resultsynapse.types.CommandResultCodeRequest outcome.
valueParamValueParameter value in effect after the request.

table MissionItem

fbs/transfer.fbs / Source schema

One mission item: a sequenced geographic command.

NameTypeUnit / ScaleNotes
sequintItem sequence number starting at zero.
itemsynapse.topic.GeoCommandDataFixed-layout geographic command payload.

table MissionGetRequest

fbs/transfer.fbs / Source schema

Request the mission plan. Served as a Zenoh queryable.

NameTypeUnit / ScaleNotes
mission_iduintMission identifier to fetch, or zero for the current plan.

table MissionGetReply

fbs/transfer.fbs / Source schema

Reply to MissionGetRequest.

NameTypeUnit / ScaleNotes
resultsynapse.types.CommandResultCodeRequest outcome.
mission_iduintIdentifier of the returned plan; matches MissionProgressData.mission_id.
items[MissionItem]Mission items in sequence order.

table MissionSetRequest

fbs/transfer.fbs / Source schema

Request to replace the mission plan. Served as a Zenoh queryable.

NameTypeUnit / ScaleNotes
mission_iduintIdentifier the producer should report for this plan.
items[MissionItem]Mission items in sequence order.

table MissionSetReply

fbs/transfer.fbs / Source schema

Reply to MissionSetRequest.

NameTypeUnit / ScaleNotes
resultsynapse.types.CommandResultCodeRequest outcome.
mission_iduintIdentifier of the plan now active in the producer.

fbs/transport.fbs

Namespace: synapse.topic

Includes: types.fbs, sensors.fbs, state.fbs, control.fbs, optical_flow.fbs, mocap.fbs, telemetry.fbs

Source schema

KindNameDescription
tableTextStatusHuman-readable status text for diagnostics, operator messages, and logs.
unionSynapseMessageUnion of topic root tables supported by the optional multiplexed Frame transport. Order mirrors TopicId; the union discriminator is one byte, so Frame supports at most 255 topics.
structFrameHeaderFixed-layout header carried by the optional multiplexed Frame transport.
tableFrameOptional multiplexed transport frame for generic bridges and multiplexed byte streams. This is an intentional table boundary: the canonical Zenoh encoding publishes bare fixed-layout payload structs with the key as the discriminator, and constrained serial links should prefer the compact framing described in the README ([sync][len][topic_id][seq][flags] [bare struct][crc16]) over this envelope. Frame remains for consumers that need a self-contained FlatBuffers container.

table TextStatus

fbs/transport.fbs / Source schema

Human-readable status text for diagnostics, operator messages, and logs.

NameTypeDefaultUnit / ScaleNotes
timestamp_usulongmicrosecondsMessage timestamp in monotonic boot time.
severitysynapse.types.SeverityInformationalRFC 5424 severity level.
textstringUTF-8 status text; this table is variable-size by design.

union SynapseMessage

fbs/transport.fbs / Source schema

Union of topic root tables supported by the optional multiplexed Frame transport. Order mirrors TopicId; the union discriminator is one byte, so Frame supports at most 255 topics.

NameTypeNotes
VehicleHealthVehicleHealthVehicle-level arming, failsafe, mode, link, and health summary.
TimeReferenceTimeReferenceBoot-time to Unix-time reference sample.
RadioControlRadioControlRaw receiver channel input sample.
ManualControlCommandManualControlCommandNormalized manual pilot intent command.
InertialSampleInertialSampleIMU, magnetometer, static pressure, and temperature sample.
AirDataAirDataBarometric and aerodynamic measurement sample.
PowerStatusPowerStatusBattery or power-source state sample.
GnssFixGnssFixGNSS fix and motion estimate.
OpticalFlowOpticalFlowIntegrated optical-flow sample.
OpticalFlowVelocityOpticalFlowVelocityVelocity estimate derived from optical flow.
AttitudeEstimateAttitudeEstimateAttitude and angular-velocity estimate.
LocalPositionEstimateLocalPositionEstimateLocal ENU position, velocity, acceleration, and yaw estimate.
GlobalPositionEstimateGlobalPositionEstimateGlobal geodetic position and velocity estimate.
OdometryEstimateOdometryEstimateCombined pose, twist, covariance, and estimator metadata.
EstimatorHealthEstimatorHealthEstimator health and innovation-test summary.
MissionProgressMissionProgressMission progress and mission database identifiers.
NavigationTargetNavigationTargetNavigation target and tracking-error summary.
HomeReferenceHomeReferenceHome geodetic origin and local-frame reference.
AttitudeCommandAttitudeCommandAttitude setpoint command.
RateCommandRateCommandBody-rate setpoint command.
LocalPositionCommandLocalPositionCommandLocal position/velocity/acceleration/yaw command.
VehicleCommandVehicleCommandGeneric command with floating-point arguments.
GeoCommandGeoCommandGeographic command with scaled latitude/longitude precision.
CommandResultCommandResultCommand result and progress response.
ActuatorCommandActuatorCommandNormalized actuator command.
ActuatorFeedbackActuatorFeedbackNormalized actuator feedback.
PwmSignalOutputsPwmSignalOutputsRaw PWM output pulse widths.
ControlLoopMetricsControlLoopMetricsControl-loop timing and load metrics.
TextStatusTextStatusHuman-readable status text.
GcsStatusGcsStatusCompact status aggregate for low-rate ground-control links.
MocapFrameMocapFrameMotion-capture samples for one capture timestamp.
MocapDefinitionMocapDefinitionCached motion-capture object definitions.

struct FrameHeader

fbs/transport.fbs / Source schema

Fixed-layout header carried by the optional multiplexed Frame transport.

NameTypeUnit / ScaleNotes
timestamp_usulongmicrosecondsFrame publication timestamp in monotonic boot time.
sequenceuintMonotonic sequence counter for loss/reorder detection.
flagsushortbitmaskFrame-envelope bitmask for serial or raw byte-stream features; zero means no envelope extensions.
topic_idTopicIdNumeric topic identifier for the enclosed message.
system_idubyteSource system identifier for links without key-based routing.
component_idubyteSource component identifier.
protocol_versionubyteSynapse wire/schema compatibility version used by the publisher.

table Frame

fbs/transport.fbs / Source schema

Optional multiplexed transport frame for generic bridges and multiplexed byte streams. This is an intentional table boundary: the canonical Zenoh encoding publishes bare fixed-layout payload structs with the key as the discriminator, and constrained serial links should prefer the compact framing described in the README ([sync][len][topic_id][seq][flags] [bare struct][crc16]) over this envelope. Frame remains for consumers that need a self-contained FlatBuffers container.

NameTypeUnit / ScaleNotes
headerFrameHeaderFixed-layout transport header.
messageSynapseMessageVariable message payload selected by the union discriminator.

fbs/types.fbs

Namespace: synapse.topic

Source schema

KindNameDescription
structVec2fTwo-component float vector used for planar rates, flow, and image motion.
structVec3fThree-component float vector used for ENU world vectors and FLU body vectors.
structQuaternionfUnit quaternion in Hamilton convention, component order w, x, y, z. It rotates body-frame FLU vectors into the world ENU frame: v_enu = q * v_flu * conjugate(q). Identity rotation is 1, 0, 0, 0.
structRateTripletRoll, pitch, and yaw rates or rate setpoints about the FLU body axes.
structCovarianceUpperTriangle21fUpper-triangular 6x6 covariance matrix stored row-major as 21 float values. State order is x, y, z translation followed by rotation about x, y, z.
enumSeverityText and diagnostic severity levels following RFC 5424 syslog numbering.
enumCommandResultCodeResult of command or transfer request execution.
enumGnssFixTypeGNSS receiver fix quality.
enumBatteryChargeStateBattery or power-source charging state.
enumBatteryFunctionRole a battery or power source plays on the vehicle.
enumBatteryTypeBattery chemistry or power-source type.
enumMissionStateMission execution state.
enumGeoAltitudeFrameAltitude reference frame for geographic commands and mission items.
enumLocalFrameLocal coordinate frame selector for local-frame commands.
enumReferenceFrameReference frame identifiers for odometry and pose products.
enumTopicIdStable numeric identifiers for well-known Synapse topics. Values are contiguous and mirror the SynapseMessage union order in transport.fbs.

struct Vec2f

fbs/types.fbs / Source schema

Two-component float vector used for planar rates, flow, and image motion.

NameTypeUnit / ScaleNotes
xfloatFirst axis component; frame and unit are defined by the containing field name.
yfloatSecond axis component; frame and unit are defined by the containing field name.

struct Vec3f

fbs/types.fbs / Source schema

Three-component float vector used for ENU world vectors and FLU body vectors.

NameTypeUnit / ScaleNotes
xfloatX component; east in ENU fields and forward in FLU fields.
yfloatY component; north in ENU fields and left in FLU fields.
zfloatZ component; up in both ENU and FLU fields.

struct Quaternionf

fbs/types.fbs / Source schema

Unit quaternion in Hamilton convention, component order w, x, y, z. It rotates body-frame FLU vectors into the world ENU frame: v_enu = q * v_flu * conjugate(q). Identity rotation is 1, 0, 0, 0.

NameTypeUnit / ScaleNotes
wfloatScalar component.
xfloatVector X component.
yfloatVector Y component.
zfloatVector Z component.

struct RateTriplet

fbs/types.fbs / Source schema

Roll, pitch, and yaw rates or rate setpoints about the FLU body axes.

NameTypeUnit / ScaleNotes
rollfloatRotation rate about the body X (forward) axis.
pitchfloatRotation rate about the body Y (left) axis.
yawfloatRotation rate about the body Z (up) axis.

struct CovarianceUpperTriangle21f

fbs/types.fbs / Source schema

Upper-triangular 6x6 covariance matrix stored row-major as 21 float values. State order is x, y, z translation followed by rotation about x, y, z.

NameTypeUnit / ScaleNotes
c0floatMatrix element (0,0).
c1floatMatrix element (0,1).
c2floatMatrix element (0,2).
c3floatMatrix element (0,3).
c4floatMatrix element (0,4).
c5floatMatrix element (0,5).
c6floatMatrix element (1,1).
c7floatMatrix element (1,2).
c8floatMatrix element (1,3).
c9floatMatrix element (1,4).
c10floatMatrix element (1,5).
c11floatMatrix element (2,2).
c12floatMatrix element (2,3).
c13floatMatrix element (2,4).
c14floatMatrix element (2,5).
c15floatMatrix element (3,3).
c16floatMatrix element (3,4).
c17floatMatrix element (3,5).
c18floatMatrix element (4,4).
c19floatMatrix element (4,5).
c20floatMatrix element (5,5).

enum Severity

fbs/types.fbs / Source schema

Backing type: ubyte

Text and diagnostic severity levels following RFC 5424 syslog numbering.

NameValueNotes
Emergency0System is unusable; immediate operator action required.
Alert1Action must be taken immediately.
Critical2Critical condition affecting flight safety.
Error3Error condition; a function is not working.
Warning4Warning condition; degraded but functional.
Notice5Normal but significant event.
Informational6Informational message.
Debug7Developer diagnostic message.

enum CommandResultCode

fbs/types.fbs / Source schema

Backing type: ubyte

Result of command or transfer request execution.

NameValueNotes
Accepted0Command was accepted and executed or scheduled.
TemporarilyRejected1Valid command rejected in the current state; retry may succeed.
Denied2Command is valid but permanently refused in this configuration.
Unsupported3Command is unknown or not implemented by this producer.
Failed4Command was attempted and failed during execution.
InProgress5Command accepted; execution continues and progress updates follow.
Cancelled6Command execution was cancelled before completion.

enum GnssFixType

fbs/types.fbs / Source schema

Backing type: ubyte

GNSS receiver fix quality.

NameValueNotes
NoFix0No position solution.
TimeOnly1Time-only solution without position.
Fix2d2Two-dimensional position fix.
Fix3d3Three-dimensional position fix.
Dgnss4Differentially corrected fix.
RtkFloat5RTK solution with float ambiguities.
RtkFixed6RTK solution with fixed ambiguities.
DeadReckoning7Dead-reckoning or combined solution without full GNSS observability.

enum BatteryChargeState

fbs/types.fbs / Source schema

Backing type: ubyte

Battery or power-source charging state.

NameValueNotes
Unknown0Charge state is not reported.
Ok1Normal operation.
Low2Low charge; operator attention advised.
Critical3Critical charge; land or recover soon.
Emergency4Emergency charge level; immediate action required.
Failed5Battery failure detected.
Unhealthy6Battery is degraded or operating outside limits.
Charging7Battery is charging.

enum BatteryFunction

fbs/types.fbs / Source schema

Backing type: ubyte

Role a battery or power source plays on the vehicle.

NameValueNotes
Unknown0Function is not reported.
Propulsion1Powers motors and propulsion.
Avionics2Powers flight controllers and avionics.
Payload3Powers a payload or auxiliary system.

enum BatteryType

fbs/types.fbs / Source schema

Backing type: ubyte

Battery chemistry or power-source type.

NameValueNotes
Unknown0Chemistry is not reported.
LiPo1Lithium polymer.
LiIon2Lithium ion.
LiFe3Lithium iron phosphate.
NiMh4Nickel metal hydride.
Pb5Lead acid.

enum MissionState

fbs/types.fbs / Source schema

Backing type: ubyte

Mission execution state.

NameValueNotes
Unknown0Mission state is not reported.
Idle1No mission is executing.
Active2Mission is executing.
Paused3Mission is paused and can resume.
Complete4Mission finished all items.

enum GeoAltitudeFrame

fbs/types.fbs / Source schema

Backing type: ubyte

Altitude reference frame for geographic commands and mission items.

NameValueNotes
Msl0Altitude above mean sea level.
Ellipsoid1Altitude above the WGS-84 ellipsoid.
RelativeHome2Altitude relative to the home reference.
Terrain3Altitude above terrain.

enum LocalFrame

fbs/types.fbs / Source schema

Backing type: ubyte

Local coordinate frame selector for local-frame commands.

NameValueNotes
LocalEnu0Local ENU frame anchored at the active local origin.
BodyFlu1Vehicle body FLU frame.

enum ReferenceFrame

fbs/types.fbs / Source schema

Backing type: ubyte

Reference frame identifiers for odometry and pose products.

NameValueNotes
Unknown0Frame is not reported.
LocalEnu1Local ENU frame anchored at the active local origin.
BodyFlu2Vehicle body FLU frame.
MapEnu3Persistent map ENU frame.
MocapEnu4Motion-capture system ENU frame.

enum TopicId

fbs/types.fbs / Source schema

Backing type: ushort

Stable numeric identifiers for well-known Synapse topics. Values are contiguous and mirror the SynapseMessage union order in transport.fbs.

NameValueNotes
Unknown0Reserved value for invalid, unassigned, or externally named topics.
VehicleHealth1Vehicle-level arming, failsafe, mode, link, and health summary.
TimeReference2Correlates boot-relative time with an absolute Unix time reference.
RadioControl3Raw receiver channel input and link quality.
ManualControlCommand4Normalized manual pilot intent after input mapping.
InertialSample5IMU, magnetometer, static pressure, and temperature sample.
AirData6Barometric and aerodynamic measurements used by fixed-wing control.
PowerStatus7Battery, current, energy, and power-source state.
GnssFix8Global navigation fix, accuracy, velocity, and heading information.
OpticalFlow9Integrated optical-flow sample from an image sensor or flow module.
OpticalFlowVelocity10Velocity estimate derived from optical flow.
AttitudeEstimate11Vehicle attitude estimate and angular velocity.
LocalPositionEstimate12Local ENU position, velocity, acceleration, and yaw estimate.
GlobalPositionEstimate13Global latitude/longitude/altitude estimate with ENU velocity.
OdometryEstimate14Combined pose, twist, covariance, and estimator quality sample.
EstimatorHealth15Estimator consistency metrics and accuracy estimates.
MissionProgress16Mission item progress and mission database identifiers.
NavigationTarget17Current navigation target and tracking-error summary.
HomeReference18Home geodetic origin and corresponding local-frame reference.
AttitudeCommand19Attitude setpoint with optional body-rate and thrust feed-forward.
RateCommand20Body-rate setpoint with thrust feed-forward.
LocalPositionCommand21Local ENU position/velocity/acceleration/yaw setpoint.
VehicleCommand22Generic command with floating-point arguments.
GeoCommand23Geographic command with scaled latitude/longitude precision.
CommandResult24Result and progress for a previously issued command or request.
ActuatorCommand25Normalized actuator control request.
ActuatorFeedback26Normalized actuator output feedback.
PwmSignalOutputs27Raw PWM output pulse widths.
ControlLoopMetrics28Control-loop timing, overrun, and load telemetry.
TextStatus29Human-readable status or diagnostic text.
GcsStatus30Compact vehicle status aggregate for low-rate ground-control links.
MocapFrame31Motion-capture samples for one capture timestamp.
MocapDefinition32Cached motion-capture object definitions.