Hello,
I would like to submit this patch series for review, comments and
eventual inclusion - it adds support for Two-Wire interface (I2C and
SMBus) to AVR DA/DB family of chips. There are also fixes for some bugs.
Patches are available in a git repository nuttx.git at git.kerogit.eu
accessible through HTTP/S. (Trying to prevent bot traffic by not posting
the URL in machine-readable form.) The relevant branch is called
avrdx_twi_rfc1.
The first part is the I2C driver itself. It only has limited support for
I2C features - no slave mode, no 10 bit addresses for example (those are
not supported by hardware directly) but otherwise should be usable.
Second part is a driver for Microchip TC74Ax I2C temperature sensor, it
was used to develop and test the I2C driver. As for this one, I have a
question: is there a way of tracking how many users have the device file
open - or more precisely, how many open descriptors exist? I looked
around and it seems that some drivers simply do their own counting but
that feels like something that would fail when the user space forks or
calls dup or something along those lines.
Third part of the series adds the driver to the example (bread)board -
breadxavr.
More details about all of these can be found in added documentation and
also in the Kconfig.
Documentation builds on my system, checkpatch has no complaints. Output
from test application:
nsh> tc74_test
tc74_test [4:100]
nsh> Starting TC74 test
Temperature read: 23
Temperature read: 23
As previously, I would like to ask someone with GitHub account to change
this into a pull request. If I forgot/missed something with regards to
contributing rules, let me know. Other than that, I'll try to keep an
eye on GitHub.
Thanks.