Converting an IBM Pingmaster

User avatar
just_add_coffee

23 Apr 2017, 17:44

I'm experiencing some quirkiness with this board.

Random keys that cease working unless I re-flash the .hex. Not being able to assign anything to the 4th row, last column key (labeled "Page Down" in the pics above). After a few minutes of not being used, initial keypresses don't do anything.

I've unsoldered and resoldered everything. hid_listen shows this ...
h1.jpg
... for that key that I can't assign.

But I don't know where to begin to diagnose these issues.

__red__

23 Apr 2017, 18:14

Flash the firmware I gave you and try again. Let's at least see if we can determine if it's a software or hardware problem.

__red__

23 Apr 2017, 18:23

just_add_coffee wrote: I'm experiencing some quirkiness with this board.

Random keys that cease working unless I re-flash the .hex. Not being able to assign anything to the 4th row, last column key (labeled "Page Down" in the pics above). After a few minutes of not being used, initial keypresses don't do anything.

I've unsoldered and resoldered everything. hid_listen shows this ...
h1.jpg
... for that key that I can't assign.

But I don't know where to begin to diagnose these issues.
Start here:
https://github.com/tmk/tmk_keyboard/blo ... n/unimap.h

User avatar
SaltyMcSushi

23 Apr 2017, 19:09

just_add_coffee wrote:Regarding the relegendable labels, I found a .doc template, cleaned it up, tweaked and customized, and printed it. Then I cut strips long-ways using a rotary trimmer board and short-ways using a pair of scissors. It isn't terribly hard at all.

And congratulation on your own Ping! And don't forget to post pics! :D
Cool, thanks!

Here's my Teensy->DB9 wiring. Warning: amateur solder job:
Spoiler:
Image
Unfortunately, one of the wires has already snapped :cry:

I'll definitely post pics of the keyboard when it's all prettied up- right now it just looks like a plain Pingmaster.
just_add_coffee wrote: I'm experiencing some quirkiness with this board.

Random keys that cease working unless I re-flash the .hex. Not being able to assign anything to the 4th row, last column key (labeled "Page Down" in the pics above). After a few minutes of not being used, initial keypresses don't do anything.
I'm getting the same issues!

For random keys not working- this usually happens immediately after I re-flash. Restarting the computer or re-plugging the USB clears it up for me.

But I also can't get that 4th row, last column key to work. I'm quite glad it's not something broken on my board- Did you also use firmware from the TMK Keymap Editor site? Maybe it's a problem with that. Next thing to try would probably be _red_'s hex file.

Unfortunately I can't test anything myself- We got the board working last night but today one of the wires snapped near the joint and a few others are fraying. (I was probably too sparing when I tinned the wires- eh, my first soldering.) I'll have to find the time to redo it. Or maybe I'll cave and get one of hasu's preassembled converters...

__red__

23 Apr 2017, 19:59

Some soldering advice:
0) You want less exposed metal when you're soldering as they can touch each other and bad things can happen.
1) You don't want to solder the socket while plugged into the plug as the heat will transfer between them and melt the joint inside the plug.
2) That type of solder joint on the socket is lovingly referred to as a bucket joint. Fill it. You want good, fluxy solder and fill it. If I can find one handy later this afternoon I'll solder one up so you can see the technique.

You got it working, that's 99% of teh battle. Now you just need to decide how to deal with mechanical stress. Strapping it down to something solid with cable-ties is probably the easiest to start with and then as you get more experience and/or have your own preferences you'll make up your own.

I'm partial to cable-lacing as you may have seen in my previous images...

https://www.google.com/search?q=cable+l ... 60&bih=537

User avatar
just_add_coffee

23 Apr 2017, 20:39

__red__ wrote: Flash the firmware I gave you and try again. Let's at least see if we can determine if it's a software or hardware problem.
Done. Still getting FB and 7B for that row 4, last column key. I haven't seen the other issues yet.

__red__

23 Apr 2017, 20:41

just_add_coffee wrote:
__red__ wrote: Flash the firmware I gave you and try again. Let's at least see if we can determine if it's a software or hardware problem.
Done. Still getting FB and 7B for that row 4, last column key. I haven't seen the other issues yet.
Show me the key you're talking about... point at it for me.

