Hi, I succesfully connected a LCD device through I2C pins 34/35 (I2C port 4), I see it connected with command "i2cdetect -y 3" and I can properly control it. However, I can't see it connected, nor command it, if I plug it into the other 3 I2C ports; I tried all the pins written in the documentation, what could be the problem? Also, the brick temperature and barometer sensors work properly and appear connected to I2C port 2, if it's relevant.
I2C_3 isn't available because its internally connect to the hdmi controller and not exposed externally. The remaining 2 ports may not be available because the pins have been multiplexed to GPIO instead of I2C on the headers.
So the I2C ports have to be manually "enabled" to work as I2C ports? Is this reported in the online documentation? I don't remember having read it... Anyway, how do you specify a couple of pins to work as I2C port instead of GPIO port? Inviato dal mio iPhone utilizzando Tapatalk
Here it is written http://www.udoo.org/docs-neo/Hardware_&_Accessories/I2C_bus.html that you have to use the device tree editor to set the gpio pins to i2c. I have to agree it is not written very specific so it is easy to miss. Also no mention that you have to use the DTE because the mentioned pins are set to gpio.
Ok I will give it a try, thank you. For Udoo guys, when do you expect to publish a final version of the documentation? Inviato dal mio iPhone utilizzando Tapatalk
I read the section about the Device Tree Editor; if I understand, a change in the device tree configuration is needed only if I want to use those ports in the Arduino side. Instead, I forgot to mention it before, I'm working from the Linux side, accessing I2C devices through Python and the quick2wire library. Shouldn't I be able to use those ports in Linux without any configuration change?
The i2c ports can also be mapped to the pins as mentioned in the documentation but you have to do that yourself with the device tree editor. Most of the pins are mapped as standard gpio.
I didn't tried yet to use the gui of device tree configuration, why do you say I can't remap the pins to the I2C ports as explained in the documentation? Inviato dal mio iPhone utilizzando Tapatalk
I tried to do so You can remove them (for use within Arduino) but you only can place them back on the original pins, not on other pins. Only IC2 -4 (pin34/35) and IC2-2 (J10) are mapped to pins, and removable with the device tree editor. IC2-1 is not selectable in the device tree editor.
Ok, I was talking about switching from "GPIO behaviour" to "I2C behaviour", not about changing the pins. This is possible, isn't it? For which I2C ports? Inviato dal mio iPhone utilizzando Tapatalk
Default all the A9 pins are set to "gpio behaviour" exept pin 34/35 (I2C-4) , 46/47 (UART1) and header J10 (I2C-2). So to have I2C coming out to other pins you have to redefine the pin from gpio to I2C. This could be done by the graphical Device Tree Editor but for I2C ports it is not configured to do so. For PWM, Canbus, UARTports etc it can be done but also limited in functionality.
If you outcomment the I2C1 section in /opt/dtweb/public/boards/neo/board.js it should be possible to add the I2C-1 port. No guarantees
Ok now I understand. And this missing feature of the device configuration tree is to come in a future beta release or in the final version of Udoobuntu? This is obviously more a question for the Udoo company itself, let's see if someone of them let us know Inviato dal mio iPhone utilizzando Tapatalk
Hi. The I2C-1 bus can be accessed on J6 has you found out in the specs. Doing that will not export the I2C1 on J6, since the pincontrol will not be changed. The issue that left the export of I2C1 on J6 unimplemented is that the I2C1 must always be exported on CN3 (LVDS) for touch controls; we should then allows users to export it *also* on J6; however dtweb for the moment can only export a device on a single connector, and has to be improved. If you want to export I2C1 on J6 too, you must comment out the GPIO declaration of 26-27 and add to the i2c1 pinmuxing (in externalpins) the two declarations to export 26-26 as I2C1. It will be possible to do this in later versions of the device tree editor, but is unplanned for the moment.
There is no "final", we continuosly improve it. If things are wrong/unclear on the documentation, issues and pull requests are welcome on https://github.com/UDOOboard/Neo-Docs