delays.py 2.1 KB

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