Example #1
0
//=============================Public Members Temperature====================================//
//------------------------Read data----------------------//
uint8_t LSM9DS1::read_raw_thermo(){
	uint8_t buffer[2];
	readMultipleRegisters(_chipSelectPin_XG, buffer, 2, LSM9DS1_OUT_TEMP_L);
	int16_t temperature_tmp = (((int16_t) buffer[1] << 12) | buffer[0] << 4) >>4;
	temperature = (float) 20 + temperature_tmp * 0.125; // Guessing that the intercept is at about 20°C 
	return 1;
}
Example #2
0
//-----------------Read accelerometer------------------//
uint8_t LSM9DS1::read_raw_accel(){
	uint8_t buffer[6];
	readMultipleRegisters(_chipSelectPin_XG, buffer, 6, LSM9DS1_OUT_X_L_XL);
	ax = (float) (((int16_t) (buffer[1] << 8) | buffer[0]) * _sc_fact_a);
	ay = (float) (((int16_t) (buffer[3] << 8) | buffer[2]) * _sc_fact_a);
	az = (float) (((int16_t) (buffer[5] << 8) | buffer[4]) * _sc_fact_a);
	return 1;
}
Example #3
0
//------------------------Read data-------------------------//
uint8_t LSM9DS1::read_raw_gyro(){
	uint8_t buffer[6];
	readMultipleRegisters(_chipSelectPin_XG, buffer, 6, LSM9DS1_OUT_X_L_G);
	gx = (float) (((int16_t) (buffer[1] << 8) | buffer[0]) * _sc_fact_g);
	gy = (float) (((int16_t) (buffer[3] << 8) | buffer[2]) * _sc_fact_g);
	gz = (float) (((int16_t) (buffer[5] << 8) | buffer[4]) * _sc_fact_g);
	return 1;
}
int TSL2561_I2C::getIROnly(){
    char buffer[2] = { 0 };
    readMultipleRegisters( TSL_DATA1LOW, buffer, 2 );
    int reading = (int)buffer[1] << 8 | (int)buffer[0];
    return reading;
}
int TSL2561_I2C::getVisibleAndIR(){
    char buffer[2] = { 0 };
    readMultipleRegisters( TSL_DATA0LOW, buffer, 2 );
    int reading = (int)buffer[1] << 8 | (int)buffer[0];
    return reading;
}
int TSL2561_I2C::readHighInterruptThreshold(){
    char buffer[2] = { 0 };
    readMultipleRegisters( TSL_THRESHHIGHLOW, buffer, 2 );
    int reading = (int)buffer[1] << 8 | (int)buffer[0];
    return reading;
}