arduino / arduino/ArduinoCore-megaavr

TWI_MasterSetBaud hides functionality

Open
#78 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
111
Forks
65
PR merge metrics
No merged PRs in 30d

Description

According to the TWI sections of the documentation [here](https://content.arduino.cc/assets/Nano-Every_processor-48-pin-Data-Sheet-megaAVR-0-series-DS40002016B.pdf) and [here](http://ww1.microchip.com/downloads/en/DeviceDoc/megaAVR0-series-Family-Data-Sheet-DS40002015B.pdf) the TWI baud rate is variable through the whole range of 0Hz - 1 MHz. The implementation of the Wire library for the megaavr however explicitly hides that functionality in a hidden way.

I suggest removing the code that limits the baudrate to the 3 distinct values defined in the Philips I2C standard in order to be able to communicate with devices that do not match that standard.

Contributor guide

No contributing guide indexed for this repository

Research direction

Locate TWI_MasterSetBaud in the megaavr Wire library and compare its current baud-rate restriction with the linked megaAVR TWI documentation. Verify how baud values are selected, then consider the work complete when the documented 0 Hz–1 MHz range is available instead of only the three Philips I2C standard values.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
embedded-iot
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.