User avatar
just_add_coffee

23 Apr 2017, 20:43

__red__ wrote:
I'm partial to cable-lacing as you may have seen in my previous images...

https://www.google.com/search?q=cable+l ... 60&bih=537
Oh. That's what that was! That does look rather spiffy!

__red__

23 Apr 2017, 20:48

__red__ wrote:
just_add_coffee wrote:
__red__ wrote: Flash the firmware I gave you and try again. Let's at least see if we can determine if it's a software or hardware problem.
Done. Still getting FB and 7B for that row 4, last column key. I haven't seen the other issues yet.
Show me the key you're talking about... point at it for me.
Found it.I get the exact same code.

What's the problem? Are you having problems assigning an action to it?

User avatar
just_add_coffee

23 Apr 2017, 20:53

__red__ wrote:
Show me the key you're talking about... point at it for me.
arrows.jpg

User avatar
just_add_coffee

23 Apr 2017, 20:55

__red__ wrote: Show me the key you're talking about... point at it for me.

Found it.I get the exact same code.

What's the problem? Are you having problems assigning an action to it?
Yes. Even your hex file doesn't seem to reassign the key.
Last edited by just_add_coffee on 23 Apr 2017, 21:37, edited 1 time in total.

__red__

23 Apr 2017, 21:02

Okay - give me 10 mins and google hangouts me. I need to check against my capacitative 4704 to compare which runs the same firmware.

I can probably only manage ~15-20m but let's take a look together. I'll PM you my email address to hangouts me at.

User avatar
just_add_coffee

23 Apr 2017, 21:27

SaltyMcSushi wrote: Did you also use firmware from the TMK Keymap Editor site? Maybe it's a problem with that.
I did also use the TMK site. Maybe it is the site, but I didn't see anyone else raising the issue.

__red__

23 Apr 2017, 23:40

So the version that I posted will have two differences:
0) I'm almost certainly using a different version (I used master)
1) I'm not compiling with unimap.

ymmv.

User avatar
just_add_coffee

24 Apr 2017, 04:10

__red__ wrote: So the version that I posted will have two differences:
0) I'm almost certainly using a different version (I used master)
1) I'm not compiling with unimap.

ymmv.
Do you have a version in which you've made customizations? Because nothing from the ibm4704_usb_rev1, whether the .hex is generated on the TMK site or on the machine, seems to affect that key.

I'm starting to wonder if maybe this is why some people opted for the Soarer's Controller option.

__red__

24 Apr 2017, 04:16

just_add_coffee wrote: I'm starting to wonder if maybe this is why some people opted for the Soarer's Controller option.
I doubt it. Chronology doesn't fit.

You're going to make me re-compile aren't you... fine - brb!

User avatar
just_add_coffee

24 Apr 2017, 04:35

__red__ wrote:
just_add_coffee wrote: I'm starting to wonder if maybe this is why some people opted for the Soarer's Controller option.
I doubt it. Chronology doesn't fit.

You're going to make me re-compile aren't you... fine - brb!
Actually, I'd rather see your source, if possible.

__red__

24 Apr 2017, 04:47

Confirmed that the firmware is fine. I just re-mapped the entire 4x5 block to be:

Code: Select all

qwer
tyui
opas
dfgh
jklx
... and it worked flawlessly.

Show your work - how are you generating your own hex file...

__red__

24 Apr 2017, 04:49

just_add_coffee wrote:
__red__ wrote:
just_add_coffee wrote: I'm starting to wonder if maybe this is why some people opted for the Soarer's Controller option.
I doubt it. Chronology doesn't fit.

You're going to make me re-compile aren't you... fine - brb!
Actually, I'd rather see your source, if possible.

Code: Select all

#include "keymap_common.h"


