Skip to content

Conversation

@FredM67
Copy link
Contributor

@FredM67 FredM67 commented Dec 17, 2025

⚠️ DO NOT MERGE - Testing in progress

This PR is for testing various I2C timing and configuration settings to improve EEPROM write/read reliability.

Current Test Configuration

  • BAUD: Symmetric 400kHz (BAUDLOW=0, BAUD=5)
  • SDAHOLD: 1 (50-100ns hold time)
  • Explicit MB flag clearing in i2cDataWrite
  • I2C error interrupt with auto-print enabled

Testing History

SDAHOLD BAUD Settings Result
0 Original asymmetric (~357kHz) ~8.5% failure rate
2 Symmetric 400kHz ~2-3% failure rate ✓ BEST
0 Symmetric 400kHz ~19% failure rate
1 Symmetric 400kHz Currently testing

New Features

  • Added 'i' command for I2C diagnostics (error count, last status)
  • Auto-print I2C errors in main loop
  • Improved CRC retry message showing 1st/2nd read comparison

Status

Still collecting data and testing different configurations. Will update with results before considering merge.

🤖 Generated with Claude Code

FredM67 and others added 2 commits December 17, 2025 06:55
- BAUD: symmetric 400kHz (BAUDLOW=0, BAUD=5)
- SDAHOLD: 1 (50-100ns hold time)
- Explicit MB flag clearing in i2cDataWrite
- I2C error interrupt auto-print enabled
- Improved CRC retry message with 1st/2nd read comparison
- Added 'i' command for I2C diagnostics

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
Testing symmetric timing at 400kHz with SDAHOLD=3.
Note: This configuration causes device to not boot (red LED).
Previous asymmetric config (BL:8 B:2) worked.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
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.

1 participant