ASCII Keypad


Speed Key Names: sdaca, asciipad

The ASCII Keypad generates a permanent string that is typically connected to the Serial RAM symbol, which stores and recalls the string, and the ASCII Serial Decoder, which decodes and dials the string.  

Signal name and type

Description

Serial output: <out$>

Transmits the corresponding characters as a permanent string with each rising edge of the <HEX> inputs, for as long as <enable> is high.

The entire string is re-transmitted with each transition. For example, if the hex inputs form the string "TEST", the symbol will first send "T", then "TE", then "TES" and finally "TEST".

This output is typically connected to the <in$> input of the ASCII Serial Decoder. The output can also be connected to the <in$/out$> input of the Serial RAM symbol to store the string in NVRAM. The signal name must be the same in all three symbols.

If there is an accumulated string when <enable> goes low, the string is retained and re-transmitted when <enable> goes high again.

The string length is determined by <#chars>. If more characters are entered than what is specified in <#chars>, the extra characters are ignored.

Example

To dial the number *#912017673400, the options are as follows:

For the * and # characters, use the <HEX-2A *> and <HEX-23 #> inputs.  

For the digits, use <HEX-00(NUL)> through <HEX-09(HT)>. In this case, <out$> will result in: \x2A\x23\x09\x01\x02\x00\x01\x07\x06\x07\x03\x04\x00\x00.

-or-

For the digits, use <HEX-30 0> through <HEX-39 9>. In this case, <out$> will result in: \x2A\x23\x39\x31\x32\x30\x31\x37\x36\x37\x33\x34\x30\x30.

Digital input: <clear>

Clears the contents of the ASCII keypad and transmits a null string on the rising edge of the input.

The input has no effect when <enable> is low.

High/1 (rising edge) = Clear; Low/0 = No effect

Digital input: <enable>

Enables the ASCII keypad for as long as the input is high. When the input is low, all digital inputs are ignored and no string is transmitted on <out$>.

If there is an accumulated string when <enable> goes low, the string is retained and re-transmitted when <enable> is high again.

High/1 (level sensitive) = Enable keypad; Low/0 = Disable keypad

Digital input: <backspace>

Transmits a backspace character on the rising edge of the input. This removes the previously accumulated character, which allows the end user to edit an entry without need to clear the entire sequence.

The input has no effect when <enable> is low.

High/1 (rising edge) = Backspace (remove previous character); Low/0 = No effect

Digital inputs:<HEX-00(NUL)> through <HEX-7E ~> (representing the 127 standard ASCII characters)

Transmits the corresponding character on the rising edge of the input. The transitions are sent as a permanent string on <out$>; the entire string is re-transmitted with each transition. For example, if the inputs form the string "TEST", the symbol will first send "T", then "TE", then "TES" and finally "TEST".

The input has no effect when <enable> is low.

High/1 (rising edge) = Send character; Low/0 = No effect

Single-precision parameter: <#chars>

Sets the maximum number of characters that can be accumulated into the <out$> string.

If more digits are entered than what is specified in <#chars>, the extra digits are ignored.

This parameter value should match the <#chars> parameter in the Serial RAM symbol.