Siemens 7 manual +++-Parser

Page 34

Multiplexer Driver Developer’s Guide

7.5 The +++-Parser

s

7.5The +++-Parser

The following state diagram shows the states of the +++-parser.

Internal states of the ScanRequest Object for scanning each

character in a Send Request for one Port Object

if BreakCount > 0, then send first the breaks. After check for incoming Request also check if Break Count>0 and then '+' characters.

WAIT_CHAR()

Timeout 1s and

rcv. BreakChar '+'

SerMuxSend(), BreakCount=0 If rcv. a SendRequest, then

Flag = SCAN_LATERrcv. char. unequal '+' or Timeout 1s

or difference between current and last Request too big

PLUS

COMPLETE_PLUS

 

 

rcv. any character

 

 

 

 

with time differences over One

 

 

 

 

second to the last character

 

 

 

 

or the ScanRequest Timer go to zero

 

if rcv "++" then

Timeout

 

 

in the Timer

 

BreakCount +1

WaitResponseTimer

 

 

 

 

 

 

if receive the MSC Response

if BreakCount = 3

Send MSC

command with ESCAPE =1

1.If the next incoming request has a TImeout to the last request,

W AIT_BREAK

then switch to WAIT_BREAK without

PLUS_TIMEOUT

Timerfunction

 

 

 

Request-Flag =SCAN_LATER

 

 

2. if the ScanRequest Timer go to zero.

 

If rcv. a SendRequest, then

 

Flag = SCAN_LATER

if Timer go to 0:

 

 

if STATE_WAIT_BREAK then STATE_WAIT_CHAR

if Timer go to zero:

if STATE_PLUS then STATE_WAIT_CHAR

if STATE_PLUS_TIMEOUT then STATE_WAIT_BREAK

ScanRequest

ScanRequest

->WaitResponse

->Timer

Timer

 

Figure 10: State diagram of the +++-parser

Mux_Drv_DevGuide_v07

Page 34 of 36

2006-9-27

Confidential / Released

 

 

Image 34
Contents User’s Guide General Notes CopyrightContents Multiplexer Driver Developer’s Guide Tables List of TablesFigures List of FiguresDocument History Chapter What is newDocument History Multiplexer Driver Developer’s Guide Introduction IntroductionSupported Product Versions Supported Product VersionsRelated Documents Related DocumentsAbbreviations Abbreviation DescriptionUser Hierarchy Chart in the SystemArchitecture ArchitectureModule Detection Signal DescriptionHandling of the Physical Serial Port Handling of the Physical Serial PortLimitation of Virtual Ports Handling of Control Lines on Virtual PortsHandling of Control Lines on Virtual Ports Module Initializing Sequence Command Response Function Associated Registry ValueModule Initializing Sequence Power Down after Closing the Last Port Power DownPower Down on PC Suspend Module Re-initializationPower Down on PC Shutdown Power DownInstalling the WinMux2k Driver InstallationFiles Required for WinMux2k Driver Installation InstallationWindows Deinstalling the DriverDeinstalling the Driver Windows XP new desktop, not the classic desktopSettings on the Serial Multiplexer Properties Device Settings and PropertiesDevice Settings and Properties Settings Stored in the Windows Registry Settings Stored in the Windows RegistryValue Data Example Properties TC45, XC18 only Multiplexer Driver Developer’s Guide Values Data Example Properties Fax Settings Settings for ApplicationsDial-up Network Settings Settings for ApplicationsPreparing the Translation Translate Source CodeSoftware Requirements Compiler FlagsInteraction of the Different Driver Objects Additional Source DocumentationAdditional Source Documentation Internal Driver States Internal Driver StatesBuffer Handling Buffer HandlingData Transfer To th e S e rM u x O b je c t a re in d ic a te dMultiplexer Driver Developer’s Guide SerMuxSend Function SerMuxSend and SerMuxSendPort0 FunctionsStart +++-Parser +++-ParserShutdown of the Operating System Known ProblemsBooting Operating System Standby of the Operating SystemAutomatic Shutdown in case of Emergency Special EnvironmentsOperation on Virtual USB Port Special Environments