Author Topic: Controller Reset Question  (Read 3265 times)

0 Members and 1 Guest are viewing this topic.

Offline tedfs3

  • Thread Starter
  • Posts: 43
    • No Mercy Given
Controller Reset Question
« on: Sat, 06 April 2019, 14:00:30 »
Going over designs like the open source G80-3000 replica and the NKBM-ST110r2 posted here and ran into a question.

Both projects have reset pins on the controllers. Following the traces on each board, I do see the Reset pins connected to a Reset " header " but not connected to any key.
Is the Reset triggered in the Firmware when the assigned Reset key is pressed ?  The pins are not electrically connected to any key that I can find on either board and I'm having
a hard time understanding how the Reset could be triggered if it's not electrically connected to anything really. My only guess is it's Firmware triggered but am not sure.

I'm basing a design off of the NKBM-ST110r2 that uses the Teesny2.0++ and am trying to get a better understanding of how everything works together.

Offline Tactile

  • Posts: 1185
  • Location: Portland, OR
Re: Controller Reset Question
« Reply #1 on: Sat, 06 April 2019, 16:09:00 »
You can assign reset in your programmed layout to your choice of key combo. Reset can be done in hardware (a physical switch connected to the traces you have found) or software (assigned to a programmed key or combination of keys).

Offline tedfs3

  • Thread Starter
  • Posts: 43
    • No Mercy Given
Re: Controller Reset Question
« Reply #2 on: Sun, 07 April 2019, 03:44:31 »
You can assign reset in your programmed layout to your choice of key combo. Reset can be done in hardware (a physical switch connected to the traces you have found) or software (assigned to a programmed key or combination of keys).

Thank you for the explanation. I was hoping a software option would work. While the Teensy does have a physical reset button on it, I'd rather have a key combo option for reset than poking anything down into the board to reset. I'll have to figure out how to implement a key combo for reset in the firmware as having one key dedicated to reset bothers me. An obscure key combo not used in any of the software I use seems like a safer bet.

Offline Tactile

  • Posts: 1185
  • Location: Portland, OR
Re: Controller Reset Question
« Reply #3 on: Sun, 07 April 2019, 07:51:06 »
Here's one way to do what you want. You might get some ideas from this example:

In TMK, Hasu has defined a "magic" key combination. By default it's L-shift + R-shift. If you hold down both shift keys you can press another key to make something happen, including a jump to bootloader (reset).

Here's a snippet from the TMK Keyboard GitHub page:
Code: [Select]
Magic Commands
To see help press Magic + H.

Magic key combination is LShift + RShift in many projects, but Power key on ADB converter. Magic keybind can be vary on each project, check config.h in project directory.

Following commands can be also executed with Magic + key. In console mode Magic keybind is not needed.

----- Command Help -----
c:      enter console mode
d:      toggle debug enable
x:      toggle matrix debug
k:      toggle keyboard debug
m:      toggle mouse debug
v:      print device version & info
t:      print timer count
s:      print status
e: print eeprom config
n: toggle NKRO
0/F10:  switch to Layer0
1/F1:   switch to Layer1
2/F2:   switch to Layer2
3/F3:   switch to Layer3
4/F4:   switch to Layer4
PScr:   power down/remote wake-up
Caps:   Lock Keyboard(Child Proof)
Paus:   jump to bootloader

So, as you can see, on my GH60 keyboard which is running TMK, if I hold both shift keys down (the "magic" key combo) and then press PAUSE, the keyboard controller will enter bootloader mode, just as if I had pressed the hardware reset button on the bottom of the board.
« Last Edit: Sun, 07 April 2019, 07:53:38 by Tactile »

Offline tedfs3

  • Thread Starter
  • Posts: 43
    • No Mercy Given
Re: Controller Reset Question
« Reply #4 on: Sun, 07 April 2019, 20:44:47 »
Very good to know. Thank you for sharing that !