Main Program
Dependencies: mbed AQM1602 HMC6352 PID
setting/def.h
- Committer:
- lilac0112_1
- Date:
- 2016-02-02
- Revision:
- 34:69bdf29a4442
- Parent:
- 31:0b0f64831771
- Child:
- 42:02aaa806d929
File content as of revision 34:69bdf29a4442:
#ifndef _DEF_H_ #define _DEF_H_ //BT(BlueTooth) #define DATA_NUM 8+2//2byte→KEYCODE(拝啓)とCHECKCODE(敬具) 8byte→やりとりするデータ #define TX_KEYCODE 0xAA//あちらのKEYCODE #define RX_KEYCODE 0xAA//こちらのKEYCODE #define KEY 0//KEYCODEは配列の最初 #define CHECK DATA_NUM-1//CHECKCODEは配列の最後 //Switch 入力値 #define NONE 0 #define UP 1 #define DOWN 2 #define RIGHT 3 #define LEFT 4 //Lcd 設定値 #define BUFSIZE 10 #define STATE_NUM_X 0x04 #define STATE_NUM_Y 0x10 //繰り返し割り込み #define DUTY_NUM 1 #define DUTY_SW 0 #define DUTY_GYRO 1 #define DUTY_PING 2 #define DUTY_COLOR 3 #define DUTY_MOUSE 4 /*PID処理*/ #define RATE 0.052//52 #define PID_BIAS 1.0 #define REFERENCE 180.0 #define MINIMUM 0.0 #define MAXIMUM 359.9 #define P_GAIN 1.3//1.25//0.8 //0.78 #define I_GAIN 0.0 //0.0 #define D_GAIN 0.01//0.01 //0.009 #define OUT_LIMIT 30.0 #define MAX_POW 100 #define MIN_POW -100 #define PID_CYCLE 0.05 //s //ir #define IR_X 0 #define IR_Y 1 #define IR_SHORT 0 #define IR_LONG 1 #define X_AXIS 0 #define Y_AXIS 1 //line #define A_SPOT 0 #define B_SPOT 1 #define C_SPOT 2 #define AB_SPOT 3 #define LINE_RF 5 #define RELEASE_VAL 150 //思考パターン #define STRATEGY_NUM 12 //計算 #define ROUND(x) ((x > 0) ? (x + 0.5) : (x - 0.5))//x...整数 #define PI 3.14159265358979323846 #define DEG2RAD(deg) (PI*(deg)/180.0) #define RAD2DEG(rad) (180.0(rad)/PI) //データ typedef struct {//ir,line,gyro,mouse,ping //ping uint8_t ping[2]; //ir uint8_t irKey; uint8_t irNotice; uint8_t irSpot[2]; uint8_t irPosition; uint8_t IrFlag; //line uint8_t lnFlag[3]; uint8_t ball; uint8_t KickOffFlag; //uint8_t LineBind[4];//宣言すると動かない⇒構造体の限界 uint8_t KickFlag; int32_t mouse[2];//0...x,1...y//1cm nearlyeq 1000count //motor int32_t motorlog[2]; uint8_t MotorFlag; double s_pow; double l_pow; //cmps&pid uint8_t PidFlag; double cmps, CmpsInitialValue, CmpsDiff, FrontDeg;//0<x<360 double InputPID;//<<gyrosensor int16_t OutputPID;//>>motor //uint8_t color[3]; //uint8_t lcdpoint[2];//0...x,1...y uint8_t strategy; uint8_t init_point_flag; uint8_t stopflag; } Record; #endif