Porównaj commity

...

9 Commity

Autor SHA1 Wiadomość Data
Jules f4iey be808dc087
Merge fef74e6e84 into 2e04da0754 2024-04-21 10:04:57 +04:00
Mark Jessop 2e04da0754
Merge pull request #869 from argilo/scan-chart-threshold-fix
Don't update scan chart data until there's actual data
2024-03-30 10:07:29 +10:30
Clayton Smith a9fbe71864 Don't update scan chart data until there's actual data 2024-03-29 19:26:54 -04:00
Mark Jessop d784d834c6
Merge pull request #868 from argilo/time-format
Restore the previous time format in Scan Results
2024-03-30 09:54:55 +10:30
Clayton Smith a72bcfeca9 Restore the previous time format in Scan Results 2024-03-29 12:00:30 -04:00
Mark Jessop f2201b2809 Bump beta version 2024-03-29 10:42:01 +10:30
Mark Jessop 51745e7758
Merge pull request #867 from argilo/replace-utcnow
Replace deprecated utcnow() with now()
2024-03-29 10:18:46 +10:30
Clayton Smith ab398f9666 Replace deprecated utcnow() with now() 2024-03-27 19:38:43 -04:00
Jules f4iey fef74e6e84
add sed for systemd service
add sed so that the username is *automatically set* in `auto_rx.service`
Admitting the script is run by the right user (not as root)
I just tested and it worked fine for me
2022-02-07 23:01:43 +01:00
17 zmienionych plików z 44 dodań i 40 usunięć

Wyświetl plik

@ -787,7 +787,7 @@ def main():
autorx.logging_path = logging_path
# Configure logging
_log_suffix = datetime.datetime.utcnow().strftime("%Y%m%d-%H%M%S_system.log")
_log_suffix = datetime.datetime.now(datetime.timezone.utc).strftime("%Y%m%d-%H%M%S_system.log")
_log_path = os.path.join(logging_path, _log_suffix)
system_log_enabled = False

Wyświetl plik

@ -12,7 +12,7 @@ from queue import Queue
# MINOR - New sonde type support, other fairly big changes that may result in telemetry or config file incompatability issus.
# PATCH - Small changes, or minor feature additions.
__version__ = "1.7.3-beta8"
__version__ = "1.7.3-beta9"
# Global Variables

Wyświetl plik

