You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

softpwm_led.h 3.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. #ifndef SOFTPWM_LED_H
  2. #define SOFTPWM_LED_H
  3. #include "stdint.h"
  4. #include "led.h"
  5. #ifdef SOFTPWM_LED_ENABLE
  6. void softpwm_init(void);
  7. void softpwm_led_init(void);
  8. void softpwm_led_enable(void);
  9. void softpwm_led_disable(void);
  10. void softpwm_led_toggle(void);
  11. void softpwm_led_set(uint8_t index, uint8_t val);
  12. void softpwm_led_set_all(uint8_t val);
  13. void softpwm_led_increase(uint8_t index, uint8_t offset);
  14. void softpwm_led_increase_all(uint8_t offset);
  15. void softpwm_led_decrease(uint8_t index, uint8_t offset);
  16. void softpwm_led_decrease_all(uint8_t offset);
  17. void softpwm_led_on(uint8_t index);
  18. void softpwm_led_off(uint8_t index);
  19. uint8_t softpwm_led_get_state(void);
  20. void softpwm_led_state_change(uint8_t state);
  21. enum {
  22. FADING_LED_FADE_IN = 0,
  23. FADING_LED_FADE_OUT
  24. };
  25. #ifdef FADING_LED_ENABLE
  26. void fading_led_enable(uint8_t index);
  27. void fading_led_enable_all(void);
  28. void fading_led_disable(uint8_t index);
  29. void fading_led_disable_all(void);
  30. void fading_led_toggle(uint8_t index);
  31. void fading_led_toggle_all(void);
  32. void fading_led_set_direction(uint8_t index, uint8_t dir);
  33. void fading_led_set_direction_all(uint8_t dir);
  34. void fading_led_set_duration(uint8_t dur);
  35. void fading_led_set_delay(uint8_t index, uint8_t delay);
  36. void fading_led_set_delay_all(uint8_t delay);
  37. #else
  38. #define fading_led_enable()
  39. #define fading_led_enable_all()
  40. #define fading_led_disable()
  41. #define fading_led_disable_all()
  42. #define fading_led_toggle()
  43. #define fading_led_toggle_all()
  44. #define fading_led_set_direction()
  45. #define fading_led_set_direction_all()
  46. #define fading_led_set_duration()
  47. #define fading_led_set_delay()
  48. #define fading_led_set_delay_all()
  49. #endif
  50. #ifdef BREATHING_LED_ENABLE
  51. #define breathing_led_init()
  52. void breathing_led_enable(uint8_t index);
  53. void breathing_led_enable_once(uint8_t index);
  54. void breathing_led_enable_all(void);
  55. void breathing_led_disable(uint8_t index);
  56. void breathing_led_disable_all(void);
  57. void breathing_led_toggle(uint8_t index);
  58. void breathing_led_toggle_all(void);
  59. void breathing_led_set_duration(uint8_t dur);
  60. void breathing_led_set_index(uint8_t index, uint8_t value);
  61. void breathing_led_set_index_all(uint8_t value);
  62. void breathing_led_set_delay(uint8_t index, uint8_t delay);
  63. void breathing_led_set_delay_all(uint8_t delay);
  64. #else
  65. #define breathing_led_init()
  66. #define breathing_led_enable()
  67. #define breathing_led_enable_all()
  68. #define breathing_led_disable()
  69. #define breathing_led_disable_all()
  70. #define breathing_led_toggle()
  71. #define breathing_led_toggle_all()
  72. #define breathing_led_set_duration()
  73. #define breathing_led_set_index()
  74. #define breathing_led_set_index_all()
  75. #define breathing_led_set_delay()
  76. #define breathing_led_set_delay_all()
  77. #endif
  78. #ifdef CUSTOM_LED_ENABLE
  79. void softpwm_led_custom(void);
  80. void fading_led_custom(uint8_t *value);
  81. void breathing_led_custom(uint8_t *value);
  82. #else
  83. #define custom_led_proc()
  84. #endif
  85. #else
  86. #define softpwm_init()
  87. #define softpwm_led_init()
  88. #define softpwm_led_enable()
  89. #define softpwm_led_disable()
  90. #define softpwm_led_toggle()
  91. #define softpwm_led_set()
  92. #define softpwm_led_set_all()
  93. #define softpwm_led_increase()
  94. #define softpwm_led_increase_all()
  95. #define softpwm_led_decrease()
  96. #define softpwm_led_decrease_all()
  97. #define softpwm_led_on()
  98. #define softpwm_led_off()
  99. #define softpwm_led_get_state()
  100. #define softpwm_led_state_change()
  101. #endif
  102. #endif