hello

main.h

Committer:
akudohune
Date:
2013-05-04
Revision:
0:79ccc03117ea

File content as of revision 0:79ccc03117ea:



#define RATE    0.052
#define Long    1.0
#define ENTER   0
#define EXIT    1
#define MOT_NUM 4
#define MOTDRIVER_WAIT  300 //ms
#define BAUD_RATE       115200
#define BAUD_RATE2      19200
#define BUT_WAIT        0.3 //s
#define ON      1
#define OFF     0

#define PING_ERROR  0xFFFF

#define MOT1    1.0
#define MOT2    1.0
#define MOT3    1.0
#define MOT4    1.0

#define PID_BIAS    0.0
#define REFERENCE   180.0
#define MINIMUM     0.0
#define MAXIMUM     360.0

#define PID_CYCLE   0.06    //s

#define P_GAIN  0.70    
#define I_GAIN  0.0
#define D_GAIN  0.010

#define OUT_LIMIT   30.0
#define MAX_POW     100
#define MIN_POW     -100

DigitalOut led1(LED1); 
DigitalOut led2(LED2);
DigitalOut led3(LED3);
DigitalOut led4(LED4);
BusOut mbedleds(LED4,LED3,LED2,LED1); 
HMC6352 compass(p9, p10);
Serial driver(p28, p27);    // tx, rx 
Serial device2(p13, p14);   // tx, rx
//Serial pc(USBTX, USBRX);    // tx, rx 
DigitalIn StartButton(p21);
DigitalIn CalibEnterButton(p22);
DigitalIn CalibExitButton(p23);
DigitalIn EEPROMButton(p24);
PID pid(P_GAIN,I_GAIN,D_GAIN, RATE);      //battery is low power version 30.0 0.58 1.0 0.015    battery is high power version   30.0 0.42, 1.0, 0.013   power is low but perfect 20.0 0.45, 0.0, 0.010
Ticker pidUpdata;
Timer timer1;
Timer Survtimer;
LocalFileSystem local("local");  // マウントポイントを定義(ディレクトリパスになる)

enum{
    HOME_WAIT,
    DIFFENCE,
    WARNING,
    HOLD,
};


double standTu = 0;
int speed[MOT_NUM] = {0};
uint8_t hold_flag = 0;
uint8_t state = HOME_WAIT;

double inputPID = 180.0;
static double standard;
double compassPID = 0.0;

extern int diff;

extern string StringFIN;

extern uint8_t direction;
extern uint8_t Distance;
extern uint8_t IR_found;
extern uint8_t xbee;

extern void array(int,int,int,int);

extern void dev_rx(void);
extern void dev_tx(void);

extern uint16_t ultrasonicVal[4];

#define FRONT_SONIC ultrasonicVal[0]
#define BACK_SONIC  ultrasonicVal[2]
#define RIGHT_SONIC ultrasonicVal[1]
#define LEFT_SONIC  ultrasonicVal[3]