Built-in types
Primitive types are the building blocks of Foxglove's supported message schemas.
Each field in a message schema has a type. This type can be another message schema, an enum, or one of the primitive types documented below:
boolean
Either true or false.
bytes
Raw binary data, represented as a Uint8Array in JavaScript.
enum
Number that serves as a key in a set of named constants.
float64
64-bit floating-point number.
string
String value encoded as UTF-8.
time
| field | type | required | description |
|---|---|---|---|
sec | uint32 | ✓ | Seconds since epoch |
nsec | uint32 | ✓ | Additional nanoseconds since epoch |
NOTE: Foxglove's Protobuf schemas represent time values with google.protobuf.Timestamp, which uses seconds and nanos fields. However, in user scripts, message converters, and the rest of Foxglove, the values will appear as sec and nsec fields, for consistency with other data formats.
duration
| field | type | required | description |
|---|---|---|---|
sec | int32 | ✓ | Seconds offset |
nsec | uint32 | ✓ | Nanoseconds offset in the positive direction |
NOTE: Foxglove's Protobuf schemas represent duration values with google.protobuf.Duration, which uses seconds and nanos fields. However, in user scripts, message converters, and the rest of Foxglove, the values will appear as sec and nsec fields, for consistency with other data formats.
uint32
Non-negative integer value between 0 and 232−1.
int32
Integer value between −231 and 231−1.