Author Topic: The nspire Keypad Connector  (Read 5529 times)

0 Members and 1 Guest are viewing this topic.

Offline willrandship

  • Omnimagus of the Multi-Base.
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2953
  • Rating: +98/-13
  • Insert sugar to begin programming subroutine.
    • View Profile
The nspire Keypad Connector
« on: August 22, 2011, 04:01:26 pm »
This post is an exploration of the 30-pin connector that connects the swappable keypads to the Nspire.

The connector has 30 pins, and the pcb on the pads conveniently told me which was 1 and which was 30 so I can be confident about the numbering scheme.

I figured I'd start a topic to keep track of my findings in, so I don't lose any notes.

Spoiler For pinout so far:

Spoiler For 84+ pad in OS 1.4 non-cas:
Unless otherwise noted, this is with the calc ON in 84+ mode. OS 1.4 atm.
Also, I'll be referencing keys based on the BASIC 84+ getkey codes. so 101 is ON, 15 is graph, etc

1 - Ground
2 - Held High (Could be GPIO, could be Vcc, could be a fixed signal pin)
3 - Held High, turns to square wave when you press and hold any 10* key EXCEPT On (?) as well as down and Graph
4 - some form of square wave (my scope is crap, so I can't tell much. It can't actually sync to the wave. It IS a tube-based one, so I'm not surprised)
5 - Held High, turns to square wave when you press and hold any 9* key as well as left and trace
6 - Square Wave
7 - Held High turns to square wave when you press and hold any 8* key as well as right, zoom
8 - Square Wave
9 - Held High turns to square wave when you press and hold any 7* key as well as up, window
10 - Square Wave
11 - Held High turns to square wave when you press and hold any 6* key
12 - Square Wave
13 - Held High, turns to square wave when you press and hold any 5* key
14 - Square Wave
15 - Held High, turns to square wave when you press and hold any 4* key
16 - Square Wave
17 - Held High, turns to square wave when you press and hold Alpha, X-Var, Stat or Del
18 - Square Wave
19 - Held High
20 - Held High
21 - Held Low
22 - Held Low
23 - Held High, Link port wire
24 - Square Wave
25 - Held High, Link port wire
26 - Held High
27 - Held Low
28 - Held Low
29 - Held Low
30 - Held Low

Observations:
All Square waves change to Solid ON when the calc is in Standby.

The key layout for the pins is identical to the way they are layed out in memory, so bonus! That also means it'll be easier to get I/O Going.

since the key layout is the same, that means there are 3 bytes of input completely available for use, asssuming they aren't already used for that for the link port.

Thoughts so far:
3-17 are the pins for detecting the majority of the keys, at least for the rows.
I bet 19, 21 and 23 do the same, but since the 84+ doesn't use them they are unresponsive to any testing, and wouldn't show the square waves either.

Spoiler For 84+ Pad in 2.0 CAS (results in normal boot):
I have a CAS and I modified the pad so it can fit, so this should closely replicate a touchpad, minus the touch module.

Spoiler For WARNING: Huge Pics of the connector I made:
« Last Edit: August 22, 2011, 10:01:15 pm by willrandship »

Offline Jim Bauwens

  • Lua! Nspire! Linux!
  • Editor
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1881
  • Rating: +206/-7
  • Linux!
    • View Profile
    • nothing...
Re: The nspire Keypad Connector
« Reply #1 on: August 22, 2011, 05:43:04 pm »
Thank you very much for this, its a great help for me :)
I'll try to use this to send data from my arduino to my nspire.
I also love the fact that the touchpad is i2c \o/

Offline willrandship

  • Omnimagus of the Multi-Base.
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2953
  • Rating: +98/-13
  • Insert sugar to begin programming subroutine.
    • View Profile
Re: The nspire Keypad Connector
« Reply #2 on: August 22, 2011, 05:45:51 pm »
Well, if you want nspire <-> arduino now, then you could use the RS232 in the base connector.

And thank you: If you hadn't given me an extra keypad, I would have been scared stiff of damaging this thing when making the new connector, and would most likely not have done it at all :P
« Last Edit: August 22, 2011, 05:46:34 pm by willrandship »

Offline Jim Bauwens

  • Lua! Nspire! Linux!
  • Editor
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1881
  • Rating: +206/-7
  • Linux!
    • View Profile
    • nothing...
Re: The nspire Keypad Connector
« Reply #3 on: August 22, 2011, 05:48:14 pm »
Well, this is for Lua. I can send stuff to the serial port with Lua, just not receive. That is why I need this :)

And np, I had to send it to someone, or it would be wasted :p

Offline willrandship

  • Omnimagus of the Multi-Base.
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2953
  • Rating: +98/-13
  • Insert sugar to begin programming subroutine.
    • View Profile
Re: The nspire Keypad Connector
« Reply #4 on: August 22, 2011, 05:53:55 pm »
ah, so you plan to use the unused buttons for input? Very cool. Quick tip:

http://hackspire.unsads.com/wiki/index.php/Keypads

The table for key maps shows which pins have which keys, and which are unused. the 84+ pad probably uses the other 3 pins for link port I/O, but I can't be positive, and the touchpad has to be using more than just the 11 pins for buttons to run its i2c connection.

 I believe that the pins are using a serial signal to transmit a byte of information through each pin, where each individual bit is a separate key, so you'll want a completely unnocupied pin, or you could just not use certain buttons.

Now all I need is a way to test for the clickpad and touchpad :P
« Last Edit: August 22, 2011, 06:02:13 pm by willrandship »

Offline willrandship

  • Omnimagus of the Multi-Base.
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2953
  • Rating: +98/-13
  • Insert sugar to begin programming subroutine.
    • View Profile
Re: The nspire Keypad Connector
« Reply #5 on: September 15, 2011, 11:42:19 pm »
So, I got a more updated version of this info posted on the hackspire page in the above post, and I'll probably confine future updates to there as well. Keep looking for more information, particularly on the dock connector.

Offline Jim Bauwens

  • Lua! Nspire! Linux!
  • Editor
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1881
  • Rating: +206/-7
  • Linux!
    • View Profile
    • nothing...
Re: The nspire Keypad Connector
« Reply #6 on: September 16, 2011, 03:01:47 am »
Thanks a ton :D