56 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
| #!/usr/bin/python2
 | |
| # Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
 | |
| # Use of this source code is governed by a BSD-style license that can be
 | |
| # found in the LICENSE file.
 | |
| 
 | |
| """Interact with a SCPI device, checking for errors each time."""
 | |
| 
 | |
| import cellular_system_error
 | |
| import logging
 | |
| import prologix_scpi_driver
 | |
| import scpi
 | |
| import sys
 | |
| 
 | |
| try:
 | |
|     [target] = sys.argv[1:]
 | |
| except ValueError:
 | |
|     print 'usage: %s gpib_host_name' % sys.argv[0]
 | |
|     # Default to the PXT.
 | |
|     target = '172.22.50.244'
 | |
| 
 | |
| logging.basicConfig(level=logging.INFO)
 | |
| 
 | |
| driver = prologix_scpi_driver.PrologixScpiDriver(hostname=target,
 | |
|                                                  port=1234,
 | |
|                                                  read_timeout_seconds=1)
 | |
| s = scpi.Scpi(driver)
 | |
| s.opc_on_stanza = False
 | |
| 
 | |
| while True:
 | |
|     try:
 | |
|         line = raw_input('scpi> ').rstrip()
 | |
|     except EOFError:
 | |
|         print
 | |
|         exit(0)
 | |
| 
 | |
|     try:
 | |
|         if line[-1:] == '?':
 | |
|             try:
 | |
|                 s.Query(line)
 | |
|             #  Catch everything, we always want to try to recover.
 | |
|             except Exception:
 | |
|                 print "**************"
 | |
|                 print "Query did not result in any data before the timeout"
 | |
|                 print "**************"
 | |
|         else:
 | |
|             try:
 | |
|                 s.SendStanza([line])
 | |
|             #  Catch everything, we always want to try to recover.
 | |
|             except Exception as e:
 | |
|                 print "**************"
 | |
|                 print "Command failed"
 | |
|                 print "**************"
 | |
| 
 | |
|     except cellular_system_error:
 | |
|         continue
 |