Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
Это архивный репозиторий. Вы можете его клонировать или просматривать файлы, но не вносить изменения или открывать задачи/запросы на слияние.

11 лет назад
10 лет назад
11 лет назад
10 лет назад
11 лет назад
10 лет назад
11 лет назад
10 лет назад
11 лет назад
11 лет назад
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. /*
  2. Copyright 2013 Mathias Andersson <[email protected]>
  3. This program is free software: you can redistribute it and/or modify
  4. it under the terms of the GNU General Public License as published by
  5. the Free Software Foundation, either version 2 of the License, or
  6. (at your option) any later version.
  7. This program is distributed in the hope that it will be useful,
  8. but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  10. GNU General Public License for more details.
  11. You should have received a copy of the GNU General Public License
  12. along with this program. If not, see <http://www.gnu.org/licenses/>.
  13. */
  14. #include "backlight.h"
  15. #include "eeconfig.h"
  16. #include "debug.h"
  17. backlight_config_t backlight_config;
  18. void backlight_init(void)
  19. {
  20. /* check signature */
  21. if (!eeconfig_is_enabled()) {
  22. eeconfig_init();
  23. }
  24. backlight_config.raw = eeconfig_read_backlight();
  25. backlight_set(backlight_config.enable ? backlight_config.level : 0);
  26. }
  27. void backlight_increase(void)
  28. {
  29. #ifdef BACKLIGHT_CUSTOM
  30. if (backlight_config.enable) {
  31. if (backlight_config.level < BACKLIGHT_LEVELS) {
  32. backlight_config.level++;
  33. eeconfig_write_backlight(backlight_config.raw);
  34. }
  35. dprintf("backlight custom increase: %u\n", backlight_config.level);
  36. backlight_set(backlight_config.level);
  37. }
  38. #else
  39. if(backlight_config.level < BACKLIGHT_LEVELS)
  40. {
  41. backlight_config.level++;
  42. backlight_config.enable = 1;
  43. eeconfig_write_backlight(backlight_config.raw);
  44. }
  45. dprintf("backlight increase: %u\n", backlight_config.level);
  46. backlight_set(backlight_config.level);
  47. #endif
  48. }
  49. void backlight_decrease(void)
  50. {
  51. #ifdef BACKLIGHT_CUSTOM
  52. if (backlight_config.enable) {
  53. if(backlight_config.level > 1)
  54. {
  55. backlight_config.level--;
  56. eeconfig_write_backlight(backlight_config.raw);
  57. }
  58. dprintf("backlight custom decrease: %u\n", backlight_config.level);
  59. backlight_set(backlight_config.level);
  60. }
  61. #else
  62. if(backlight_config.level > 0)
  63. {
  64. backlight_config.level--;
  65. backlight_config.enable = !!backlight_config.level;
  66. eeconfig_write_backlight(backlight_config.raw);
  67. }
  68. dprintf("backlight decrease: %u\n", backlight_config.level);
  69. backlight_set(backlight_config.level);
  70. #endif
  71. }
  72. void backlight_toggle(void)
  73. {
  74. backlight_config.enable ^= 1;
  75. if (backlight_config.enable)
  76. {
  77. if (backlight_config.level == 0) {
  78. backlight_config.level = 1;
  79. }
  80. }
  81. eeconfig_write_backlight(backlight_config.raw);
  82. dprintf("backlight toggle: %u\n", backlight_config.enable);
  83. backlight_set(backlight_config.enable ? backlight_config.level : 0);
  84. }
  85. void backlight_step(void)
  86. {
  87. backlight_config.level++;
  88. if(backlight_config.level > BACKLIGHT_LEVELS)
  89. {
  90. backlight_config.level = 0;
  91. }
  92. backlight_config.enable = !!backlight_config.level;
  93. eeconfig_write_backlight(backlight_config.raw);
  94. dprintf("backlight step: %u\n", backlight_config.level);
  95. backlight_set(backlight_config.level);
  96. }
  97. void backlight_level(uint8_t level)
  98. {
  99. backlight_config.level = level;
  100. backlight_config.enable = !!backlight_config.level;
  101. eeconfig_write_backlight(backlight_config.raw);
  102. backlight_set(backlight_config.level);
  103. }
  104. void backlight_xor(uint8_t level)
  105. {
  106. backlight_config.level ^= level;
  107. backlight_config.enable = !!backlight_config.level;
  108. eeconfig_write_backlight(backlight_config.raw);
  109. backlight_set(backlight_config.level);
  110. }