I don't think you are creating instances of these classes correctly. Instead of:
CDSensors* LSensors = &CDSensors (0);
CDSerialPrint* LSerialPrint = &CDSerialPrint (0);
MPU9250_DMP Limu = MPU9250_DMP ();
How about:
CDSensors LSensors (0);
CDSerialPrint LSerialPrint (0);
MPU9250_DMP Limu;
I can't get your code to compile, but what I suggest looks a lot simpler.
Is your intention here:
if (imu.begin() != INV_SUCCESS)
imu.setSensors(INV_XYZ_ACCEL | INV_XYZ_GYRO | INV_XYZ_COMPASS);
imu.setGyroFSR(2000);
imu.setAccelFSR(2);
imu.setLPF(188);
imu.setSampleRate(100);
imu.setCompassSampleRate(100);
.. to really be:
if (imu.begin() != INV_SUCCESS)
{
imu.setSensors(INV_XYZ_ACCEL | INV_XYZ_GYRO | INV_XYZ_COMPASS);
imu.setGyroFSR(2000);
imu.setAccelFSR(2);
imu.setLPF(188);
imu.setSampleRate(100);
imu.setCompassSampleRate(100);
}
The indentation suggests so.