]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - keyboards/staryu/staryu.c
Refactor staryu to current standards and enable support for backlight keycodes (...
[qmk_firmware.git] / keyboards / staryu / staryu.c
index 6dcaaea0e859b4b57357380c56195cfecbca4fcd..20334c0b78131a8f764820c6d8031cc1ab91f2e6 100755 (executable)
@@ -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