ジャイロ補正を追加したプログラム
Dependencies: mbed YKNCT_Movement SBDBT BNO055 YKNCT_MD YKNCT_I2C
Diff: main.h
- Revision:
- 0:9e851dc42cde
diff -r 000000000000 -r 9e851dc42cde main.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.h Thu Mar 12 02:29:33 2020 +0000 @@ -0,0 +1,67 @@ + +/** + ****************************************************************************** + * @file main.h + * @author You + * @version V?.?.? + * @date Today + * @brief メインのヘッダファイル + ****************************************************************************** + */ +/* Includes ------------------------------------------------------------------*/ +#include <mbed.h> +#include <BNO055.h> +#include <SBDBT.h> +#include <YKNCT_I2C.h> +#include <YKNCT_MD.h> +#include <movement.h> + +/* 型定義 --------------------------------------------------------------------*/ + +/* 座標管理構造体 X,Y,thetaはいずれもdouble型 */ +struct ROCATION +{ + double X; + double Y; + double theta; +}; + +/* 定数定義 ------------------------------------------------------------------*/ + +/* π */ +#define PI 3.1415926535 + +/* Encoderの最大数 */ +#define EncoderMAX 2 + +/* マクロ定義 ----------------------------------------------------------------*/ +/* 2つの値を比較して小さい方を返す */ +#define M_MIN(__VALUE1__, __VALUE2__) ((__VALUE1__) < (__VALUE2__) ? (__VALUE1__) : (__VALUE2__)) + +/* 2つの値を比較して大きい方を返す */ +#define M_MAX(__VALUE1__, __VALUE2__) ((__VALUE1__) > (__VALUE2__) ? (__VALUE1__) : (__VALUE2__)) + +/* 絶対値を返す */ +#define ABS(__VALUE1__) ((__VALUE1__) < 0 ? -(__VALUE1__) : (__VALUE1__)) + +/* Enc角度から距離に変換 */ +#define DEG_TO_DIS(__DEGREE__) (50.8 * PI * (__DEGREE__) / 360) + +/* Enc角度から距離に変換 */ +#define DEG_TO_HIGH(__DEGREE__) (50.0 * PI * (__DEGREE__) / 360) + +/* Radian,Degree変換 */ +/* 定義被ったためコメントアウト */ +//#define RAD_TO_DEG(__RADIAN__) (180 * (__RADIAN__) / PI) +//#define DEG_TO_RAD(__DEGREE__) ((__DEGREE__)*PI / 180) + +/* lim以上のデータを補整する */ +#define Rest(__val__, __Limit__) ((__val__) >= (__Limit__) ? (__Limit__) : ((__val__) <= (-(__Limit__)) ? (-(__Limit__)) : (__val__))) + +/* コントローラー SerectとStartを実装 */ +#define Select (DS3.LEFTkey+DS3.RIGHTkey==2) +#define Start (DS3.UPkey+DS3.DOWNkey==2) + +/* 関数プロトタイプ宣言 -------------------------------------------------------*/ +/* 変数定義 ------------------------------------------------------------------*/ +/* クラス定義 ----------------------------------------------------------------*/ \ No newline at end of file