diff --git a/libraries/tests/mbed/ticker_3/main.cpp b/libraries/tests/mbed/ticker_3/main.cpp new file mode 100644 index 0000000000..60055ccf21 --- /dev/null +++ b/libraries/tests/mbed/ticker_3/main.cpp @@ -0,0 +1,36 @@ +#include "mbed.h" + +void ticker_callback_1(void); +void ticker_callback_2(void); + +DigitalOut led0(LED1); +DigitalOut led1(LED2); +Ticker ticker; + +void print_char(char c = '*') +{ + printf("%c", c); + fflush(stdout); +} + +void ticker_callback_2(void) +{ + ticker.detach(); + ticker.attach(ticker_callback_1, 1.0); + led1 = !led1; + print_char(); +} + +void ticker_callback_1(void) +{ + ticker.detach(); + ticker.attach(ticker_callback_2, 1.0); + led0 = !led0; + print_char(); +} + +int main(void) +{ + ticker.attach(ticker_callback_1, 1.0); + while(1); +} diff --git a/workspace_tools/tests.py b/workspace_tools/tests.py index 2a721866e5..92d8888c09 100644 --- a/workspace_tools/tests.py +++ b/workspace_tools/tests.py @@ -519,6 +519,15 @@ TESTS = [ "duration": 10, "automated": False, }, + { + "id": "MBED_34", "description": "Ticker Two callbacks", + "source_dir": join(TEST_DIR, "mbed", "ticker_3"), + "dependencies": [MBED_LIBRARIES, TEST_MBED_LIB], + "duration": 15, + "automated": True, + "host_test": "wait_us_auto" + }, + # CMSIS RTOS tests {