const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    /* Layer 0:
     * ,---------------------------------------------------------------.  ,-----------. ,---------------.
     * |  `|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|BS |BS |F21|  |PSC|SLK|PAU| |F1 |F2 |F3 |F4 |
     * |---------------------------------------------------------------|  |-----------| |---------------|
     * |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|    \|F22|  |Ins|Hom|PgU| |F5 |F6 |F7 |F8 |
     * |---------------------------------------------------------------|  |-----------| |---------------|
     * |Ctrl  |  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  '|Ret|Ret |F23|  |Del|End|PgD| |F9 |F10|F11|F12|
     * |---------------------------------------------------------------|  |-----------| |---------------|
     * |Shift   |  Z|  X|  C|  V|  B|  N|  M|  ,|  ,|  /|Shf|Shift |F24|  |   |Up |   | |F13|F14|F15|F16|
     * |---------------------------------------------------------------|  |-----------| |---------------|
     * |Fn0  |Gui|Alt  |         Space             |Alt* |Gui|Fn0      |  |Lef|Dow|Rig| |F17|F18|F19|F20|
     * `---------------------------------------------------------------'  `-----------' `---------------'
     */
    KEYMAP_ALPS102(
    ESC, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, BSPC,BSPC,F21,      PSCR,SLCK,PAUS,     Q,  W,  E,  R,  \
    TAB, Q,   W,   E,   R,   T,   Y,   U,   I,   O,   P,   LBRC,RBRC,BSLS,     F22,      INS, HOME,PGUP,     T,  Y,  U,  I,  \
    LCTL,A,   S,   D,   F,   G,   H,   J,   K,   L,   SCLN,QUOT,GRV, ENT,      F23,      DEL, END, PGDN,     O,  P, A, S, \
    LSFT,Z,   X,   C,   V,   B,   N,   M,   COMM,DOT, SLSH,RSFT,RSFT,          F24,      NO,  UP,  NO,       D, F, G, H, \
    FN0, LGUI,LALT,          SPC,                     RALT,RGUI,               FN0,      LEFT,DOWN,RGHT,     J, K, L, X  \
    ),

    /* Layer 1:
     * ,---------------------------------------------------------------.  ,-----------. ,---------------.
     * |  `|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|BS |BS |F21|  |VoD|VoU|Mut| |F1 |F2 |F3 |F4 |
     * |---------------------------------------------------------------|  |-----------| |---------------|
     * |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|    \|F22|  |Ins|Hom|PgU| |F5 |F6 |F7 |F8 |
     * |---------------------------------------------------------------|  |-----------| |---------------|
     * |Ctrl  |  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  '|Ret|Ret |F23|  |Del|End|PgD| |F9 |F10|F11|F12|
     * |---------------------------------------------------------------|  |-----------| |---------------|
     * |Shift   |  Z|  X|  C|  V|  B|  N|  M|  ,|  ,|  /|Shf|Shift |F24|  |   |PgU|   | |F13|F14|F15|F16|
     * |---------------------------------------------------------------|  |-----------| |---------------|
     * |Fn0  |Gui|Alt  |         Space             |Alt* |Gui|Fn0      |  |Hom|PgD|End| |F17|F18|F19|F20|
     * `---------------------------------------------------------------'  `-----------' `---------------'
     */
    KEYMAP_ALPS102(
    TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,     VOLD,VOLU,MUTE,     TRNS,TRNS,TRNS,TRNS, \
    TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,     TRNS,     TRNS,TRNS,TRNS,     TRNS,TRNS,TRNS,TRNS, \
    TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,     TRNS,     TRNS,TRNS,TRNS,     TRNS,TRNS,TRNS,TRNS, \
    TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,          TRNS,     TRNS,PGUP,TRNS,     TRNS,TRNS,TRNS,TRNS, \
    TRNS,TRNS,TRNS,          TRNS,                    TRNS,TRNS,               TRNS,     HOME,PGDN,END,      TRNS,TRNS,TRNS,TRNS  \
    ),
};


const action_t PROGMEM fn_actions[] = {
    [0] = ACTION_LAYER_MOMENTARY(1),
};

__red__

24 Apr 2017, 05:05

... and now I've started moving the keys around so it's the same format as my metal cap-based 4704. So that file's about to change again...

User avatar
Wingklip

24 Apr 2017, 09:08

Just a word of warning to anyone using a pro micro or teensy, sometimes they are either a defective board or not soldered properly. I have a converter I made with perfect solder joints but generates wierd presses when I move it around the table. At first I thought my XT was defective, but in reality the board actually was

User avatar
just_add_coffee

24 Apr 2017, 16:00

