"""Thin wrapper for external tools — outputs JSON to stdout.""" import argparse import json import sys from hpcs6500 import HPCS6500, find_hpcs_port def measure(): port = find_hpcs_port() if not port: print('{"error": "HPCS 6500 not found"}', file=sys.stderr) sys.exit(1) dev = HPCS6500(port) try: dev.identify() reading = dev.take_single_reading() finally: dev.close() if reading is None: print('{"error": "measurement failed"}', file=sys.stderr) sys.exit(1) result = { "lumen": round(reading["Phi_lm"], 1), "cct": round(reading["CCT_K"]), } print(json.dumps(result)) if __name__ == "__main__": parser = argparse.ArgumentParser(description="HPCS 6500 JSON interface") parser.add_argument("--measure", action="store_true", help="Take a measurement and output JSON") args = parser.parse_args() if args.measure: measure() else: parser.print_help()