@ -214,7 +214,7 @@ def generate_station_object(
_datum = "!w%s%s!" % (_lat_prec, _lon_prec)
# Generate timestamp using current UTC time
_aprs_timestamp = datetime.datetime.utcnow().strftime("%H%M%S")
_aprs_timestamp = datetime.datetime.now(datetime.timezone.utc).strftime("%H%M%S")
# Add version string to position comment, if requested.
_aprs_comment = comment
@ -807,10 +807,10 @@ if __name__ == "__main__":
# ['frame', 'id', 'datetime', 'lat', 'lon', 'alt', 'temp', 'type', 'freq', 'freq_float', 'datetime_dt']
test_telem = [
# These types of DFM serial IDs are deprecated
# {'id':'DFM06-123456', 'frame':10, 'lat':-10.0, 'lon':10.0, 'alt':10000, 'temp':1.0, 'type':'DFM', 'freq':'401.520 MHz', 'freq_float':401.52, 'heading':0.0, 'vel_h':5.1, 'vel_v':-5.0, 'datetime_dt':datetime.datetime.utcnow()},
# {'id':'DFM09-123456', 'frame':10, 'lat':-10.0, 'lon':10.0, 'alt':10000, 'temp':1.0, 'type':'DFM', 'freq':'401.520 MHz', 'freq_float':401.52, 'heading':0.0, 'vel_h':5.1, 'vel_v':-5.0, 'datetime_dt':datetime.datetime.utcnow()},
# {'id':'DFM15-123456', 'frame':10, 'lat':-10.0, 'lon':10.0, 'alt':10000, 'temp':1.0, 'type':'DFM', 'freq':'401.520 MHz', 'freq_float':401.52, 'heading':0.0, 'vel_h':5.1, 'vel_v':-5.0, 'datetime_dt':datetime.datetime.utcnow()},
# {'id':'DFM17-12345678', 'frame':10, 'lat':-10.0, 'lon':10.0, 'alt':10000, 'temp':1.0, 'type':'DFM', 'freq':'401.520 MHz', 'freq_float':401.52, 'heading':0.0, 'vel_h':5.1, 'vel_v':-5.0, 'datetime_dt':datetime.datetime.utcnow()},
# {'id':'DFM06-123456', 'frame':10, 'lat':-10.0, 'lon':10.0, 'alt':10000, 'temp':1.0, 'type':'DFM', 'freq':'401.520 MHz', 'freq_float':401.52, 'heading':0.0, 'vel_h':5.1, 'vel_v':-5.0, 'datetime_dt':datetime.datetime.now(datetime.timezone.utc)},
# {'id':'DFM09-123456', 'frame':10, 'lat':-10.0, 'lon':10.0, 'alt':10000, 'temp':1.0, 'type':'DFM', 'freq':'401.520 MHz', 'freq_float':401.52, 'heading':0.0, 'vel_h':5.1, 'vel_v':-5.0, 'datetime_dt':datetime.datetime.now(datetime.timezone.utc)},
# {'id':'DFM15-123456', 'frame':10, 'lat':-10.0, 'lon':10.0, 'alt':10000, 'temp':1.0, 'type':'DFM', 'freq':'401.520 MHz', 'freq_float':401.52, 'heading':0.0, 'vel_h':5.1, 'vel_v':-5.0, 'datetime_dt':datetime.datetime.now(datetime.timezone.utc)},
# {'id':'DFM17-12345678', 'frame':10, 'lat':-10.0, 'lon':10.0, 'alt':10000, 'temp':1.0, 'type':'DFM', 'freq':'401.520 MHz', 'freq_float':401.52, 'heading':0.0, 'vel_h':5.1, 'vel_v':-5.0, 'datetime_dt':datetime.datetime.now(datetime.timezone.utc)},
{
"id": "DFM-19123456",
"frame": 10,
@ -827,7 +827,7 @@ if __name__ == "__main__":
"heading": 0.0,
"vel_h": 5.1,
"vel_v": -5.0,
"datetime_dt": datetime.datetime.utcnow(),
"datetime_dt": datetime.datetime.now(datetime.timezone.utc),
},
{
"id": "DFM-123456",
@ -845,7 +845,7 @@ if __name__ == "__main__":
"heading": 0.0,
"vel_h": 5.1,
"vel_v": -5.0,
"datetime_dt": datetime.datetime.utcnow(),
"datetime_dt": datetime.datetime.now(datetime.timezone.utc),
},
{
"id": "N1234567",
@ -863,7 +863,7 @@ if __name__ == "__main__":
"heading": 0.0,
"vel_h": 5.1,
"vel_v": -5.0,
"datetime_dt": datetime.datetime.utcnow(),
"datetime_dt": datetime.datetime.now(datetime.timezone.utc),
},
{
"id": "M1234567",
@ -881,7 +881,7 @@ if __name__ == "__main__":
"heading": 0.0,
"vel_h": 5.1,
"vel_v": -5.0,
"datetime_dt": datetime.datetime.utcnow(),
"datetime_dt": datetime.datetime.now(datetime.timezone.utc),
},
]

Wyświetl plik

@ -220,7 +220,7 @@ class SondeDecoder(object):
# Raw hex filename
if self.save_raw_hex:
_outfilename = f"{datetime.datetime.utcnow().strftime('%Y%m%d-%H%M%S')}_{self.sonde_type}_{int(self.sonde_freq)}.raw"
_outfilename = f"{datetime.datetime.now(datetime.timezone.utc).strftime('%Y%m%d-%H%M%S')}_{self.sonde_type}_{int(self.sonde_freq)}.raw"
_outfilename = os.path.join(autorx.logging_path, _outfilename)
self.raw_file_option = "-r"
else:
@ -1520,7 +1520,7 @@ class SondeDecoder(object):
)
# Overwrite the datetime field to make the email notifier happy
_telemetry['datetime_dt'] = datetime.datetime.utcnow()
_telemetry['datetime_dt'] = datetime.datetime.now(datetime.timezone.utc)
_telemetry["freq"] = "%.3f MHz" % (self.sonde_freq / 1e6)
# Send this to only the Email Notifier, if it exists.

Wyświetl plik

@ -463,7 +463,7 @@ if __name__ == "__main__":
"heading": 0.0,
"vel_h": 5.1,
"vel_v": -5.0,
"datetime_dt": datetime.datetime.utcnow(),
"datetime_dt": datetime.datetime.now(datetime.timezone.utc),
}
)
@ -485,7 +485,7 @@ if __name__ == "__main__":
"heading": 0.0,
"vel_h": 5.1,
"vel_v": -5.0,
"datetime_dt": datetime.datetime.utcnow(),
"datetime_dt": datetime.datetime.now(datetime.timezone.utc),
"encrypted": True
}
)
@ -506,7 +506,7 @@ if __name__ == "__main__":
"heading": 0.0,
"vel_h": 5.1,
"vel_v": -5.0,
"datetime_dt": datetime.datetime.utcnow(),
"datetime_dt": datetime.datetime.now(datetime.timezone.utc),
}
print("Testing landing alert.")
@ -516,7 +516,7 @@ if __name__ == "__main__":
_test["alt"] = _test["alt"] - 10.0
_test["lat"] = _test["lat"] + 0.001
_test["lon"] = _test["lon"] + 0.001
_test["datetime_dt"] = datetime.datetime.utcnow()
_test["datetime_dt"] = datetime.datetime.now(datetime.timezone.utc)
time.sleep(1)
time.sleep(60)

Wyświetl plik

@ -124,7 +124,7 @@ def emulate_telemetry(filename, port=55673, speed=1.0):
_fields = _line.split(",")
_telemetry_datetime = parse(_fields[0])
_current_datetime = datetime.datetime.utcnow()
_current_datetime = datetime.datetime.now(datetime.timezone.utc)
for _line in _f:
_fields = _line.split(",")

Wyświetl plik

@ -17,7 +17,7 @@ def get_ephemeris(destination="ephemeris.dat"):
logging.debug("GPS Grabber - Connecting to ESA's FTP Server...")
ftp = ftplib.FTP("gssc.esa.int", timeout=10)
ftp.login("anonymous", "anonymous")
ftp.cwd("gnss/data/daily/%s/" % datetime.datetime.utcnow().strftime("%Y"))
ftp.cwd("gnss/data/daily/%s/" % datetime.datetime.now(datetime.timezone.utc).strftime("%Y"))
# Ideally we would grab this data from: YYYY/brdc/brdcDDD0.YYn.Z
# .. but the ESA brdc folder seems to be getting of date. The daily directories are OK though!
# So instead, we use: YYYY/DDD/brdcDDD0.YYn.Z

Wyświetl plik

@ -223,7 +223,7 @@ class TelemetryLogger(object):
else:
# Create a new log file.
_log_suffix = "%s_%s_%s_%d_sonde.log" % (
datetime.datetime.utcnow().strftime("%Y%m%d-%H%M%S"),
datetime.datetime.now(datetime.timezone.utc).strftime("%Y%m%d-%H%M%S"),
_id,
_type,
int(telemetry["freq_float"] * 1e3), # Convert frequency to kHz
@ -287,7 +287,7 @@ class TelemetryLogger(object):
_type += "-XDATA"
_subframe_log_suffix = "%s_%s_%s_%d_subframe.bin" % (
datetime.datetime.utcnow().strftime("%Y%m%d-%H%M%S"),
datetime.datetime.now(datetime.timezone.utc).strftime("%Y%m%d-%H%M%S"),
_id,
_type,
int(telemetry["freq_float"] * 1e3), # Convert frequency to kHz

Wyświetl plik

@ -969,7 +969,7 @@ class SondeScanner(object):
(_freq_decimate, _power_decimate) = peak_decimation(freq / 1e6, power, 10)
scan_result["freq"] = list(_freq_decimate)
scan_result["power"] = list(_power_decimate)
scan_result["timestamp"] = datetime.datetime.utcnow().isoformat()
scan_result["timestamp"] = datetime.datetime.now(datetime.timezone.utc).isoformat()
scan_result["peak_freq"] = []
scan_result["peak_lvl"] = []

Wyświetl plik

@ -16,7 +16,7 @@ def fix_datetime(datetime_str, local_dt_str=None):
"""
if local_dt_str is None:
_now = datetime.datetime.utcnow()
_now = datetime.datetime.now(datetime.timezone.utc)
else:
_now = parse(local_dt_str)

Wyświetl plik

@ -120,7 +120,7 @@ class SondehubUploader(object):
"uploader_callsign": self.user_callsign,
"uploader_position": self.user_position,
"uploader_antenna": self.user_antenna,
"time_received": datetime.datetime.utcnow().strftime(
"time_received": datetime.datetime.now(datetime.timezone.utc).strftime(
"%Y-%m-%dT%H:%M:%S.%fZ"
),
}

Wyświetl plik

@ -97,13 +97,10 @@ function redraw_scan_chart(){
// Show the latest scan time.
if (getCookie('UTC') == 'false') {
temp_date = scan_chart_latest_timestamp;
temp_date = temp_date.slice(0, -3);
temp_date += "Z";
var date = new Date(temp_date);
var date = new Date(scan_chart_latest_timestamp);
var date_converted = date.toLocaleString(window.navigator.language,{hourCycle:'h23', year:"numeric", month:"2-digit", day:'2-digit', hour:'2-digit',minute:'2-digit', second:'2-digit'});
$('#scan_results').html('<b>Latest Scan:</b> ' + date_converted);
} else {
$('#scan_results').html('<b>Latest Scan:</b> ' + (scan_chart_latest_timestamp.slice(0, -3) + 'Z').replace("T", " ").replace("Z", "").slice(0, -4) + ' UTC');
var date_converted = scan_chart_latest_timestamp.slice(0, 19).replace("T", " ") + ' UTC'
}
}
$('#scan_results').html('<b>Latest Scan:</b> ' + date_converted);
}

Wyświetl plik

@ -197,6 +197,10 @@
// There is Scan data ready for us!
// Grab the latest set of data.
$.getJSON("get_scan_data", function(data){
if (data.freq.length == 0) {
return;
}
// Load the data into our data stores.
scan_chart_spectra.columns[0] = ['x_spectra'].concat(data.freq);
scan_chart_spectra.columns[1] = ['Spectra'].concat(data.power);

Wyświetl plik

@ -366,7 +366,7 @@ def flask_export_log_files(serialb64=None):
_zip = zip_log_files(_serial_list)
_ts = datetime.datetime.strftime(datetime.datetime.utcnow(), "%Y%m%d-%H%M%SZ")
_ts = datetime.datetime.strftime(datetime.datetime.now(datetime.timezone.utc), "%Y%m%d-%H%M%SZ")
response = make_response(
flask.send_file(
@ -415,7 +415,7 @@ def flask_generate_kml(serialb64=None):
log_files_to_kml(_log_files, _kml_file)
_kml_file.seek(0)
_ts = datetime.datetime.strftime(datetime.datetime.utcnow(), "%Y%m%d-%H%M%SZ")
_ts = datetime.datetime.strftime(datetime.datetime.now(datetime.timezone.utc), "%Y%m%d-%H%M%SZ")
response = make_response(
flask.send_file(
@ -667,7 +667,7 @@ class WebHandler(logging.Handler):
# Convert log record into a dictionary
log_data = {
"level": record.levelname,
"timestamp": datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%SZ"),
"timestamp": datetime.datetime.now(datetime.timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ"),
"msg": record.msg,
}
# Emit to all socket.io clients

Wyświetl plik

@ -40,4 +40,7 @@ mv ../demod/mod/mts01mod .
mv ../demod/mod/iq_dec .
mv ../weathex/weathex301d .
# Match user name in systemd service: no more need to use a text editor
sed -i "s/pi/$(whoami)/g" auto_rx.service
echo "Done!"

Wyświetl plik

@ -12,7 +12,7 @@
import socket, json, sys, traceback
from threading import Thread
from dateutil.parser import parse
from datetime import datetime, timedelta
import datetime
from io import StringIO
import time
@ -26,7 +26,7 @@ def fix_datetime(datetime_str, local_dt_str = None):
'''
if local_dt_str is None:
_now = datetime.utcnow()
_now = datetime.datetime.now(datetime.timezone.utc)
else:
_now = parse(local_dt_str)
@ -54,18 +54,18 @@ def fix_datetime(datetime_str, local_dt_str = None):
# We are within the window, and need to adjust the day backwards or forwards based on the sonde time.
if _telem_dt.hour == 23 and _now.hour == 0:
# Assume system clock running slightly fast, and subtract a day from the telemetry date.
_telem_dt = _telem_dt - timedelta(days=1)
_telem_dt = _telem_dt - datetime.timedelta(days=1)
elif _telem_dt.hour == 00 and _now.hour == 23:
# System clock running slow. Add a day.
_telem_dt = _telem_dt + timedelta(days=1)
_telem_dt = _telem_dt + datetime.timedelta(days=1)
return _telem_dt
def udp_listener_nmea_callback(info):
''' Handle a Payload Summary Message from UDPListener '''
dateRS = datetime.strptime(info['time'], '%H:%M:%S')
dateRS = datetime.datetime.strptime(info['time'], '%H:%M:%S')
hms = dateRS.hour*10000.0+dateRS.minute*100.0+dateRS.second+dateRS.microsecond;
dateNMEA = dateRS.year%100+dateRS.month*100+dateRS.day*10000

Wyświetl plik

@ -417,7 +417,7 @@ def process_directory(log_dir, output_dir, status_file, time_limit = 60):
# Calculate the age of the last data point in minutes.
_data_age = (pytz.utc.localize(datetime.datetime.utcnow()) - parse(last_time)).total_seconds() / 60.0
_data_age = (datetime.datetime.now(datetime.timezone.utc) - parse(last_time)).total_seconds() / 60.0
if burst or (_data_age > time_limit):
# We consider this file to be finished.
_log_status[_basename]['complete'] = True