generated library

Classes

AntennaControlMode
/ How the antenna is being controller.
AntennaFirmwareCommand
AntennaFirmwareData
ArmCommand
ArmData
AutonomyCommand
AutonomyData
AutonomyState
AutonomyTask
BaseStationCommand
/ Command to control the movement of the MARS antenna. / / This command has two modes: manual operation or rover tracking. / - When tracking the rover, any GPS signals received by the rover or the base station's internal / GPS will cause it to re-calculate an orientation that ideally faces the rover. In this mode, / manual commands are ignored. / - When in manual mode, all GPS data is ignored and the motor is only moved when the Dashboard / sends a command with a manualCommand payload. / / When tracking the rover, the Dashboard can override either the base station or rover's position / for testing and debugging. When a new position override is received, the base station will: / - calculate the antenna orientation as if the rover were at this position / - send an AntennaFirmwareCommand for this position / - immediately set the mode to AntennaControlMode.MANUAL_CONTROL to hold the position
BaseStationData
BoolState
BurtLog
BurtLogLevel
CameraDetails
/ Details about a specific camera.
CameraName
CameraStatus
CarouselCommand
/ A command for the carousel and funnel to follow.
Connect
Used for a simple handshake between devices.
Coordinates
Device
Disconnect
Notifies the recipient that the sender will no longer be connected.
DriveCommand
DriveData
GpsCoordinates
GripperCommand
GripperData
MotorCommand
MotorData
MotorDirection
Orientation
ProtoColor
PumpState
/ The state of a pump. If undefined: don't do anything. If fill: turn on, wait, then turn off.
RoverPosition
RoverStatus
/ Changes the way the rover listens to incoming commands. / / - When IDLE, all subsystems will ignore all commands / - When MANUAL, all subsystems will accept all commands / - When AUTONOMOUS, the rover will ignore commands from the dashboard
ScienceCommand
/ A command to the science subsystem.
ScienceData
/ Data coming from the science subsystem.
ScienceState
/ The state of the science subsystem. If not COLLECT_DATA, don't stream data at all.
ServoState
/ The state of a servo. If undefined, don't open or close.
Timestamp
A Timestamp represents a point in time independent of any time zone or local calendar, encoded as a count of seconds and fractions of seconds at nanosecond resolution. The count is relative to an epoch at UTC midnight on January 1, 1970, in the proleptic Gregorian calendar which extends the Gregorian calendar backwards to year one.
UpdateSetting
/ Update a sensitive setting, such as the rover's status. / / This message must be triggered manually and the recipient (usually the subsystems Pi) / must respond with the exact same message to confirm its receipt.
Version
VideoCommand
/ Make changes to a camera feed.
VideoData
/ Reports data about a camera.
WrappedMessage

Extensions

EnumUtils on List<T>
Helpful methods on lists of Protobuf enums.
GpsToMeters on GpsCoordinates
Helpful extension methods to convert GpsCoordinates into meters
MessageUtils on Message
Defines a friendlier method for getting the name of a message.
MetersToGps on ({num lat, num long})
Extension to convert coordinates in meters into GpsCoordinates.
NullableStreamUtils on Stream<T?>
Helpful methods on streams of nullable values.
WrappedMessageStream on Stream<WrappedMessage>
Helpful methods on Streams of WrappedMessages.

Functions

deviceToDataName(Device device) String?
Returns the type of data message that would be emitted by this device.

Typedefs

Json = Map<String, dynamic>
JSON data as a map.
Message = GeneratedMessage
A cleaner name for any message generated by Protobuf.