Difference between revisions of "Keypad"

From ArmadeusWiki
Jump to: navigation, search
m (Use "Under Construction" Template)
(reorg)
Line 1: Line 1:
{{Under Construction}}
+
=How to connect a keypad to your Armadeus board=
  
==How to connect a keypad to your Armadeus board==
+
==Introduction==
  
===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.
  
Your Armadeus board allows you to connect a matrix 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".
 +
<br>Under Test...
 +
====Matrix keypads on i.MX27====
 +
====Matrix keypads on i.MXL====
 +
[[Driver for i.MX GPIO controlled keypads]]
  
===Hardware===
 
There are 2 solutions to connect a matrix keypad to your Armadeus board:
 
====Direct connection to i.MXL====
 
 
{| cellspacing=5 cellpadding=5 border=0 width=100%
 
{| cellspacing=5 cellpadding=5 border=0 width=100%
 
|-  
 
|-  
Line 21: Line 26:
 
|}
 
|}
  
====FPGA solution====
+
===FPGA solution===
 
Under development...
 
Under development...
  
===Software driver===
+
==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�,�;��, � �
  
[[Driver for i.MX GPIO controlled keypads]]
 
  
 
===Links===
 
===Links===

Revision as of 22:06, 4 December 2009

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.

  • Connect the 4 (rows) lines of the keypad to CSI_MCLK, CSI_D0, CSI_D1, CSI_D2 (resp. PORT_A pin 3, 4, 5, 6)
  • Connect the 4 (columns) lines of the keypad to CSI_D3, CSI_D4, CSI_D5 CSI_D6 (resp. PORT_A pin 7, 8, 9, 10)

{add a big picture of the keypad link with APF_DEV_LIGHT} {add a big picture of the keypad link with APF_DEV_FULL}

3x4 matrix keypad connected to i.MXL GPIOs

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)