Hello everybody -
I have problems with initialization of ITG-3200. First init after power up works fine for me. When I then try to re-init the device (same register values), it stops responding to I2C commands. Rebooting the device solves the problem. I this a known issue?
Here are my register values:
//AquisitionConfig
Reg_AquisitionConfig.DigitalLowPassFilt = ITG3200_REG_AQUICONF_VALS_DLPF20HZ;
Reg_AquisitionConfig.FullScaleRange = ITG3200_REG_AQUICONF_VALS_FULLSCALE2000DPS;
//PowerManagement
Reg_PowerManagement.ClockSel = ITG3200_REG_POWERM_VALS_CLOCKSEL_INTERNAL; //Internal clock
Reg_PowerManagement.StandbyX = ITG3200_REG_POWERM_VALS_STANDBYX_DISABLED; //Use all axis
Reg_PowerManagement.StandbyY = ITG3200_REG_POWERM_VALS_STANDBYY_DISABLED; //Use all axis
Reg_PowerManagement.StandbyZ = ITG3200_REG_POWERM_VALS_STANDBYY_DISABLED; //Use all axis
Reg_PowerManagement.Sleep = ITG3200_REG_POWERM_VALS_SLEEP_DISABLED; //No sleep mode
//SampleDivider
SENSMOT_GyroModule.Reg_SampleDivider = 0;
//Interrupt
Reg_InterruptConfig.LatchMode = ITG3200_REG_INTCONF_VALS_LATCHMODE50USPULSE;
Reg_InterruptConfig.LogicLevel = ITG3200_REG_INTCONF_VALS_LOGICLEVELAHIGH;
Reg_InterruptConfig.DriveType = ITG3200_REG_INTCONF_VALS_DRIVETYPEPUSHP;
Reg_InterruptConfig.InterruptRawRdyEnable = ITG3200_REG_INTCONF_VALS_RAWREADYENABLE;
Reg_InterruptConfig.ReadToClearMode = ITG3200_REG_INTCONF_VALS_READTOCLEARANY;
//Write all register values to ITG-3200
ITG3200_I2C_Init(&SENSMOT_GyroModule, &I2C32OP_ModuleInt, SENSMOT_GYRO_I2CADDRESS, SENSMOT_GYRO_AVERAGENUMSAMPLES);
Best regards,
Oliver