Blink4.ino 644 B

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