Hi!
Contrary to my wishes, yesterday turned into a debugday. I thought I had partially damaged my T3.6 (it's I2C comms capability).
However, the outcome of the mess was as follows:
Made up a minimalistic breadboard setup to check standard Wire.h I2C communication between Teensy3.6 OR ArduinoUno on one side and a MCP23017 on the other.
Same code (which was derived from something that perfectly worked on T3.6 for many months) worked from Uno, but didn't work from T3.6.
Played with external pull-ups, but no success in making the T3.6 talk to MCP usefully, Uno talks both with MCP powered by 5V or 3.3V, with external pullups or without them.
My reptilian brain reminded me that I've upgraded Teensyduino relatively recently to version Arduino1.8.1 + Teensyduino1.36
So running out of better ideas, this morning I tried switching the code for T3.6 from using <Wire.h> to <i2c_t3.h>,
and the communication between T3.6 and MCP started to work perfectly again, so my T3.6s seem to be in good health
Maybe the gurus here will immediately guess what stupid mistake I might have been making,
but if that is not the case, and if it is of any interest (I see teensyduino has further progressed to 1.37 so maybe this is irrelevant already)
I could gather and upload more details (photo of the breadboard setup, and testing code).
I think I'll have no problems with switching the main application to i2c_t3, so intend to use that as a solution for my immediate purpose.
All the best,
Mato
A little later add-it: The main project was moved to i2c_t3 in a matter of minutes and works flawlessly again.
I had to intervene into Adafruit's library for the MPR121 which I'm using too, but that was also very easy because I'm using it from the main project folder.
Contrary to my wishes, yesterday turned into a debugday. I thought I had partially damaged my T3.6 (it's I2C comms capability).
However, the outcome of the mess was as follows:
Made up a minimalistic breadboard setup to check standard Wire.h I2C communication between Teensy3.6 OR ArduinoUno on one side and a MCP23017 on the other.
Same code (which was derived from something that perfectly worked on T3.6 for many months) worked from Uno, but didn't work from T3.6.
Played with external pull-ups, but no success in making the T3.6 talk to MCP usefully, Uno talks both with MCP powered by 5V or 3.3V, with external pullups or without them.
My reptilian brain reminded me that I've upgraded Teensyduino relatively recently to version Arduino1.8.1 + Teensyduino1.36
So running out of better ideas, this morning I tried switching the code for T3.6 from using <Wire.h> to <i2c_t3.h>,
and the communication between T3.6 and MCP started to work perfectly again, so my T3.6s seem to be in good health
Maybe the gurus here will immediately guess what stupid mistake I might have been making,
but if that is not the case, and if it is of any interest (I see teensyduino has further progressed to 1.37 so maybe this is irrelevant already)
I could gather and upload more details (photo of the breadboard setup, and testing code).
I think I'll have no problems with switching the main application to i2c_t3, so intend to use that as a solution for my immediate purpose.
All the best,
Mato
A little later add-it: The main project was moved to i2c_t3 in a matter of minutes and works flawlessly again.
I had to intervene into Adafruit's library for the MPR121 which I'm using too, but that was also very easy because I'm using it from the main project folder.
Last edited: