SwitchService.py 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import sys
  2. import pyvisa
  3. if len(sys.argv) <= 1:
  4. print("Error: Specify a serial number to process")
  5. exit()
  6. serialNumber = sys.argv[1]
  7. print(serialNumber)
  8. if len(sys.argv) == 3:
  9. deviceId = sys.argv[2]
  10. print(sys.argv[2])
  11. rm = pyvisa.ResourceManager()
  12. VID = '0x2226'
  13. PID = '0x0065'
  14. for device in rm.list_resources():
  15. print(device)
  16. print(rm.resource_info(device, extended = True))
  17. try:
  18. instr = rm.open_resource(device)
  19. if VID in device and PID in device:
  20. #Device detected and it's switchboard
  21. print('Device detected and its switchboard')
  22. print(instr.query('*IDN?'))
  23. #Is Device in service mode?
  24. print(instr.query('SERVICE:STATE 1'))
  25. ansver = str(instr.query('SERVICE:STATE?'))
  26. print(ansver)
  27. if ansver != str('ENABLE\n'):
  28. print('SERVICE MODE DISABLED!')
  29. break;
  30. #Send serial to device
  31. print('Send command: ' + 'SERVICE:SERIAL ' + str(sys.argv[1]))
  32. instr.query('SERVICE:SERIAL ' + str(sys.argv[1]))
  33. if len(sys.argv) == 3:
  34. print('Send command: ' + 'SERVICE:MODEL ' + str(sys.argv[2]))
  35. print(instr.query('SERVICE:MODEL ' + str(sys.argv[2])))
  36. #Disable service mode
  37. #print(instr.query('SERVICE:STATE 0'))
  38. #ansver = str(instr.query('SERVICE:STATE?'))
  39. #print(ansver)
  40. #if ansver != str('DISABLE\n'):
  41. # print('WARNING: DEVICE STILL IN SERVICE MODE')
  42. #Set device default parameters
  43. print(instr.query('*RST'))
  44. #Reboot device
  45. print(instr.query('SERVICE:REBOOT?'))
  46. break
  47. except:
  48. print("Not connected device")
  49. rm.close()
  50. sys.exit([-1, 2])