Skip to content

Conversation

Gold872
Copy link
Member

@Gold872 Gold872 commented Jan 24, 2025

If no device command is received for 500 ms, the device is automatically stopped. This prevents a scenario where a program (such as autonomy) crashes, and the rover will continue driving since no additional commands are received.

Additionally, the last received rover status of UpdateSetting is cached, and no commands will be sent to firmware if the status is not manual or autonomous. This means that even if a command is somehow sent to subsystems while the dashboard is set to idle, the rover will not move.

@Gold872 Gold872 requested a review from Levi-Lesches as a code owner January 24, 2025 17:54
- Listen to drive data to properly update the rover status
- Send message to drive firmware to update the LEDs
@Gold872 Gold872 marked this pull request as draft April 22, 2025 23:55
@github-actions github-actions bot added the subsystems Changes to the Subsystems program label Apr 23, 2025
@Gold872 Gold872 force-pushed the subsystems-safety-improvements branch from 2c7e2be to b64aed3 Compare May 1, 2025 14:39
@lregueiferos lregueiferos force-pushed the subsystems-safety-improvements branch from b64aed3 to c1449f7 Compare June 18, 2025 17:48
Gold872 pushed a commit that referenced this pull request Aug 13, 2025
Also some changes around isolates: 
- There are now three types of `IsolatePayload`s: 
  - `LogPayload`: Sends a log message to the dashboard
  - `FramePayload`: Sends an `OpenCVImage` to the dashboard
  - `DepthFramePayload`: Sends a depth frame to Autonomy
- Isolates now extend from `CameraIsolate` and are free to implement `sendFrame` however they need
  - `OpenCVIsolate` uses `package:opencv_ffi` to read RGB frames
  - `RealSenseIsolate` uses FFI and the [RealSense SDK](https://www.intelrealsense.com/sdk-2) to read depth, RGB, and colorized depth frames
  - `ROVER_FRONT` is mapped to `AUTONOMY_DEPTH` because the RealSense SDK takes ownership of the RGB stream as well

The entire RealSense SDK is submoduled under `src/librealsense`. This will eventually be moved to a new Dart package that will be published to Pub.dev
@Gold872 Gold872 force-pushed the subsystems-safety-improvements branch from c1449f7 to becdbe0 Compare August 13, 2025 22:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

subsystems Changes to the Subsystems program

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant