Skip to content

Add selectable Pi 5 I2C/MIPI mode - #4079

Open
Daniiiil1 wants to merge 1 commit into
bluerobotics:masterfrom
Daniiiil1:fix/pi5-i2c-camera-mode
Open

Add selectable Pi 5 I2C/MIPI mode#4079
Daniiiil1 wants to merge 1 commit into
bluerobotics:masterfrom
Daniiiil1:fix/pi5-i2c-camera-mode

Conversation

@Daniiiil1

Copy link
Copy Markdown

Summary

  • add an explicit Raspberry Pi 5 setting that switches the Navigator GPIO I2C overlay between bus 6 (external sensors) and bus 8 (MIPI camera)
  • expose the setting through Commander and the Video Manager, with a reboot notice and an explicit warning about current ArduPilot behavior
  • preserve the selected mode across BlueOS updates instead of silently resetting it
  • parse and update only the expected GPIO 22/23 overlay inside [pi5], with backup and read-back verification

Current Navigator ArduPilot builds probe external sensors on bus 6, so this does not claim simultaneous camera and external-sensor support. The existing bus 6 sensor behavior remains the default; camera mode is opt-in.

Fixes #3984.

Validation

  • 9 focused Python tests pass, including ambiguous/missing overlays, unsupported modes, CRLF preservation, comments, and unrelated sections
  • Commander GET/POST/no-op flow tested with host file operations mocked; write backup and read-back verification pass
  • strict mypy and ruff pass for the new backend module; isort and Black checks pass for new Python files
  • ESLint and Stylelint pass for the changed frontend files
  • production Vite build completes across 2,584 modules
  • bash -n, ShellCheck, git diff --check, and installer mode-preservation checks pass

I do not have Pi 5 + Navigator + MIPI camera hardware available, so the final bus enumeration, camera stream, and external-sensor behavior still need hardware validation by a maintainer with that setup.

@CLAassistant

CLAassistant commented Aug 4, 2026

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@patrickelectric

Copy link
Copy Markdown
Member

@joaoantoniocardoso can take a look on this ? Also, we need to do hardware validation as pointed in the PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Pi 5] i2c conflicts with MIPI

4 participants