Wingklip wrote: Just a word of warning to anyone using a pro micro or teensy, sometimes they are either a defective board or not soldered properly. I have a converter I made with perfect solder joints but generates wierd presses when I move it around the table. At first I thought my XT was defective, but in reality the board actually was
Wow. Besides switching out them with another, any ways of telling for sure whether the Pro Micro or Teensy is defective? And how are the folks at pjrc.com with returns?

As far as the issues that I'm having with my board, I feel like the culprit is the customized .hex generated by the TMK website, but I can't figure out why. I submitted an issue via their GitHub and am waiting to see what happens.

__red__

24 Apr 2017, 16:09

I would be very surprised if people were dealing with faulty teensys unless those faults were introduced by overheating pads while soldering to them. There are more probable explanations for the effects being seen such as:
0) Mechanical stress on joints.
1) Moving a plastic keyboard around on a plastic desk could be generating static potential which could cause issues.

just_add_coffee: Just compile up your own firmware man. Not only is it simple to do but you'll then know how to fish.

User avatar
just_add_coffee

24 Apr 2017, 17:03

__red__ wrote: just_add_coffee: Just compile up your own firmware man. Not only is it simple to do but you'll then know how to fish.
I'm tryin' ta.

I'm using Git Bash, cded into ...\tmk_keyboard-master\tmk_keyboard-master\converter\ibm4704_usb, copied and saved your previous source code as MyMakefile.rev1, and run $ make -f MyMakefile.rev1 KEYMAP=alps102key.

I get back

Code: Select all

MyMakefile.rev1:6: *** missing separator.  Stop.
When I try $ make -f Makefile.rev1 KEYMAP=alps102key, I get a wall o' text that ends with Error 1, which I think means I won 1st Place in the Error Contest. :lol:

Edit: I found instructions here, which parallel the previous instructions in this thread.

User avatar
SaltyMcSushi

24 Apr 2017, 17:14

just_add_coffee wrote: As far as the issues that I'm having with my board, I feel like the culprit is the customized .hex generated by the TMK website, but I can't figure out why.
I agree. It's happening to both of us, and it'd be a weird coincidence that both our keyboards or teensys have the same fault and only for that key. My Pingmaster's buzzer was working for that key, so at least something's working on that end. But the hex files we're using are basically the same, so I'm hoping it's a specific bug with TMK, and may be an issue only occurring with the Pingmaster.

User avatar
OldIsNew

25 Apr 2017, 00:59

Awesome work guys! I`m typing on my pingmaster now! Still have to figure out some of the keys, but the main keyboard
seems to work pretty well - including the rather loud beeper! It does seem to randomly drop some letters at times - still beeps but no screen output for C once then D then Z and Y - and require a reboot of the Teensy, but overall VERY cool and right now all the letters are working! Thanks so much! :D

Ping1.jpg
Ping1.jpg (520.93 KiB) Viewed 792 times
Ping2.jpg
Ping2.jpg (693.14 KiB) Viewed 792 times

__red__

25 Apr 2017, 01:27

just_add_coffee wrote: I'm using Git Bash, cded into ...\tmk_keyboard-master\tmk_keyboard-master\converter\ibm4704_usb, copied and saved your previous source code as MyMakefile.rev1, and run $ make -f MyMakefile.rev1 KEYMAP=alps102key.
So yeah - that's because what I cut and pasted wasn't the contents of the Makefile.rev1 - it's my modified version of keymap_alps102key.c

So, return Makefile.rev1 to its original glory (actually - nuke and re-checkout the whole repo - easier that way).

Then - write the file as keymap_coffee.c

Then compile as:

make -f Makefile.rev1 KEYMAP=coffee

Report back!

User avatar
just_add_coffee

25 Apr 2017, 04:33

__red__ wrote: Report back!
Still getting that Error 1. But this time I scrolled to the top ...
dfucommand.jpg
I downloaded and unzipped DFU Programmer for Windows, but I don't know how to use it yet.

This is proving to be a wee bit difficult.

__red__

25 Apr 2017, 04:41

That's good. Do you see a *.hex file?

User avatar
just_add_coffee

25 Apr 2017, 04:58

__red__ wrote: That's good. Do you see a *.hex file?
I do not. The keyboard gods aren't smiling upon me today.

Post Reply

Return to “Workshop”