aboutsummaryrefslogtreecommitdiffstats
path: root/keyboards/staryu/staryu.c
diff options
context:
space:
mode:
authorGravatar zvecr <git@zvecr.com>2019-03-27 01:39:09 +0000
committerGravatar Drashna Jaelre <drashna@live.com>2019-03-26 18:39:09 -0700
commit9ef21d2e1c26b4153368fb3fe887ea7117c5b49b (patch)
tree6fb7e565b65f6df97755aae4f58e000862280bdb /keyboards/staryu/staryu.c
parenta0270b55e1e5326ff097644ffe617574f2311d61 (diff)
downloadqmk_firmware-9ef21d2e1c26b4153368fb3fe887ea7117c5b49b.tar.gz
Refactor staryu to current standards and enable support for backlight keycodes (#5487)
Diffstat (limited to 'keyboards/staryu/staryu.c')
-rwxr-xr-xkeyboards/staryu/staryu.c34
1 files changed, 26 insertions, 8 deletions
diff --git a/keyboards/staryu/staryu.c b/keyboards/staryu/staryu.c
index 6dcaaea0e..20334c0b7 100755
--- a/keyboards/staryu/staryu.c
+++ b/keyboards/staryu/staryu.c
@@ -15,12 +15,30 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "staryu.h"
-#include "backlight_staryu.h"
-
-// for keyboard subdirectory level init functions
-// @Override
-void matrix_init_kb(void) {
- // call user level keymaps, if any
- init_backlight_led();
- matrix_init_user();
+
+#ifdef BACKLIGHT_ENABLE
+
+#ifdef BACKLIGHT_PIN
+ #pragma error "BACKLIGHT_PIN must stay undefined otherwise software pwm is incorrectly used"
+#endif
+
+#define BACKLIGHT_PIN_COUNT 5
+static const pin_t backlight_pins[BACKLIGHT_PIN_COUNT] = { C2, C7, D5, D6, B0 };
+
+void backlight_init_ports(void) {
+ for (uint8_t index = 0; index < BACKLIGHT_PIN_COUNT; index++) {
+ setPinOutput(backlight_pins[index]);
+ }
}
+
+void backlight_set_value(uint8_t index, uint8_t level) {
+ writePin(backlight_pins[index], !!level);
+}
+
+void backlight_set(uint8_t level) {
+ for (uint8_t index = 0; index < BACKLIGHT_PIN_COUNT; index++) {
+ backlight_set_value(index, level);
+ }
+}
+
+#endif //BACKLIGHT_ENABLE