Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp@1:b36bbc1c6d27, 2020-04-11 (annotated)
- Committer:
- demayer
- Date:
- Sat Apr 11 08:15:48 2020 +0000
- Revision:
- 1:b36bbc1c6d27
- Parent:
- 0:6bf0743ece18
IMU-library in .h und .cpp file aufgeteilt
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| demayer | 0:6bf0743ece18 | 1 | #include "mbed.h" |
| demayer | 0:6bf0743ece18 | 2 | #include "mbed_events.h" |
| demayer | 0:6bf0743ece18 | 3 | #include "MPU9250.h" |
| demayer | 0:6bf0743ece18 | 4 | |
| demayer | 1:b36bbc1c6d27 | 5 | #define SAMPLE_TIME 100 |
| demayer | 1:b36bbc1c6d27 | 6 | |
| demayer | 0:6bf0743ece18 | 7 | DigitalOut led1(LED1); |
| demayer | 0:6bf0743ece18 | 8 | InterruptIn sw(USER_BUTTON); |
| demayer | 0:6bf0743ece18 | 9 | |
| demayer | 0:6bf0743ece18 | 10 | Thread eventthread; |
| demayer | 0:6bf0743ece18 | 11 | Thread imuthread; |
| demayer | 0:6bf0743ece18 | 12 | bool read_imu_isrunning; |
| demayer | 0:6bf0743ece18 | 13 | |
| demayer | 0:6bf0743ece18 | 14 | |
| demayer | 0:6bf0743ece18 | 15 | // Pin defines |
| demayer | 0:6bf0743ece18 | 16 | DigitalOut led_green(D4); |
| demayer | 0:6bf0743ece18 | 17 | |
| demayer | 0:6bf0743ece18 | 18 | //----------------------------------------------------- |
| demayer | 0:6bf0743ece18 | 19 | //IMU |
| demayer | 0:6bf0743ece18 | 20 | //----------------------------------------------------- |
| demayer | 0:6bf0743ece18 | 21 | |
| demayer | 0:6bf0743ece18 | 22 | void rise_handler(void) |
| demayer | 0:6bf0743ece18 | 23 | { |
| demayer | 0:6bf0743ece18 | 24 | printf("rise_handler in context %p\r\n", Thread::gettid()); |
| demayer | 0:6bf0743ece18 | 25 | // Toggle LED |
| demayer | 0:6bf0743ece18 | 26 | led1 = !led1; |
| demayer | 0:6bf0743ece18 | 27 | for (int i = 0; i<10; i++) { |
| demayer | 0:6bf0743ece18 | 28 | led_green = !led_green; |
| demayer | 0:6bf0743ece18 | 29 | wait(0.5); |
| demayer | 0:6bf0743ece18 | 30 | } |
| demayer | 0:6bf0743ece18 | 31 | } |
| demayer | 0:6bf0743ece18 | 32 | |
| demayer | 0:6bf0743ece18 | 33 | void fall_handler(void) |
| demayer | 0:6bf0743ece18 | 34 | { |
| demayer | 0:6bf0743ece18 | 35 | printf("fall_handler in context %p\r\n", Thread::gettid()); |
| demayer | 0:6bf0743ece18 | 36 | // Toggle LED |
| demayer | 0:6bf0743ece18 | 37 | led1 = !led1; |
| demayer | 0:6bf0743ece18 | 38 | } |
| demayer | 0:6bf0743ece18 | 39 | |
| demayer | 0:6bf0743ece18 | 40 | |
| demayer | 0:6bf0743ece18 | 41 | |
| demayer | 0:6bf0743ece18 | 42 | |
| demayer | 0:6bf0743ece18 | 43 | |
| demayer | 0:6bf0743ece18 | 44 | |
| demayer | 0:6bf0743ece18 | 45 | int main() |
| demayer | 0:6bf0743ece18 | 46 | { |
| demayer | 1:b36bbc1c6d27 | 47 | //pc.baud(9600); |
| demayer | 1:b36bbc1c6d27 | 48 | //imuSetup(); |
| demayer | 1:b36bbc1c6d27 | 49 | //imuthread.start(readIMU); |
| demayer | 0:6bf0743ece18 | 50 | |
| demayer | 0:6bf0743ece18 | 51 | // Request the shared queue |
| demayer | 0:6bf0743ece18 | 52 | EventQueue *queue = mbed_event_queue(); |
| demayer | 1:b36bbc1c6d27 | 53 | //printf("Starting in context %p\r\n", Thread::gettid()); |
| demayer | 0:6bf0743ece18 | 54 | |
| demayer | 0:6bf0743ece18 | 55 | // The 'rise' handler will execute in IRQ context |
| demayer | 0:6bf0743ece18 | 56 | sw.rise(queue->event(rise_handler)); |
| demayer | 0:6bf0743ece18 | 57 | // The 'fall' handler will execute in the context of the shared queue (actually the main thread) |
| demayer | 0:6bf0743ece18 | 58 | sw.fall(queue->event(fall_handler)); |
| demayer | 0:6bf0743ece18 | 59 | // Setup complete, so we now dispatch the shared queue from main |
| demayer | 0:6bf0743ece18 | 60 | queue->dispatch_forever(); |
| demayer | 0:6bf0743ece18 | 61 | } |