Main Program

Dependencies:   mbed AQM1602 HMC6352 PID

setting/def.h

Committer:
lilac0112_1
Date:
2016-01-21
Revision:
19:342da3a5a474
Parent:
18:97eba56f82e4
Child:
21:d69a8f3c76e1

File content as of revision 19:342da3a5a474:

#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

//MPU6050関連
//config.h

/*PID処理*/
#define RATE    0.052//52
#define PID_BIAS    0.2
#define REFERENCE   180.0
#define MINIMUM     0.0
#define MAXIMUM     359.9
#define P_GAIN  1.4//1.4    //0.78   
#define I_GAIN  0.0     //0.0
#define D_GAIN  0.05  //0.009
#define OUT_LIMIT   30.0
#define MAX_POW     100
#define MIN_POW     -100
#define PID_CYCLE   0.05   //s

//思考パターン
#define STRATEGY_NUM 1

//計算
#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
    uint8_t ping[2];
    uint8_t irPosition;
    uint8_t irState;
    uint8_t rawLn;
    uint8_t heldLn;
    uint8_t ball;
    uint8_t AvailableKick;
    int32_t mouse[2];//0...x,1...y//1cm nearlyeq 1000count
    uint16_t gyro, GyroInitialValue, FrontDeg;//0<x<3599
    uint16_t InputPID;//<<gyrosensor
    uint16_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