Junjie Wang / Mbed OS humanoid

Dependencies:   LSM6DSL

Fork of a_NYP_humanoid by Lin ShengKun

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "rtos.h"
00003 #include "servo.h"
00004 #include "accgyro.h"
00005 //Serial pc(USBTX, USBRX);
00006 DigitalOut led2(LED2);
00007 Thread event_thread;
00008 Thread ACCGYRO_thread;
00009 Thread SERVO_thread;
00010 EventQueue event_queue;
00011 
00012 int main()
00013 {   
00014     ACCGYRO_thread.start(ACCGYRO_init);
00015     SERVO_thread.start(SERVO_init);
00016     //SERVO_init();
00017     //event_thread.start(callback(&event_queue, &EventQueue::dispatch_forever));
00018     //ACCGYRO_init();
00019     event_thread.start(callback(&event_queue, &EventQueue::dispatch_forever));
00020     //Thread::wait(osWaitForever);
00021     event_queue.call_every(1000, SERVO_task);
00022     event_queue.call_every(1000, ACCGYRO_task);
00023     //q.dispatch();
00024     //eventqueue.call_every(1000,printf,"LSM6DSL [acc/mg]:        %6ld\r\n", ACCGYRO_get_gyro_x());
00025     //q.dispatch();
00026     while(1)
00027     {
00028         //eventqueue.call(printf,"LSM6DSL [acc/mg]:        %6ld\r\n", ACCGYRO_get_gyro_x());
00029         led2 = !led2;
00030         wait(1);
00031         //q.dispatch();
00032         //q.call(printf, "*\n"); 
00033         //printf("*");
00034         //Thread::wait(1000);
00035         //printf("LSM6DSL [acc/mg]:        %6ld\r\n", ACCGYRO_get_gyro_x());
00036         //printf("LSM6DSL [gyro/mdps]:     %6ld, %6ld, %6ld\r\n", axes[0], axes[1], axes[2]);
00037     }
00038 }