|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- /*
- Copyright 2014 Kai Ryu <[email protected]>
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
- #ifndef RGB_H
- #define RGB_H
-
- #include <stdint.h>
- #include <stdbool.h>
-
- enum rgb_mode_id {
- RGB_FIXED,
- RGB_VARIABLE
- };
-
- enum rgb_static_id {
- RGB_FIXED_WHITE,
- RGB_FIXED_RED,
- RGB_FIXED_GREEN,
- RGB_FIXED_BLUE,
- RGB_FIXED_RED_1,
- RGB_FIXED_GREEN_1,
- RGB_FIXED_BLUE_1,
- RGB_FIXED_RED_2,
- RGB_FIXED_GREEN_2,
- RGB_FIXED_BLUE_2,
- RGB_FIXED_RED_3,
- RGB_FIXED_GREEN_3,
- RGB_FIXED_BLUE_3,
- RGB_FIXED_RED_4,
- RGB_FIXED_GREEN_4,
- RGB_FIXED_BLUE_4,
- RGB_FIXED_COUNT
- };
-
- enum rgb_animate_id {
- RGB_VARIABLE_FLASH,
- RGB_VARIABLE_STROBE,
- RGB_VARIABLE_FADE,
- RGB_VARIABLE_SMOOTH,
- RGB_VARIABLE_COUNT
- };
-
- typedef union {
- uint8_t raw;
- struct {
- uint8_t id :4;
- uint8_t mode :3;
- bool enable :1;
- };
- } rgb_config_t;
-
- #define EECONFIG_RGB (uint8_t *)7
- #define RGB_UNCONFIGURED 0xFF
-
- void rgb_init(void);
- void rgb_resume(void);
- void rgb_read_config(void);
- void rgb_write_config(void);
- void rgb_on(void);
- void rgb_off(void);
- void rgb_toggle(void);
- void rgb_increase(void);
- void rgb_decrease(void);
- void rgb_set(uint8_t mode, uint8_t id);
- void rgb_step(uint8_t mode);
- uint8_t rgb_to_yc059(uint8_t mode, uint8_t id);
-
- #endif
|