Hi Andy and others,
I got my sensor working in HIGH_SPEED mode (125K).
You might remember I had three sensors on one sensor port, a gyro and accelerometer that are both part of an IMU sensor
and a BlinkM
all color LED.
This was a design error in the first place. Because within the limits of a single port you can query only one sensor at a time. The IMU needs to be as fast as possible to get valuable information. This means that every message to the BlinkM slows down the IMU. For this reason I decided to remove the BlinkM from my sensor and guess what, the IMU runs at high speed I2C without any problem.
It now takes about 2.6 ms to query both sensors ( 2 * 6 bytes) and to process the raw signal for calibration and unit conversion. I am really glad with this, this is about 4 times faster as I could get with robotC. My investment learning java and Lejos has paid of. Next step will be to recreate my nonlinear complementary filter
to fuse rate and acceleration info.
I'll make a different sensor altogether from the BlinkM. I want a housing that can be daisy chained so that I can have more than one on the same sensor port (Oh no, I'm making the same mistake again!).
Thanks for all the help.