Skip to content

Commit

Permalink
QMK-ify some GPIO macros (#8315)
Browse files Browse the repository at this point in the history
  • Loading branch information
fauxpark authored Apr 30, 2020
1 parent 37a4b53 commit 16a15c1
Show file tree
Hide file tree
Showing 12 changed files with 34 additions and 94 deletions.
8 changes: 4 additions & 4 deletions drivers/avr/apa102.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
}
Expand Down Expand Up @@ -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);
}
}
1 change: 0 additions & 1 deletion drivers/avr/ssd1306.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@

#include <stdbool.h>
#include <stdio.h>
#include "pincontrol.h"
#include "config.h"

enum ssd1306_cmds {
Expand Down
1 change: 0 additions & 1 deletion keyboards/40percentclub/nano/keymaps/drashna/keymap.c
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
#include "drashna.h"
#include "analog.h"
#include "pointing_device.h"
#include "pincontrol.h"

#define KC_X0 LT(_FN, KC_ESC)

Expand Down
3 changes: 1 addition & 2 deletions keyboards/claw44/ssd1306.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

#include <stdbool.h>
#include <stdio.h>
#include "pincontrol.h"
#include "action.h"

enum ssd1306_cmds {
Expand Down Expand Up @@ -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);
bool process_record_gfx(uint16_t keycode, keyrecord_t *record);
3 changes: 1 addition & 2 deletions keyboards/comet46/ssd1306.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

#include <stdbool.h>
#include <stdio.h>
#include "pincontrol.h"
#include "action.h"

enum ssd1306_cmds {
Expand Down Expand Up @@ -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);
bool process_record_gfx(uint16_t keycode, keyrecord_t *record);
41 changes: 20 additions & 21 deletions keyboards/converter/palm_usb/matrix.c
Original file line number Diff line number Diff line change
Expand Up @@ -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"


/*
Expand Down Expand Up @@ -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);
*/

Expand All @@ -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);
Expand Down Expand Up @@ -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();
Expand All @@ -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
Expand All @@ -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.
Expand Down
3 changes: 1 addition & 2 deletions keyboards/crkbd/ssd1306.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

#include <stdbool.h>
#include <stdio.h>
#include "pincontrol.h"
#include "action.h"

enum ssd1306_cmds {
Expand Down Expand Up @@ -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);
bool process_record_gfx(uint16_t keycode, keyrecord_t *record);
1 change: 0 additions & 1 deletion keyboards/helix/local_drivers/ssd1306.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@

#include <stdbool.h>
#include <stdio.h>
#include "pincontrol.h"
#include "action.h"

enum ssd1306_cmds {
Expand Down
3 changes: 1 addition & 2 deletions keyboards/lily58/ssd1306.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

#include <stdbool.h>
#include <stdio.h>
#include "pincontrol.h"
#include "action.h"

enum ssd1306_cmds {
Expand Down Expand Up @@ -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);
bool process_record_gfx(uint16_t keycode, keyrecord_t *record);
3 changes: 1 addition & 2 deletions keyboards/yosino58/ssd1306.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

#include <stdbool.h>
#include <stdio.h>
#include "pincontrol.h"
#include "action.h"

enum ssd1306_cmds {
Expand Down Expand Up @@ -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);
bool process_record_gfx(uint16_t keycode, keyrecord_t *record);
50 changes: 0 additions & 50 deletions quantum/pincontrol.h

This file was deleted.

11 changes: 5 additions & 6 deletions users/mtdjr/solenoid.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
#define SOLENOID_H

#include <timer.h>
#include "pincontrol.h"


#define SOLENOID_DEFAULT_DWELL 12
Expand Down Expand Up @@ -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;
}
Expand All @@ -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) {
Expand All @@ -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

0 comments on commit 16a15c1

Please sign in to comment.