wip:reading acceleration

This commit is contained in:
Hans Haupt
2024-05-03 09:29:53 +02:00
parent c948b5515b
commit e42a471a33
2 changed files with 9 additions and 6 deletions

View File

@ -17,4 +17,5 @@ Dezibot::Dezibot():multiColorLight(),motionDetection(){
};
void Dezibot::begin(void) {
multiColorLight.begin();
motionDetection.begin();
};

View File

@ -8,9 +8,8 @@ void MotionDetection::begin(void){
pinMode(34,OUTPUT);
digitalWrite(34,HIGH);
handler->begin(36,37,35,34);
//handler->beginTransaction(SPISettings(frequency,SPI_MSBFIRST,SPI_MODE0));
handler->beginTransaction(SPISettings(frequency,SPI_MSBFIRST,SPI_MODE0));
digitalWrite(34,LOW);
// set Accel and Gyroscop to Low Noise
@ -20,7 +19,7 @@ void MotionDetection::begin(void){
delayMicroseconds(200);
digitalWrite(34,HIGH);
//handler->endTransaction();*/
handler->endTransaction();
};
void MotionDetection::end(void){
handler->beginTransaction(SPISettings(frequency,SPI_MSBFIRST,SPI_MODE0));
@ -35,9 +34,12 @@ IMUResult MotionDetection::getAcceleration(){
IMUResult result;
handler->beginTransaction(SPISettings(frequency,SPI_MSBFIRST,SPI_MODE0));
digitalWrite(34,LOW);
result.x = handler->transfer16(cmdRead(ACCEL_DATA_X_HIGH,ACCEL_DATA_X_LOW));
result.y = handler->transfer16(cmdRead(ACCEL_DATA_Y_HIGH,ACCEL_DATA_Y_LOW));
result.z = handler->transfer16(cmdRead(ACCEL_DATA_Z_HIGH,ACCEL_DATA_Z_LOW));
result.x = readRegister(ACCEL_DATA_X_HIGH)<<8;
result.x |= readRegister(ACCEL_DATA_X_LOW);
result.y = readRegister(ACCEL_DATA_Y_HIGH)<<8;
result.y |= readRegister(ACCEL_DATA_Y_LOW);
result.z = readRegister(ACCEL_DATA_Z_HIGH)<<8;
result.z |= readRegister(ACCEL_DATA_Z_LOW);
digitalWrite(34,HIGH);
handler->endTransaction();
return result;