delays.py 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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. description = "Display (and optionally modify) Greaseweazle \
  10. drive-delay parameters."
  11. import sys
  12. from greaseweazle.tools import util
  13. from greaseweazle import usb as USB
  14. def main(argv):
  15. parser = util.ArgumentParser()
  16. parser.add_argument("--select", type=int,
  17. help="delay after drive select (usecs)")
  18. parser.add_argument("--step", type=int,
  19. help="delay between head steps (usecs)")
  20. parser.add_argument("--settle", type=int,
  21. help="settle delay after seek (msecs)")
  22. parser.add_argument("--motor", type=int,
  23. help="delay after motor on (msecs)")
  24. parser.add_argument("--auto-off", type=int,
  25. help="quiescent time until auto deselect (msecs)")
  26. parser.add_argument("device", nargs="?", default="auto",
  27. help="serial device")
  28. parser.description = description
  29. parser.prog += ' ' + argv[1]
  30. args = parser.parse_args(argv[2:])
  31. try:
  32. usb = util.usb_open(args.device)
  33. if args.select:
  34. usb.select_delay = args.select
  35. if args.step:
  36. usb.step_delay = args.step
  37. if args.settle:
  38. usb.seek_settle_delay = args.settle
  39. if args.motor:
  40. usb.motor_delay = args.motor
  41. if args.auto_off:
  42. usb.auto_off_delay = args.auto_off
  43. print("Select Delay: %uus" % usb.select_delay)
  44. print("Step Delay: %uus" % usb.step_delay)
  45. print("Settle Time: %ums" % usb.seek_settle_delay)
  46. print("Motor Delay: %ums" % usb.motor_delay)
  47. print("Auto Off: %ums" % usb.auto_off_delay)
  48. except USB.CmdError as error:
  49. print("Command Failed: %s" % error)
  50. if __name__ == "__main__":
  51. main(sys.argv)
  52. # Local variables:
  53. # python-indent: 4
  54. # End: