RT-AICHIPV3-sample
|
void calibAccXYOffset | ( | ) |
加速度センサのXY方向ロオフセット設定用関数
センサを水平にした状態でNUM_REF回のサンプルを取り, そのデータの上位25と下位25の値を クイックソートによって取り除く残りの50で平均値を求めオフセットとする. (メディアンフィルタと平均の組み合わせ)
void |
void calibAccZOffset | ( | ) |
加速度センサのZ方向ロオフセット設定用関数
センサを垂直にした状態でNUM_REF_ACCZ回のサンプルを取り, そのデータの上位25と下位25の値を クイックソートによって取り除く残りの50で平均値を求めオフセットとする. (メディアンフィルタと平均の組み合わせ)
void |
void calibMagOffset | ( | ) |
地磁気センサのオフセット設定用関数
センサをしばらくの時間色々な方向に動かした後にすべての各軸の(最大値+最小値)/2を オフセット値とする. 地磁気の影響が少ない環境でオフセット調整をすること.
void |
void calibOmegaOffset | ( | ) |
void debugMPU9250 | ( | void | ) |
デバッグ用関数
void |
void getAcc | ( | float * | vec | ) |
加速度ベクトルを返す. 単位は[1G]
*vec | 格納先 |
void getACCInt | ( | int16_t * | vec | ) |
加速度を整数値で返す
*vec |
void getAccOffset | ( | int16_t * | offset_vec | ) |
現在の加速度のオフセット値を返す
*offset_vec |
void getAsa | ( | int16_t * | vec | ) |
地磁気センサのAsa値を返す
*vec |
void getDataFromAK8963 | ( | uint8_t * | dest_array | ) |
AK8963(MPU9250の地磁気センサ)のデータ(MagXYZ)
をdest_arrayに次のように格納
byte
0 MagX 下位
1 MagX 上位
2 MagY 下位
3 MagY 上位
4 MagZ 下位
5 MagZ 上位
*dest_array | データの格納先 |
void getDataFromMPU9250 | ( | uint8_t * | dest_array | ) |
MPU9250のデータ (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 上位
*dest_array データの格納先 |
void getMag | ( | float * | vec | ) |
地磁気ベクトルを返す. 単位は [uT]
*vec 格納先 |
void getMagInt | ( | int16_t * | vec | ) |
地磁気を整数値で返す
*vec |
void getMagOffset | ( | int16_t * | offset_vec | ) |
現在の地磁気のオフセット値を返す
*offset_vec |
void getOmega | ( | float * | vec | ) |
角速度ベクトルを返す. 単位は[rad/s]
*vec |
void getOmegaInt | ( | int16_t * | vec | ) |
角速度を整数値で返す
*vec |
void getOmegaOffset | ( | int16_t * | offset_vec | ) |
現在のジャイロセンサのオフセット値を返す
*offset_vec |
void getRawAccInt | ( | int16_t * | vec | ) |
加速度の生データを整数値で返す
*vec |
void getRawMagInt | ( | int16_t * | vec | ) |
地磁気の生データを整数値で返す
*vec |
void getRawOmegaInt | ( | int16_t * | vec | ) |
角速度の生データを整数値で返す
*vec |
void getRawTempInt | ( | int16_t * | temp | ) |
温度の生データを整数値で返す
*temp |
void getTemp | ( | float * | temp | ) |
温度を返す. 単位は[℃]
*vec | 格納先 |
void getTempInt | ( | int16_t * | temp | ) |
温度を整数値で返す
*vec |
void initAK8963 | ( | void | ) |
Asa[]に感度調整値を格納.
void |
void initMPU9250 | ( | void | ) |
MPU9250の初期化(MPU9250のジャイロ,加速度センサ)
void |
void initOffsetByEEPROM | ( | ) |
EEPROMから角速度, 加速度, 地磁気のオフセット値を読み取り オフセット格納用の配列にセットする.
void |
void readEEPROMOffsetAccInt | ( | int16_t * | vec | ) |
EEPROMから読み出した加速度のオフセット値を配列に読み込む
*vec | 加速度のオフセット値を格納する先の配列 |
void readEEPROMOffsetMagInt | ( | int16_t * | vec | ) |
EEPROMから読み出した地磁気のオフセット値を配列に読み込む
*vec | 地磁気のオフセット値を格納する先の配列 |
void readEEPROMOffsetOmegaInt | ( | int16_t * | vec | ) |
EEPROMから読み出した角速度のオフセット値を配列に読み込む
*vec | 角速度のオフセット値を格納する先の配列 |
void setAccOffset | ( | int16_t * | offset_vec | ) |
加速度のオフセット値をセットする
*offset_vec |
void setAccOffset_x | ( | int16_t | offset_x | ) |
加速度のx方向のオフセットをセットする
offset_x |
void setAccOffset_y | ( | int16_t | offset_y | ) |
加速度のy方向のオフセットをセットする
offset_y |
void setAccOffset_z | ( | int16_t | offset_z | ) |
加速度のz方向のオフセットをセットする
offset_x |
void setMagOffset | ( | int16_t * | offset_vec | ) |
地磁気のオフセット値をセットする
*offset_vec |
void setMagOffset_x | ( | int16_t | offset_x | ) |
地磁気のx方向のオフセットをセットする
offset_x |
void setMagOffset_y | ( | int16_t | offset_y | ) |
地磁気のy方向のオフセットをセットする
offset_y |
void setMagOffset_z | ( | int16_t | offset_z | ) |
地磁気のz方向のオフセットをセットする
offset_z |
void setOmegaOffset | ( | int16_t * | offset_vec | ) |
角速度のオフセット値をセットする
*offset_vec |
void setOmegaOffset_x | ( | int16_t | offset_x | ) |
角速度のx方向のオフセットをセットする
offset_x |
void setOmegaOffset_y | ( | int16_t | offset_y | ) |
角速度のy方向のオフセットをセットする
offset_y |
void setOmegaOffset_z | ( | int16_t | offset_z | ) |
角速度のz方向のオフセットをセットする
offset_z |
void updateAK8963Data | ( | ) |
MPU9250からデータを読み出し各種変数を更新する
更新する対象は以下
void updateMPU9250Data | ( | void | ) |
MPU9250からデータを読み出し各種変数を更新する
更新する対象は以下
void whoAmI | ( | void | ) |
MPU9250とAK8963(MPU9250の地磁気センサ)のwho am iを読む
1秒ごとにwho am iを呼びだし続ける無限ループが記述されている
void |
void writeEEPROMOffsetAccInt | ( | int16_t * | vec | ) |
加速度のオフセット値をEEPROMへ書き込む
加速度のオフセット値はEEPROMの0ブロック目,0x0番地から6byte分 にX,Y,Zの順で書き込まれる
*vec | 加速度のオフセット値が格納されている配列 |
void writeEEPROMOffsetMagInt | ( | int16_t * | vec | ) |
地磁気のオフセット値をEEPROMへ書き込む
地磁気のオフセット値はEEPROMの0ブロック目,0x0C番地から6byte分 にX,Y,Zの順で書き込まれる
*vec | 地磁気のオフセット値が格納されている配列 |
void writeEEPROMOffsetOmegaInt | ( | int16_t * | vec | ) |
角速度のオフセット値をEEPROMへ書き込む
角速度のオフセット値はEEPROMの0ブロック目,0x6番地から6byte分 にX,Y,Zの順で書き込まれる
*vec | 角速度のオフセット値が格納されている配列 |