"""Set every LED slot of the HyperX Eve 1800 to one colour (report 0x44 only). python tools/test_color.py # all red python tools/test_color.py --color 000000 # all off python tools/test_color.py --order primer # header-first order (does NOT work on the Eve) python tools/test_color.py --dry-run # print packets, send nothing """ import argparse import eve def main(): ap = argparse.ArgumentParser() ap.add_argument("--color", default="ff0000", help="hex RRGGBB (default red)") ap.add_argument("--leds", type=int, default=20, help="LED slots to fill (default 20)") ap.add_argument("--order", choices=["commit", "primer"], default="commit") ap.add_argument("--dry-run", action="store_true") args = ap.parse_args() colors = [eve.hex_rgb(args.color)] * args.leds if args.dry_run: for p in eve.build_packets(colors, args.order): print("TX", p.hex(" ")) return eve.send(colors, args.order) if __name__ == "__main__": main()