Pre-test

Dependencies:   LinkedList mbed-rtos mbed

Committer:
Khanchana
Date:
Mon Apr 09 15:57:36 2018 +0000
Revision:
0:d98bd8b7dc46
Pre-test

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Khanchana 0:d98bd8b7dc46 1 #include "mbed.h"
Khanchana 0:d98bd8b7dc46 2 #include "rtos.h"
Khanchana 0:d98bd8b7dc46 3 #include "attitude.h"
Khanchana 0:d98bd8b7dc46 4 #include "LinkedList.h"
Khanchana 0:d98bd8b7dc46 5
Khanchana 0:d98bd8b7dc46 6 LinkedList<int>command;
Khanchana 0:d98bd8b7dc46 7
Khanchana 0:d98bd8b7dc46 8 Serial pc(USBTX,USBRX);
Khanchana 0:d98bd8b7dc46 9
Khanchana 0:d98bd8b7dc46 10 Timer timer1;
Khanchana 0:d98bd8b7dc46 11 Timer timerwalk;
Khanchana 0:d98bd8b7dc46 12
Khanchana 0:d98bd8b7dc46 13 Thread thread1;
Khanchana 0:d98bd8b7dc46 14 Thread thread2;
Khanchana 0:d98bd8b7dc46 15
Khanchana 0:d98bd8b7dc46 16 void IMU();
Khanchana 0:d98bd8b7dc46 17 void move();
Khanchana 0:d98bd8b7dc46 18
Khanchana 0:d98bd8b7dc46 19 int walking_time;
Khanchana 0:d98bd8b7dc46 20 int i = 1;
Khanchana 0:d98bd8b7dc46 21 int n = 0;
Khanchana 0:d98bd8b7dc46 22
Khanchana 0:d98bd8b7dc46 23 list<int> command;
Khanchana 0:d98bd8b7dc46 24
Khanchana 0:d98bd8b7dc46 25 int main() {
Khanchana 0:d98bd8b7dc46 26 pc.baud(1000000);
Khanchana 0:d98bd8b7dc46 27 timer1.start();
Khanchana 0:d98bd8b7dc46 28 pc.printf("start\n");
Khanchana 0:d98bd8b7dc46 29 thread1.start(move);
Khanchana 0:d98bd8b7dc46 30 thread2.start(IMU);
Khanchana 0:d98bd8b7dc46 31 }
Khanchana 0:d98bd8b7dc46 32
Khanchana 0:d98bd8b7dc46 33 void move(){
Khanchana 0:d98bd8b7dc46 34 wait(5);
Khanchana 0:d98bd8b7dc46 35 while(n<10){
Khanchana 0:d98bd8b7dc46 36 wait(0.01);
Khanchana 0:d98bd8b7dc46 37 pc.printf("%d\n", command(n));
Khanchana 0:d98bd8b7dc46 38 n = n+1;
Khanchana 0:d98bd8b7dc46 39 }
Khanchana 0:d98bd8b7dc46 40 }
Khanchana 0:d98bd8b7dc46 41
Khanchana 0:d98bd8b7dc46 42 void IMU()
Khanchana 0:d98bd8b7dc46 43 {
Khanchana 0:d98bd8b7dc46 44 while(1) {
Khanchana 0:d98bd8b7dc46 45 if (timer1.read_us() >= 1000)// read time in ms
Khanchana 0:d98bd8b7dc46 46 {
Khanchana 0:d98bd8b7dc46 47 attitude_get();
Khanchana 0:d98bd8b7dc46 48 //pc.printf("IMU");
Khanchana 0:d98bd8b7dc46 49 //pc.printf(" %f \n", ax*10 );
Khanchana 0:d98bd8b7dc46 50 //pc.printf(" %f \t", ay*10 );
Khanchana 0:d98bd8b7dc46 51 //pc.printf(" %f \t", az*10 -10); //cm/s*s
Khanchana 0:d98bd8b7dc46 52
Khanchana 0:d98bd8b7dc46 53 //pc.printf(" %f \t", gx );
Khanchana 0:d98bd8b7dc46 54 //pc.printf(" %f \t", gy );
Khanchana 0:d98bd8b7dc46 55 //pc.printf(" %f \t", gz ); //deg/s */
Khanchana 0:d98bd8b7dc46 56 //pc.printf("%.0f\t %.0f \t %.0f \n\r", roll, pitch, yaw);
Khanchana 0:d98bd8b7dc46 57 command(i) = roll;
Khanchana 0:d98bd8b7dc46 58 i = i+1;
Khanchana 0:d98bd8b7dc46 59 timer1.reset(); // reset timer
Khanchana 0:d98bd8b7dc46 60 }
Khanchana 0:d98bd8b7dc46 61 }
Khanchana 0:d98bd8b7dc46 62 }
Khanchana 0:d98bd8b7dc46 63