diff --git a/routes/radiosonde.py b/routes/radiosonde.py index eef4169..25f68fb 100644 --- a/routes/radiosonde.py +++ b/routes/radiosonde.py @@ -90,13 +90,15 @@ def generate_station_cfg( os.makedirs(log_dir, exist_ok=True) cfg_path = os.path.join(cfg_dir, 'station.cfg') - # station.cfg matching radiosonde_auto_rx v1.8+ expected format - # Use absolute paths since auto_rx runs with cwd set to its install dir + # Full station.cfg based on radiosonde_auto_rx v1.8+ example config. + # All sections and keys included to avoid missing-key crashes. cfg = f"""# Auto-generated by INTERCEPT for radiosonde_auto_rx [sdr] sdr_type = RTLSDR sdr_quantity = 1 +sdr_hostname = localhost +sdr_port = 5555 [sdr_1] device_idx = {device_index} @@ -111,43 +113,92 @@ rx_timeout = 180 only_scan = [] never_scan = [] always_scan = [] +always_decode = [] [location] station_lat = 0.0 station_lon = 0.0 station_alt = 0.0 +gpsd_enabled = False +gpsd_host = localhost +gpsd_port = 2947 [habitat] uploader_callsign = INTERCEPT upload_listener_position = False +uploader_antenna = unknown [sondehub] sondehub_enabled = False +sondehub_upload_rate = 15 +sondehub_contact_email = none@none.com [aprs] aprs_enabled = False +aprs_user = N0CALL +aprs_pass = 00000 +upload_rate = 30 +aprs_server = radiosondy.info +aprs_port = 14580 +station_beacon_enabled = False +station_beacon_rate = 30 +station_beacon_comment = radiosonde_auto_rx +station_beacon_icon = /` +aprs_object_id = +aprs_use_custom_object_id = False +aprs_custom_comment = [oziplotter] ozi_enabled = False +ozi_update_rate = 5 +ozi_host = 127.0.0.1 +ozi_port = 8942 payload_summary_enabled = True payload_summary_host = 127.0.0.1 payload_summary_port = {udp_port} [email] email_enabled = False +launch_notifications = True +landing_notifications = True +encrypted_sonde_notifications = True +landing_range_threshold = 30 +landing_altitude_threshold = 1000 +error_notifications = False +smtp_server = localhost +smtp_port = 25 +smtp_authentication = None +smtp_login = None +smtp_password = None +from = sonde@localhost +to = none@none.com +subject = Sonde launch detected [rotator] rotator_enabled = False +update_rate = 30 +rotation_threshold = 5.0 +rotator_hostname = 127.0.0.1 +rotator_port = 4533 +rotator_homing_enabled = False +rotator_homing_delay = 10 +rotator_home_azimuth = 0.0 +rotator_home_elevation = 0.0 +azimuth_only = False [logging] per_sonde_log = True save_system_log = False enable_debug_logging = False +save_cal_data = False [web] web_host = 127.0.0.1 web_port = 0 +archive_age = 120 web_control = False +web_password = none +kml_refresh_rate = 10 [debugging] save_detection_audio = False @@ -156,7 +207,30 @@ save_decode_iq = False save_raw_hex = False [advanced] +search_step = 800 +snr_threshold = 10 +max_peaks = 10 +min_distance = 1000 +scan_dwell_time = 20 +detect_dwell_time = 5 +scan_delay = 10 +quantization = 10000 +decoder_spacing_limit = 15000 +temporary_block_time = 120 +max_async_scan_workers = 4 synchronous_upload = True +payload_id_valid = 3 +sdr_fm_path = rtl_fm +sdr_power_path = rtl_power +ss_iq_path = ./ss_iq +ss_power_path = ./ss_power + +[filtering] +max_altitude = 50000 +max_radius_km = 1000 +min_radius_km = 0 +radius_temporary_block = False +sonde_time_threshold = 3 """ with open(cfg_path, 'w') as f: