Keypad
Contents
How to connect a keypad to your Armadeus board
Introduction
Your Armadeus board allows you to connect a (matrix or not) keypad as input device. The default keypad driver configuration supports 16 keys connected to the i.MXL CSI bus. The current development state of the driver is unfinished and not fully generic but you can easily extend the driver to support keypads up to 36 keys using the whole CSI bus. Development are also ongoing to connect matrix keypads using the FPGA.
Solutions
There are several solutions to connect a matrix keypad to your Armadeus board:
Keypad directly connected to i.MXL/27
One GPIO for one key
This type of keypad generally called "common ground keypad" is the easiest one to build. If you need more than 6 keys it is however "GPIO consuming".
Under Test...
Matrix keypads on i.MX27
Matrix keypads on i.MXL
Driver for i.MX GPIO controlled keypads
By default your board supports a direct connection with a 4x4 matrix keypad using the CSI lines: CSI_MCLK, CSI_D0...CSI_D6.
The driver uses the i.MXL GPIO's internal pull-up, therefore your board does not need any additional external resistor.
{add a big picture of the keypad link with APF_DEV_LIGHT} {add a big picture of the keypad link with APF_DEV_FULL} |
FPGA solution
Under development...
Test
- use target/demos/keypad_test/ test tool
- If you have a graphical LCD connected to your board (= virtual terminal), then you should see what you type.
- If you don't have any virtual terminal, but only the serial console:
# cat /sys/class/input/input0/event0/dev 13:64
If corresponding device node in /dev/input/ is not existing, then:
# mkdir -p /dev/input # mknod /dev/input/event0 c 13 64
# cat /dev/input/event0
Then you should see weirds characters when pressing keyboard keys:
�,~~_�,}�}�3T,QToT6,TT�,�;��, � �
Links
external links (for exemple: locomo driver model)