Takushima Yukimasa
/
R19_ManuTakukAHWGeo
a
main.h@6:040d001acb12, 2019-08-24 (annotated)
- Committer:
- Tom0108
- Date:
- Sat Aug 24 06:06:36 2019 +0000
- Revision:
- 6:040d001acb12
- Parent:
- 0:761a63c6d020
- Child:
- 8:b79d21c8178b
Positive control
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Tom0108 | 0:761a63c6d020 | 1 | /** |
Tom0108 | 0:761a63c6d020 | 2 | ****************************************************************************** |
Tom0108 | 0:761a63c6d020 | 3 | * @file main.h |
Tom0108 | 0:761a63c6d020 | 4 | * @author You |
Tom0108 | 0:761a63c6d020 | 5 | * @version V?.?.? |
Tom0108 | 0:761a63c6d020 | 6 | * @date Today |
Tom0108 | 0:761a63c6d020 | 7 | * @brief メインのヘッダファイル |
Tom0108 | 0:761a63c6d020 | 8 | ****************************************************************************** |
Tom0108 | 0:761a63c6d020 | 9 | */ |
Tom0108 | 0:761a63c6d020 | 10 | |
Tom0108 | 0:761a63c6d020 | 11 | /* ヘッダ再呼び出し防止のための定義 ------------------------------------------*/ |
Tom0108 | 0:761a63c6d020 | 12 | |
Tom0108 | 0:761a63c6d020 | 13 | #ifndef _MAIN_H_ |
Tom0108 | 0:761a63c6d020 | 14 | #define _MAIN_H_ |
Tom0108 | 0:761a63c6d020 | 15 | |
Tom0108 | 0:761a63c6d020 | 16 | /* ファイル追加 --------------------------------------------------------------*/ |
Tom0108 | 0:761a63c6d020 | 17 | #include "YKNCT.h" |
Tom0108 | 0:761a63c6d020 | 18 | #include "mbed.h" |
Tom0108 | 6:040d001acb12 | 19 | #include "gyro.h" |
Tom0108 | 6:040d001acb12 | 20 | #include "YKNCT_I2C.h" |
Tom0108 | 6:040d001acb12 | 21 | #include <math.h> |
Tom0108 | 0:761a63c6d020 | 22 | |
Tom0108 | 0:761a63c6d020 | 23 | /* 定数定義 ------------------------------------------------------------------*/ |
Tom0108 | 6:040d001acb12 | 24 | #define CIRCLE sbdbt.CIRCLE |
Tom0108 | 6:040d001acb12 | 25 | #define SQUARE sbdbt.SQUARE |
Tom0108 | 6:040d001acb12 | 26 | #define CROSS sbdbt.CROSS |
Tom0108 | 6:040d001acb12 | 27 | #define TRIANGLE sbdbt.TRIANGLE |
Tom0108 | 6:040d001acb12 | 28 | #define LEFTkey sbdbt.LEFTkey |
Tom0108 | 6:040d001acb12 | 29 | #define RIGHTkey sbdbt.RIGHTkey |
Tom0108 | 6:040d001acb12 | 30 | #define UPkey sbdbt.UPkey |
Tom0108 | 6:040d001acb12 | 31 | #define DOWNkey sbdbt.DOWNkey |
Tom0108 | 0:761a63c6d020 | 32 | |
Tom0108 | 0:761a63c6d020 | 33 | /* マクロ定義 ----------------------------------------------------------------*/ |
Tom0108 | 6:040d001acb12 | 34 | #define PALETTE(color)\ |
Tom0108 | 6:040d001acb12 | 35 | for(int s=0; s<3; s++) LED[s]=color&1<<s |
Tom0108 | 0:761a63c6d020 | 36 | |
Tom0108 | 0:761a63c6d020 | 37 | /* 型定義 --------------------------------------------------------------------*/ |
Tom0108 | 0:761a63c6d020 | 38 | typedef enum |
Tom0108 | 0:761a63c6d020 | 39 | { |
Tom0108 | 0:761a63c6d020 | 40 | test_motor, |
Tom0108 | 0:761a63c6d020 | 41 | test_motor2, |
Tom0108 | 0:761a63c6d020 | 42 | test_motor3, |
Tom0108 | 0:761a63c6d020 | 43 | test_motor4, |
Tom0108 | 0:761a63c6d020 | 44 | test_motor5, |
Tom0108 | 0:761a63c6d020 | 45 | test_motor6, |
Tom0108 | 0:761a63c6d020 | 46 | test_motor7, |
Tom0108 | 0:761a63c6d020 | 47 | test_motor8, |
Tom0108 | 0:761a63c6d020 | 48 | Motor_MAX |
Tom0108 | 0:761a63c6d020 | 49 | } _Motor_; |
Tom0108 | 0:761a63c6d020 | 50 | |
Tom0108 | 0:761a63c6d020 | 51 | |
Tom0108 | 0:761a63c6d020 | 52 | typedef enum{ |
Tom0108 | 0:761a63c6d020 | 53 | limit, |
Tom0108 | 0:761a63c6d020 | 54 | limit1, |
Tom0108 | 0:761a63c6d020 | 55 | limit2, |
Tom0108 | 0:761a63c6d020 | 56 | limit3, |
Tom0108 | 0:761a63c6d020 | 57 | limit4, |
Tom0108 | 0:761a63c6d020 | 58 | limit5, |
Tom0108 | 0:761a63c6d020 | 59 | limit6, |
Tom0108 | 0:761a63c6d020 | 60 | limit7, |
Tom0108 | 0:761a63c6d020 | 61 | IN_MAX |
Tom0108 | 0:761a63c6d020 | 62 | }_limit_; |
Tom0108 | 0:761a63c6d020 | 63 | typedef enum{ |
Tom0108 | 0:761a63c6d020 | 64 | out1, |
Tom0108 | 0:761a63c6d020 | 65 | out2, |
Tom0108 | 0:761a63c6d020 | 66 | out3, |
Tom0108 | 0:761a63c6d020 | 67 | out4, |
Tom0108 | 0:761a63c6d020 | 68 | ExTowel, |
Tom0108 | 0:761a63c6d020 | 69 | OUT_MAX |
Tom0108 | 0:761a63c6d020 | 70 | }_OUT_; |
Tom0108 | 6:040d001acb12 | 71 | |
Tom0108 | 6:040d001acb12 | 72 | typedef enum { |
Tom0108 | 6:040d001acb12 | 73 | BLACK, |
Tom0108 | 6:040d001acb12 | 74 | BLUE, |
Tom0108 | 6:040d001acb12 | 75 | GREEN, |
Tom0108 | 6:040d001acb12 | 76 | CYAN, |
Tom0108 | 6:040d001acb12 | 77 | RED, |
Tom0108 | 6:040d001acb12 | 78 | MAGENTA, |
Tom0108 | 6:040d001acb12 | 79 | YELLOW, |
Tom0108 | 6:040d001acb12 | 80 | WHITE, |
Tom0108 | 6:040d001acb12 | 81 | |
Tom0108 | 6:040d001acb12 | 82 | COLOR_MAX |
Tom0108 | 6:040d001acb12 | 83 | |
Tom0108 | 6:040d001acb12 | 84 | } _COLOR_; |
Tom0108 | 6:040d001acb12 | 85 | |
Tom0108 | 6:040d001acb12 | 86 | MD_I2C_Data_TypeDef MD_Data[Motor_MAX] = { |
Tom0108 | 6:040d001acb12 | 87 | { 8, 0, 0, 0, {0}}, //足回り |
Tom0108 | 6:040d001acb12 | 88 | { 9, 1, 0, 0, {0}}, |
Tom0108 | 6:040d001acb12 | 89 | {10, 0, 0, 0, {0}}, |
Tom0108 | 6:040d001acb12 | 90 | {11, 1, 0, 0, {0}}, |
Tom0108 | 6:040d001acb12 | 91 | {12, 0, 0, 0, {0}}, // 洗濯物回収 |
Tom0108 | 6:040d001acb12 | 92 | {13, 1, 0, 0, {0}}, // 上下機構 |
Tom0108 | 6:040d001acb12 | 93 | {14, 0, 0, 0, {0}}, // 洗濯物排出 |
Tom0108 | 6:040d001acb12 | 94 | {15, 1, 0, 0, {0}} // 左右移動 |
Tom0108 | 6:040d001acb12 | 95 | }; |
Tom0108 | 6:040d001acb12 | 96 | |
Tom0108 | 6:040d001acb12 | 97 | IN_I2C_Data_TypeDef In_Data[] = { |
Tom0108 | 6:040d001acb12 | 98 | {1,0,0}, // 洗濯物排出(初期位置) |
Tom0108 | 6:040d001acb12 | 99 | {1,1,0}, // 洗濯物排出(停止) |
Tom0108 | 6:040d001acb12 | 100 | {1,2,0}, // 腕(最大 タオル) |
Tom0108 | 6:040d001acb12 | 101 | {1,3,0}, // 腕(初期位置) |
Tom0108 | 6:040d001acb12 | 102 | {3,0,0}, // 上下機構(上) |
Tom0108 | 6:040d001acb12 | 103 | {3,1,0}, // (下) |
Tom0108 | 6:040d001acb12 | 104 | {3,2,0}, // 腕(シーツ兼シャツ) |
Tom0108 | 6:040d001acb12 | 105 | }; |
Tom0108 | 6:040d001acb12 | 106 | |
Tom0108 | 6:040d001acb12 | 107 | OUT_I2C_Data_TypeDef Out_Data[] = { |
Tom0108 | 6:040d001acb12 | 108 | {0,0,0}, // 腕の上下 |
Tom0108 | 6:040d001acb12 | 109 | {0,1,0}, // 爪 |
Tom0108 | 6:040d001acb12 | 110 | {0,2,0}, // タオルの先 |
Tom0108 | 6:040d001acb12 | 111 | {0,3,0}, // タオル展開 |
Tom0108 | 6:040d001acb12 | 112 | {1,0,0}, // タオルの中央 |
Tom0108 | 6:040d001acb12 | 113 | }; |
Tom0108 | 0:761a63c6d020 | 114 | /* 変数宣言 ------------------------------------------------------------------*/ |
Tom0108 | 0:761a63c6d020 | 115 | |
Tom0108 | 6:040d001acb12 | 116 | /* 関数宣言 ------------------------------------------------------------------*/ |
Tom0108 | 6:040d001acb12 | 117 | //メカナム基本動作 |
Tom0108 | 6:040d001acb12 | 118 | void mecanum_Move(int lx, int ly, int rx); |
Tom0108 | 0:761a63c6d020 | 119 | |
Tom0108 | 6:040d001acb12 | 120 | //角度補正 |
Tom0108 | 6:040d001acb12 | 121 | //n_angle: 現在の角度 |
Tom0108 | 6:040d001acb12 | 122 | //t_angle: 目標の角度 |
Tom0108 | 6:040d001acb12 | 123 | void AngleCorrection(double n_angle, double t_angle); |
Tom0108 | 0:761a63c6d020 | 124 | |
Tom0108 | 6:040d001acb12 | 125 | /*クラス宣言-------------------------------------------------------------------*/ |
Tom0108 | 6:040d001acb12 | 126 | Y_I2C i2c(PB_9, PB_8); // I2C |
Tom0108 | 6:040d001acb12 | 127 | SBDBT sbdbt(PA_0, PA_1, 9600); // SDBDT |
Tom0108 | 6:040d001acb12 | 128 | MyMPU6050 mpu(PC_9, PA_8); // ジャイロセンサ |
Tom0108 | 6:040d001acb12 | 129 | DigitalOut LED[]= {PA_10,PB_4,PB_5}; |
Tom0108 | 0:761a63c6d020 | 130 | |
Tom0108 | 6:040d001acb12 | 131 | //半自動の時に使う |
Tom0108 | 6:040d001acb12 | 132 | Timer tim; |
Tom0108 | 0:761a63c6d020 | 133 | |
Tom0108 | 6:040d001acb12 | 134 | //角度補正の時に使う |
Tom0108 | 6:040d001acb12 | 135 | Timer drift_tim; |
Tom0108 | 0:761a63c6d020 | 136 | |
Tom0108 | 0:761a63c6d020 | 137 | #endif /* _MAIN_H_ */ |
Tom0108 | 0:761a63c6d020 | 138 | |
Tom0108 | 0:761a63c6d020 | 139 | /******************************** END OF FILE *********************************/ |