Skip to content

Add reclock calls for aux wire and oled compatibility - #124

Merged
oscgonfer merged 1 commit into
developfrom
enhancement/bus-clock-screen-gps
Sep 10, 2026
Merged

oscgonfer merged 1 commit into
developfrom
enhancement/bus-clock-screen-gps

Conversation

@oscgonfer

@oscgonfer oscgonfer commented Sep 10, 2026 •

Copy link
Copy Markdown
Collaborator

Fixes #96

Summary by CodeRabbit

  • Bug Fixes
    • Improved communication reliability between the OLED display and other auxiliary I²C devices.
    • Standardized auxiliary bus speeds for GPS, sensors, and display operations to reduce device communication conflicts.

@oscgonfer oscgonfer added the bug Something isn't working label Sep 10, 2026
@oscgonfer oscgonfer self-assigned this Sep 10, 2026
@coderabbitai

coderabbitai Bot commented Sep 10, 2026 •

Copy link
Copy Markdown

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 8e5dbcc0-f38a-4bf8-8704-bd71f375adc3

📥 Commits

Reviewing files that changed from the base of the PR and between ca64b61 and 0f94dab.

📒 Files selected for processing (3)
  • sam/src/SckAux.cpp
  • sam/src/SckAux.h
  • sam/src/SckBase.cpp

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The auxiliary I2C bus now uses a standard 100 kHz clock for shared devices and a 1 MHz clock for Grove OLED operations. OLED methods restore the standard clock after display communication.

Changes

Auxiliary I2C clock management

Layer / File(s) Summary
Clock constants and bus initialization
sam/src/SckAux.h, sam/src/SckBase.cpp
Defines standard and Grove OLED I2C clock constants. Configures the auxiliary bus to the standard clock after initialization.
OLED clock switching and restoration
sam/src/SckAux.cpp
Uses the OLED clock during startup and restores the standard clock after start(), print(), update(), and plot().

Estimated code review effort: 1 (Trivial) | ~5 minutes

Severity of issue fixed: Medium

Merge Risk: ⚪ Minimal · up to 0f94d

The auxiliary bus uses the standard speed for shared devices and temporarily switches to the OLED speed during display operations, with no merge-blocking risk remaining.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 8 functions across 3 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes the main change: adding AUX wire reclocking for OLED compatibility.
Linked Issues check ✅ Passed The changes address issue #96 by switching the shared I2C bus between standard and OLED clock speeds. The code restores the standard speed after OLED operations for GPS and sensor compatibility.
Out of Scope Changes check ✅ Passed All changes support the linked issue and PR objective. No unrelated code changes are present.
  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch enhancement/bus-clock-screen-gps

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@oscgonfer
oscgonfer merged commit 429e35a into develop Sep 10, 2026
4 checks passed
@oscgonfer
oscgonfer deleted the enhancement/bus-clock-screen-gps branch September 10, 2026 11:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

OLED and GPS incompatible

1 participant