Difference between revisions of "Example getkey"

From wiki.emacinc.com
Jump to: navigation, search
(Description, Usage and Expected Behaviour)
(Description, Usage and Expected Behaviour)
Line 27: Line 27:
 
* A [http://www.emacinc.com/som/som150es.htm SOM-150ES carrier board] (Available from EMAC).<br />
 
* A [http://www.emacinc.com/som/som150es.htm SOM-150ES carrier board] (Available from EMAC).<br />
 
* A compatible '''SoM''' for that carrier board ([http://www.emacinc.com/products/system_on_module/SoM-9260M SOM-9260M], [http://www.emacinc.com/som/som9G20.htm SOM-9G20M] and [http://www.emacinc.com/som/som9x25.htm SOM-9X25] are all compatible and available from EMAC).<br />
 
* A compatible '''SoM''' for that carrier board ([http://www.emacinc.com/products/system_on_module/SoM-9260M SOM-9260M], [http://www.emacinc.com/som/som9G20.htm SOM-9G20M] and [http://www.emacinc.com/som/som9x25.htm SOM-9X25] are all compatible and available from EMAC).<br />
* A compatible [http://www.emacinc.com/sbc_microcontroller_addons.htm keypad] (Refer to item# E20-21 or E020-25. [https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CCsQFjAA&url=http%3A%2F%2Fwww.in2tec.com%2Flib%2Fdownloadfile.php%3Ffilename%3D4000_series_keypads_datasheet.pdf%26loc%3Ddocuments%2F%26ct%3Dpdf&ei=Wf-MUrGxO-nEyQGggoGgCg&usg=AFQjCNEQxIaiH6-gx6uTq4O66o1YVDunZw&bvm=bv.56643336,d.aWc Datasheet]).  
+
* A compatible keypad ([http://www.emacinc.com/sbc_microcontroller_addons.htm Available from EMAC], refer to item# E20-21 or E020-25. [https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CCsQFjAA&url=http%3A%2F%2Fwww.in2tec.com%2Flib%2Fdownloadfile.php%3Ffilename%3D4000_series_keypads_datasheet.pdf%26loc%3Ddocuments%2F%26ct%3Dpdf&ei=Wf-MUrGxO-nEyQGggoGgCg&usg=AFQjCNEQxIaiH6-gx6uTq4O66o1YVDunZw&bvm=bv.56643336,d.aWc Datasheet]).  
  
 
[[File:Som150 with keypad.JPG | 500px ]]<br />
 
[[File:Som150 with keypad.JPG | 500px ]]<br />

Revision as of 12:46, 20 November 2013

TODO: {{#todo:InProgress(11.14.13-11:41->JG+);(11.14.13-15:30->MD-);(11.19.13-13:52->JG+)|Jgreene|oe 4,oe 5,jg,md,Review}}

This procedure provides an overview of how to open, build and run the getkey C example project using the Eclipse IDE.

Opening, Building and Uploading the Project Files

1. Open the C/C++ editing perspective.

stub

2. Open the getkey project files.

stub

3. Build the getkey project.

stub

4. Upload the getkey binary to the target machine.

stub

Description, Usage and Expected Behaviour

This is an example program for mapping keypad input to a character matrix using the keypad interface on the SOM-150ES.

To use this program you will need the appropriate hardware:

Som150 with keypad.JPG
SOM-150ES carrier board with keypad

Usage for getkey

./getkey [-d device -b -g -s file]
d Specifies the device node. The default is /dev/keypad
b Activates read blocking. The program will sleep until a key on the keypad is pressed.
g Returns the current keypad matrix.
s Sets the keypad matrix to that of the specified matrix file. (See project for example file Key-E020-21). If a matrix operation is not specified then the last key pressed is returned.

Note Arguments are evaluated in order. If blocking or device specifications are used, they must be declared before the matrix arguments on the command line.

Usage Example. Mapping the Keypad to a Matrix File

./getkey -d /dev/keypad0 -s Key-E020-21

The program will map the keypad at /dev/keypad0 to the matrix file Key-E020-21.

Usage Example. Displaying the Matrix Presently Associated with the Keypad

./getkey -d /dev/keypad0 -g

The program will display the matrix presently associated with the keypad at /dev/keypad0.

File:Example getkey terminal session sample 0.png

The matrix displayed here is that of the Key-E020-21 file.

Usage Example. Displaying the Character Presently Mapped to a Key on the Keypad

./getkey -d /dev/keypad0 -b

The program will wait until a key is pressed on the keypad. When a key is pressed it will display the corresponding character mapped to that pressed key, as specified in the matrix file.

File:Example getkey terminal session sample 1.png
In this case I pressed the 5 key on the keypad.