[RFC] Driver for Arduino-as-I2C-adapter
Alex Beregszaszi
alex at rtfs.hu
Tue May 19 14:17:30 UTC 2015
Hi Angelo,
Angelo Compagnucci wrote:
> Hi Alex,
>
> 2015-05-19 15:34 GMT+02:00 Angelo Compagnucci<angelo.compagnucci at gmail.com>:
>> Hi Alex,
>>
>> 2015-05-19 13:59 GMT+02:00 Alex Beregszaszi<alex at rtfs.hu>:
>>> Hi,
>>>
>>> Angelo Compagnucci wrote:
>>>
>>> Dear Bernhard Kraft,
>>>
>>> 2015-05-18 18:53 GMT+02:00 Bernhard Kraft<kraftb at think-open.at>:
>>>
>>> But for now I think I will just publish the Arduino sketch and a sample
>>> implementation on how to access I2C devices with it.
>>>
>>> Probably we should stick to other protocol driver implementation, but
>>> from a rapid analisys, this will be the second in kernel serial to i2c
>>> adapter, so I think there is not such a string standard protocol in
>>> this field.
>>>
>>> Please publish your sketch, I think making the driver is really not a
>>> complex matter!
>>> Count on me for any help, I really like the idea to have my name on
>>> such an interesting project!
>>>
>>> I have worked on some I2C drivers for Linux, as well as Arduino and
>>> searched for cheaper options countless times. Yesterday's email made me to
>>> search again and really liked the way one of products I've mentioned was
>>> structured.
>> Great! Looking at the kernel, the USB-ISS doesn't have a ready made
>> driver. This could be a counter argument cause we will use another I2C
>> over UART protocol.
I do plan to write a serio driver. Might not happen. The reason I
liked this protocol is because one can buy an actual manufactured
device, while others can resort to the Arduino sketch.
>>> So I sat down and wrote an Arduino implementation of that specification just
>>> to see what the performance would be. You can find it at:
>>> https://github.com/axic/dtiic
>> I had a quick look at code and it seems simple, readable and fastest
>> at least to sustain the 400khz mode of i2c.
>>
>> BTW, I'm thinking on making an arduino code compatible with some of
>> the already in kernel driver and i2c-tiny-usb could be a really valid
>> candidate. This way we could only ask for a .ino inclusion in mainline
>> with some sort of documentation on how to cook a homemade I2C over
>> UART bridge.
>
> The only downside of this approach is that we should write something
> USB based, not UART, so it will limit the choice of usable Arduino
> board to only the Leonardo.
> I think we should stick for an serio based driver to be compatible
> with all the boards.
>
> I have no problem in writing such a driver, probably I will look into
> this in the next few days.
Yes, if one can implement any USB device on the Leonardo and not just
HID that makes it really simple to support i2c-tiny-usb. Or
i2c-robotfuzz-osif for that matter.
The only current serio-based I2C bus is i2c-taos-evm which isn't even
full I2C, but smbus. Writing an Arduino sketch for that seems simple
enough too.
Best,
Alex
More information about the devel
mailing list