The subsystem design/basis for the final project

Dependencies:   mbed-rtos mbed-src pixylib

global.cpp

Committer:
balsamfir
Date:
2016-03-25
Revision:
6:52686c25e4af
Parent:
5:f655435d0782
Child:
7:5ef312aa2678

File content as of revision 6:52686c25e4af:

#include "global.h"

// IO Port
DigitalOut led1(LED1);
DigitalOut led2(LED2);
DigitalOut led3(LED3);
DigitalOut led4(LED4);
DigitalOut leftDir(p24); //
DigitalOut rightDir(p22); //
DigitalOut spiReset(p8); //changed
DigitalOut ioReset(p14); //

// Comunication 
SPI deSpi(p5, p6, p7);
Pixy pixy(Pixy::SPI, p11, p12, p13);
Serial pc(USBTX, USBRX); // PC serial channel
Serial bt(p28, p27); // Bluetooth serial channel

// Control
PeriodicPI leftMotorPI(MOTOR_PERIOD, MOTOR_KP, MOTOR_KI);
PeriodicPI rightMotorPI(MOTOR_PERIOD, MOTOR_KP, MOTOR_KI);
PeriodicPI heightPI(NAVIGATION_PERIOD, SPEED_KP, SPEED_KI);
PeriodicPI xPI(NAVIGATION_PERIOD, STEERING_KP, STEERING_KI);

// Other
PwmOut leftPwm(p23); //
PwmOut rightPwm(p21); //
InterruptIn bumper(p25);

// Converts measurements from the QE2 to rads/sec
float QE2RadsPerSec(short counts, short time) {  
    int cnt32;   
    if (counts & 0x00008000) {
        cnt32 = counts | 0xFFFF0000;
    } else {
        cnt32 = counts;
    }   
    return (cnt32*122.62)/time;
}