aboutsummaryrefslogtreecommitdiffstats
path: root/keyboards/pearl/pearl.c
diff options
context:
space:
mode:
authorMechMerlin <30334081+mechmerlin@users.noreply.github.com>2019-05-19 09:50:57 -0700
committerDrashna Jaelre <drashna@live.com>2019-05-19 09:50:57 -0700
commitd67eb20aed97410e11a17f7f5799d822f98a7558 (patch)
tree57a61a8c925f0c7fa203e1e8fc703958bf64581e /keyboards/pearl/pearl.c
parent11c7cd47aee697ac73bf7ec5704086e2a15d7dca (diff)
downloadfirmware-d67eb20aed97410e11a17f7f5799d822f98a7558.tar.gz
firmware-d67eb20aed97410e11a17f7f5799d822f98a7558.tar.bz2
firmware-d67eb20aed97410e11a17f7f5799d822f98a7558.zip
[Keyboard] Pearl Refactors (#5907)
* use pragma once * remove custom matrix * remove custom i2c code in favor of QMK's i2c_master * rename to all lower case readme * update readme * turn off bootmagic as it doesn't work anyway * Update keyboards/pearl/readme.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
Diffstat (limited to 'keyboards/pearl/pearl.c')
-rw-r--r--keyboards/pearl/pearl.c67
1 files changed, 49 insertions, 18 deletions
diff --git a/keyboards/pearl/pearl.c b/keyboards/pearl/pearl.c
index 3bbadb0a7..c8cd8a860 100644
--- a/keyboards/pearl/pearl.c
+++ b/keyboards/pearl/pearl.c
@@ -15,16 +15,11 @@ 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 "pearl.h"
#include "rgblight.h"
-#include "backlight.h"
-
-#include <avr/pgmspace.h>
-
-#include "action_layer.h"
-#include "i2c.h"
+#include "i2c_master.h"
#include "quantum.h"
+#ifdef RGBLIGHT_ENABLE
extern rgblight_config_t rgblight_config;
void rgblight_set(void) {
@@ -37,23 +32,59 @@ void rgblight_set(void) {
}
i2c_init();
- i2c_send(0xb0, (uint8_t*)led, 3 * RGBLED_NUM);
+ i2c_transmit(0xb0, (uint8_t*)led, 3 * RGBLED_NUM, 100);
}
+#endif
-void backlight_init_ports(void) {
- DDRD |= (1<<4);
- PORTD &= ~(1<<4);
+void matrix_init_kb(void) {
+#ifdef RGBLIGHT_ENABLE
+ if (rgblight_config.enable) {
+ i2c_init();
+ i2c_transmit(0xb0, (uint8_t*)led, 3 * RGBLED_NUM, 100);
+ }
+#endif
+ // call user level keymaps, if any
+ matrix_init_user();
}
-void backlight_set(uint8_t level) {
- if (level > 0) {
- PORTD |= (1<<4);
- } else {
- PORTD &= ~(1<<4);
- }
+void matrix_scan_kb(void) {
+#ifdef RGBLIGHT_ENABLE
+ rgblight_task();
+#endif
+ matrix_scan_user();
+ /* Nothing else for now. */
}
__attribute__ ((weak))
void matrix_scan_user(void) {
- rgblight_task();
}
+
+void backlight_init_ports(void) {
+ // initialize pins D0, D1, D4 and D6 as output
+ setPinOutput(D0);
+ setPinOutput(D1);
+ setPinOutput(D4);
+ setPinOutput(D6);
+
+ // turn backlight LEDs on
+ writePinHigh(D0);
+ writePinHigh(D1);
+ writePinHigh(D4);
+ writePinHigh(D6);
+}
+
+void backlight_set(uint8_t level) {
+ if (level == 0) {
+ // turn backlight LEDs off
+ writePinLow(D0);
+ writePinLow(D1);
+ writePinLow(D4);
+ writePinLow(D6);
+ } else {
+ // turn backlight LEDs on
+ writePinHigh(D0);
+ writePinHigh(D1);
+ writePinHigh(D4);
+ writePinHigh(D6);
+ }
+} \ No newline at end of file