(Please do not reference or make links to this website.)
Update:
2011/03/06 (V3.14): HiSlipServer.exe and HiSlipRandomTest.zip
- HiSlipServer.exe: Should be stable enough now to survive the random test
for several hours.
Exclusive Locks work correct. (Shared Locks can fail in stress situations)
- HiSlipRandomTest: Some random sleeps and suppressing of EventHandler while
polling the Event Queue.
2011/02/28 (V3.13): HiSlipServer.exe and HiSlipRandomTest.zip
- For the open/close test, the red error messages are reduced if client supports
graceful shutdown.
- Extensions in Open/Close test of HiSlipRandomTest.zip
2011/02/25 (V3.12): HiSlipServer.exe
- bugfix: server now aborts long output if Interrupted Error is detected.
2011/02/24 : Small fixes of HiSlipRandomTest.zip
2011/02/21 (V3.11): HiSlipServer.exe +
new HiSlipRandomTest.zip
- additional option: -b : simulates blocking unlock. (error handling
is not correct if client violates rule)
- supports graceful closing now
- additional commands to generate SRQ. ( *SRE[?], *ESE[?], *ESR? )
- new command DIAG:ARM:SRQ for diagnostic purpose to check robustness of clients.
Generates an SRQ when an <Async...> message is received.
- several fixes (e.g. handling device clear)
- checks correct numbers of MessageIDs and checks superflous RMT-deliverred
flags.
2010/12/03 (V3.04): HiSlipServer.exe
- fragmented messages are read correctly now.
- interrupted transactions are sent to the client according to spec 3.1.1.
2010/11/29 (V3.03): HiSlipServer.exe accepts additional options:
-p <portno> : to specifiy the listening port. Port 4880 is default
-s : enables a special slowmode to test the robustness of a
client. Messages are sent byte by byte.
-v : verbose mode on. If verbose mode is off, only detected
errors are shown.
-1 : allows only one connection. Try this to check the error
code of your client if connection fails.
2010/11/23 (V3.02): HiSlipServer.exe
- If the client closes the control channel, the data channel is aborted after
10 seconds if it hangs or is locked.
- The locks of a connection are removed automatically when the connection
is closed.
- The internal lock state is correct now when the client opens a new connection.
2010/11/04 (V3.01): HiSlipServer.exe: lock count fixed in <AsyncLockInfoResponse>
2010/11/04 (V3.00): SCPI command mmem:data of server fixed. The test application now includes improvments from TRF (AG). Some cruel client tests are added :-).
2010/05/30 (V2.99): Server supports overlap mode and correct lock/unlocking. The test script now checks the new VISA 5.0 attributes, overlap mode, and more cruel locking tests.
Here is a tiny HiSLIP server to verify interoperability with other HiSLIP clients: HiSlipServer.exe
The parser is not a real SCPI parser, but the following commands (case insensitive) works with or without \n terminator. A semicolon can be used to create compound queries.
Command line options:
-p <portno> : to specifiy the listening port. Port 4880 is default
-s : enables a special slowmode to test the robustness of a
client. Messages are sent byte by byte.
-v : verbose mode on. If verbose mode is off,
only detected errors are shown.
-1 : allows only one connection. Try this to check the error
code of your client if connection fails.
-b : simulates blocking unlock, otherwise non-blocking unlock.
(error handling is not correct if client violates rules)
Supported commands:
*IDN?
SYST:ERR? - can return query interrupted or unknown command error.
(:syst:err? and err? are now allowed, too)
*CLS
*SRE[?] <register> - Service Request Enable Register. Can invoke SRQ
for bit 2 (ErrorEvent), 4 (MAV), 5 (ESR)
*ESE[?] - Event Status Enable Register. Bit 0 = Operation Complete for *OPC.
*ESR? - Event Status Register
*STB? - returns Status Byte Register
SLEEP <time in ms>
MMEM:DATA “filename”, #... - sends a file name with
MMEM:DATA? “filename” – returns file data with 488.2 block format.
*OPC – sets bit 0 of ESR (Event Status Register)
*OPC? – returns "1\n"
DIAG:ARM:SRQ - For diagnostic purpose to check robustness of clients. Generates
an SRQ when an <Async...> message is received.
Note:
The following VS2005 (C++) project includes a simple test script for VISA
clients to verify the basics of the HiSLIP protocol.
HiSlipBasicTest.zip
To verify robustness of VISA clients, this random test should run at least 24h:
HiSlipRandomTest.zip
Please feel free to use or modify the project. Any comments and bug reports are welcome at hislip@kiener-muenchen.de !
Regards,
Guido