Repository navigation
sensing: report camera faults and offer the management channel from the producer - #1469
Closed
gareth-morgan-nv wants to merge 2 commits into
Closed
gareth-morgan-nv wants to merge 2 commits into
gareth-morgan-nv wants to merge 2 commits into
Conversation
An authenticated WebSocket server, a JSON request handler, the status a producer reports, a supervisor that retries a camera that cannot start, a plain-language fault table and a capture of the camera driver's own log lines. It has no video, camera-SDK or GPU dependency, so it builds and its unit tests run on a PC with BUILD_SENSING_CONTROL=ON. A standard-library client, tools/orin_control.py, drives the channel from the command line. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Signed-off-by: Gareth Morgan <gmorgan@nvidia.com>
…he producer A camera that cannot start (no power cable, no GMSL link) no longer ends the producer: a supervisor reports the fault in plain words, retries, and resumes streaming once it is fixed. An optional WebSocket management channel (off unless --control-token-file names a shared secret) reports status and the fault, and retargets a stream's direct link to a new PC address at run time. SIPL pipeline notifications are named so the fault table can tell a lost link from a failing sensor, and the camera driver's own log lines are captured with a start failure. The producer binary now links sensing::control and installs under a `producer` component. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Signed-off-by: Gareth Morgan <gmorgan@nvidia.com>
gareth-morgan-nv
requested review from
farbod-nv,
jsepulveda-nvidia and
tengw-nv
November 10, 2026 22:24
Contributor
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the
|
This was referenced Nov 10, 2026
Contributor
Author
|
Closing as superseded: the camera path is now the camera_streamer architecture (SIPL/Argus sender, AVS1 over TCP, PC receiver and LiveKit bridge; see #1473-#1479). Not merged; the branch and commits are kept. 🤖 Generated with Claude Code |
Contributor
Author
|
This PR is superseded by the camera_streamer PRs:
🤖 Generated with Claude Code |
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The producer reports camera faults and offers the management channel. A camera that cannot start (no power cable, no GMSL link) no longer ends the producer: a supervisor reports the fault in plain words, retries, and resumes streaming once it is fixed.
--control-token-filenames a shared secret) reports status and the fault and retargets a stream's direct link to a new PC address at run time. SIPL pipeline notifications are named so the fault table can tell a lost link from a failing sensor, and the driver's own log lines are captured with a start failure.sensing::controland installs under aproducerinstall component, which the deploy script packages.Depends on two PRs. The management channel and the producer's supervisor are #1465, which is based on the LiveKit producer; this branch is based on the producer PR (#1468), which sends video over the direct link instead. A PR has one base, so the branch carries #1465's library and the same producer wiring ported to this producer's capture backends. What this PR adds to that is the direct link:
set_direct_targetretargets a stream's direct link to a new PC address at run time, and each stream's status reports its direct host, port, connection and error. After #1465 merges, this branch is rebased and the repeated library and wiring commits are dropped, which will need conflict resolution inmain.cppand the plugin README.Validation
camera_plugin_sensingbuilt and a release was packaged, not started. The library'ssensing_control_tests(90 cases) pass on a PC; pre-commit and clang-format-14 are clean.🤖 Generated with Claude Code