I am starting to put together a rover using Wiild Thumper and the TRex motor controller.
I am having some difficulties getting i2c working reliably from a Raspberry Pi 2 running Ubuntu 14.04
While I am continuing to research my issues (possible future post coming) I decided to give the RC connection a try.
My question is if it is possible to access the i2c read only while using the RC as I would like to try out code for monitoring the current draw and battery voltage.
It appears that when the TRex starts up and detects RC it fully disables i2c (i2cdetect no longer sees the TRex).
Is there a fundamental reason why I shouldn't try to enable i2c for read while the RC is detected by changing the loaded code?
There are few ways you can accomplish this, the most hacky being to change line 89 in the TREX_controller.ino file from:
mode=1
to
mode=0
The other is to remove/comment out the conditional block around the I2C code in TREX_controller.ino and comment out the " Wire.onReceive(I2Ccommand);" line so ensure there is no way to have the two controll mechanims collide.
However, even with one of these two hacks, it still may behave oddly. I am currently seeing a behavior in which sending a status packet causes the trex controller to drop the current values for the motor controls. Given this is likely a bug in the implementation of i2c communication, it is likely to cause this same behavior for you as well. If so, hopefully someone in the communitiy has already encountered this and has a fix we both can use.