ジャイロ補正を追加したプログラム

Dependencies:   mbed YKNCT_Movement SBDBT BNO055 YKNCT_MD YKNCT_I2C

main.h

Committer:
yoshikawaryota
Date:
2020-03-14
Revision:
1:b9f698be841c
Parent:
0:9e851dc42cde

File content as of revision 1:b9f698be841c:


/**
  ******************************************************************************
  * @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)

/* 関数プロトタイプ宣言 -------------------------------------------------------*/
/* 変数定義 ------------------------------------------------------------------*/
/* クラス定義 ----------------------------------------------------------------*/