(see setting description format info here)
Function: | Disables or enabled serial programming mode entry through escape sequence and selects escape sequence type |
Post-initialization value: | 0 (disabled) |
First introduced: | Earlier than "baseline" V3.14/V3.51 |
Soft Entry controls serial programming mode entry through escape sequence:
0 (disabled) | Serial programming mode entry through escape sequence is disabled. |
1 (type 1) | Type 1 escape sequence consists of three consecutive escape characters (ASCII code of escape character is defined by the Escape Character (EC) setting). For the escape sequence to be recognized each of the escape characters must be preceded by a time gap of at least 100ms: |
|
|
|
|
|
|
|
...previous data
|
<--100ms-->
|
E.C.
|
<--100ms-->
|
E.C.
|
<--100ms-->
|
E.C.
|
If the time gap before a certain escape character exceeds 100ms then this character is considered to be a part of the escape sequence and is not recorded into the serial-to-Ethernet buffer . If the time gap before a certain escape character is less than 100ms than this character is considered to be a normal data character and is saved into the serial-to-Ethernet buffer. Additionally, escape character counter is reset and the escape sequence must be started again. The following example illustrates one important point (escape characters are shown as < ). Supposing, attached serial device sends the following string:
ABC<--100ms--> <<--100ms--> << DE
First two escape characters is this example had correct time gap before them, so they were counted as a part of the escape sequence and not saved into the buffer. The third escape character did not have a correct time gap so it was interpreted as a data character and saved into the buffer. The following was routed to the network host:
ABC < DE
The side effect and the point this example illustrates is that first two escape characters were lost- they neither became a part of a successful escape sequence (because this sequence wasn't completed), nor were saved into the buffer.
2 (type 2) | Type 2 escape sequence is not based on any timing. Escape sequence consists of escape character (defined by the Escape Character (EC) setting) followed by any character other than escape character. To send a data character whose ASCII code matches that of escape character the serial device needs to send this character twice. This will result in a single character being saved into the serial-to-Ethernet routing buffer. It is the responsibility of the serial device to parse through the data it sends to the DS and "double" all characters whose code matches that of escape character. |
Example: the following sequence will make the DS enter the serial programming mode (that is, if current escape character is not 'D'):
ABC < D
In the sequence below two consequtive escape characters will be interpreted as data \(data routed to the network host will contain only one such character- the DS will automatically eliminate the second one\):
ABC <<
It should be noted that attached serial device should parse the data and double certain characters only for the data it sends to the DS. Reverse operation is not needed for the data being received by the serial device from the DS. Characters with ASCII code matching that of escape character arrive from the DS in a normal way- i.e. they are not "doubled".
Notice, that serial escape sequence works even when the serial port of the DS is closed (i.e. when the Current Routing Mode (RM) [setting / parameter ] is 0 (Slave) and the data connection is not established). "Closed" merely means that the serial port is not accepting any data into its serial-to-network buffer. The serial port is still listening for escape sequences even at this time.
When the DS is running with the Flow Control (FC) setting *set to 1 (Local) and its serial port is "closed", the RTS line of the DS will be in the disabled state (thus indicating to attached serial device that transmission is not allowed). Therefore, if the serial device needs to transmit an escape sequence it must *ignore the state of RTS signal at that time.
Further behaviour of the RTS line while in serial programming mode is documented under Serial Programming.