info:verifone_tranz_330_hacking
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
info:verifone_tranz_330_hacking [2008/08/16 23:30] – created tomgee | info:verifone_tranz_330_hacking [2008/08/18 11:33] (current) – tomgee | ||
---|---|---|---|
Line 30: | Line 30: | ||
That leaves 5 pins unaccounted for. | That leaves 5 pins unaccounted for. | ||
+ | |||
==== Header Block Pinout ==== | ==== Header Block Pinout ==== | ||
Line 42: | Line 43: | ||
Pin 7 - Column 2 of the keypad | Pin 7 - Column 2 of the keypad | ||
Pin 8 - Column 1 of the keypad | Pin 8 - Column 1 of the keypad | ||
+ | Pin 12 - pulses when card swiped as seen by TG | ||
Pin 13 - /POR on the OKI display chip. Set this low for | Pin 13 - /POR on the OKI display chip. Set this low for | ||
200ns to reset the chip. | 200ns to reset the chip. | ||
Line 50: | Line 52: | ||
Pin 20 - GND for the board. | Pin 20 - GND for the board. | ||
+ | ==== Display ==== | ||
+ | |||
+ | Thing thing has an awesome 16 character 16-segment VFD display with a OKI C1937-01 display driver. | ||
+ | |||
+ | It's a pretty standard shift register thing to get data into it, except that it reads DATA when SCLK goes _LOW_ instead of HIGH. Also, there' | ||
+ | |||
+ | To write to the display, you clock in " | ||
+ | |||
+ | Power Consumption: | ||
+ | ==== API ==== | ||
+ | |||
+ | |||
+ | Okay, so I have a pretty simple API in place now.. | ||
+ | |||
+ | * resetOki - Resets the controller IC | ||
+ | * setPosition - Sets the cursor to a certain position. | ||
+ | * writeChar - Takes an ASCII character, displays it on the screen. | ||
+ | * setBrightness - Sets the duty cycle (brightness). | ||
+ | * printString - A generic print that prints a series of letters on the screen. | ||
+ | * cyclon - Make a character go back and forth across the screen. | ||
+ | |||
+ | Still needed: | ||
+ | |||
+ | * Fade special effect (just calls setBrightness at a specified rate). | ||
+ | * Scroll special effect. Scroll a message across the screen at a specified rate and direction. | ||
+ | |||
+ | ==== Keypad ==== | ||
+ | |||
+ | This looks like a standard matrix keypad. To read, you just activate the columns one by one, and see which (if any) of the row pins light up. Pins 1-8 of the header are the keypad. | ||
+ | |||
+ | Tie this to a timer interrupt, and you'll always have an uint16_t with the active buttons listed in it. (Er.. Overly complex. Just poll it when you need it.) | ||
+ | ==== Speaker ==== | ||
+ | A Piezo Buzzer, connected to pin 18. | ||
+ | |||
+ | ==== Mag stripe reader ==== | ||
+ | |||
+ | Man, NO idea. This is utter magic to me. | ||
+ | |||
+ | Is it a high and low value? Does it need an op-amp? There are a bunch of op-amps on the board. Maybe one of them? | ||
+ | How is data encoded? |
info/verifone_tranz_330_hacking.1218943816.txt.gz · Last modified: 2008/08/16 23:30 by tomgee