Blink5.ino 682 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #define __PROG__ "Blink5"
  2. #include <jm_Scheduler.h>
  3. #include "led.h"
  4. //------------------------------------------------------------------------------
  5. jm_Scheduler blink_scheduler;
  6. void blink_on_coroutine()
  7. {
  8. led_on();
  9. blink_scheduler.rearm(blink_off_coroutine, 100*TIMESTAMP_1MS);
  10. }
  11. void blink_off_coroutine()
  12. {
  13. led_off();
  14. blink_scheduler.rearm(blink_on_coroutine, 900*TIMESTAMP_1MS);
  15. }
  16. void setup()
  17. {
  18. Serial.begin(115200);
  19. while (!Serial && millis()<3000); // timeout 3s for USB Serial ready
  20. Serial.print(F(__PROG__));
  21. Serial.print(F("..."));
  22. Serial.println();
  23. led_init();
  24. blink_scheduler.start(blink_on_coroutine);
  25. }
  26. void loop()
  27. {
  28. jm_Scheduler::yield();
  29. }