]> git.donarmstrong.com Git - qmk_firmware.git/blob - tool/mbed/mbed-sdk/libraries/tests/rtos/cmsis/timer/main.cpp
Squashed 'tmk_core/' changes from 7967731..b9e0ea0
[qmk_firmware.git] / tool / mbed / mbed-sdk / libraries / tests / rtos / cmsis / timer / main.cpp
1 #include "mbed.h"
2 #include "cmsis_os.h"
3
4 DigitalOut LEDs[4] = {
5     DigitalOut(LED1), DigitalOut(LED2), DigitalOut(LED3), DigitalOut(LED4)
6 };
7
8 void blink(void const *n) {
9     LEDs[(int)n] = !LEDs[(int)n];
10 }
11
12 osTimerDef(blink_0, blink);
13 osTimerDef(blink_1, blink);
14 osTimerDef(blink_2, blink);
15 osTimerDef(blink_3, blink);
16
17 int main(void) {
18     osTimerId timer_0 = osTimerCreate(osTimer(blink_0), osTimerPeriodic, (void *)0);
19     osTimerId timer_1 = osTimerCreate(osTimer(blink_1), osTimerPeriodic, (void *)1);
20     osTimerId timer_2 = osTimerCreate(osTimer(blink_2), osTimerPeriodic, (void *)2);
21     osTimerId timer_3 = osTimerCreate(osTimer(blink_3), osTimerPeriodic, (void *)3);
22
23     osTimerStart(timer_0, 2000);
24     osTimerStart(timer_1, 1000);
25     osTimerStart(timer_2,  500);
26     osTimerStart(timer_3,  250);
27
28     osDelay(osWaitForever);
29 }