delays.py 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. # greaseweazle/tools/delays.py
  2. #
  3. # Greaseweazle control script: Get/Set Delay Timers.
  4. #
  5. # Written & released by Keir Fraser <keir.xen@gmail.com>
  6. #
  7. # This is free and unencumbered software released into the public domain.
  8. # See the file COPYING for more details, or visit <http://unlicense.org>.
  9. import sys, argparse
  10. from greaseweazle.tools import util
  11. from greaseweazle import usb as USB
  12. def main(argv):
  13. parser = argparse.ArgumentParser(
  14. formatter_class=argparse.ArgumentDefaultsHelpFormatter)
  15. parser.add_argument("--select", type=int,
  16. help="delay after drive select (usecs)")
  17. parser.add_argument("--step", type=int,
  18. help="delay between head steps (usecs)")
  19. parser.add_argument("--settle", type=int,
  20. help="settle delay after seek (msecs)")
  21. parser.add_argument("--motor", type=int,
  22. help="delay after motor on (msecs)")
  23. parser.add_argument("--auto-off", type=int,
  24. help="quiescent time until auto deselect (msecs)")
  25. parser.add_argument("device", nargs="?", default="auto",
  26. help="serial device")
  27. parser.prog += ' ' + argv[1]
  28. args = parser.parse_args(argv[2:])
  29. try:
  30. usb = util.usb_open(args.device)
  31. if args.select:
  32. usb.select_delay = args.select
  33. if args.step:
  34. usb.step_delay = args.step
  35. if args.settle:
  36. usb.seek_settle_delay = args.settle
  37. if args.motor:
  38. usb.motor_delay = args.motor
  39. if args.auto_off:
  40. usb.auto_off_delay = args.auto_off
  41. print("Select Delay: %uus" % usb.select_delay)
  42. print("Step Delay: %uus" % usb.step_delay)
  43. print("Settle Time: %ums" % usb.seek_settle_delay)
  44. print("Motor Delay: %ums" % usb.motor_delay)
  45. print("Auto Off: %ums" % usb.auto_off_delay)
  46. except USB.CmdError as error:
  47. print("Command Failed: %s" % error)
  48. if __name__ == "__main__":
  49. main(sys.argv)
  50. # Local variables:
  51. # python-indent: 4
  52. # End: