mirror of
https://github.com/RobTillaart/Arduino.git
synced 2024-09-19 16:46:11 -04:00
0.6.0 GY521
This commit is contained in:
parent
04e2b8c617
commit
881f755f4c
@ -6,13 +6,18 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/)
|
|||||||
and this project adheres to [Semantic Versioning](http://semver.org/).
|
and this project adheres to [Semantic Versioning](http://semver.org/).
|
||||||
|
|
||||||
|
|
||||||
|
## [0.6.0] - 2024-06-22
|
||||||
|
- fix #54, calibrate() function, Kudos to jens-kuerten and MArimont3
|
||||||
|
- minor edits
|
||||||
|
|
||||||
|
----
|
||||||
|
|
||||||
## [0.5.3] - 2024-05-08
|
## [0.5.3] - 2024-05-08
|
||||||
- fix #52, add **uint8_t getAddrress()**
|
- fix #52, add **uint8_t getAddrress()**
|
||||||
- fix #51, add **bool setDLPFMode(uint8_t mode)** and **uint8_t getDLPFMode()**
|
- fix #51, add **bool setDLPFMode(uint8_t mode)** and **uint8_t getDLPFMode()**
|
||||||
- add const float GRAVITY=9.80655;
|
- add const float GRAVITY=9.80655;
|
||||||
- minor edits
|
- minor edits
|
||||||
|
|
||||||
|
|
||||||
## [0.5.2] - 2024-01-16
|
## [0.5.2] - 2024-01-16
|
||||||
- fix #48, use float variables in example GY521_test_1.ino
|
- fix #48, use float variables in example GY521_test_1.ino
|
||||||
- add **void calibrate(uint16_t times)** to API
|
- add **void calibrate(uint16_t times)** to API
|
||||||
@ -72,7 +77,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
|
|||||||
- update library.json, license, minor edits
|
- update library.json, license, minor edits
|
||||||
|
|
||||||
## [0.3.5] - 2021-10-20
|
## [0.3.5] - 2021-10-20
|
||||||
- update build-CI, badges
|
- update build-CI, badges
|
||||||
- fix #28 add wakeup to begin().
|
- fix #28 add wakeup to begin().
|
||||||
|
|
||||||
## [0.3.4] - 2021-07-12
|
## [0.3.4] - 2021-07-12
|
||||||
@ -85,7 +90,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
|
|||||||
- fix #20 support multiWire
|
- fix #20 support multiWire
|
||||||
|
|
||||||
## [0.3.1] - 2021-06-13
|
## [0.3.1] - 2021-06-13
|
||||||
- added more unit test
|
- added more unit test
|
||||||
- some initialization
|
- some initialization
|
||||||
|
|
||||||
## [0.3.0] - 2021-04-07
|
## [0.3.0] - 2021-04-07
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
//
|
//
|
||||||
// FILE: GY521.cpp
|
// FILE: GY521.cpp
|
||||||
// AUTHOR: Rob Tillaart
|
// AUTHOR: Rob Tillaart
|
||||||
// VERSION: 0.5.3
|
// VERSION: 0.6.0
|
||||||
// PURPOSE: Arduino library for I2C GY521 accelerometer-gyroscope sensor
|
// PURPOSE: Arduino library for I2C GY521 accelerometer-gyroscope sensor
|
||||||
// URL: https://github.com/RobTillaart/GY521
|
// URL: https://github.com/RobTillaart/GY521
|
||||||
|
|
||||||
@ -78,31 +78,39 @@ void GY521::calibrate(uint16_t times)
|
|||||||
bool oldThrottle = _throttle;
|
bool oldThrottle = _throttle;
|
||||||
_throttle = false;
|
_throttle = false;
|
||||||
|
|
||||||
// set errors to zero
|
// set all errors to zero, to get the raw reads.
|
||||||
axe = aye = aze = 0;
|
axe = aye = aze = 0;
|
||||||
gxe = gye = gze = 0;
|
gxe = gye = gze = 0;
|
||||||
|
|
||||||
|
// use local error sums, to calculate the average error.
|
||||||
|
float _axe = 0, _aye = 0, _aze = 0;
|
||||||
|
float _gxe = 0, _gye = 0, _gze = 0;
|
||||||
|
|
||||||
|
// adjust times if zero.
|
||||||
|
if (times == 0) times = 1;
|
||||||
|
|
||||||
|
// summarize (6x) the measurements.
|
||||||
for (uint16_t i = 0; i < times; i++)
|
for (uint16_t i = 0; i < times; i++)
|
||||||
{
|
{
|
||||||
read();
|
read();
|
||||||
axe -= getAccelX();
|
_axe -= getAccelX();
|
||||||
aye -= getAccelY();
|
_aye -= getAccelY();
|
||||||
aze -= getAccelZ();
|
_aze -= getAccelZ();
|
||||||
gxe -= getGyroX();
|
_gxe -= getGyroX();
|
||||||
gye -= getGyroY();
|
_gye -= getGyroY();
|
||||||
gze -= getGyroZ();
|
_gze -= getGyroZ();
|
||||||
}
|
}
|
||||||
|
|
||||||
// adjust calibration errors so table should get all zero's.
|
// adjust calibration errors so read() should get all zero's on average.
|
||||||
float factor = 1.0 / times;
|
float factor = 1.0 / times;
|
||||||
axe *= factor;
|
axe = _axe * factor;
|
||||||
aye *= factor;
|
aye = _aye * factor;
|
||||||
aze *= factor;
|
aze = _aze * factor;
|
||||||
gxe *= factor;
|
gxe = _gxe * factor;
|
||||||
gye *= factor;
|
gye = _gye * factor;
|
||||||
gze *= factor;
|
gze = _gze * factor;
|
||||||
|
|
||||||
// restore throttle state
|
// restore throttle state.
|
||||||
_throttle = oldThrottle;
|
_throttle = oldThrottle;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
//
|
//
|
||||||
// FILE: GY521.h
|
// FILE: GY521.h
|
||||||
// AUTHOR: Rob Tillaart
|
// AUTHOR: Rob Tillaart
|
||||||
// VERSION: 0.5.3
|
// VERSION: 0.6.0
|
||||||
// PURPOSE: Arduino library for I2C GY521 accelerometer-gyroscope sensor
|
// PURPOSE: Arduino library for I2C GY521 accelerometer-gyroscope sensor
|
||||||
// URL: https://github.com/RobTillaart/GY521
|
// URL: https://github.com/RobTillaart/GY521
|
||||||
|
|
||||||
@ -11,7 +11,7 @@
|
|||||||
#include "Wire.h"
|
#include "Wire.h"
|
||||||
|
|
||||||
|
|
||||||
#define GY521_LIB_VERSION (F("0.5.3"))
|
#define GY521_LIB_VERSION (F("0.6.0"))
|
||||||
|
|
||||||
const float GRAVITY = 9.80655;
|
const float GRAVITY = 9.80655;
|
||||||
|
|
||||||
|
@ -24,6 +24,11 @@ It needs to be tested a lot more.
|
|||||||
See changelog.md for latest updates.
|
See changelog.md for latest updates.
|
||||||
|
|
||||||
|
|
||||||
|
#### 0.6.0
|
||||||
|
|
||||||
|
Fixed a bug in calibration function, making previous versions obsolete.
|
||||||
|
|
||||||
|
|
||||||
#### 0.5.0 Breaking change
|
#### 0.5.0 Breaking change
|
||||||
|
|
||||||
Version 0.5.0 introduced a breaking change.
|
Version 0.5.0 introduced a breaking change.
|
||||||
|
@ -51,7 +51,7 @@ void test(uint16_t times)
|
|||||||
// flush all output
|
// flush all output
|
||||||
delay(100);
|
delay(100);
|
||||||
uint32_t start = micros();
|
uint32_t start = micros();
|
||||||
sensor.calibrate(100);
|
sensor.calibrate(times);
|
||||||
uint32_t duration = micros() - start;
|
uint32_t duration = micros() - start;
|
||||||
|
|
||||||
// print results
|
// print results
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/RobTillaart/GY521.git"
|
"url": "https://github.com/RobTillaart/GY521.git"
|
||||||
},
|
},
|
||||||
"version": "0.5.3",
|
"version": "0.6.0",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"frameworks": "*",
|
"frameworks": "*",
|
||||||
"platforms": "*",
|
"platforms": "*",
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
name=GY521
|
name=GY521
|
||||||
version=0.5.3
|
version=0.6.0
|
||||||
author=Rob Tillaart <rob.tillaart@gmail.com>
|
author=Rob Tillaart <rob.tillaart@gmail.com>
|
||||||
maintainer=Rob Tillaart <rob.tillaart@gmail.com>
|
maintainer=Rob Tillaart <rob.tillaart@gmail.com>
|
||||||
sentence=Arduino library for GY521 angle measurement
|
sentence=Arduino library for GY521 angle measurement
|
||||||
|
Loading…
Reference in New Issue
Block a user