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)
main.cpp@0:7ccd56e1c3b1, 2010-08-11 (annotated)
- Committer:
- agiembed
- Date:
- Wed Aug 11 01:23:42 2010 +0000
- Revision:
- 0:7ccd56e1c3b1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
agiembed | 0:7ccd56e1c3b1 | 1 | #include "mbed.h" |
agiembed | 0:7ccd56e1c3b1 | 2 | #include "Set_up.h" |
agiembed | 0:7ccd56e1c3b1 | 3 | #include "data_struct.h" |
agiembed | 0:7ccd56e1c3b1 | 4 | #include "ahrs.h" |
agiembed | 0:7ccd56e1c3b1 | 5 | #include "to_gcs.h" |
agiembed | 0:7ccd56e1c3b1 | 6 | #include "i2C.h" |
agiembed | 0:7ccd56e1c3b1 | 7 | #include "rcrx.h" |
agiembed | 0:7ccd56e1c3b1 | 8 | |
agiembed | 0:7ccd56e1c3b1 | 9 | int main() { |
agiembed | 0:7ccd56e1c3b1 | 10 | setup(); |
agiembed | 0:7ccd56e1c3b1 | 11 | SendData.attach(&toGCS, 0.02777); |
agiembed | 0:7ccd56e1c3b1 | 12 | Proccess.attach(&eyetosee, 0.1); |
agiembed | 0:7ccd56e1c3b1 | 13 | ahrs.attach(&ahrs_rec); |
agiembed | 0:7ccd56e1c3b1 | 14 | rc.rise(&PPM_rise); // attach the address of the PPM_rise function to the rising edge |
agiembed | 0:7ccd56e1c3b1 | 15 | rc.fall(&PPM_fall); // attach the address of the PPM_fall function to the falling edge |
agiembed | 0:7ccd56e1c3b1 | 16 | wait(0.5); |
agiembed | 0:7ccd56e1c3b1 | 17 | |
agiembed | 0:7ccd56e1c3b1 | 18 | while(1) { |
agiembed | 0:7ccd56e1c3b1 | 19 | eyetosee(); |
agiembed | 0:7ccd56e1c3b1 | 20 | myled = !myled; |
agiembed | 0:7ccd56e1c3b1 | 21 | for(char i=0; i<6; i++){ |
agiembed | 0:7ccd56e1c3b1 | 22 | printf("%d\t", buf_ppm[i]); |
agiembed | 0:7ccd56e1c3b1 | 23 | if(i == 5) printf("\n"); |
agiembed | 0:7ccd56e1c3b1 | 24 | wait(0.02); |
agiembed | 0:7ccd56e1c3b1 | 25 | } |
agiembed | 0:7ccd56e1c3b1 | 26 | } |
agiembed | 0:7ccd56e1c3b1 | 27 | } |