Files
seismo-relay/poc_set_project.py

69 lines
2.1 KiB
Python

"""
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)