delays.py 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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", help="serial device")
  26. parser.prog += ' ' + argv[1]
  27. args = parser.parse_args(argv[2:])
  28. try:
  29. usb = util.usb_open(args.device)
  30. if args.select:
  31. usb.select_delay = args.select
  32. if args.step:
  33. usb.step_delay = args.step
  34. if args.settle:
  35. usb.seek_settle_delay = args.settle
  36. if args.motor:
  37. usb.motor_delay = args.motor
  38. if args.auto_off:
  39. usb.auto_off_delay = args.auto_off
  40. print("Select Delay: %uus" % usb.select_delay)
  41. print("Step Delay: %uus" % usb.step_delay)
  42. print("Settle Time: %ums" % usb.seek_settle_delay)
  43. print("Motor Delay: %ums" % usb.motor_delay)
  44. print("Auto Off: %ums" % usb.auto_off_delay)
  45. except USB.CmdError as error:
  46. print("Command Failed: %s" % error)
  47. if __name__ == "__main__":
  48. main(sys.argv)
  49. # Local variables:
  50. # python-indent: 4
  51. # End: