final cup

Dependencies:   HMC6352 PID mbed

main.h

Committer:
akudohune
Date:
2013-04-29
Revision:
0:2eebd0301c66

File content as of revision 0:2eebd0301c66:



#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 OUT_LIMIT   20.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(0.60, 0.0, 0.010, 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 Ctimer;
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;

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

extern int diff;

extern string StringFIN;

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

extern void PidUpdata(void);
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]