The subsystem design/basis for the final project

Dependencies:   mbed-rtos mbed-src pixylib

global.h

Committer:
balsamfir
Date:
2016-03-28
Revision:
16:73db7ef2deb6
Parent:
15:caa5a93a31d7
Child:
17:47e107f9587b

File content as of revision 16:73db7ef2deb6:

#include "mbed.h"
#include "rtos.h"
#include "Pixy.h"
#include "PeriodicPI.h"

// ----------------------------------------------------------------
// Contains common defintions share between modes
// ----------------------------------------------------------------


// Preprocessor Definitions
// ----------------------------------------------------------------
#define SPEED_MAX 30 // rads/s
#define MAX_BLOCKS 1
#define X_SETPOINT 160
#define HEIGHT_SETPOINT 90
#define TARGET_DECIMAL 10 

#define PWM_PERIOD 0.001
#define MOTOR_PERIOD 0.001
#define NAVIGATION_PERIOD 0.0167 // 60 times/sec

#define MOTOR_KP 0.000120
#define MOTOR_KI 0.0000001

#define STEERING_KP 0.06
#define STEERING_KI 0

#define SPEED_KP 0.4
#define SPEED_KI 0


// Global variables
// ----------------------------------------------------------------
// IO Port
extern DigitalOut led1;
extern DigitalOut led2;
extern DigitalOut led3;
extern DigitalOut led4;
extern DigitalOut leftDir;
extern DigitalOut rightDir;
extern DigitalOut spiReset;
extern DigitalOut ioReset;

// Comunication 
extern SPI deSpi;
extern Pixy pixy;
extern Serial pc; // PC serial channel
extern Serial bt; // Bluetooth serial channel

// Control
extern PeriodicPI leftMotorPI;
extern PeriodicPI rightMotorPI;
extern PeriodicPI heightPI;
extern PeriodicPI xPI;

// Other
extern PwmOut leftPwm; 
extern PwmOut rightPwm; 
extern InterruptIn bumper;  // External interrupt pin declared as Bumper

// Method prototypes
char flushBuffer(void);
float QE2RadsPerSec(short counts, short time);