a

Dependencies:   mbed

Revision:
6:040d001acb12
Parent:
0:761a63c6d020
Child:
8:b79d21c8178b
--- 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_ */