Author Topic: Teensy 3.1 firmware available? [Answered: kiibohd/controller]  (Read 6196 times)

0 Members and 1 Guest are viewing this topic.

Offline nandop

  • Thread Starter
  • Posts: 87
  • Location: USA
  • May your keystrokes always be true.
Teensy 3.1 firmware available? [Answered: kiibohd/controller]
« on: Thu, 13 November 2014, 18:52:17 »
The pin layouts are all 2 digit numbers, when laying out the DDR, PORT manipulation, how would I do it? (DDR2 (1<<2) for port 22?)
« Last Edit: Thu, 13 November 2014, 23:04:25 by nandop »
Sprit 60%, White MX 78g Au | Planck Ortholinear 40% Clear MX | Phantom TKL Browns 110g Au

Offline jdcarpe

  • * Curator
  • Posts: 8852
  • Location: Odessa, TX
  • Live long, and prosper.
Re: Teensy 3.1 firmware available?
« Reply #1 on: Thu, 13 November 2014, 18:57:19 »
The pin layouts are all 2 digit numbers, when laying out the DDR, PORT manipulation, how would I do it? (DDR2 (1<<2) for port 22?)


Are you talking about hasu's TMK firmware, something else, or what? AFAIK, TMK is only for the ATmega32U4 (including Teensy 2.0), and wouldn't work with the ARM processor of the 3.1.
KMAC :: LZ-GH :: WASD CODE :: WASD v2 :: GH60 :: Alps64 :: JD45 :: IBM Model M :: IBM 4704 "Pingmaster"

http://jd40.info :: http://jd45.info


in memoriam

"When I was a kid, I used to take things apart and never put them back together."

Offline nandop

  • Thread Starter
  • Posts: 87
  • Location: USA
  • May your keystrokes always be true.
Re: Teensy 3.1 firmware available?
« Reply #2 on: Thu, 13 November 2014, 19:01:44 »
The pin layouts are all 2 digit numbers, when laying out the DDR, PORT manipulation, how would I do it? (DDR2 (1<<2) for port 22?)


Are you talking about hasu's TMK firmware, something else, or what? AFAIK, TMK is only for the ATmega32U4 (including Teensy 2.0), and wouldn't work with the ARM processor of the 3.1.

Thank you, jdcarpe. Yes, I'm talking about Hasu's TMK firmware. It's a shame because I keep buying the wrong stuff. No more will I suffer though.  :D
Sprit 60%, White MX 78g Au | Planck Ortholinear 40% Clear MX | Phantom TKL Browns 110g Au

Offline epicepee

  • Posts: 35
Re: Teensy 3.1 firmware available? [answered]
« Reply #3 on: Thu, 13 November 2014, 20:33:08 »
I think the Kiibohd firmware would work with a 3.0:
https://github.com/kiibohd/controller
If that's too much work I'll buy it from you  :)

Offline jdcarpe

  • * Curator
  • Posts: 8852
  • Location: Odessa, TX
  • Live long, and prosper.
Re: Teensy 3.1 firmware available? [answered]
« Reply #4 on: Thu, 13 November 2014, 20:58:21 »
Well, there you go. I had no idea that the Kiibohd firmware supported Teensy 3.0/3.1.
KMAC :: LZ-GH :: WASD CODE :: WASD v2 :: GH60 :: Alps64 :: JD45 :: IBM Model M :: IBM 4704 "Pingmaster"

http://jd40.info :: http://jd45.info


in memoriam

"When I was a kid, I used to take things apart and never put them back together."

Offline Vizir

  • Posts: 298
  • Location: Tulsa, OK
Re: Teensy 3.1 firmware available? [answered]
« Reply #5 on: Thu, 13 November 2014, 21:40:23 »
I wasn't aware that the teensy 3/3.1 had firmwares supporting keyboards. kiibohd is the first i've seen myself. what keyboards does this fw support?

Offline jdcarpe

  • * Curator
  • Posts: 8852
  • Location: Odessa, TX
  • Live long, and prosper.
Re: Teensy 3.1 firmware available? [answered]
« Reply #6 on: Thu, 13 November 2014, 21:44:32 »
I wasn't aware that the teensy 3/3.1 had firmwares supporting keyboards. kiibohd is the first i've seen myself. what keyboards does this fw support?

Just from browsing the code in the github repo, it looks like quite a few older keyboards. But I'm sure it can be configured for any matrix combination, I just need to figure that out. Not quite as intuitive as TMK was for me, but it looks pretty comprehensive.
KMAC :: LZ-GH :: WASD CODE :: WASD v2 :: GH60 :: Alps64 :: JD45 :: IBM Model M :: IBM 4704 "Pingmaster"

http://jd40.info :: http://jd45.info


in memoriam

"When I was a kid, I used to take things apart and never put them back together."

Offline nandop

  • Thread Starter
  • Posts: 87
  • Location: USA
  • May your keystrokes always be true.
Re: Teensy 3.1 firmware available? [answered]
« Reply #7 on: Thu, 13 November 2014, 21:49:21 »
I think the Kiibohd firmware would work with a 3.0:
https://github.com/kiibohd/controller
If that's too much work I'll buy it from you  :)

So many hours of looking, and looking, and here it is! Let me give it a try. Thank you so much!  :D
Sprit 60%, White MX 78g Au | Planck Ortholinear 40% Clear MX | Phantom TKL Browns 110g Au

