summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan <fauxpark@gmail.com>2020-04-30 16:24:47 +1000
committerFlorian Didron <fdidron@users.noreply.github.com>2020-06-12 17:00:27 +0900
commit1aa5d2d6d090516d3653e0c875a8aace6461e0b4 (patch)
tree8f72131a2cd5a8d2068df604579aa966eaa810f6
parentf0e97ba47247b84ddd7d6d0698ab801d77b2afba (diff)
QMK-ify some GPIO macros (#8315)
-rw-r--r--drivers/avr/apa102.c8
-rw-r--r--drivers/avr/ssd1306.h1
-rw-r--r--quantum/pincontrol.h50
3 files changed, 4 insertions, 55 deletions
diff --git a/drivers/avr/apa102.c b/drivers/avr/apa102.c
index f4d97a1589..b174b39b8f 100644
--- a/drivers/avr/apa102.c
+++ b/drivers/avr/apa102.c
@@ -30,8 +30,8 @@
void inline apa102_setleds(LED_TYPE *ledarray, uint16_t leds) { apa102_setleds_pin(ledarray, leds, _BV(RGB_DI_PIN & 0xF), _BV(RGB_CLK_PIN & 0xF)); }
void static inline apa102_setleds_pin(LED_TYPE *ledarray, uint16_t leds, uint8_t pinmask_DI, uint8_t pinmask_CLK) {
- pinMode(RGB_DI_PIN, PinDirectionOutput);
- pinMode(RGB_CLK_PIN, PinDirectionOutput);
+ setPinOutput(RGB_DI_PIN);
+ setPinOutput(RGB_CLK_PIN);
apa102_send_array((uint8_t *)ledarray, leds)
}
@@ -90,7 +90,7 @@ void apa102_end_frame(uint16_t leds) {
void apa102_send_byte(uint8_t byte) {
uint8_t i;
for (i = 0; i < 8; i++) {
- digitalWrite(RGB_DI_PIN, !!(byte & (1 << (7-i)));
- digitalWrite(RGB_CLK_PIN, PinLevelHigh);
+ writePin(RGB_DI_PIN, !!(byte & (1 << (7 - i))));
+ writePinHigh(RGB_CLK_PIN);
}
}
diff --git a/drivers/avr/ssd1306.h b/drivers/avr/ssd1306.h
index 825b0d7d5b..9669d1b7e7 100644
--- a/drivers/avr/ssd1306.h
+++ b/drivers/avr/ssd1306.h
@@ -3,7 +3,6 @@
#include <stdbool.h>
#include <stdio.h>
-#include "pincontrol.h"
#include "config.h"
enum ssd1306_cmds {
diff --git a/quantum/pincontrol.h b/quantum/pincontrol.h
deleted file mode 100644
index 204fddf30c..0000000000
--- a/quantum/pincontrol.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Copyright 2016 Wez Furlong
- *
- * 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/>.
- */
-#pragma once
-// Some helpers for controlling gpio pins
-#include <avr/io.h>
-
-enum {
- PinDirectionInput = 0,
- PinDirectionOutput = 1,
- PinLevelHigh = 1,
- PinLevelLow = 0,
-};
-
-// ex: pinMode(B0, PinDirectionOutput);
-static inline void pinMode(uint8_t pin, int mode) {
- uint8_t bv = _BV(pin & 0xf);
- if (mode == PinDirectionOutput) {
- _SFR_IO8((pin >> 4) + 1) |= bv;
- } else {
- _SFR_IO8((pin >> 4) + 1) &= ~bv;
- _SFR_IO8((pin >> 4) + 2) &= ~bv;
- }
-}
-
-// ex: digitalWrite(B0, PinLevelHigh);
-static inline void digitalWrite(uint8_t pin, int mode) {
- uint8_t bv = _BV(pin & 0xf);
- if (mode == PinLevelHigh) {
- _SFR_IO8((pin >> 4) + 2) |= bv;
- } else {
- _SFR_IO8((pin >> 4) + 2) &= ~bv;
- }
-}
-
-// Return true if the pin is HIGH
-// digitalRead(B0)
-static inline bool digitalRead(uint8_t pin) { return _SFR_IO8(pin >> 4) & _BV(pin & 0xf); }