""" poc_set_project.py — POC test for set_project_info() against a live MiniMate Plus. Usage: python poc_set_project.py [--host IP] [--port PORT] Default target: BE11529 at 63.43.212.232:9034 """ import argparse import logging import sys logging.basicConfig( level=logging.DEBUG, format="%(asctime)s %(levelname)-7s %(name)s %(message)s", datefmt="%H:%M:%S", ) log = logging.getLogger("poc_set_project") from minimateplus import MiniMateClient from minimateplus.transport import TcpTransport DEFAULT_HOST = "63.43.212.232" DEFAULT_PORT = 9034 def main() -> None: ap = argparse.ArgumentParser(description="POC: write project info to MiniMate Plus") ap.add_argument("--host", default=DEFAULT_HOST, help="Modem IP address") ap.add_argument("--port", type=int, default=DEFAULT_PORT, help="TCP port") ap.add_argument("--project", default="POC Write Test") ap.add_argument("--client-name", default="Terra-Mechanics Inc.") ap.add_argument("--operator", default="B. Harrison") ap.add_argument("--seis-loc", default="Lab Bench - POC") ap.add_argument("--notes", default="set_project_info POC 2026-04-07") args = ap.parse_args() log.info("Connecting to %s:%d", args.host, args.port) transport = TcpTransport(args.host, port=args.port) with MiniMateClient(transport=transport, timeout=60.0) as client: log.info("Performing POLL handshake + identity read …") info = client.connect() log.info("Connected: serial=%s firmware=%s", info.serial, info.firmware_version) log.info("Calling set_project_info() …") client.set_project_info( project=args.project, client_name=args.client_name, operator=args.operator, seis_loc=args.seis_loc, notes=args.notes, ) log.info("set_project_info() returned — write sequence complete") log.info("Done. Reconnect Blastware to verify the fields were written.") if __name__ == "__main__": try: main() except KeyboardInterrupt: sys.exit(0) except Exception as exc: log.exception("Fatal: %s", exc) sys.exit(1)