Skip to content

Commit

Permalink
Partially revert #18940 for Ploopy Thumb Trackball (#18943)
Browse files Browse the repository at this point in the history
  • Loading branch information
drashna authored Jan 1, 2023
1 parent b585ece commit 9b8f186
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 0 deletions.
24 changes: 24 additions & 0 deletions keyboards/ploopyco/trackball_thumb/rev1_001/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
/* Copyright 2021 Colin Lam (Ploopy Corporation)
* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
* Copyright 2019 Sunjun Kim
*
* 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

// These pins are not broken out, and cannot be used normally.
// They are set as output and pulled high, by default
#define UNUSABLE_PINS \
{ D1, D3, B4, B7, D6, C7, F6, F5, F3, F7 }
13 changes: 13 additions & 0 deletions keyboards/ploopyco/trackball_thumb/trackball_thumb.c
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,19 @@ void keyboard_pre_init_kb(void) {
setPinInput(OPT_ENC1);
setPinInput(OPT_ENC2);

/* Ground all output pins connected to ground. This provides additional
* pathways to ground. If you're messing with this, know this: driving ANY
* of these pins high will cause a short. On the MCU. Ka-blooey.
*/
#ifdef UNUSABLE_PINS
const pin_t unused_pins[] = UNUSABLE_PINS;

for (uint8_t i = 0; i < (sizeof(unused_pins) / sizeof(pin_t)); i++) {
setPinOutput(unused_pins[i]);
writePinLow(unused_pins[i]);
}
#endif

// This is the debug LED.
#if defined(DEBUG_LED_PIN)
setPinOutput(DEBUG_LED_PIN);
Expand Down

0 comments on commit 9b8f186

Please sign in to comment.