Exemple #1
0
void gyroSetup(void) {

    // setup I2C port
    gyroSetupPeripheral();

    // external interrupt configuration.
    // it is NOT USED at this moment.
    ConfigINT1(RISING_EDGE_INT & EXT_INT_DISABLE & EXT_INT_PRI_3);

    dead_zone = DEFAULT_DEAD_ZONE;

    delay_ms(25);   // power up delay, may not need...
    gyroReset();
    delay_ms(10);
    //gyroWrite(REG_DLPF_FS, 0x1A);  // 2000 deg/sec, 1 kHz Sampling rate, 98Hz LPF
    gyroWrite(REG_DLPF_FS, 0x19);  // 2000 deg/sec, 1 kHz Sampling rate, 196Hz LPF
    gyroWrite(REG_INT_CFG, 0x00);  // interrupt disabled
    gyroWrite(REG_PWR_MGM, 0x03);  // Set power management?
    delay_ms(1);   // PLL Settling time

    is_ready = 1;

    delay_ms(6); //From datasheet, standard settling time
    gyroRunCalib(INITIAL_CALIB_NUM);  // quick calibration

}
Exemple #2
0
void startSensor(Sensor *s) {
	switch (s->type) {
	case SHAFT_ENCODER:
		encoderReset(s->enc);
		if (DEBUG) {
			print("reset encoder");
		}
		break;
	case GYROSCOPE:
		gyroReset(s->gyr);
		break;
	case TIME:
		//resetTimer(s->port, true);
		startTimer(s->port, true);
		break;
	case IME:
		imeReset(s->port);
		break;
	default:
		break;
	}
}
Exemple #3
0
void Accelerometer::reset()
{
	if(sensorport != 13)
		gyroReset(gyro);
}
Exemple #4
0
void GyroSensor::reset()
{
	if(sensorport != 13)
		gyroReset(gyro);
}