.returnlinesmapping Property
Function: |
Defines the list of up to eight I/O lines that will serve as return lines of the keypad. |
Type: |
String |
Value Range: |
Up to eight comma-separated I/O line numbers can be listed (default = ""). |
See Also: |
Connecting Matrix Keypads, Connecting Binary Keypads, Preparing the Keypad for Operation, kp.scanlinesmapping |
Details
This property should contain a comma-separated list of I/O line numbers, for example: "24, 26, 27." The line numbers correspond to those of the pl_io_num enum, which is platform-specific. The declarations for pl_io_num can be found in the "Platform-Dependent Constants" section of your device's platform documentation (for example, the EM1000's is here).
The kp.returnlinesmapping string should only contain a list of decimal numbers. That is, use "24" and not "24 — PL_IO_NUM_24." Only numerical characters are processed anyway — writing "24 — PL_IO_NUM_24,25-PL_IO_NUM_25" will set this property to "24,25." You can, of course, use the following way as well:
kp.scanlinesmapping = write str(PL_IO_NUM_24)+","+str(PL_IO_NUM_25)
The order in which you list the return lines does matter — this is the order in which the lines will be numbered. For matrix keypads, the order of return lines listed in this property directly influences the formation of key codes. For binary keypads, the order defines "bit ranking." For example, if kp.returnlinesmapping = "24,26,27," then line 24 carries the most significant bit of the binary code and line 27 carries the least significant bit.
On platforms with output buffer control, all intended return lines should be configured as inputs (see io.num and io.enabled).
This property can only be changed when the keypad is disabled (kp.enabled = 0 — NO). Setting the property to "" means that the keypad will have no return lines. A keypad must have at least one return line to be able to function.
The return lines of the keypad should be separate from the scan lines (see kp.scanlinesmapping). The keypad will not work properly if you designate any I/O line as both a scan and a return line.