MPU9150を使えるようにするための関数群
[詳解]
#include "type.h"
#include "mpu9150.h"
#include "i2c.h"
#include "uart.h"
#include "SystemTickTimer.h"
#include "TinyMathFunction.h"
#include "debug.h"
[ソースコード]
MPU9150を使えるようにするための関数群
- 著者
- RTCorp. Ryota Takahashi
mpu9150.c に定義があります。
void debugMPU9150 |
( |
void |
| ) |
|
void getAcc |
( |
float * |
vec | ) |
|
void getAccLPF |
( |
float * |
vec | ) |
|
加速度センサ値にローパスフィルタをかけた値を*vecに格納
- 引数
-
- 戻り値
- void
mpu9150.c の 445 行目に定義があります。
void getAccStrLPF |
( |
float * |
vec | ) |
|
加速度センサ値に強めのローパスフィルタをかけた値を*vecに格納
- 引数
-
- 戻り値
- void
mpu9150.c の 481 行目に定義があります。
void getDataFromAK8975 |
( |
uint8_t * |
dest_array | ) |
|
AK8975(MPU9150の地磁気センサ)のデータ(MagXYZ)
をdest_arrayに次のように格納
Asa[]: 工場出荷時にAK8975に書きこまれた補正値
AK8975の初期化の際にAsa[]に格納
byte
0 MagX 下位
1 MagX 上位
2 MagY 下位
3 MagY 上位
4 MagZ 下位
5 MagZ 上位
さらにセンサの読み取り値を物理量に変換しmag_vec[i]に格納する.
- 引数
-
- 戻り値
- void
mpu9150.c の 261 行目に定義があります。
void getDataFromMPU6050 |
( |
uint8_t * |
dest_array | ) |
|
MPU6050のデータ (AccXYZ + GyroXYZ + temperature)
dest_arrayに次のように格納
byte
0 accX 下位
1 accX 上位
2 accY 下位
3 accY 上位
4 accZ 下位
5 accZ 上位
6 temp 下位
7 temp 上位
8 gyroX 下位
9 gyroX 上位
10 gyroY 下位
11 gyroY 上位
12 gyroZ 下位
13 gyroZ 上位
さらに, センサの読み取りデータを物理量に変換し, acc_vec[i]
omega_vec[i]に格納する.
- 引数
-
- 戻り値
- void
mpu9150.c の 147 行目に定義があります。
void getMag |
( |
float * |
vec | ) |
|
void getMagLPF |
( |
float * |
vec | ) |
|
地磁気センサ値にローパスフィルタをかけた値を*vecに格納
- 引数
-
- 戻り値
- void
mpu9150.c の 432 行目に定義があります。
void getMagStrLPF |
( |
float * |
vec | ) |
|
地磁気センサ値に強めのローパスフィルタをかけた値を*vecに格納
- 引数
-
- 戻り値
- void
mpu9150.c の 469 行目に定義があります。
void getOmega |
( |
float * |
vec | ) |
|
void getOmegaLPF |
( |
float * |
vec | ) |
|
ジャイロセンサ値にローパスフィルタをかけた値を*vecに格納
- 引数
-
- 戻り値
- void
mpu9150.c の 420 行目に定義があります。
float getOmegaRef |
( |
float * |
vec | ) |
|
現在のジャイロセンサの静止時のリファレンス値を返す
- 引数
-
- 戻り値
- *vec
mpu9150.c の 493 行目に定義があります。
void getOmegaStrLPF |
( |
float * |
vec | ) |
|
ジャイロセンサ値に強めのローパスフィルタをかけた値を*vecに格納
- 引数
-
- 戻り値
- void
mpu9150.c の 457 行目に定義があります。
void getTemp |
( |
float * |
temp | ) |
|
void initMPU6050 |
( |
void |
| ) |
|
MPU6050の初期化(MPU9150のジャイロ,加速度センサ)
- 引数
-
- 戻り値
- void
mpu9150.c の 54 行目に定義があります。
void initOmegaRef |
( |
void |
| ) |
|
void setOmegaRef_x |
( |
float |
ref_x | ) |
|
ジャイロのリファレンス値ref_xを書き換える.
- 引数
-
- 戻り値
- void
mpu9150.c の 505 行目に定義があります。
void setOmegaRef_y |
( |
float |
ref_y | ) |
|
ジャイロのリファレンス値ref_yを書き換える.
- 引数
-
- 戻り値
- void
mpu9150.c の 516 行目に定義があります。
void setOmegaRef_z |
( |
float |
ref_z | ) |
|
ジャイロのリファレンス値ref_zを書き換える.
- 引数
-
- 戻り値
- void
mpu9150.c の 527 行目に定義があります。
volatile float gain_LPF = 0.8 |
volatile float gain_str_LPF = 0.1 |