Offline Vizir

  • Posts: 298
  • Location: Tulsa, OK
Re: Teensy 3.1 firmware available? [answered]
« Reply #8 on: Thu, 13 November 2014, 21:55:53 »
do let us know if this works for you and what keyboard you're using it on.

Offline dorkvader

  • Posts: 6288
  • Location: Boston area
  • all about the "hack" in "geekhack"
Re: Teensy 3.1 firmware available? [answered]
« Reply #9 on: Thu, 13 November 2014, 22:01:19 »
kiibohd is the keyboard module HaaTa uses to convert things, that's why it's so modular, so he can configure a dedicated read / scan module for the KB in question, and compile the rest of everything to work.

I think he's re-writing everything for the new massdrop infinity keyboard and other stuff.

So that's why you see a lot of old/rare stuff in the current repo.

Offline nandop

  • Thread Starter
  • Posts: 87
  • Location: USA
  • May your keystrokes always be true.
Re: Teensy 3.1 firmware available? [answered]
« Reply #10 on: Thu, 13 November 2014, 23:03:40 »
I'm trying to understand what to do, and like TMK, I'm looking for a matrix to modify so I can input mine. But all I can find is a matrix_scan.c/h inside "controller-master/Scan/matrix/~". But that's fine, because he said I'll only need to modify the CMakeLists.txt: "Look at each module individually for it's requirements. There is chip/architecture dependency checking but some permutations of modules may not be tested/compile."

*Does that mean don't worry about it, or a starting point to check if there is an error?(I'm such a noob...  :confused: I wish I could download information to my brain like the Matrix  :cool:)

I changed the CMakeList.txt so that the "mk20dx256" # Teensy   3.1 (arm) is selected (my chip). "WARNING: Not all modules are compatible, and some modules may have dependencies on other modules." This refers back to my initial concern, but I haven no idea how this may affect me in the future.

I have Mac/Windows and the Mac directions are so simple:
----------------------
Mac OS X Building
----------------------

From this directory.
mkdir build
cd build
cmake ..
make

----------------------
Mac OS X Loading Firmware
----------------------

First place the keyboard into re-flash mode.
This can be done either by pressing the re-flash button on the PCB/Teensy.
Or by entering the Kiibohd Virtual Serial Port and using the 'reload' command.

The 'load' script that is created during the build can load the firmware over USB.


To load the newly built firmware:
./load

**What is this though?:

----------------------
**Virtual Serial Port - CLI
----------------------

Rather than use a special program that can interpret Raw HID, this controller exposes a USB Serial CDC endpoint.
This allows for you to use a generic serial terminal to debug/control the keyboard firmware (e.g. Tera Term, minicom, screen)

 ----------
| Mac OS X |
 ----------

I recommend **screen (can be installed via Macports).
screen /dev/tty.<usb something>

Why is he recommending this? What exactly is he recommending?
I'm sorry for all of these questions, I just don't want to solder everything, run into a fatal error and put myself in a predicament of not being able to return the teensy 3.1. I have the 2.0 on the way and I'd be damned if I can't get that to work with Matt3o's guide.
Sprit 60%, White MX 78g Au | Planck Ortholinear 40% Clear MX | Phantom TKL Browns 110g Au

Offline roman.heredia.12

  • Posts: 3
Re: Teensy 3.1 firmware available? [Answered: kiibohd/controller]
« Reply #11 on: Thu, 13 November 2014, 23:17:52 »
I'm trying to understand what to do, and like TMK, I'm looking for a matrix to modify so I can input mine. But all I can find is a matrix_scan.c/h inside "controller-master/Scan/matrix/~". But that's fine, because he said I'll only need to modify the CMakeLists.txt: "Look at each module individually for it's requirements. There is chip/architecture dependency checking but some permutations of modules may not be tested/compile."

*Does that mean don't worry about it, or a starting point to check if there is an error?(I'm such a noob...  :confused: I wish I could download information to my brain like the Matrix  :cool:)

I changed the CMakeList.txt so that the "mk20dx256" # Teensy   3.1 (arm) is selected (my chip). "WARNING: Not all modules are compatible, and some modules may have dependencies on other modules." This refers back to my initial concern, but I haven no idea how this may affect me in the future.

I have Mac/Windows and the Mac directions are so simple:
----------------------
Mac OS X Building
----------------------

From this directory.
mkdir build
cd build
cmake ..
make

----------------------
Mac OS X Loading Firmware
----------------------

First place the keyboard into re-flash mode.
This can be done either by pressing the re-flash button on the PCB/Teensy.
Or by entering the Kiibohd Virtual Serial Port and using the 'reload' command.

The 'load' script that is created during the build can load the firmware over USB.


To load the newly built firmware:
./load

**What is this though?:

----------------------
**Virtual Serial Port - CLI
----------------------

Rather than use a special program that can interpret Raw HID, this controller exposes a USB Serial CDC endpoint.
This allows for you to use a generic serial terminal to debug/control the keyboard firmware (e.g. Tera Term, minicom, screen)

 ----------
| Mac OS X |
 ----------

I recommend **screen (can be installed via Macports).
screen /dev/tty.<usb something>

Why is he recommending this? What exactly is he recommending?
I'm sorry for all of these questions, I just don't want to solder everything, run into a fatal error and put myself in a predicament of not being able to return the teensy 3.1. I have the 2.0 on the way and I'd be damned if I can't get that to work with Matt3o's guide.