Difference between revisions of "Keypad"

From ArmadeusWiki
Jump to: navigation, search
(Hardware)
(How to connect a keypad to your Armadeus board)
Line 6: Line 6:
 
===Introduction===
 
===Introduction===
  
Your armadeus board allows you to connect a keypad as input device. The default keypad software driver configuration supports 16 keys connected to the CSI bus. The current development state of the driver is unfinished and not fully generic but you can easily extend the driver to support up to 36 keys keypad using the whole CSI bus.
+
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.
  
 
===Hardware===
 
===Hardware===
 
There are 2 solutions to connect a matrix keypad to your Armadeus board:
 
There are 2 solutions to connect a matrix keypad to your Armadeus board:
 
====Direct connection to i.MXL====
 
====Direct connection to i.MXL====
By default your board supports a direct connection with a 4x4 matrix keypad using the CSI lines: CSI_MCLK,CSI_D0..CSI_D6.
+
{| cellspacing=5 cellpadding=5 border=0 width=100%
The driver uses the GPIOs 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.
+
| width="75%" | By default your board supports a direct connection with a 4x4 matrix keypad using the CSI lines: CSI_MCLK, CSI_D0...CSI_D6.
* Connect the 4 (columns) lines of the keypad to CSI_D3, CSI_D4, CSI_D5 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_LIGHT}
 
{add a big picture of the keypad link with APF_DEV_FULL}
 
{add a big picture of the keypad link with APF_DEV_FULL}
[[Image:keypad.svg|thumb|Example of a 3x4 keypad]]
+
| [[Image:keypad.svg|thumb|3x4 matrix keypad connected to i.MXL GPIOs|150px]]
 +
|}
  
 
====FPGA solution====
 
====FPGA solution====

Revision as of 12:18, 17 May 2008

PAGE UNDER CONSTRUCTION !!!

Construction.png

How to connect a keypad to your Armadeus board

Introduction

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.

Hardware

There are 2 solutions to connect a matrix keypad to your Armadeus board:

Direct connection to i.MXL

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...

Software driver

link to software driver

Links

external links (for exemple: locomo driver model)