Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Marie
qmk_luckenbach_fork
Commits
16a15c1c
Unverified
Commit
16a15c1c
authored
Apr 30, 2020
by
Ryan
Committed by
GitHub
Apr 30, 2020
Browse files
QMK-ify some GPIO macros (#8315)
parent
37a4b53c
Changes
12
Hide whitespace changes
Inline
Side-by-side
drivers/avr/apa102.c
View file @
16a15c1c
...
...
@@ -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
++
)
{
digitalW
rite
(
RGB_DI_PIN
,
!!
(
byte
&
(
1
<<
(
7
-
i
)));
digitalWrite
(
RGB_CLK_PIN
,
PinLevelHigh
);
w
rite
Pin
(
RGB_DI_PIN
,
!!
(
byte
&
(
1
<<
(
7
-
i
)
)));
writePinHigh
(
RGB_CLK_PIN
);
}
}
drivers/avr/ssd1306.h
View file @
16a15c1c
...
...
@@ -3,7 +3,6 @@
#include <stdbool.h>
#include <stdio.h>
#include "pincontrol.h"
#include "config.h"
enum
ssd1306_cmds
{
...
...
keyboards/40percentclub/nano/keymaps/drashna/keymap.c
View file @
16a15c1c
#include "drashna.h"
#include "analog.h"
#include "pointing_device.h"
#include "pincontrol.h"
#define KC_X0 LT(_FN, KC_ESC)
...
...
keyboards/claw44/ssd1306.h
View file @
16a15c1c
...
...
@@ -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
);
keyboards/comet46/ssd1306.h
View file @
16a15c1c
...
...
@@ -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
);
keyboards/converter/palm_usb/matrix.c
View file @
16a15c1c
...
...
@@ -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.
...
...
keyboards/crkbd/ssd1306.h
View file @
16a15c1c
...
...
@@ -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
);
keyboards/helix/local_drivers/ssd1306.h
View file @
16a15c1c
...
...
@@ -3,7 +3,6 @@
#include <stdbool.h>
#include <stdio.h>
#include "pincontrol.h"
#include "action.h"
enum
ssd1306_cmds
{
...
...
keyboards/lily58/ssd1306.h
View file @
16a15c1c
...
...
@@ -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
);
keyboards/yosino58/ssd1306.h
View file @
16a15c1c
...
...
@@ -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
);
quantum/pincontrol.h
deleted
100644 → 0
View file @
37a4b53c
/* 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
);
}
users/mtdjr/solenoid.h
View file @
16a15c1c
...
...
@@ -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
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment