From 3c0d4b6d5afd543462c5803a9874ebe0624d7115 Mon Sep 17 00:00:00 2001 From: Samuel Tabor Date: Fri, 4 Sep 2020 23:24:20 +0100 Subject: [PATCH] autotest: Add start time argument and parsing. --- Tools/autotest/sim_vehicle.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/Tools/autotest/sim_vehicle.py b/Tools/autotest/sim_vehicle.py index 0cf27c7e15..7ada3bf47a 100755 --- a/Tools/autotest/sim_vehicle.py +++ b/Tools/autotest/sim_vehicle.py @@ -26,6 +26,9 @@ import binascii from pymavlink import mavextra from pysim import vehicleinfo +import time +import datetime + # List of open terminal windows for macosx windowID = [] @@ -656,6 +659,16 @@ def start_vehicle(binary, opts, stuff, spawns=None): if opts.mcast: cmd.extend(["--uartA mcast:"]) + if cmd_opts.start_time is not None: + # Parse start_time into a double precision number specifying seconds since 1900. + try: + start_time_UTC = time.mktime(datetime.datetime.strptime(cmd_opts.start_time, '%Y-%m-%d-%H:%M').timetuple()) + except: + print("Incorrect start time format - require YYYY-MM-DD-HH:MM (given %s)" % cmd_opts.start_time) + sys.exit(1) + + cmd.append("--start-time=%d" % start_time_UTC) + old_dir = os.getcwd() for i, i_dir in zip(instances, instance_dir): c = ["-I" + str(i)] @@ -1041,6 +1054,10 @@ group_sim.add_option("--disable-ekf2", group_sim.add_option("--disable-ekf3", action='store_true', help="disable EKF3 in build") +group_sim.add_option("", "--start-time", + default=None, + type='string', + help="specify simulation start time in format YYYY-MM-DD-HH:MM in your local time zone") parser.add_option_group(group_sim)