![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
せとうちオープン用のメインプログラム
Dependencies: mbed AQM1602 HMC6352 PID
setting/def.h@0:b910276f9da2, 2016-05-01 (annotated)
- Committer:
- lilac0112_1
- Date:
- Sun May 01 06:30:37 2016 +0000
- Revision:
- 0:b910276f9da2
from 2v10
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
lilac0112_1 | 0:b910276f9da2 | 1 | #ifndef _DEF_H_ |
lilac0112_1 | 0:b910276f9da2 | 2 | #define _DEF_H_ |
lilac0112_1 | 0:b910276f9da2 | 3 | |
lilac0112_1 | 0:b910276f9da2 | 4 | //red or green |
lilac0112_1 | 0:b910276f9da2 | 5 | #define RED_CAT//jj |
lilac0112_1 | 0:b910276f9da2 | 6 | //#define GREEN_CAT//lily |
lilac0112_1 | 0:b910276f9da2 | 7 | |
lilac0112_1 | 0:b910276f9da2 | 8 | //BT(BlueTooth) |
lilac0112_1 | 0:b910276f9da2 | 9 | #define DATA_NUM 8+2//2byte→KEYCODE(拝啓)とCHECKCODE(敬具) 8byte→やりとりするデータ |
lilac0112_1 | 0:b910276f9da2 | 10 | #define TX_KEYCODE 0xAA//あちらのKEYCODE |
lilac0112_1 | 0:b910276f9da2 | 11 | #define RX_KEYCODE 0xAA//こちらのKEYCODE |
lilac0112_1 | 0:b910276f9da2 | 12 | #define KEY 0//KEYCODEは配列の最初 |
lilac0112_1 | 0:b910276f9da2 | 13 | #define CHECK DATA_NUM-1//CHECKCODEは配列の最後 |
lilac0112_1 | 0:b910276f9da2 | 14 | |
lilac0112_1 | 0:b910276f9da2 | 15 | |
lilac0112_1 | 0:b910276f9da2 | 16 | //Switch 入力値 |
lilac0112_1 | 0:b910276f9da2 | 17 | #define NONE 0 |
lilac0112_1 | 0:b910276f9da2 | 18 | #define UP 1 |
lilac0112_1 | 0:b910276f9da2 | 19 | #define DOWN 2 |
lilac0112_1 | 0:b910276f9da2 | 20 | #define RIGHT 3 |
lilac0112_1 | 0:b910276f9da2 | 21 | #define LEFT 4 |
lilac0112_1 | 0:b910276f9da2 | 22 | |
lilac0112_1 | 0:b910276f9da2 | 23 | //Lcd 設定値 |
lilac0112_1 | 0:b910276f9da2 | 24 | #define LCD_COLUMN_NUM 0x11 |
lilac0112_1 | 0:b910276f9da2 | 25 | #define BUFSIZE 7 |
lilac0112_1 | 0:b910276f9da2 | 26 | #define STATE_NUM_X 0x08 |
lilac0112_1 | 0:b910276f9da2 | 27 | #define STATE_NUM_Y 0x10 |
lilac0112_1 | 0:b910276f9da2 | 28 | |
lilac0112_1 | 0:b910276f9da2 | 29 | #define JUMP_TAG_MAX 0xFFFF |
lilac0112_1 | 0:b910276f9da2 | 30 | //tag |
lilac0112_1 | 0:b910276f9da2 | 31 | #define ZERO_FUNCTION 0 |
lilac0112_1 | 0:b910276f9da2 | 32 | #define START 1 |
lilac0112_1 | 0:b910276f9da2 | 33 | #define GET_IR 2 |
lilac0112_1 | 0:b910276f9da2 | 34 | #define GET_SNS0 3 |
lilac0112_1 | 0:b910276f9da2 | 35 | #define GET_PID_VALUE 4 |
lilac0112_1 | 0:b910276f9da2 | 36 | #define CALIBRATION_ENTER 5 |
lilac0112_1 | 0:b910276f9da2 | 37 | #define CALIBRATION_EXIT 6 |
lilac0112_1 | 0:b910276f9da2 | 38 | #define FRONT_RESET 7 |
lilac0112_1 | 0:b910276f9da2 | 39 | #define SET_POWER1 8 |
lilac0112_1 | 0:b910276f9da2 | 40 | #define SET_POWER2 9 |
lilac0112_1 | 0:b910276f9da2 | 41 | #define SOFT_RESET 10 |
lilac0112_1 | 0:b910276f9da2 | 42 | #define SET_STRATEGY1 11 |
lilac0112_1 | 0:b910276f9da2 | 43 | #define SET_STRATEGY2 12 |
lilac0112_1 | 0:b910276f9da2 | 44 | #define SET_STRATEGY3 13 |
lilac0112_1 | 0:b910276f9da2 | 45 | #define SET_STRATEGY4 14 |
lilac0112_1 | 0:b910276f9da2 | 46 | #define START2 15 |
lilac0112_1 | 0:b910276f9da2 | 47 | |
lilac0112_1 | 0:b910276f9da2 | 48 | #define SET_POWER_DOWN 16 |
lilac0112_1 | 0:b910276f9da2 | 49 | #define SET_POWER_UP 17 |
lilac0112_1 | 0:b910276f9da2 | 50 | #define SET_STRATEGY_DOWN 18 |
lilac0112_1 | 0:b910276f9da2 | 51 | #define SET_STRATEGY_UP 19 |
lilac0112_1 | 0:b910276f9da2 | 52 | |
lilac0112_1 | 0:b910276f9da2 | 53 | #define DRIVE_KICKER 20 |
lilac0112_1 | 0:b910276f9da2 | 54 | #define DRIVE_DRIBBLER_AND_KICKER 21 |
lilac0112_1 | 0:b910276f9da2 | 55 | |
lilac0112_1 | 0:b910276f9da2 | 56 | #define CALIBRATION_TURN 22 |
lilac0112_1 | 0:b910276f9da2 | 57 | #define RW_PID 23 |
lilac0112_1 | 0:b910276f9da2 | 58 | |
lilac0112_1 | 0:b910276f9da2 | 59 | #define TURN_AND_START 24 |
lilac0112_1 | 0:b910276f9da2 | 60 | #define CALIBRATION_ENTER_OR_EXIT 25 |
lilac0112_1 | 0:b910276f9da2 | 61 | |
lilac0112_1 | 0:b910276f9da2 | 62 | typedef struct {//for command |
lilac0112_1 | 0:b910276f9da2 | 63 | char LcdStr[STATE_NUM_X][BUFSIZE]; |
lilac0112_1 | 0:b910276f9da2 | 64 | uint8_t str_num; |
lilac0112_1 | 0:b910276f9da2 | 65 | uint8_t (*CommandFunction)(uint8_t x); |
lilac0112_1 | 0:b910276f9da2 | 66 | uint16_t tag_num; |
lilac0112_1 | 0:b910276f9da2 | 67 | } CommandItem; |
lilac0112_1 | 0:b910276f9da2 | 68 | |
lilac0112_1 | 0:b910276f9da2 | 69 | |
lilac0112_1 | 0:b910276f9da2 | 70 | //tag |
lilac0112_1 | 0:b910276f9da2 | 71 | #define MODE_ATTACK0 0 |
lilac0112_1 | 0:b910276f9da2 | 72 | #define MODE_ATTACK1 1 |
lilac0112_1 | 0:b910276f9da2 | 73 | #define MODE_ATTACK2 2 |
lilac0112_1 | 0:b910276f9da2 | 74 | #define MODE_ATTACK3 3 |
lilac0112_1 | 0:b910276f9da2 | 75 | #define MODE_ATTACK4 4 |
lilac0112_1 | 0:b910276f9da2 | 76 | #define MODE_ATTACK5 5 |
lilac0112_1 | 0:b910276f9da2 | 77 | |
lilac0112_1 | 0:b910276f9da2 | 78 | #define MODE_DEBUG0 6 |
lilac0112_1 | 0:b910276f9da2 | 79 | #define MODE_DEBUG1 7 |
lilac0112_1 | 0:b910276f9da2 | 80 | #define MODE_DEBUG2 8 |
lilac0112_1 | 0:b910276f9da2 | 81 | #define MODE_DEBUG3 9 |
lilac0112_1 | 0:b910276f9da2 | 82 | #define MODE_DEBUG4 10 |
lilac0112_1 | 0:b910276f9da2 | 83 | #define MODE_DEBUG5 11 |
lilac0112_1 | 0:b910276f9da2 | 84 | |
lilac0112_1 | 0:b910276f9da2 | 85 | typedef struct {//for active |
lilac0112_1 | 0:b910276f9da2 | 86 | char LcdStr[LCD_COLUMN_NUM]; |
lilac0112_1 | 0:b910276f9da2 | 87 | void (*ActiveFunction)(void); |
lilac0112_1 | 0:b910276f9da2 | 88 | uint16_t tag_num; |
lilac0112_1 | 0:b910276f9da2 | 89 | } ActiveItem; |
lilac0112_1 | 0:b910276f9da2 | 90 | |
lilac0112_1 | 0:b910276f9da2 | 91 | //繰り返し割り込み |
lilac0112_1 | 0:b910276f9da2 | 92 | #define DUTY_NUM 1 |
lilac0112_1 | 0:b910276f9da2 | 93 | |
lilac0112_1 | 0:b910276f9da2 | 94 | #define DUTY_SW 0 |
lilac0112_1 | 0:b910276f9da2 | 95 | #define DUTY_GYRO 1 |
lilac0112_1 | 0:b910276f9da2 | 96 | #define DUTY_PING 2 |
lilac0112_1 | 0:b910276f9da2 | 97 | #define DUTY_COLOR 3 |
lilac0112_1 | 0:b910276f9da2 | 98 | #define DUTY_MOUSE 4 |
lilac0112_1 | 0:b910276f9da2 | 99 | |
lilac0112_1 | 0:b910276f9da2 | 100 | /*PID処理*/ |
lilac0112_1 | 0:b910276f9da2 | 101 | #define RATE 0.052//52 |
lilac0112_1 | 0:b910276f9da2 | 102 | #define PID_BIAS 0.0//1.0 |
lilac0112_1 | 0:b910276f9da2 | 103 | #define REFERENCE 180.0 |
lilac0112_1 | 0:b910276f9da2 | 104 | #define MINIMUM 0.0 |
lilac0112_1 | 0:b910276f9da2 | 105 | #define MAXIMUM 359.9 |
lilac0112_1 | 0:b910276f9da2 | 106 | #define P_GAIN 1.3//1.25//0.8 //0.78 |
lilac0112_1 | 0:b910276f9da2 | 107 | #define I_GAIN 0.0 //0.0 |
lilac0112_1 | 0:b910276f9da2 | 108 | #define D_GAIN 0.01//0.01 //0.009 |
lilac0112_1 | 0:b910276f9da2 | 109 | #define OUT_LIMIT 30.0 |
lilac0112_1 | 0:b910276f9da2 | 110 | #define MAX_POW 100 |
lilac0112_1 | 0:b910276f9da2 | 111 | #define MIN_POW -100 |
lilac0112_1 | 0:b910276f9da2 | 112 | #define PID_CYCLE 0.05 //s |
lilac0112_1 | 0:b910276f9da2 | 113 | |
lilac0112_1 | 0:b910276f9da2 | 114 | #define PID_OUT_MIN 5 |
lilac0112_1 | 0:b910276f9da2 | 115 | |
lilac0112_1 | 0:b910276f9da2 | 116 | //hmc |
lilac0112_1 | 0:b910276f9da2 | 117 | #define HMC_RUN 1 |
lilac0112_1 | 0:b910276f9da2 | 118 | #define HMC_RST 0 |
lilac0112_1 | 0:b910276f9da2 | 119 | |
lilac0112_1 | 0:b910276f9da2 | 120 | //ir |
lilac0112_1 | 0:b910276f9da2 | 121 | //ir_pow_old |
lilac0112_1 | 0:b910276f9da2 | 122 | #define IR_X 0 |
lilac0112_1 | 0:b910276f9da2 | 123 | #define IR_Y 1 |
lilac0112_1 | 0:b910276f9da2 | 124 | //ir_pow |
lilac0112_1 | 0:b910276f9da2 | 125 | #define IR_X_DIR 0 |
lilac0112_1 | 0:b910276f9da2 | 126 | #define IR_Y_DIR 1 |
lilac0112_1 | 0:b910276f9da2 | 127 | #define IR_X_TURN 2 |
lilac0112_1 | 0:b910276f9da2 | 128 | #define IR_Y_TURN 3 |
lilac0112_1 | 0:b910276f9da2 | 129 | |
lilac0112_1 | 0:b910276f9da2 | 130 | #define IR_SHORT 0 |
lilac0112_1 | 0:b910276f9da2 | 131 | #define IR_LONG 1 |
lilac0112_1 | 0:b910276f9da2 | 132 | |
lilac0112_1 | 0:b910276f9da2 | 133 | #define X_AXIS 0 |
lilac0112_1 | 0:b910276f9da2 | 134 | #define Y_AXIS 1 |
lilac0112_1 | 0:b910276f9da2 | 135 | |
lilac0112_1 | 0:b910276f9da2 | 136 | |
lilac0112_1 | 0:b910276f9da2 | 137 | #define DIS_0 0x0//low_value |
lilac0112_1 | 0:b910276f9da2 | 138 | #define DIS_1 0x1 |
lilac0112_1 | 0:b910276f9da2 | 139 | #define DIS_2 0x2 |
lilac0112_1 | 0:b910276f9da2 | 140 | #define DIS_3 0x3 |
lilac0112_1 | 0:b910276f9da2 | 141 | #define DIS_4 0x4 |
lilac0112_1 | 0:b910276f9da2 | 142 | #define DIS_5 0x5 |
lilac0112_1 | 0:b910276f9da2 | 143 | #define DIS_6 0x6 |
lilac0112_1 | 0:b910276f9da2 | 144 | #define DIS_7 0x7//high_value |
lilac0112_1 | 0:b910276f9da2 | 145 | |
lilac0112_1 | 0:b910276f9da2 | 146 | //ping |
lilac0112_1 | 0:b910276f9da2 | 147 | #define L_PING 1 |
lilac0112_1 | 0:b910276f9da2 | 148 | #define R_PING 0 |
lilac0112_1 | 0:b910276f9da2 | 149 | #define F_PING 2 |
lilac0112_1 | 0:b910276f9da2 | 150 | #define B_PING 3 |
lilac0112_1 | 0:b910276f9da2 | 151 | |
lilac0112_1 | 0:b910276f9da2 | 152 | #define X_PING 0 |
lilac0112_1 | 0:b910276f9da2 | 153 | #define Y_PING 1 |
lilac0112_1 | 0:b910276f9da2 | 154 | |
lilac0112_1 | 0:b910276f9da2 | 155 | //0,1...main |
lilac0112_1 | 0:b910276f9da2 | 156 | //2,3...debug board |
lilac0112_1 | 0:b910276f9da2 | 157 | |
lilac0112_1 | 0:b910276f9da2 | 158 | //line |
lilac0112_1 | 0:b910276f9da2 | 159 | #define LINE_EMPTY 0xFF |
lilac0112_1 | 0:b910276f9da2 | 160 | |
lilac0112_1 | 0:b910276f9da2 | 161 | #define A_SPOT 0 |
lilac0112_1 | 0:b910276f9da2 | 162 | #define B_SPOT 1 |
lilac0112_1 | 0:b910276f9da2 | 163 | #define C_SPOT 2 |
lilac0112_1 | 0:b910276f9da2 | 164 | #define AB_SPOT 3 |
lilac0112_1 | 0:b910276f9da2 | 165 | |
lilac0112_1 | 0:b910276f9da2 | 166 | #define LINE_RF 5 |
lilac0112_1 | 0:b910276f9da2 | 167 | #define LINE_DELAY_1 0.5//1.0 |
lilac0112_1 | 0:b910276f9da2 | 168 | #define LINE_DELAY_2 0.125//0.5//.25 |
lilac0112_1 | 0:b910276f9da2 | 169 | #define LINE_DELAY_3 0.125//.25 |
lilac0112_1 | 0:b910276f9da2 | 170 | |
lilac0112_1 | 0:b910276f9da2 | 171 | #define LINE_REPEAT 1 |
lilac0112_1 | 0:b910276f9da2 | 172 | |
lilac0112_1 | 0:b910276f9da2 | 173 | #define L_LINE 1 |
lilac0112_1 | 0:b910276f9da2 | 174 | #define R_LINE 0 |
lilac0112_1 | 0:b910276f9da2 | 175 | #define F_LINE 2 |
lilac0112_1 | 0:b910276f9da2 | 176 | #define B_LINE 3 |
lilac0112_1 | 0:b910276f9da2 | 177 | |
lilac0112_1 | 0:b910276f9da2 | 178 | #define X_LINE 0 |
lilac0112_1 | 0:b910276f9da2 | 179 | #define Y_LINE 1 |
lilac0112_1 | 0:b910276f9da2 | 180 | |
lilac0112_1 | 0:b910276f9da2 | 181 | #define LINE_INSIDE 0 |
lilac0112_1 | 0:b910276f9da2 | 182 | #define LINE_OUTSIDE 1 |
lilac0112_1 | 0:b910276f9da2 | 183 | |
lilac0112_1 | 0:b910276f9da2 | 184 | //hard error |
lilac0112_1 | 0:b910276f9da2 | 185 | |
lilac0112_1 | 0:b910276f9da2 | 186 | #ifdef RED_CAT |
lilac0112_1 | 0:b910276f9da2 | 187 | #define LINE_FIX 0x0 |
lilac0112_1 | 0:b910276f9da2 | 188 | #define LINE_FREE 0x7 |
lilac0112_1 | 0:b910276f9da2 | 189 | |
lilac0112_1 | 0:b910276f9da2 | 190 | //右後左ド |
lilac0112_1 | 0:b910276f9da2 | 191 | #define MD_1CH (1) |
lilac0112_1 | 0:b910276f9da2 | 192 | #define MD_2CH (1) |
lilac0112_1 | 0:b910276f9da2 | 193 | #define MD_3CH (1) |
lilac0112_1 | 0:b910276f9da2 | 194 | #define MD_4CH (-1) |
lilac0112_1 | 0:b910276f9da2 | 195 | #endif /*RED_CAT*/ |
lilac0112_1 | 0:b910276f9da2 | 196 | |
lilac0112_1 | 0:b910276f9da2 | 197 | #ifdef GREEN_CAT |
lilac0112_1 | 0:b910276f9da2 | 198 | #define LINE_FIX 0x7 |
lilac0112_1 | 0:b910276f9da2 | 199 | #define LINE_FREE 0x0 |
lilac0112_1 | 0:b910276f9da2 | 200 | |
lilac0112_1 | 0:b910276f9da2 | 201 | //右後左ド |
lilac0112_1 | 0:b910276f9da2 | 202 | #define MD_1CH (1) |
lilac0112_1 | 0:b910276f9da2 | 203 | #define MD_2CH (1) |
lilac0112_1 | 0:b910276f9da2 | 204 | #define MD_3CH (-1) |
lilac0112_1 | 0:b910276f9da2 | 205 | #define MD_4CH (-1) |
lilac0112_1 | 0:b910276f9da2 | 206 | #endif /*GREEN_CAT*/ |
lilac0112_1 | 0:b910276f9da2 | 207 | |
lilac0112_1 | 0:b910276f9da2 | 208 | |
lilac0112_1 | 0:b910276f9da2 | 209 | //思考パターン |
lilac0112_1 | 0:b910276f9da2 | 210 | #define STRATEGY_NUM 12 |
lilac0112_1 | 0:b910276f9da2 | 211 | |
lilac0112_1 | 0:b910276f9da2 | 212 | //計算 |
lilac0112_1 | 0:b910276f9da2 | 213 | #define ROUND(x) ((x > 0) ? (x + 0.5) : (x - 0.5))//x...整数 |
lilac0112_1 | 0:b910276f9da2 | 214 | #define PI 3.14159265358979323846 |
lilac0112_1 | 0:b910276f9da2 | 215 | #define DEG2RAD(deg) (PI*(deg)/180.0) |
lilac0112_1 | 0:b910276f9da2 | 216 | #define RAD2DEG(rad) (180.0(rad)/PI) |
lilac0112_1 | 0:b910276f9da2 | 217 | |
lilac0112_1 | 0:b910276f9da2 | 218 | //データ |
lilac0112_1 | 0:b910276f9da2 | 219 | typedef struct { |
lilac0112_1 | 0:b910276f9da2 | 220 | //cmps&pid |
lilac0112_1 | 0:b910276f9da2 | 221 | double cmps, CmpsInitialValue, CmpsInitialValue2, CmpsInitialValue0, CmpsDiff;//0<x<360 |
lilac0112_1 | 0:b910276f9da2 | 222 | int16_t FrontDeg, AtkDeg, HoldDeg, GoalDeg; |
lilac0112_1 | 0:b910276f9da2 | 223 | //正...右回転 |
lilac0112_1 | 0:b910276f9da2 | 224 | //負...左回転 |
lilac0112_1 | 0:b910276f9da2 | 225 | double InputPID;//<<gyrosensor |
lilac0112_1 | 0:b910276f9da2 | 226 | int16_t OutputPID;//>>motor |
lilac0112_1 | 0:b910276f9da2 | 227 | } CompassVal; |
lilac0112_1 | 0:b910276f9da2 | 228 | typedef struct { |
lilac0112_1 | 0:b910276f9da2 | 229 | //ping |
lilac0112_1 | 0:b910276f9da2 | 230 | uint8_t ping[4]; |
lilac0112_1 | 0:b910276f9da2 | 231 | //line |
lilac0112_1 | 0:b910276f9da2 | 232 | uint8_t lineSpot[3]; |
lilac0112_1 | 0:b910276f9da2 | 233 | uint8_t lnFlag[3]; |
lilac0112_1 | 0:b910276f9da2 | 234 | uint8_t NonWall[4]; |
lilac0112_1 | 0:b910276f9da2 | 235 | uint8_t NearWall[2]; |
lilac0112_1 | 0:b910276f9da2 | 236 | uint8_t ReturnDir[2]; |
lilac0112_1 | 0:b910276f9da2 | 237 | |
lilac0112_1 | 0:b910276f9da2 | 238 | uint8_t lnHold; |
lilac0112_1 | 0:b910276f9da2 | 239 | uint8_t lnRaw; |
lilac0112_1 | 0:b910276f9da2 | 240 | uint8_t lnRawMemory[3]; |
lilac0112_1 | 0:b910276f9da2 | 241 | uint8_t lnRawOrder[3];//first_second_third |
lilac0112_1 | 0:b910276f9da2 | 242 | uint8_t lnRawOrderLog1[3];//first_second_third |
lilac0112_1 | 0:b910276f9da2 | 243 | uint8_t lnRawOrderLog2[3];//first_second_third |
lilac0112_1 | 0:b910276f9da2 | 244 | uint8_t lnRawRise[3]; |
lilac0112_1 | 0:b910276f9da2 | 245 | uint8_t lnRawReturn; |
lilac0112_1 | 0:b910276f9da2 | 246 | uint8_t lnRawLastRise; |
lilac0112_1 | 0:b910276f9da2 | 247 | uint8_t lnStop[2]; |
lilac0112_1 | 0:b910276f9da2 | 248 | //uint8_t lnStay[2]; |
lilac0112_1 | 0:b910276f9da2 | 249 | uint8_t lnStay[2]; |
lilac0112_1 | 0:b910276f9da2 | 250 | uint8_t lnStayNow[2]; |
lilac0112_1 | 0:b910276f9da2 | 251 | uint8_t lnCorner[4]; |
lilac0112_1 | 0:b910276f9da2 | 252 | uint8_t lnRepeat; |
lilac0112_1 | 0:b910276f9da2 | 253 | uint8_t FieldSpot;//0...inside,1...outside |
lilac0112_1 | 0:b910276f9da2 | 254 | uint8_t lnOrder[3];//first_second_third |
lilac0112_1 | 0:b910276f9da2 | 255 | |
lilac0112_1 | 0:b910276f9da2 | 256 | uint8_t lnState; |
lilac0112_1 | 0:b910276f9da2 | 257 | /*uint8_t LineFlag[3]; |
lilac0112_1 | 0:b910276f9da2 | 258 | uint8_t LinePriority[3]; |
lilac0112_1 | 0:b910276f9da2 | 259 | uint8_t LineBind[3];*/ |
lilac0112_1 | 0:b910276f9da2 | 260 | //ir(spi) |
lilac0112_1 | 0:b910276f9da2 | 261 | uint8_t irKey;//2bit |
lilac0112_1 | 0:b910276f9da2 | 262 | uint8_t irValPhase[2];//3*2bit |
lilac0112_1 | 0:b910276f9da2 | 263 | uint8_t irDif[2];//3bit |
lilac0112_1 | 0:b910276f9da2 | 264 | uint8_t irPosition;//5bit |
lilac0112_1 | 0:b910276f9da2 | 265 | |
lilac0112_1 | 0:b910276f9da2 | 266 | uint8_t irSpot[2];//4*2bit//old |
lilac0112_1 | 0:b910276f9da2 | 267 | //ir(playing) |
lilac0112_1 | 0:b910276f9da2 | 268 | uint8_t irNotice; |
lilac0112_1 | 0:b910276f9da2 | 269 | uint8_t irLastNotice; |
lilac0112_1 | 0:b910276f9da2 | 270 | uint8_t irStayNotice; |
lilac0112_1 | 0:b910276f9da2 | 271 | uint8_t irLastPosition; |
lilac0112_1 | 0:b910276f9da2 | 272 | //ball |
lilac0112_1 | 0:b910276f9da2 | 273 | uint8_t ball; |
lilac0112_1 | 0:b910276f9da2 | 274 | } SensorVal; |
lilac0112_1 | 0:b910276f9da2 | 275 | typedef struct { |
lilac0112_1 | 0:b910276f9da2 | 276 | //system,flag |
lilac0112_1 | 0:b910276f9da2 | 277 | uint8_t strategy; |
lilac0112_1 | 0:b910276f9da2 | 278 | uint16_t jump_flag;//0<=x<=JUMP_TAG_NUM |
lilac0112_1 | 0:b910276f9da2 | 279 | uint8_t stopflag; |
lilac0112_1 | 0:b910276f9da2 | 280 | uint8_t KickOffFlag; |
lilac0112_1 | 0:b910276f9da2 | 281 | uint8_t DribbleFlag; |
lilac0112_1 | 0:b910276f9da2 | 282 | uint8_t KickStopFlag; |
lilac0112_1 | 0:b910276f9da2 | 283 | uint8_t TurnStopFlag; |
lilac0112_1 | 0:b910276f9da2 | 284 | |
lilac0112_1 | 0:b910276f9da2 | 285 | uint8_t BallHoldJudgeFlag; |
lilac0112_1 | 0:b910276f9da2 | 286 | uint8_t BallHoldFlag; |
lilac0112_1 | 0:b910276f9da2 | 287 | |
lilac0112_1 | 0:b910276f9da2 | 288 | uint8_t BackHomeFlag; |
lilac0112_1 | 0:b910276f9da2 | 289 | uint8_t HomeStayFlag[2]; |
lilac0112_1 | 0:b910276f9da2 | 290 | uint8_t TurnStartFlag; |
lilac0112_1 | 0:b910276f9da2 | 291 | uint8_t MotorFlag; |
lilac0112_1 | 0:b910276f9da2 | 292 | uint8_t InfoFlag; |
lilac0112_1 | 0:b910276f9da2 | 293 | //uint8_t PidFlag; |
lilac0112_1 | 0:b910276f9da2 | 294 | uint8_t DefenceFlag; |
lilac0112_1 | 0:b910276f9da2 | 295 | //blind//on...1/off...0 |
lilac0112_1 | 0:b910276f9da2 | 296 | uint8_t IrBlind; |
lilac0112_1 | 0:b910276f9da2 | 297 | uint8_t LineBlind; |
lilac0112_1 | 0:b910276f9da2 | 298 | uint8_t PingBlind; |
lilac0112_1 | 0:b910276f9da2 | 299 | |
lilac0112_1 | 0:b910276f9da2 | 300 | uint8_t DriBlind; |
lilac0112_1 | 0:b910276f9da2 | 301 | uint8_t DriMotorBlind; |
lilac0112_1 | 0:b910276f9da2 | 302 | uint8_t TurnAtkBlind; |
lilac0112_1 | 0:b910276f9da2 | 303 | uint8_t TurnDriBlind; |
lilac0112_1 | 0:b910276f9da2 | 304 | uint8_t TurnHoldBlind; |
lilac0112_1 | 0:b910276f9da2 | 305 | uint8_t KickBlind; |
lilac0112_1 | 0:b910276f9da2 | 306 | uint8_t HomeBlind; |
lilac0112_1 | 0:b910276f9da2 | 307 | |
lilac0112_1 | 0:b910276f9da2 | 308 | //motor |
lilac0112_1 | 0:b910276f9da2 | 309 | uint8_t pow_num; |
lilac0112_1 | 0:b910276f9da2 | 310 | uint8_t s_pow; |
lilac0112_1 | 0:b910276f9da2 | 311 | uint8_t m_pow; |
lilac0112_1 | 0:b910276f9da2 | 312 | uint8_t l_pow; |
lilac0112_1 | 0:b910276f9da2 | 313 | uint8_t dri_pow; |
lilac0112_1 | 0:b910276f9da2 | 314 | uint8_t ir_pow_table; |
lilac0112_1 | 0:b910276f9da2 | 315 | } SystemVal; |
lilac0112_1 | 0:b910276f9da2 | 316 | |
lilac0112_1 | 0:b910276f9da2 | 317 | #endif |