summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan <fauxpark@gmail.com>2020-04-30 16:24:47 +1000
committerGitHub <noreply@github.com>2020-04-30 16:24:47 +1000
commit16a15c1cfcbfd0feb2c2cf1383676747e2f97d73 (patch)
treeaaa3c9f5a23207861d05c37ed4860af8efd40f85
parent37a4b53c4f51b66992e687b5012c83df9cc6b138 (diff)
downloadqmk_firmware-16a15c1cfcbfd0feb2c2cf1383676747e2f97d73.tar.gz
qmk_firmware-16a15c1cfcbfd0feb2c2cf1383676747e2f97d73.zip
QMK-ify some GPIO macros (#8315)
-rw-r--r--drivers/avr/apa102.c8
-rw-r--r--drivers/avr/ssd1306.h1
-rw-r--r--keyboards/40percentclub/nano/keymaps/drashna/keymap.c1
-rw-r--r--keyboards/claw44/ssd1306.h3
-rw-r--r--keyboards/comet46/ssd1306.h3
-rw-r--r--keyboards/converter/palm_usb/matrix.c41
-rw-r--r--keyboards/crkbd/ssd1306.h3
-rw-r--r--keyboards/helix/local_drivers/ssd1306.h1
-rwxr-xr-xkeyboards/lily58/ssd1306.h3
-rw-r--r--keyboards/yosino58/ssd1306.h3
-rw-r--r--quantum/pincontrol.h50
-rw-r--r--users/mtdjr/solenoid.h11
12 files changed, 34 insertions, 94 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/keyboards/40percentclub/nano/keymaps/drashna/keymap.c b/keyboards/40percentclub/nano/keymaps/drashna/keymap.c
index 998e55d5b2..f5d0787eeb 100644
--- a/keyboards/40percentclub/nano/keymaps/drashna/keymap.c
+++ b/keyboards/40percentclub/nano/keymaps/drashna/keymap.c
@@ -1,7 +1,6 @@
#include "drashna.h"
#include "analog.h"
#include "pointing_device.h"
-#include "pincontrol.h"
#define KC_X0 LT(_FN, KC_ESC)
diff --git a/keyboards/claw44/ssd1306.h b/keyboards/claw44/ssd1306.h
index ea8c923280..0ca093093a 100644
--- a/keyboards/claw44/ssd1306.h
+++ b/keyboards/claw44/ssd1306.h
@@ -2,7 +2,6 @@
#include <stdbool.h>
#include <stdio.h>
-#include "pincontrol.h"
#include "action.h"
enum ssd1306_cmds {
@@ -88,4 +87,4 @@ void matrix_write_ln(struct CharacterMatrix *matrix, const char *data);
void matrix_write_P(struct CharacterMatrix *matrix, const char *data);
void matrix_render(struct CharacterMatrix *matrix);
-bool process_record_gfx(uint16_t keycode, keyrecord_t *record); \ No newline at end of file
+bool process_record_gfx(uint16_t keycode, keyrecord_t *record);
diff --git a/keyboards/comet46/ssd1306.h b/keyboards/comet46/ssd1306.h
index ea8c923280..0ca093093a 100644
--- a/keyboards/comet46/ssd1306.h
+++ b/keyboards/comet46/ssd1306.h
@@ -2,7 +2,6 @@
#include <stdbool.h>
#include <stdio.h>
-#include "pincontrol.h"
#include "action.h"
enum ssd1306_cmds {
@@ -88,4 +87,4 @@ void matrix_write_ln(struct CharacterMatrix *matrix, const char *data);
void matrix_write_P(struct CharacterMatrix *matrix, const char *data);
void matrix_render(struct CharacterMatrix *matrix);
-bool process_record_gfx(uint16_t keycode, keyrecord_t *record); \ No newline at end of file
+bool process_record_gfx(uint16_t keycode, keyrecord_t *record);
diff --git a/keyboards/converter/palm_usb/matrix.c b/keyboards/converter/palm_usb/matrix.c
index 49212f2ef1..590b5eea32 100644
--- a/keyboards/converter/palm_usb/matrix.c
+++ b/keyboards/converter/palm_usb/matrix.c
@@ -20,7 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include QMK_KEYBOARD_H
#include "protocol/serial.h"
#include "timer.h"
-#include "pincontrol.h"
/*
@@ -96,27 +95,27 @@ void pins_init(void) {
// set pins for pullups, Rts , power &etc.
//print ("pins setup\n");
- pinMode(VCC_PIN, PinDirectionOutput);
- digitalWrite(VCC_PIN, PinLevelLow);
+ setPinOutput(VCC_PIN);
+ writePinLow(VCC_PIN);
#if ( HANDSPRING == 0)
#ifdef CY835
- pinMode(GND_PIN, PinDirectionOutput);
- digitalWrite(GND_PIN, PinLevelLow);
+ setPinOutput(GND_PIN);
+ writePinLow(GND_PIN);
- pinMode(PULLDOWN_PIN, PinDirectionOutput);
- digitalWrite(PULLDOWN_PIN, PinLevelLow);
+ setPinOutput(PULLDOWN_PIN);
+ writePinLow(PULLDOWN_PIN);
#endif
- pinMode(DCD_PIN, PinDirectionInput);
- pinMode(RTS_PIN, PinDirectionInput);
+ setPinInput(DCD_PIN);
+ setPinInput(RTS_PIN);
#endif
/* check that the other side isn't powered up.
- test=digitalRead(DCD_PIN);
+ test=readPin(DCD_PIN);
xprintf("b%02X:", test);
- test=digitalRead(RTS_PIN);
+ test=readPin(RTS_PIN);
xprintf("%02X\n", test);
*/
@@ -129,20 +128,20 @@ uint8_t rts_reset(void) {
// On boot, we keep rts as input, then switch roles here
// on leaving sleep, we toggle the same way
- firstread=digitalRead(RTS_PIN);
+ firstread=readPin(RTS_PIN);
// printf("r%02X:", firstread);
- pinMode(RTS_PIN, PinDirectionOutput);
+ setPinOutput(RTS_PIN);
- if (firstread == PinLevelHigh) {
- digitalWrite(RTS_PIN, PinLevelLow);
+ if (firstread) {
+ writePinLow(RTS_PIN);
}
_delay_ms(10);
- digitalWrite(RTS_PIN, PinLevelHigh);
+ writePinHigh(RTS_PIN);
/* the future is Arm
- if (palReadPad(RTS_PIN_IOPRT) == PinLevelLow)
+ if (!palReadPad(RTS_PIN_IOPRT))
{
_delay_ms(10);
palSetPadMode(RTS_PINn_IOPORT, PinDirectionOutput_PUSHPULL);
@@ -224,9 +223,9 @@ uint8_t handspring_handshake(void) {
}
uint8_t handspring_reset(void) {
- digitalWrite(VCC_PIN, PinLevelLow);
+ writePinLow(VCC_PIN);
_delay_ms(5);
- digitalWrite(VCC_PIN, PinLevelHigh);
+ writePinHigh(VCC_PIN);
if ( handspring_handshake() ) {
last_activity = timer_read();
@@ -250,7 +249,7 @@ void matrix_init(void)
#endif
print("power up\n");
- digitalWrite(VCC_PIN, PinLevelHigh);
+ writePinHigh(VCC_PIN);
// wait for DCD strobe from keyboard - it will do this
// up to 3 times, then the board needs the RTS toggled to try again
@@ -265,7 +264,7 @@ void matrix_init(void)
}
#else /// Palm / HP device with DCD
- while( digitalRead(DCD_PIN) != PinLevelHigh ) {;}
+ while( !readPin(DCD_PIN) ) {;}
print("dcd\n");
rts_reset(); // at this point the keyboard should think all is well.
diff --git a/keyboards/crkbd/ssd1306.h b/keyboards/crkbd/ssd1306.h
index ea8c923280..0ca093093a 100644
--- a/keyboards/crkbd/ssd1306.h
+++ b/keyboards/crkbd/ssd1306.h
@@ -2,7 +2,6 @@
#include <stdbool.h>
#include <stdio.h>
-#include "pincontrol.h"
#include "action.h"
enum ssd1306_cmds {
@@ -88,4 +87,4 @@ void matrix_write_ln(struct CharacterMatrix *matrix, const char *data);
void matrix_write_P(struct CharacterMatrix *matrix, const char *data);
void matrix_render(struct CharacterMatrix *matrix);
-bool process_record_gfx(uint16_t keycode, keyrecord_t *record); \ No newline at end of file
+bool process_record_gfx(uint16_t keycode, keyrecord_t *record);
diff --git a/keyboards/helix/local_drivers/ssd1306.h b/keyboards/helix/local_drivers/ssd1306.h
index 9cf6983b7e..f9f91c6fed 100644
--- a/keyboards/helix/local_drivers/ssd1306.h
+++ b/keyboards/helix/local_drivers/ssd1306.h
@@ -3,7 +3,6 @@
#include <stdbool.h>
#include <stdio.h>
-#include "pincontrol.h"
#include "action.h"
enum ssd1306_cmds {
diff --git a/keyboards/lily58/ssd1306.h b/keyboards/lily58/ssd1306.h
index ea8c923280..0ca093093a 100755
--- a/keyboards/lily58/ssd1306.h
+++ b/keyboards/lily58/ssd1306.h
@@ -2,7 +2,6 @@
#include <stdbool.h>
#include <stdio.h>
-#include "pincontrol.h"
#include "action.h"
enum ssd1306_cmds {
@@ -88,4 +87,4 @@ void matrix_write_ln(struct CharacterMatrix *matrix, const char *data);
void matrix_write_P(struct CharacterMatrix *matrix, const char *data);
void matrix_render(struct CharacterMatrix *matrix);
-bool process_record_gfx(uint16_t keycode, keyrecord_t *record); \ No newline at end of file
+bool process_record_gfx(uint16_t keycode, keyrecord_t *record);
diff --git a/keyboards/yosino58/ssd1306.h b/keyboards/yosino58/ssd1306.h
index de0a9a02aa..acaf6217ef 100644
--- a/keyboards/yosino58/ssd1306.h
+++ b/keyboards/yosino58/ssd1306.h
@@ -2,7 +2,6 @@
#include <stdbool.h>
#include <stdio.h>
-#include "pincontrol.h"
#include "action.h"
enum ssd1306_cmds {
@@ -93,4 +92,4 @@ void matrix_write_ln(struct CharacterMatrix *matrix, const char *data);
void matrix_write_P(struct CharacterMatrix *matrix, const char *data);
void matrix_render(struct CharacterMatrix *matrix);
-bool process_record_gfx(uint16_t keycode, keyrecord_t *record); \ No newline at end of file
+bool process_record_gfx(uint16_t keycode, keyrecord_t *record);
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); }
diff --git a/users/mtdjr/solenoid.h b/users/mtdjr/solenoid.h
index a911bf794f..4ef329b4ad 100644
--- a/users/mtdjr/solenoid.h
+++ b/users/mtdjr/solenoid.h
@@ -2,7 +2,6 @@
#define SOLENOID_H
#include <timer.h>
-#include "pincontrol.h"
#define SOLENOID_DEFAULT_DWELL 12
@@ -45,7 +44,7 @@ void solenoid_toggle(void) {
}
void solenoid_stop(void) {
- digitalWrite(SOLENOID_PIN, PinLevelLow);
+ writePinLow(SOLENOID_PIN);
solenoid_on = false;
solenoid_buzzing = false;
}
@@ -59,7 +58,7 @@ void solenoid_fire(void) {
solenoid_on = true;
solenoid_buzzing = true;
solenoid_start = timer_read();
- digitalWrite(SOLENOID_PIN, PinLevelHigh);
+ writePinHigh(SOLENOID_PIN);
}
void solenoid_check(void) {
@@ -80,20 +79,20 @@ void solenoid_check(void) {
if (elapsed / SOLENOID_MIN_DWELL % 2 == 0){
if (!solenoid_buzzing) {
solenoid_buzzing = true;
- digitalWrite(SOLENOID_PIN, PinLevelHigh);
+ writePinHigh(SOLENOID_PIN);
}
}
else {
if (solenoid_buzzing) {
solenoid_buzzing = false;
- digitalWrite(SOLENOID_PIN, PinLevelLow);
+ writePinLow(SOLENOID_PIN);
}
}
}
}
void solenoid_setup(void) {
- pinMode(SOLENOID_PIN, PinDirectionOutput);
+ setPinOutput(SOLENOID_PIN);
}
#endif