Takushima Yukimasa
/
R19_ManuTakukAHWGeo
a
Diff: main.h
- Revision:
- 6:040d001acb12
- Parent:
- 0:761a63c6d020
- Child:
- 8:b79d21c8178b
diff -r fcc79e507610 -r 040d001acb12 main.h --- a/main.h Sat Aug 24 00:30:20 2019 +0000 +++ b/main.h Sat Aug 24 06:06:36 2019 +0000 @@ -12,18 +12,27 @@ #ifndef _MAIN_H_ #define _MAIN_H_ -#include "gyro.h" -#include "YKNCT_I2C.h" /* ファイル追加 --------------------------------------------------------------*/ #include "YKNCT.h" #include "mbed.h" +#include "gyro.h" +#include "YKNCT_I2C.h" +#include <math.h> /* 定数定義 ------------------------------------------------------------------*/ - +#define CIRCLE sbdbt.CIRCLE +#define SQUARE sbdbt.SQUARE +#define CROSS sbdbt.CROSS +#define TRIANGLE sbdbt.TRIANGLE +#define LEFTkey sbdbt.LEFTkey +#define RIGHTkey sbdbt.RIGHTkey +#define UPkey sbdbt.UPkey +#define DOWNkey sbdbt.DOWNkey /* マクロ定義 ----------------------------------------------------------------*/ - +#define PALETTE(color)\ +for(int s=0; s<3; s++) LED[s]=color&1<<s /* 型定義 --------------------------------------------------------------------*/ typedef enum @@ -59,13 +68,71 @@ ExTowel, OUT_MAX }_OUT_; + +typedef enum { + BLACK, + BLUE, + GREEN, + CYAN, + RED, + MAGENTA, + YELLOW, + WHITE, + + COLOR_MAX + +} _COLOR_; + +MD_I2C_Data_TypeDef MD_Data[Motor_MAX] = { + { 8, 0, 0, 0, {0}}, //足回り + { 9, 1, 0, 0, {0}}, + {10, 0, 0, 0, {0}}, + {11, 1, 0, 0, {0}}, + {12, 0, 0, 0, {0}}, // 洗濯物回収 + {13, 1, 0, 0, {0}}, // 上下機構 + {14, 0, 0, 0, {0}}, // 洗濯物排出 + {15, 1, 0, 0, {0}} // 左右移動 +}; + +IN_I2C_Data_TypeDef In_Data[] = { + {1,0,0}, // 洗濯物排出(初期位置) + {1,1,0}, // 洗濯物排出(停止) + {1,2,0}, // 腕(最大 タオル) + {1,3,0}, // 腕(初期位置) + {3,0,0}, // 上下機構(上) + {3,1,0}, // (下) + {3,2,0}, // 腕(シーツ兼シャツ) +}; + +OUT_I2C_Data_TypeDef Out_Data[] = { + {0,0,0}, // 腕の上下 + {0,1,0}, // 爪 + {0,2,0}, // タオルの先 + {0,3,0}, // タオル展開 + {1,0,0}, // タオルの中央 +}; /* 変数宣言 ------------------------------------------------------------------*/ +/* 関数宣言 ------------------------------------------------------------------*/ +//メカナム基本動作 +void mecanum_Move(int lx, int ly, int rx); +//角度補正 +//n_angle: 現在の角度 +//t_angle: 目標の角度 +void AngleCorrection(double n_angle, double t_angle); -/* 関数宣言 ------------------------------------------------------------------*/ +/*クラス宣言-------------------------------------------------------------------*/ +Y_I2C i2c(PB_9, PB_8); // I2C +SBDBT sbdbt(PA_0, PA_1, 9600); // SDBDT +MyMPU6050 mpu(PC_9, PA_8); // ジャイロセンサ +DigitalOut LED[]= {PA_10,PB_4,PB_5}; +//半自動の時に使う +Timer tim; +//角度補正の時に使う +Timer drift_tim; #endif /* _MAIN_H_ */