Robot Agnostic Foxglove#108
Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds robot-agnostic support to the System Status Panel and Discrete Servos Panel, enabling these panels to adapt their display based on the selected robot (Crush or Oogway). It also deprecates the Call Service Panel and Subscribe Topic Panel by removing them entirely from the codebase.
Key changes:
- Refactored System Status Panel to support robot-specific configurations with topic timeout detection and click-to-copy functionality
- Updated Discrete Servos Panel to display robot-specific servo controls
- Removed Call Service Panel and Subscribe Topic Panel extensions
- Updated documentation to reflect deprecated panels
Reviewed changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| foxglove/extensions/system-status-panel/src/SystemStatusPanel.tsx | Refactored to support robot-agnostic configuration, added topic timeout detection, click-to-copy functionality, and robot name validation |
| foxglove/extensions/discrete-servos-panel/src/DiscreteServosPanel.tsx | Added robot-agnostic support with robot-specific servo configurations |
| foxglove/extensions/sensors-status-panel/src/SensorsStatusPanel.tsx | Reordered Tooltip and TableRow components for consistency |
| foxglove/extensions/subscribe-topic-panel/* | Removed all files to deprecate the panel |
| foxglove/extensions/call-service-panel/* | Removed all files to deprecate the panel |
| foxglove/extensions/publish-topic-panel/README.md | Enhanced documentation with feature list and use cases |
| foxglove/README.md | Updated extensions list to remove deprecated panels |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 17 out of 17 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 21 out of 21 changed files in this pull request and generated 5 comments.
Comments suppressed due to low confidence (1)
foxglove/extensions/discrete-servos-panel/src/DiscreteServosPanel.tsx:27
- The type name
DiscreteServosPanelconflicts with the function nameDiscreteServosPanel. Consider renaming the type toDiscreteServosPanelStateto match the naming pattern used elsewhere and avoid confusion.
type DiscreteServosPanel = {
message?: string; // Response from service call
success?: boolean; // Whether the service call was successful
};
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
@maxwellmlin What is the alternative to the call service panel? Is the goal to have dedicated panels for all services we might want to call (i.e., servos)? |
@nathanaelren Foxglove already has the Service Call and Raw Messages panel which does the same thing as our Call Service Panel and Subscribe Topic Panel. This confuses new members so I think we should remove them. (Although Foxglove has a Publish panel, our Publish Topic Panel is better so we're keeping that one.) |
@maxwellmlin Got it, thanks. Agree on our publish topic panel. I think the |
@nathanaelren I think it's OK to omit. The Foxglove Service Call panel pre-populates the request JSON so I don't think we need an example anymore. |
Sounds good, thanks. Seems reasonable to me, we can merge in |
* Robot Agnostic Foxglove (#108) * Robot agnostic support * Robot agnostic support * Add status timeout * Copy topic on click * Deprecate call-service-panel and subscribe-topic-panel * Update foxglove/extensions/system-status-panel/src/SystemStatusPanel.tsx Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Add buttons to set ROBOT_NAME * Add toasts for copy action * Disable buttons when callService unavailable * Initial attempt at automatic deployement * Add test branch * Remove variable check * Only publish on pushes to main * Rename * Update docs * Update docs * Delete sonar_plot.png (#110) * WIP new HSV Refactoring * Skeleton hsv_lane_marker.py code * Address Max's comments * Added additional publishers * Updated countor processing * Clean up code for hsv_lane_marker's process_contours * Updated publishers in the process contour method * Update launch -- kept the info for launching lane_marker_detector.py but got rid of it from setup.py * Removed double quotes * Move hsv scripts into hsv_filters * Adjusted setup.py to reflect new structure of the cv package * Linted --------- Co-authored-by: Maxwell Lin <git@maxwellmlin.com> Co-authored-by: Viet Hung Le <brandon.viethungRI2001@gmail.com> Co-authored-by: Pranav Bijith <pranavbijith1@gmail.com>
Add automatic deployment of Foxglove extensions upon pushes to
main.productionenvironment withFOXGLOVE_API_KEY.Add robot agnostic support to
System Status Panel
Call Service Panel
Subscribe Topic Panel
Add buttons to automatically set ROBOT_NAME if it is not set.