Update
This commit is contained in:
24
main.py
24
main.py
@ -5,6 +5,7 @@ Entry point for running Pelican or Glory device simulators.
|
||||
"""
|
||||
|
||||
import argparse
|
||||
import logging
|
||||
import sys
|
||||
|
||||
from glory import GlorySimulator
|
||||
@ -12,6 +13,8 @@ from glory import GlorySimulator
|
||||
# Import simulators
|
||||
from pelican import PelicanSimulator
|
||||
|
||||
LOG_LEVEL = logging.DEBUG
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(
|
||||
@ -66,25 +69,30 @@ Examples:
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
# Setup centralized logger
|
||||
logging.basicConfig(
|
||||
level=LOG_LEVEL,
|
||||
format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
|
||||
)
|
||||
logger = logging.getLogger(f"{args.simulator}_simulator")
|
||||
|
||||
# Run the appropriate simulator
|
||||
try:
|
||||
if args.simulator == "pelican":
|
||||
print(
|
||||
f"Starting Pelican simulator on {args.port} at {args.baudrate} baud..."
|
||||
simulator = PelicanSimulator(
|
||||
logger=logger, port=args.port, baudrate=args.baudrate
|
||||
)
|
||||
simulator = PelicanSimulator(args.port, args.baudrate)
|
||||
simulator.run()
|
||||
elif args.simulator == "glory":
|
||||
print(
|
||||
f"Starting Glory MACH6 simulator on {args.port} at {args.baudrate} baud..."
|
||||
simulator = GlorySimulator(
|
||||
logger=logger, port=args.port, baudrate=args.baudrate
|
||||
)
|
||||
simulator = GlorySimulator(args.port, args.baudrate)
|
||||
simulator.run()
|
||||
except KeyboardInterrupt:
|
||||
print("\nSimulator stopped by user")
|
||||
logger.info("Simulator stopped by user")
|
||||
sys.exit(0)
|
||||
except Exception as e:
|
||||
print(f"Error: {e}", file=sys.stderr)
|
||||
logger.error(f"Error: {e}", exc_info=True)
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user