ASCII Serial Decoder


Speed Key Names: srcla, asciidecode

The ASCII Serial Decoder decodes and dials the permanent string generated by the ASCII Keypad symbol and saved/recalled by the Serial RAM symbol.  

Signal name and type

Description

Serial input: <in$>

Recalls the permanent string generated by the ASCII Keypad and stored by the Serial RAM symbol, on the rising edge of <dial>.

 

When the string is recalled, the symbol decodes the string and drives the corresponding <HEX-00(NUL)> through <HEX-7E ~> outputs high one at a time at the rate specified by <time_betwn_chars>, until the string is dialed.

 

This input is typically connected to the <out$> output of the ASCII Keypad and the <in$/out$> input of the Serial RAM symbol. The signal names must be the same in all three symbols.

 

Example

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

Case 1: On the ASCII Keypad symbol, 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, the <out$> string of the ASCII Keypad will result in: \x2A\x23\x09\x01\x02\x00\x01\x07\x06\x07\x03\x04\x00\x00.

The ASCII Serial Decoder will decode the bytes in the string to the following outputs:

\x00 = HEX-00(NUL)

\x01 = HEX-01(SOH>

\x02 = HEX-02(STX)

\x03 = HEX-03(ETX)

\x04 = HEX-04(EOT)

\x05 = HEX-05(ENQ)

\x06 = HEX-06(ACK)

\x07 = HEX-07(BEL)

\x08 = HEX-08(BS)

\x09 = HEX-09(HT)

\x2A = HEX-2A *

\x23 = HEX-23 #

Case 2: On the ASCII Keypad symbol, for the * and # characters, use the <HEX-2A *> and <HEX-23 #> inputs. For the digits, use <HEX-30 0> through <HEX-39 9>. In this case, the <out$> string of the ASCII Keypad will result in: \x2A\x23\x39\x31\x32\x30\x31\x37\x36\x37\x33\x34\x30\x30.

The ASCII Serial Decoder will decode the bytes in the string to the following outputs:

\x30 = HEX-30 0

\x31 = HEX-31 1

\x32 = HEX-32 2

\x33 = HEX-33 3

\x34 = HEX-34 4

\x35 = HEX-35 5

\x36 = HEX-36 6

\x37 = HEX-37 7

\x38 = HEX-38 8

\x39 = HEX-39 9

\x2A = HEX-2A *

\x23 = HEX-23 #

Digital input: <dial>

Dials the permanent <in$> string on the rising edge of the input.

This decodes the string and drives the corresponding <HEX-00(NUL)> through <HEX-7E ~> outputs high one at a time at the rate specified by <time_betwn_chars>, until the string is dialed.

This input is typically connected to the <dial> output of the Serial RAM symbol.

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

Digital output: <busy>

Indicates that a number is being dialed. The output remains high for as long as dialing is in progress.

High/1 = Busy; Low/0 = Inactive

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

Pulses when the corresponding character is dialed. The pulse width is half the <time_betwn_chars>.

High/1 (pulse) = Character dialed

Double-precision parameter: <time_betwn_chars> (See Numeric Formats)

Specifies the time that will elapse from the time when one output goes low to when the next output goes high.

The pulse width for each output is half the <time_betwn_chars>.