Sorry that this is taking so long, but... (continued from last week...)
I finally have enough of the control board wired up that I can test the I2C library with Adafruit's Motor Shield V2 as well as the Adafruit LCD Backpack.
I simply took the DCMotorTest2 arduino example from the Motor Shield library, and added the LCD functionality.
Note: Both the Motor Shield Library, as well as the LiquidCrystal libraries needed to be modified to work with Teensy 3.1.
As the Teensy is not AVR based, the I2C functions a bit different (better, trust me!)
In both instances, references to the "Wire" library had to be replaced with Teensy's "I2C_T3" library. ie:
#include <i2c_t3.h> // Replacement I2C library for Teensy 3.1
Also in the Motorshield library as well as it's underlying PWMServoDriver library, I had to force it to use the correct I2C channel. As the ARM processor in the Teensy has two separate I2C channels, it was defaulting to the second one.
I found this little snippet at the beginning of each library, and modified it to use the first I2C channel.
#ifdef __AVR__ // Teensy definitely is not AVR, so it defaults
#define WIRE Wire
#else // Arduino Due // to wire1 as per the next line.
// #define WIRE Wire1 // Wire1 in Teensy world is the second I2C
#define WIRE Wire // So i simply commented out and replaced.
#endif // Not elegant, but...
And here is the example code to simply ramp the DC motor from 0-255 forward, back down to 0 and then do it again in reverse. All the while displaying status on the 20x4 LCD panel.
Again, trivial, but it validated that my wiring is correct this far, and that the I2C libraries are functional.
Over the weekend, I'll get the Quadrature Decoders and PID control running, and post another update then.