burt_network library

Classes

AdvancedFileOutput
Accumulates logs in a buffer to reduce frequent disk, writes while optionally switching to a new log file if it reaches a certain size.
AnsiColor
This class handles colorizing of terminal output.
ArmCommand
ArmData
AutonomyCommand
AutonomyData
AutonomyState
AutonomyTask
BoolState
BurtFirmwareSerial
Represents a firmware device connected over Serial.
BurtLog
BurtLogger
Logs messages to the console and also sends a log to the dashboard.
BurtLogLevel
BurtSocket
A UdpSocket that follows the BURT protocols.
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.
ConsoleOutput
Default implementation of LogOutput.
Coordinates
DateTimeFormat
DelegateSerialPort
A serial port implementation that delegates to package:libserialport
DevelopmentFilter
Prints all logs with level >= Logger.level while in development mode (eg when asserts are evaluated, Flutter calls this debug mode).
Device
Disconnect
Notifies the recipient that the sender will no longer be connected.
DriveCommand
DriveData
FileOutput
GpsCoordinates
GripperCommand
GripperData
HybridPrinter
A decorator for a LogPrinter that allows for the composition of different printers to handle different log messages. Provide it's constructor with a base printer, but include named parameters for any levels that have a different printer:
LogEvent
LogFilter
An abstract filter of log messages.
LogfmtPrinter
Outputs a logfmt message:
Logger
Use instances of logger to send log messages to the LogPrinter.
LogOutput
Log output receives a OutputEvent from LogPrinter and sends it to the desired destination.
LogPrinter
An abstract handler of log events.
MarsCommand
MarsData
MarsStatus
MemoryOutput
Buffers OutputEvents.
MotorCommand
MotorData
MotorDirection
MultiOutput
Logs simultaneously to multiple LogOutput outputs.
Orientation
OutputEvent
PrefixPrinter
A decorator for a LogPrinter that allows for the prepending of every line in the log output with a string for the level of that log. For example:
PrettyPrinter
Default implementation of LogPrinter.
ProductionFilter
Prints all logs with level >= Logger.level even in production.
ProtoColor
PumpState
/ The state of a pump. If undefined: don't do anything. If fill: turn on, wait, then turn off.
RoverPosition
RoverSocket
A UDP socket fit for use on the rover, with heartbeats, logging, and settings included.
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.
SerialDevice
A wrapper around the package:libserialport library.
SerialPortInterface
An interface to a serial port.
Service
A class that represents a connection to some other API, service, or device.
ServoState
/ The state of a servo. If undefined, don't open or close.
SimplePrinter
Outputs simple log messages:
SocketInfo
Information about a socket.
StreamOutput
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.
UdpSocket
Manages a UDP socket.
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

Enums

Level
Levels to control logging output. Logging can be enabled to include all levels above certain Level.

Mixins

RoverHeartbeats
A mixin that automatically handles rover-side heartbeats.
RoverSettings
A mixin that handles UpdateSetting commands.

Extensions

MessageUtils on Message
Defines a friendlier method for getting the name of a message.
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

DateTimeFormatter = String Function(DateTime time)
Heartbeat = Connect
A better name for Connect.
Json = Map<String, dynamic>
JSON data as a map.
LogCallback = void Function(LogEvent event)
LogLevel = Level
An alias for Level.
Message = GeneratedMessage
A cleaner name for any message generated by Protobuf.
NetworkSettings = UpdateSetting
A better name for UpdateSetting.
OutputCallback = void Function(OutputEvent event)