2026-01-08 19:37:25 +08:00
|
|
|
from cmd_server import CmdServer, HandshakePayload, PixelKind
|
2026-01-08 20:04:24 +08:00
|
|
|
from while_stopper import INSTANCE as STOPPER
|
2026-01-06 21:24:47 +08:00
|
|
|
import logging
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def receive_data() -> None:
|
2026-01-08 20:04:24 +08:00
|
|
|
logging.info("Data received")
|
2026-01-06 21:24:47 +08:00
|
|
|
|
|
|
|
|
|
2025-11-25 13:38:17 +08:00
|
|
|
def main():
|
2026-01-08 19:37:25 +08:00
|
|
|
server = CmdServer()
|
2026-01-06 21:24:47 +08:00
|
|
|
|
2026-01-08 20:04:24 +08:00
|
|
|
print("Please launch BasaltPresenter now.")
|
|
|
|
|
print("Then press Enter to continue...")
|
2026-01-06 21:24:47 +08:00
|
|
|
input()
|
|
|
|
|
|
2026-01-08 20:04:24 +08:00
|
|
|
logging.info("Waiting BasaltPresenter...")
|
2026-01-06 21:24:47 +08:00
|
|
|
server.wait_handshake(HandshakePayload(PixelKind.GRAY_U8, 600, 600))
|
|
|
|
|
|
2026-01-08 20:04:24 +08:00
|
|
|
logging.info("Start to running.")
|
|
|
|
|
STOPPER.register()
|
2026-01-06 21:24:47 +08:00
|
|
|
while True:
|
2026-01-08 20:04:24 +08:00
|
|
|
if server.tick(receive_data, STOPPER.is_stop_requested()):
|
2026-01-06 21:24:47 +08:00
|
|
|
break
|
2026-01-08 20:04:24 +08:00
|
|
|
STOPPER.unregister()
|
2026-01-06 21:24:47 +08:00
|
|
|
|
2026-01-08 20:04:24 +08:00
|
|
|
logging.info("Program stop.")
|
2026-01-06 22:04:52 +08:00
|
|
|
|
2025-11-25 13:38:17 +08:00
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
2026-01-08 20:04:24 +08:00
|
|
|
logging.basicConfig(
|
|
|
|
|
level=logging.DEBUG,
|
|
|
|
|
format="[%(asctime)s] [%(levelname)s] %(message)s",
|
|
|
|
|
datefmt="%Y-%m-%d %H:%M:%S",
|
|
|
|
|
)
|
2025-11-25 13:38:17 +08:00
|
|
|
main()
|