Read IMU data at Serial port (p28, p27), data rate <100Hz @115200bps Read 5 channels PPM signal at p11 using InterruptIn Send data via RF Modem at serial port (p13, p14) in 36Hz @115200 Drive i2C motor speed controller at I2C port (p9, p10) in every 10mS (control loop delay time)

Dependencies:   mbed

Committer:
agiembed
Date:
Wed Aug 11 01:23:42 2010 +0000
Revision:
0:7ccd56e1c3b1

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
agiembed 0:7ccd56e1c3b1 1 Timer tick;
agiembed 0:7ccd56e1c3b1 2 InterruptIn rc(p11);
agiembed 0:7ccd56e1c3b1 3 short buf_ppm[5];
agiembed 0:7ccd56e1c3b1 4 char i = 0;
agiembed 0:7ccd56e1c3b1 5
agiembed 0:7ccd56e1c3b1 6 void PPM_rise() {
agiembed 0:7ccd56e1c3b1 7 tick.stop(); // Stop timer
agiembed 0:7ccd56e1c3b1 8 buf_ppm[i]=tick.read_us(); // Read timer to buffer[i] i=turns
agiembed 0:7ccd56e1c3b1 9 tick.reset(); // Reset timer
agiembed 0:7ccd56e1c3b1 10 i++; // increment i.
agiembed 0:7ccd56e1c3b1 11 if (i==6) i = 0;
agiembed 0:7ccd56e1c3b1 12 return;
agiembed 0:7ccd56e1c3b1 13 }
agiembed 0:7ccd56e1c3b1 14
agiembed 0:7ccd56e1c3b1 15 void PPM_fall() { // Rising edge on the serial comm
agiembed 0:7ccd56e1c3b1 16 tick.start(); // Start the timer
agiembed 0:7ccd56e1c3b1 17 return;
agiembed 0:7ccd56e1c3b1 18 }