RealSenseIsolate class

An isolate to read RGB, depth, and colorized frames from the RealSense.

While using the RealSense SDK for depth streaming, OpenCV cannot access the standard RGB frames, so it is necessary for this isolate to grab the RGB frames as well.

Since the RealSense is being used for autonomy, certain settings that could interfere with the autonomy program are not allowed to be changed, even for the RGB camera.

Inheritance

Constructors

RealSenseIsolate({required CameraDetails details})
Creates an isolate to read from the RealSense camera.

Properties

camera RealSenseInterface
The native RealSense object. MUST be late so it isn't initialized on the parent isolate.
latefinal
details → CameraDetails
Holds the current details of the camera.
finalinherited
fpsCount int
Records how many FPS this camera is actually running at.
getter/setter pairinherited
fpsTimer Timer?
A timer to log out the fpsCount every 5 seconds using sendLog.
getter/setter pairinherited
frameTimer Timer?
A timer to read from the camera at an FPS given by details.
getter/setter pairinherited
hashCode int
The hash code for this object.
no setterinherited
id Object
A unique identifier for this child to identify itself to the parent.
finalinherited
isReadingFrame bool
Whether the camera is currently reading a frame.
getter/setter pairinherited
name → CameraName
The name of this camera (where it is on the rover).
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
statusTimer Timer?
A timer to periodically send the camera status to the dashboard.
getter/setter pairinherited
stream Stream<VideoCommand>
A broadcast stream of all messages from the parent.
no setterinherited

Methods

dispose() → void
Disposes of this camera and all other resources.
inherited
disposeCamera() → void
Closes and releases the camera.
override
initCamera() → void
Initializes the camera and starts streaming.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onData(VideoCommand data) → void
A callback to run when new data is received from the parent.
override
onSpawn() Future<void>
Runs when the child isolate is spawned, after registerWithParent is called.
inherited
registerWithParent(TypedSendPort<ChildIsolatePayload<IsolatePayload, VideoCommand>> port) Future<void>
Registers this child with its parent.
inherited
sendFrame(Uint8List image, {CameraDetails? detailsOverride}) → void
Sends an individual frame to the dashboard.
inherited
sendFrames() Future<void>
Reads a frame from the camera and sends it to the dashboard.
override
sendLog(LogLevel level, String message) → void
Logs a message by sending a LogPayload to the parent isolate.
inherited
sendRgbFrame(Pointer<Uint8> rawRGB) → void
Sends the RealSense's RGB frame and optionally detects ArUco tags.
sendStatus([dynamic _]) → void
Sends the current status to the dashboard.
inherited
sendToParent(IsolatePayload obj) → void
Sends data to the parent isolate.
inherited
start() → void
Starts the camera and timers.
inherited
stop() → void
Cancels all timers and stops reading the camera.
inherited
toString() String
A string representation of this object.
inherited
updateDetails(CameraDetails newDetails) → void
Updates the camera's details, which will take effect on the next sendFrame call.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited