Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
/.pio
/.vscode
/MarcoB.code-workspace
1 change: 0 additions & 1 deletion .pio/build/project.checksum

This file was deleted.

Binary file removed .pio/build/uno/.sconsign37.db.dblite
Binary file not shown.
Binary file removed .pio/build/uno/FrameworkArduino/CDC.cpp.o
Binary file not shown.
Binary file removed .pio/build/uno/FrameworkArduino/HardwareSerial.cpp.o
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed .pio/build/uno/FrameworkArduino/IPAddress.cpp.o
Binary file not shown.
Binary file removed .pio/build/uno/FrameworkArduino/PluggableUSB.cpp.o
Binary file not shown.
Binary file removed .pio/build/uno/FrameworkArduino/Print.cpp.o
Binary file not shown.
Binary file removed .pio/build/uno/FrameworkArduino/Stream.cpp.o
Binary file not shown.
Binary file removed .pio/build/uno/FrameworkArduino/Tone.cpp.o
Binary file not shown.
Binary file removed .pio/build/uno/FrameworkArduino/USBCore.cpp.o
Binary file not shown.
Binary file removed .pio/build/uno/FrameworkArduino/WInterrupts.c.o
Binary file not shown.
Binary file removed .pio/build/uno/FrameworkArduino/WMath.cpp.o
Binary file not shown.
Binary file removed .pio/build/uno/FrameworkArduino/WString.cpp.o
Binary file not shown.
Binary file removed .pio/build/uno/FrameworkArduino/abi.cpp.o
Binary file not shown.
Binary file removed .pio/build/uno/FrameworkArduino/hooks.c.o
Binary file not shown.
Binary file removed .pio/build/uno/FrameworkArduino/main.cpp.o
Binary file not shown.
Binary file removed .pio/build/uno/FrameworkArduino/new.cpp.o
Binary file not shown.
Binary file removed .pio/build/uno/FrameworkArduino/wiring.c.o
Binary file not shown.
Binary file removed .pio/build/uno/FrameworkArduino/wiring_analog.c.o
Binary file not shown.
Binary file removed .pio/build/uno/FrameworkArduino/wiring_digital.c.o
Binary file not shown.
Binary file removed .pio/build/uno/FrameworkArduino/wiring_pulse.S.o
Binary file not shown.
Binary file removed .pio/build/uno/FrameworkArduino/wiring_pulse.c.o
Binary file not shown.
Binary file removed .pio/build/uno/FrameworkArduino/wiring_shift.c.o
Binary file not shown.
Binary file removed .pio/build/uno/firmware.elf
Binary file not shown.
1,538 changes: 0 additions & 1,538 deletions .pio/build/uno/firmware.hex

This file was deleted.

Binary file removed .pio/build/uno/lib718/Wire/Wire.cpp.o
Binary file not shown.
Binary file removed .pio/build/uno/lib718/Wire/utility/twi.c.o
Binary file not shown.
Binary file removed .pio/build/uno/lib718/libWire.a
Binary file not shown.
Binary file not shown.
Binary file removed .pio/build/uno/lib7eb/libSoftwareSerial.a
Binary file not shown.
Binary file not shown.
Binary file removed .pio/build/uno/lib820/libAdafruit BNO055_ID506.a
Binary file not shown.
Binary file removed .pio/build/uno/libFrameworkArduino.a
Binary file not shown.
1 change: 0 additions & 1 deletion .pio/build/uno/libFrameworkArduinoVariant.a

This file was deleted.

Binary file removed .pio/build/uno/liba68/libmcp4261.a
Binary file not shown.
Binary file removed .pio/build/uno/liba68/mcp4261/mcp4261.cpp.o
Binary file not shown.
Binary file removed .pio/build/uno/libb6f/SPI/SPI.cpp.o
Binary file not shown.
Binary file removed .pio/build/uno/libb6f/libSPI.a
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed .pio/build/uno/src/main.cpp.o
Binary file not shown.
69 changes: 0 additions & 69 deletions .vscode/c_cpp_properties.json

This file was deleted.

7 changes: 0 additions & 7 deletions .vscode/extensions.json

This file was deleted.

32 changes: 0 additions & 32 deletions .vscode/launch.json

This file was deleted.

8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
## Version v0.0.2

---

> ## Changes
> - README.md File Added.
> - Accelerometer Library properly structured and commented.
> - Platformio.ini updated with lib_dependencies for the accelerometer.
51 changes: 51 additions & 0 deletions include/Accelerometer.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
#ifndef ACCELEROMETER_H
#define ACCELEROMETER_H

#include <Arduino.h>
#include <Adafruit_BNO055.h>

class Accelerometer {
Adafruit_BNO055 *bno;
imu::Vector<3> euler;
imu::Vector<3> linaccel;

double offset_y, offset_z;

// x y z
// yaw pitch roll

void setOffsets(double _offset_y, double _offset_z) {
offset_y = _offset_y;
offset_z = _offset_z;
}

public:
/** @details Initialize the Accelerometer. Needs an ID and I2C address. */
Accelerometer(int id, int address);

/** @details Calibrates the accelerometer by getting a euler Vector
* and settings this vector as an offset.
*/
void calibrate();

/** @details Check if the Accelerometer is available
* $$ This should be implemented in a different way!
*/
void begin();

/** @details Public access to lineaccel vector */
imu::Vector<3> getLinAccel();

/** @details Public access to the X axis of euler vector */
double getYaw();

/** @details Public access to the Y axis of euler vector */
double getPitch();

/** @details Public access to the Z axis of euler vector */
double getRoll();

/** @details Updates the Vectors */
void update();
};
#endif
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
3 changes: 3 additions & 0 deletions platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,6 @@ framework = arduino
monitor_speed = 2000000
monitor_port = COM66
upload_port = COM66
lib_deps =
#Accelerometer Library
adafruit/Adafruit BNO055 @ ^1.4.1
65 changes: 65 additions & 0 deletions src/Accelerometer.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
#include "Accelerometer.h"

/** @brief Initializer
* @param id set the device ID I2C
* @param address set the device address I2C
*/
Accelerometer::Accelerometer(int id, int address) {
bno = new Adafruit_BNO055(id, address);
};

/** @brief Calibrates the sernsor */
void Accelerometer::calibrate() {
euler = bno->getVector(Adafruit_BNO055::VECTOR_EULER);
setOffsets(euler.y(), euler.z());
}

/** @brief Check Acc Communication */
void Accelerometer::begin() {
if (!bno->begin()) {
Serial.print("Ooops, no BNO055 1 detected ... Check your wiring or I2C ADDR!");
return;
while (1)
;
}
//bno->setExtCrystalUse(false);
delay(500);

calibrate();
}

/** @brief Gets Linear Acceleration
* @returns a Vector3 formated Linear Acceleration
*/
imu::Vector<3> Accelerometer::getLinAccel() {
return linaccel;
}

/** @brief Get the X axis from the euler Vector
* @returns [double]
*/
double Accelerometer::getYaw() {
return euler.x();
}

/** @brief Get the Y axis from the euler Vector
* @returns [double]
*/
double Accelerometer::getPitch() {
return euler.y() - offset_y;
}

/** @brief Get the Z axis from the euler Vector
* @returns [double]
*/
double Accelerometer::getRoll() {
return euler.z() - offset_z;
}

/** @brief Upadte Vectors */
void Accelerometer::update() {
euler = bno->getVector(Adafruit_BNO055::VECTOR_EULER);
//delayMicroseconds(1000);
linaccel = bno->getVector(Adafruit_BNO055::VECTOR_LINEARACCEL);
//delayMicroseconds(1000);
}
79 changes: 0 additions & 79 deletions src/Accelerometer.h

This file was deleted.