leds.h 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. const int Blue_Led = 2;
  2. bool Blue_Led_State = 1 ;
  3. Ticker tkBlue_Led ;
  4. int tkBlue_Led_Counter;
  5. const int Red_Led = 0;
  6. bool Red_Led_State = 0;
  7. Ticker tkRed_Led ;
  8. int tkRed_Led_Counter;
  9. /*Faire des fonctions simples à appeler depuis autres functions callbacks, les fonctions locales attachent et detachent les tkLeds
  10. fonctions extérieures appellent blueLedState (0 off, 1 on, -1 blink; time_ms)
  11. blueStateLed attache/détache les tickers sur fonction invert
  12. */
  13. //void LedState ( int Led, int state) { // -1 inverts, 0 off, 1 on
  14. // if (Led==Red_Led) {
  15. // if (state == -1) { Red_Led_State = !Red_Led_State;}
  16. // else {Red_Led_State = state ;}
  17. // }
  18. // if (Blue_Led)
  19. // digitalWrite(Led, !Red_Led_State) ; // inverted, 1 is off and 0 is on
  20. // Serial.println("Red Led "+(String)Red_Led_State);
  21. //}
  22. void blinkLed(int Led) {
  23. if (Led==0) {Red_Led_State = !Red_Led_State; digitalWrite(Red_Led, !Red_Led_State) ;}
  24. if (Led==1) {Blue_Led_State = !Blue_Led_State; digitalWrite(Blue_Led, !Blue_Led_State);}
  25. }
  26. void redLedState ( int state, int time_ms) { // -1 inverts, 0 off, 1 on
  27. if (state == -1) {
  28. tkRed_Led.attach_ms( time_ms, blinkLed, 0);
  29. }
  30. else {
  31. tkRed_Led.detach();
  32. Red_Led_State = state ;
  33. digitalWrite(Red_Led, !Red_Led_State) ; // inverted, 1 is off and 0 is on
  34. }
  35. Serial.println("Red Led "+(String)Red_Led_State);
  36. }
  37. void blueLedState ( int state, int time_ms) { // -1 inverts, 0 off, 1 on
  38. if (state == -1) {
  39. tkBlue_Led.attach_ms( time_ms, blinkLed, 1);
  40. }
  41. else {
  42. tkBlue_Led.detach();
  43. Blue_Led_State = state ;
  44. digitalWrite(Blue_Led, !Blue_Led_State) ;
  45. }
  46. // inverted, 1 is off and 0 is on
  47. Serial.println("Blue Led "+(String)Blue_Led_State);
  48. }
  49. void setupLeds() {
  50. pinMode(Blue_Led, OUTPUT);
  51. digitalWrite(Blue_Led, Blue_Led_State);
  52. pinMode(Red_Led, OUTPUT);
  53. digitalWrite(Red_Led, Red_Led_State);//red led on
  54. delay(2000);
  55. blueLedState(-1, 100);
  56. redLedState(-1, 400);
  57. delay (5000);
  58. redLedState(1, 100);
  59. blueLedState(0, 100);
  60. delay(1000);
  61. }
  62. //void ledBlink (int Led, int blink_qty, int blink_time) {
  63. // for (int i = 0 ; i < blink_qty ; i++) {
  64. // digitalWrite(Led, LOW) ;
  65. // delay(blink_time);
  66. // digitalWrite(Led, HIGH);
  67. // delay(blink_time);
  68. // }
  69. //}