13 #ifndef MotionDetection_h
14 #define MotionDetection_h
64 uint16_t
cmdRead(uint8_t regHigh,uint8_t regLow);
65 uint16_t
cmdWrite(uint8_t regHigh,uint8_t regLow);
void stopFIFO(void)
stops writing results to FIFO-Storage needs to be called before Data Registers (such as GYRO_DATA_*,...
uint getDataFromFIFO(FIFO_Package *buffer)
will read all availible packages from fifo, after 40ms Fifo is full Only works when startFIFO was cal...
uint16_t cmdWrite(uint8_t regHigh, uint8_t regLow)
static const uint16_t defaultShakeThreshold
bool isShaken(uint32_t threshold=defaultShakeThreshold, uint8_t axis=xAxis|yAxis|zAxis)
Detects if at the time of calling is shaken. Therefore the sum over all accelerationvalues is calcula...
uint8_t readFromRegisterBank(registerBank bank, uint8_t reg)
uint16_t cmdRead(uint8_t regHigh, uint8_t regLow)
uint8_t readRegister(uint8_t reg)
void resetRegisterBankAccess()
Orientation getTilt()
calculates how the robot is tilted. It is set, that when the robot is placed normally on a flat table...
int8_t getWhoAmI(void)
Returns the value of reading the whoAmI register When IMU working correctly, value should be 0x67.
static const uint frequency
IMUResult getRotation(void)
Triggers a new reading of the gyroscope and reads the values from the imu.
Direction getTiltDirection(uint tolerance=10)
Checks in which direction (Front, Left, Right, Back) the robot is tilted.
void calibrateZAxis(uint gforceValue)
void startFIFO(void)
starts writing the measurment results to the FIFO-Storage
void end(void)
stops the component Sets the IMU to Low-Power-Mode
void writeRegister(uint8_t reg, uint8_t value)
void writeToRegisterBank(registerBank bank, uint8_t reg, uint8_t value)
int16_t readDoubleRegister(uint8_t lowerReg)
void begin(void)
initialized the IMU Component. Wakes the IMU from Standby Set configuration
void initFIFO(void)
makes all settings necessary so it is possible to use the FIFO, but does not actually start writing p...
IMUResult getAcceleration(void)
Triggers a new Reading of the accelerationvalues and reads them from the IMU.
float getTemperature(void)
Reads the current On Chip temperature of the IMU.