SYMBOL INDEX (902 symbols across 105 files) FILE: freedata_gui/src/assets/waterfall/spectrum.js function Spectrum (line 454) | function Spectrum(id, options) { FILE: freedata_gui/src/js/api.js function buildURL (line 18) | function buildURL(endpoint) { function checkNetworkConnectivity (line 28) | function checkNetworkConnectivity() { function setNetworkTrafficBusy (line 36) | function setNetworkTrafficBusy(isBusy) { function apiGet (line 41) | async function apiGet(endpoint) { function apiPost (line 60) | async function apiPost(endpoint, payload = {}) { function apiPatch (line 87) | async function apiPatch(endpoint, payload = {}) { function apiDelete (line 114) | async function apiDelete(endpoint, payload = {}) { function getVersion (line 141) | async function getVersion() { function getSysInfo (line 149) | async function getSysInfo() { function getConfig (line 174) | async function getConfig() { function setConfig (line 178) | async function setConfig(config) { function getAudioDevices (line 182) | async function getAudioDevices() { function getSerialDevices (line 186) | async function getSerialDevices() { function setModemBeacon (line 190) | async function setModemBeacon(enabled = false, away_from_key = false) { function sendModemCQ (line 194) | async function sendModemCQ() { function sendModemPing (line 198) | async function sendModemPing(dxcall) { function sendModemARQRaw (line 211) | async function sendModemARQRaw(mycall, dxcall, data, uuid) { function stopTransmission (line 220) | async function stopTransmission() { function sendModemTestFrame (line 224) | async function sendModemTestFrame() { function sendSineTone (line 228) | async function sendSineTone(state) { function startModem (line 232) | async function startModem() { function stopModem (line 236) | async function stopModem() { function getModemState (line 240) | async function getModemState() { function setRadioParametersFrequency (line 244) | async function setRadioParametersFrequency(frequency) { function setRadioParametersMode (line 248) | async function setRadioParametersMode(mode) { function setRadioParametersRFLevel (line 252) | async function setRadioParametersRFLevel(rf_level) { function setRadioParametersTuner (line 256) | async function setRadioParametersTuner(state) { function getRadioStatus (line 260) | async function getRadioStatus() { function getFreedataMessages (line 264) | async function getFreedataMessages() { function getFreedataMessageById (line 278) | async function getFreedataMessageById(id) { function getFreedataAttachmentBySha512 (line 283) | async function getFreedataAttachmentBySha512(data_sha512) { function sendFreedataMessage (line 288) | async function sendFreedataMessage(destination, body, attachments) { function postFreedataMessageADIF (line 296) | async function postFreedataMessageADIF(id) { function retransmitFreedataMessage (line 302) | async function retransmitFreedataMessage(id) { function setFreedataMessageAsRead (line 306) | async function setFreedataMessageAsRead(id) { function deleteFreedataMessage (line 310) | async function deleteFreedataMessage(id) { function getBeaconDataByCallsign (line 314) | async function getBeaconDataByCallsign(callsign) { function getStationInfo (line 318) | async function getStationInfo(callsign) { function setStationInfo (line 322) | async function setStationInfo(callsign, info) { FILE: freedata_gui/src/js/eventHandler.js function loadAllData (line 25) | async function loadAllData() { function connectionFailed (line 47) | function connectionFailed(endpoint, event) { function stateDispatcher (line 52) | function stateDispatcher(data) { function eventDispatcher (line 97) | function eventDispatcher(data) { function build_HSL (line 595) | function build_HSL() { function getOverallHealth (line 625) | function getOverallHealth() { FILE: freedata_gui/src/js/event_sock.js function connect (line 17) | function connect(endpoint, dispatcher) { function initConnections (line 55) | function initConnections() { FILE: freedata_gui/src/js/freedata.js function btoa_FD (line 6) | function btoa_FD(data) { function atob_FD (line 15) | function atob_FD(data) { function atob (line 24) | function atob(data) { function sortByProperty (line 34) | function sortByProperty(property) { function sortByPropertyDesc (line 49) | function sortByPropertyDesc(property) { function validateCallsignWithSSID (line 63) | function validateCallsignWithSSID(callsign) { function validateCallsignWithoutSSID (line 79) | function validateCallsignWithoutSSID(callsign) { function getAppDataPath (line 95) | function getAppDataPath() { function getFromLocalStorage (line 105) | function getFromLocalStorage(key) { function removeFromLocalStorage (line 118) | function removeFromLocalStorage(key) { function applyColorMode (line 130) | function applyColorMode(colorMode) { FILE: freedata_gui/src/js/i18n.js function loadLocaleMessages (line 5) | function loadLocaleMessages() { FILE: freedata_gui/src/js/messagesHandler.js function processFreedataMessages (line 23) | async function processFreedataMessages(data) { function createCallsignListFromAPI (line 39) | function createCallsignListFromAPI(data) { function createSortedMessagesList (line 94) | function createSortedMessagesList(data) { function newMessage (line 118) | function newMessage(dxcall, body, attachments) { function repeatMessageTransmission (line 127) | function repeatMessageTransmission(id) { function deleteCallsignFromDB (line 135) | function deleteCallsignFromDB(callsign) { function deleteMessageFromDB (line 145) | function deleteMessageFromDB(id) { function sendADIFviaUDP (line 153) | function sendADIFviaUDP(id) { function requestMessageInfo (line 161) | function requestMessageInfo(id) { function getMessageAttachment (line 185) | async function getMessageAttachment(data_sha512) { FILE: freedata_gui/src/js/mobile_devices.js function useIsMobile (line 3) | function useIsMobile(breakpoint = 720) { FILE: freedata_gui/src/js/popupHandler.js function displayToast (line 4) | function displayToast(type, icon, content, duration) { FILE: freedata_gui/src/js/radioHandler.js function processRadioStatus (line 11) | async function processRadioStatus() { FILE: freedata_gui/src/js/stationHandler.js function getStationInfoByCallsign (line 6) | async function getStationInfoByCallsign(callsign) { function setStationInfoByCallsign (line 67) | async function setStationInfoByCallsign(callsign) { FILE: freedata_gui/src/js/waterfallHandler.js function initWaterfall (line 11) | function initWaterfall(id) { function addDataToWaterfall (line 22) | function addDataToWaterfall(data) { function setColormap (line 35) | function setColormap() { FILE: freedata_gui/src/store/chatStore.js function triggerScrollToBottom (line 18) | function triggerScrollToBottom() { FILE: freedata_gui/src/store/settingsStore.js function onChange (line 112) | function onChange() { function getRemote (line 141) | function getRemote() { function saveLocalSettingsToConfig (line 165) | function saveLocalSettingsToConfig() { FILE: freedata_server/adif_udp_logger.py function send_adif_qso_data (line 5) | def send_adif_qso_data(ctx, adif_data): FILE: freedata_server/api/command_helpers.py function enqueue_tx_command (line 6) | async def enqueue_tx_command( FILE: freedata_server/api/common.py function api_response (line 5) | def api_response(data, status=200): function api_abort (line 9) | def api_abort(message, code): function api_ok (line 14) | def api_ok(message="ok"): function validate (line 19) | def validate(req, param, validator, is_required=True): FILE: freedata_server/api/config.py function get_config (line 82) | async def get_config(ctx: AppContext = Depends(get_ctx)): function post_config (line 143) | async def post_config( FILE: freedata_server/api/devices.py function get_audio_devices (line 93) | async def get_audio_devices(ctx: AppContext = Depends(get_ctx)): function get_serial_devices (line 143) | async def get_serial_devices(ctx: AppContext = Depends(get_ctx)): FILE: freedata_server/api/freedata.py function _mgr_msgs (line 16) | def _mgr_msgs(ctx: AppContext): function _mgr_attach (line 19) | def _mgr_attach(ctx: AppContext): function _mgr_beacon (line 22) | def _mgr_beacon(ctx: AppContext): function _mgr_stations (line 25) | def _mgr_stations(ctx: AppContext): function get_freedata_message (line 34) | async def get_freedata_message( function post_freedata_message (line 66) | async def post_freedata_message( function post_freedata_message_adif_log (line 116) | async def post_freedata_message_adif_log( function patch_freedata_message (line 160) | async def patch_freedata_message( function get_freedata_messages (line 233) | async def get_freedata_messages( function delete_freedata_message (line 269) | async def delete_freedata_message( function get_message_attachments (line 325) | async def get_message_attachments( function get_message_attachment (line 368) | async def get_message_attachment( function get_all_beacons (line 465) | async def get_all_beacons( function get_beacons_by_callsign (line 558) | async def get_beacons_by_callsign( function get_station_info (line 624) | async def get_station_info( function set_station_info (line 690) | async def set_station_info( FILE: freedata_server/api/general.py function index (line 17) | async def index(ctx: AppContext = Depends(get_ctx)): function get_modem_version (line 41) | async def get_modem_version(ctx: AppContext = Depends(get_ctx)): FILE: freedata_server/api/modem.py function get_modem_state (line 122) | async def get_modem_state(ctx: AppContext = Depends(get_ctx)): function post_cq (line 166) | async def post_cq(ctx: AppContext = Depends(get_ctx)): function post_beacon (line 219) | async def post_beacon( function post_ping (line 280) | async def post_ping( function post_send_test (line 328) | async def post_send_test( function post_fec (line 391) | async def post_fec( function post_start (line 459) | async def post_start(ctx: AppContext = Depends(get_ctx)): function post_stop (line 512) | async def post_stop(ctx: AppContext = Depends(get_ctx)): function post_arq_raw (line 568) | async def post_arq_raw( function post_stop_transmission (line 643) | async def post_stop_transmission(ctx: AppContext = Depends(get_ctx)): FILE: freedata_server/api/radio.py function get_radio (line 39) | async def get_radio(ctx: AppContext = Depends(get_ctx)): function post_radio (line 89) | async def post_radio( function post_radio_tune (line 168) | async def post_radio_tune( FILE: freedata_server/api/websocket.py function websocket_events (line 7) | async def websocket_events( function websocket_fft (line 22) | async def websocket_fft( function websocket_states (line 37) | async def websocket_states( FILE: freedata_server/api_validations.py function validate_gridsquare (line 16) | def validate_gridsquare(value: str): function validate_freedata_callsign (line 26) | def validate_freedata_callsign(value: str): function validate_remote_config (line 53) | def validate_remote_config(config: dict) -> bool: function validate_message_attachment (line 75) | def validate_message_attachment(attachment): FILE: freedata_server/arq_data_type_handler.py class ARQ_SESSION_TYPES (line 17) | class ARQ_SESSION_TYPES(Enum): class ARQDataTypeHandler (line 33) | class ARQDataTypeHandler: method __init__ (line 34) | def __init__(self, ctx): method get_session_type_from_value (line 73) | def get_session_type_from_value(value): method dispatch (line 91) | def dispatch(self, type_byte: int, data: bytearray, statistics: dict): method failed (line 115) | def failed(self, type_byte: int, data: bytearray, statistics: dict): method prepare (line 139) | def prepare(self, data: bytearray, session_type=ARQ_SESSION_TYPES.raw): method transmitted (line 158) | def transmitted(self, type_byte: int, data: bytearray, statistics: dict): method log (line 182) | def log(self, message, isWarning=False): method prepare_raw (line 197) | def prepare_raw(self, data): method handle_raw (line 212) | def handle_raw(self, data, statistics): method failed_raw (line 228) | def failed_raw(self, data, statistics): method transmitted_raw (line 243) | def transmitted_raw(self, data, statistics): method prepare_raw_lzma (line 258) | def prepare_raw_lzma(self, data): method handle_raw_lzma (line 274) | def handle_raw_lzma(self, data, statistics): method failed_raw_lzma (line 291) | def failed_raw_lzma(self, data, statistics): method transmitted_raw_lzma (line 306) | def transmitted_raw_lzma(self, data, statistics): method prepare_raw_gzip (line 321) | def prepare_raw_gzip(self, data): method handle_raw_gzip (line 337) | def handle_raw_gzip(self, data, statistics): method failed_raw_gzip (line 354) | def failed_raw_gzip(self, data, statistics): method transmitted_raw_gzip (line 369) | def transmitted_raw_gzip(self, data, statistics): method prepare_p2pmsg_zlib (line 384) | def prepare_p2pmsg_zlib(self, data): method handle_p2pmsg_zlib (line 403) | def handle_p2pmsg_zlib(self, data, statistics): method failed_p2pmsg_zlib (line 425) | def failed_p2pmsg_zlib(self, data, statistics): method transmitted_p2pmsg_zlib (line 446) | def transmitted_p2pmsg_zlib(self, data, statistics): method prepare_p2p_connection (line 469) | def prepare_p2p_connection(self, data): method handle_p2p_connection (line 490) | def handle_p2p_connection(self, data, statistics): method failed_p2p_connection (line 500) | def failed_p2p_connection(self, data, statistics): method transmitted_p2p_connection (line 509) | def transmitted_p2p_connection(self, data, statistics): FILE: freedata_server/arq_session.py class ARQSession (line 11) | class ARQSession: method __init__ (line 55) | def __init__(self, ctx, dxcall: str): method log (line 108) | def log(self, message, isWarning=False): method get_mode_by_speed_level (line 122) | def get_mode_by_speed_level(self, speed_level): method transmit_frame (line 136) | def transmit_frame(self, frame: bytearray, mode='auto'): method set_state (line 153) | def set_state(self, state): method get_data_payload_size (line 169) | def get_data_payload_size(self): method set_details (line 183) | def set_details(self, snr, frequency_offset): method on_frame_received (line 196) | def on_frame_received(self, frame): method is_session_outdated (line 220) | def is_session_outdated(self): method calculate_session_duration (line 237) | def calculate_session_duration(self): method calculate_session_statistics (line 251) | def calculate_session_statistics(self, confirmed_bytes, total_bytes): method update_histograms (line 297) | def update_histograms(self, confirmed_bytes, total_bytes): method check_channel_busy (line 326) | def check_channel_busy(self, channel_busy_slot, mode_slot): method get_appropriate_speed_level (line 345) | def get_appropriate_speed_level(self, snr, maximum_bandwidth=None): method reset_session (line 377) | def reset_session(self): FILE: freedata_server/arq_session_irs.py class IRS_State (line 10) | class IRS_State(Enum): class ARQSessionIRS (line 36) | class ARQSessionIRS(arq_session.ARQSession): method __init__ (line 93) | def __init__(self, ctx, dxcall: str, session_id: int): method all_data_received (line 137) | def all_data_received(self): method final_crc_matches (line 149) | def final_crc_matches(self) -> bool: method transmit_and_wait (line 160) | def transmit_and_wait(self, frame, timeout, mode): method launch_transmit_and_wait (line 180) | def launch_transmit_and_wait(self, frame, timeout, mode): method send_open_ack (line 196) | def send_open_ack(self, open_frame): method send_info_ack (line 235) | def send_info_ack(self, info_frame): method process_incoming_data (line 269) | def process_incoming_data(self, frame): method receive_data (line 326) | def receive_data(self, burst_frame): method calibrate_speed_settings (line 383) | def calibrate_speed_settings(self, burst_frame=None): method abort_transmission (line 444) | def abort_transmission(self): method send_stop_ack (line 453) | def send_stop_ack(self, stop_frame): method transmission_failed (line 479) | def transmission_failed(self, irs_frame=None): method transmission_aborted (line 507) | def transmission_aborted(self): FILE: freedata_server/arq_session_iss.py class ISS_State (line 12) | class ISS_State(Enum): class ARQSessionISS (line 38) | class ARQSessionISS(arq_session.ARQSession): method __init__ (line 82) | def __init__(self, ctx, dxcall: str, data: bytearray, type_byte: bytes): method generate_id (line 121) | def generate_id(self): method transmit_wait_and_retry (line 159) | def transmit_wait_and_retry(self, frame_or_burst, timeout, retries, mo... method launch_twr (line 200) | def launch_twr(self, frame_or_burst, timeout, retries, mode, isARQBurs... method start (line 217) | def start(self): method update_speed_level (line 232) | def update_speed_level(self, frame): method send_info (line 264) | def send_info(self, irs_frame): method send_data (line 291) | def send_data(self, irs_frame, fallback=None): method transmission_ended (line 361) | def transmission_ended(self, irs_frame): method transmission_failed (line 389) | def transmission_failed(self, irs_frame=None): method abort_transmission (line 415) | def abort_transmission(self, send_stop=False, irs_frame=None): method send_stop (line 452) | def send_stop(self): method transmission_aborted (line 462) | def transmission_aborted(self, irs_frame=None): FILE: freedata_server/audio.py function get_audio_devices (line 15) | def get_audio_devices(): function device_crc (line 47) | def device_crc(device) -> str: function fetch_audio_devices (line 64) | def fetch_audio_devices(input_devices, output_devices): function get_device_index_from_crc (line 119) | def get_device_index_from_crc(crc, isInput: bool): function test_audio_devices (line 152) | def test_audio_devices(input_id: str, output_id: str) -> list: function set_audio_volume (line 208) | def set_audio_volume(datalist: np.ndarray, dB: float) -> np.ndarray: function normalize_audio (line 243) | def normalize_audio(datalist: np.ndarray) -> np.ndarray: function prepare_data_for_fft (line 312) | def prepare_data_for_fft(data, target_length_samples=800): function calculate_rms_dbfs (line 334) | def calculate_rms_dbfs(data): function calculate_fft (line 351) | def calculate_fft(data, fft_queue, states) -> None: function terminate (line 467) | def terminate(): FILE: freedata_server/audio_buffer.py class CircularBuffer (line 6) | class CircularBuffer: method __init__ (line 14) | def __init__(self, size): method push (line 24) | def push(self, samples): method pop (line 47) | def pop(self, n): FILE: freedata_server/codec2.py class FREEDV_MODE (line 25) | class FREEDV_MODE(Enum): class FREEDV_MODE_USED_SLOTS (line 47) | class FREEDV_MODE_USED_SLOTS(Enum): function freedv_get_mode_value_by_name (line 68) | def freedv_get_mode_value_by_name(mode: str) -> int: function freedv_get_mode_name_by_value (line 82) | def freedv_get_mode_name_by_value(mode: int) -> str: class MODEMSTATS (line 202) | class MODEMSTATS(ctypes.Structure): class audio_buffer (line 253) | class audio_buffer: method __init__ (line 262) | def __init__(self, size): method push (line 269) | def push(self, samples): method pop (line 286) | def pop(self, size): class resampler (line 317) | class resampler: method __init__ (line 326) | def __init__(self): method resample48_to_8 (line 331) | def resample48_to_8(self, in48): method resample8_to_48 (line 361) | def resample8_to_48(self, in8): function open_instance (line 388) | def open_instance(mode: int) -> ctypes.c_void_p: function get_bytes_per_frame (line 416) | def get_bytes_per_frame(mode: int) -> int: class OFDM_CONFIG (line 433) | class OFDM_CONFIG(ctypes.Structure): class FREEDV_ADVANCED (line 471) | class FREEDV_ADVANCED(ctypes.Structure): class FREEDV_ADVANCED_FSK (line 484) | class FREEDV_ADVANCED_FSK(ctypes.Structure): function create_default_ofdm_config (line 499) | def create_default_ofdm_config(): function create_tx_uw (line 549) | def create_tx_uw(nuwbits, uw_sequence): function create_default_fsk_config (line 568) | def create_default_fsk_config(): function get_centered_first_tone (line 580) | def get_centered_first_tone(config, center=1500): FILE: freedata_server/codec2_filter_coeff.py function generate_filter_coefficients (line 7) | def generate_filter_coefficients(Fs_Hz, bandwidth_Hz, taps): FILE: freedata_server/command.py class TxCommand (line 9) | class TxCommand: method __init__ (line 17) | def __init__(self, ctx, apiParams:dict = {}): method log (line 38) | def log(self, message, isWarning = False): method set_params_from_api (line 52) | def set_params_from_api(self, apiParams): method get_name (line 63) | def get_name(self): method emit_event (line 74) | def emit_event(self): method log_message (line 86) | def log_message(self): method build_frame (line 97) | def build_frame(self): method get_tx_mode (line 106) | def get_tx_mode(self): method make_modem_queue_item (line 124) | def make_modem_queue_item(self, mode, repeat, repeat_delay, frame): method transmit (line 147) | def transmit(self): method run (line 159) | def run(self): method test (line 174) | def test(self, event_queue: queue.Queue): FILE: freedata_server/command_arq_raw.py class ARQRawCommand (line 11) | class ARQRawCommand(TxCommand): method set_params_from_api (line 19) | def set_params_from_api(self, apiParams): method run (line 40) | def run(self): FILE: freedata_server/command_beacon.py class BeaconCommand (line 3) | class BeaconCommand(TxCommand): method build_frame (line 10) | def build_frame(self): FILE: freedata_server/command_cq.py class CQCommand (line 3) | class CQCommand(TxCommand): method build_frame (line 10) | def build_frame(self): FILE: freedata_server/command_fec.py class FecCommand (line 4) | class FecCommand(TxCommand): method set_params_from_api (line 12) | def set_params_from_api(self, apiParams): method build_wakeup_frame (line 38) | def build_wakeup_frame(self): method build_frame (line 49) | def build_frame(self): method transmit (line 60) | def transmit(self, tx_frame_queue): FILE: freedata_server/command_message_send.py class SendMessageCommand (line 15) | class SendMessageCommand(TxCommand): method set_params_from_api (line 19) | def set_params_from_api(self, apiParams): method transmit (line 32) | def transmit(self): FILE: freedata_server/command_p2p_connection.py class P2PConnectionCommand (line 8) | class P2PConnectionCommand(TxCommand): method set_params_from_api (line 15) | def set_params_from_api(self, apiParams): method connect (line 33) | def connect(self): method run (line 45) | def run(self): FILE: freedata_server/command_ping.py class PingCommand (line 6) | class PingCommand(TxCommand): method set_params_from_api (line 14) | def set_params_from_api(self, apiParams): method build_frame (line 35) | def build_frame(self): FILE: freedata_server/command_qrv.py class QRVCommand (line 3) | class QRVCommand(TxCommand): method build_frame (line 9) | def build_frame(self): FILE: freedata_server/command_test.py class TestCommand (line 6) | class TestCommand(TxCommand): method build_frame (line 13) | def build_frame(self): method get_tx_mode (line 24) | def get_tx_mode(self): FILE: freedata_server/command_transmit_sine.py class TransmitSine (line 3) | class TransmitSine(TxCommand): method transmit (line 9) | def transmit(self): FILE: freedata_server/config.py class CONFIG (line 6) | class CONFIG: method __init__ (line 103) | def __init__(self, ctx, configfile: str): method config_exists (line 136) | def config_exists(self): method validate_data (line 153) | def validate_data(self, data): method validate_config (line 173) | def validate_config(self): method handle_setting (line 212) | def handle_setting(self, section, setting, value, is_writing=False): method write (line 255) | def write(self, data): method write_to_file (line 286) | def write_to_file(self): method read (line 308) | def read(self): FILE: freedata_server/context.py class AppContext (line 13) | class AppContext: method __init__ (line 14) | def __init__(self, config_file: str): method startup (line 38) | def startup(self): method shutdown (line 55) | def shutdown(self): function get_ctx (line 71) | def get_ctx(request: Request = None, websocket: WebSocket = None) -> App... FILE: freedata_server/cw.py class MorseCodePlayer (line 11) | class MorseCodePlayer: method __init__ (line 20) | def __init__(self, wpm=25, f=1500, fs=48000): method text_to_morse (line 46) | def text_to_morse(self, text): method morse_to_signal (line 67) | def morse_to_signal(self, morse): method text_to_signal (line 107) | def text_to_signal(self, text): FILE: freedata_server/data_frame_factory.py class DataFrameFactory (line 6) | class DataFrameFactory: method __init__ (line 31) | def __init__(self, ctx): method _load_broadcast_templates (line 45) | def _load_broadcast_templates(self): method _load_ping_templates (line 69) | def _load_ping_templates(self): method _load_arq_templates (line 88) | def _load_arq_templates(self): method _load_p2p_connection_templates (line 159) | def _load_p2p_connection_templates(self): method construct (line 229) | def construct(self, frametype, content, frame_length = LENGTH_SIG1_FRA... method deconstruct (line 259) | def deconstruct(self, frame, mode_name=None): method get_bytes_per_frame (line 337) | def get_bytes_per_frame(self, mode: codec2.FREEDV_MODE) -> int: method get_available_data_payload_for_mode (line 342) | def get_available_data_payload_for_mode(self, type: FR_TYPE, mode:code... method build_ping (line 351) | def build_ping(self, destination): method build_ping_ack (line 359) | def build_ping_ack(self, destination, snr): method build_cq (line 368) | def build_cq(self): method build_qrv (line 375) | def build_qrv(self, snr): method build_beacon (line 383) | def build_beacon(self, flag_away_from_key=False): method build_fec_is_writing (line 396) | def build_fec_is_writing(self): method build_fec_wakeup (line 402) | def build_fec_wakeup(self, mode): method build_fec (line 413) | def build_fec(self, mode, payload): method build_test (line 422) | def build_test(self, mode): method build_arq_session_open (line 429) | def build_arq_session_open(self, destination, session_id, maximum_band... method build_arq_session_open_ack (line 439) | def build_arq_session_open_ack(self, session_id, destination, version,... method build_arq_session_info (line 454) | def build_arq_session_info(self, session_id: int, total_length: int, t... method build_arq_stop (line 468) | def build_arq_stop(self, session_id: int): method build_arq_stop_ack (line 474) | def build_arq_stop_ack(self, session_id: int): method build_arq_session_info_ack (line 480) | def build_arq_session_info_ack(self, session_id, offset, snr, speed_le... method build_arq_burst_frame (line 498) | def build_arq_burst_frame(self, freedv_mode: codec2.FREEDV_MODE, sessi... method build_arq_burst_ack (line 509) | def build_arq_burst_ack(self, session_id: bytes, speed_level: int, fla... method build_p2p_connection_connect (line 527) | def build_p2p_connection_connect(self, destination, origin, session_id): method build_p2p_connection_connect_ack (line 535) | def build_p2p_connection_connect_ack(self, destination, origin, sessio... method build_p2p_connection_heartbeat (line 543) | def build_p2p_connection_heartbeat(self, session_id, flag_has_data=Fal... method build_p2p_connection_heartbeat_ack (line 556) | def build_p2p_connection_heartbeat_ack(self, session_id, flag_has_data... method build_p2p_connection_payload (line 569) | def build_p2p_connection_payload(self, freedv_mode: codec2.FREEDV_MODE... method build_p2p_connection_payload_ack (line 589) | def build_p2p_connection_payload_ack(self, session_id, sequence_id): method build_p2p_connection_disconnect (line 596) | def build_p2p_connection_disconnect(self, session_id): method build_p2p_connection_disconnect_ack (line 602) | def build_p2p_connection_disconnect_ack(self, session_id): FILE: freedata_server/demodulator.py class Demodulator (line 15) | class Demodulator(): method __init__ (line 32) | def __init__(self, ctx): method init_codec2 (line 63) | def init_codec2(self): method init_codec2_mode (line 69) | def init_codec2_mode(self, mode): method start (line 122) | def start(self, stream): method get_frequency_offset (line 135) | def get_frequency_offset(self, freedv: ctypes.c_void_p) -> float: method demodulate_audio (line 149) | def demodulate_audio(self, mode) -> int: method set_frames_per_burst (line 239) | def set_frames_per_burst(self, frames_per_burst: int) -> None: method calculate_snr (line 257) | def calculate_snr(self, freedv: ctypes.c_void_p) -> float: method get_scatter (line 287) | def get_scatter(self, freedv: ctypes.c_void_p) -> None: method reset_data_sync (line 326) | def reset_data_sync(self) -> None: method set_decode_mode (line 336) | def set_decode_mode(self, modes_to_decode=None, is_arq_irs=False, is_p... method shutdown (line 365) | def shutdown(self): FILE: freedata_server/event_manager.py class EventManager (line 5) | class EventManager: method __init__ (line 15) | def __init__(self, ctx, queues): method broadcast (line 26) | def broadcast(self, data): method send_ptt_change (line 45) | def send_ptt_change(self, on:bool = False): method send_scatter_change (line 60) | def send_scatter_change(self, data): method send_buffer_overflow (line 71) | def send_buffer_overflow(self, data): method send_custom_event (line 83) | def send_custom_event(self, **event_data): method send_arq_session_new (line 95) | def send_arq_session_new(self, outbound: bool, session_id, dxcall, tot... method send_arq_session_progress (line 124) | def send_arq_session_progress(self, outbound: bool, session_id, dxcall... method send_arq_session_finished (line 160) | def send_arq_session_finished(self, outbound: bool, session_id, dxcall... method modem_started (line 199) | def modem_started(self): method modem_restarted (line 208) | def modem_restarted(self): method modem_stopped (line 217) | def modem_stopped(self): method modem_failed (line 226) | def modem_failed(self): method freedata_message_db_change (line 235) | def freedata_message_db_change(self, message_id=None): method freedata_logging (line 247) | def freedata_logging(self, type, status, message): FILE: freedata_server/exceptions.py class NoCallsign (line 6) | class NoCallsign(UserWarning): class MessageStatusError (line 10) | class MessageStatusError(UserWarning): FILE: freedata_server/explorer.py class Explorer (line 17) | class Explorer: method __init__ (line 24) | def __init__(self, ctx): method push (line 40) | def push(self): FILE: freedata_server/flrig.py class radio (line 7) | class radio: method __init__ (line 8) | def __init__(self, ctx): method connect (line 34) | def connect(self, **kwargs): method disconnect (line 48) | def disconnect(self, **kwargs): method _poll_loop (line 55) | def _poll_loop(self): method get_frequency (line 77) | def get_frequency(self): method get_rf (line 81) | def get_rf(self): method set_frequency (line 90) | def set_frequency(self, frequency): method get_mode (line 100) | def get_mode(self): method set_mode (line 104) | def set_mode(self, mode): method get_level (line 113) | def get_level(self): method get_alc (line 116) | def get_alc(self): method get_meter (line 119) | def get_meter(self): method get_bandwidth (line 122) | def get_bandwidth(self): method set_bandwidth (line 125) | def set_bandwidth(self, bandwidth): method set_rf_level (line 134) | def set_rf_level(self, rf): method get_strength (line 150) | def get_strength(self): method get_tuner (line 153) | def get_tuner(self): method set_tuner (line 156) | def set_tuner(self, state): method get_swr (line 160) | def get_swr(self): method get_ptt (line 164) | def get_ptt(self): method set_ptt (line 168) | def set_ptt(self, state): method set_tuner (line 180) | def set_tuner(self, state): method get_status (line 190) | def get_status(self): method get_parameters (line 193) | def get_parameters(self): method close_rig (line 196) | def close_rig(self): method stop_service (line 201) | def stop_service(self): FILE: freedata_server/frame_dispatcher.py class DISPATCHER (line 21) | class DISPATCHER: method __init__ (line 62) | def __init__(self, ctx): method start (line 86) | def start(self): method stop (line 90) | def stop(self): method worker_receive (line 93) | def worker_receive(self) -> None: method process_data (line 110) | def process_data(self, bytes_out, freedv, bytes_per_frame: int, snr, f... method get_id_from_frame (line 139) | def get_id_from_frame(self, data): FILE: freedata_server/frame_handler.py class FrameHandler (line 16) | class FrameHandler(): method __init__ (line 25) | def __init__(self, ctx, name: str) -> None: method is_frame_for_me (line 49) | def is_frame_for_me(self): method should_respond (line 125) | def should_respond(self): method is_origin_on_blacklist (line 137) | def is_origin_on_blacklist(self): method add_to_activity_list (line 159) | def add_to_activity_list(self): method add_to_heard_stations (line 193) | def add_to_heard_stations(self): method make_event (line 235) | def make_event(self): method emit_event (line 273) | def emit_event(self): method get_tx_mode (line 285) | def get_tx_mode(self): method transmit (line 297) | def transmit(self, frame): method follow_protocol (line 312) | def follow_protocol(self): method log (line 321) | def log(self): method handle (line 325) | def handle(self, frame, snr, frequency_offset, freedv_inst, bytes_per_... method check_for_queued_message (line 395) | def check_for_queued_message(self): FILE: freedata_server/frame_handler_arq_session.py class ARQFrameHandler (line 11) | class ARQFrameHandler(frame_handler.FrameHandler): method follow_protocol (line 20) | def follow_protocol(self): FILE: freedata_server/frame_handler_beacon.py class BeaconFrameHandler (line 8) | class BeaconFrameHandler(frame_handler.FrameHandler): method follow_protocol (line 16) | def follow_protocol(self): FILE: freedata_server/frame_handler_cq.py class CQFrameHandler (line 10) | class CQFrameHandler(frame_handler.FrameHandler): method follow_protocol (line 23) | def follow_protocol(self): method send_ack (line 42) | def send_ack(self): FILE: freedata_server/frame_handler_p2p_connection.py class P2PConnectionFrameHandler (line 8) | class P2PConnectionFrameHandler(frame_handler.FrameHandler): method follow_protocol (line 16) | def follow_protocol(self): FILE: freedata_server/frame_handler_ping.py class PingFrameHandler (line 7) | class PingFrameHandler(frame_handler.FrameHandler): method follow_protocol (line 26) | def follow_protocol(self): method send_ack (line 41) | def send_ack(self): FILE: freedata_server/helpers.py function wait (line 26) | def wait(seconds: float) -> bool: function get_crc_8 (line 41) | def get_crc_8(data: str) -> bytes: function get_crc_16 (line 72) | def get_crc_16(data: str) -> bytes: function get_crc_24 (line 102) | def get_crc_24(data: str) -> bytes: function get_crc_32 (line 133) | def get_crc_32(data: str) -> bytes: function add_to_heard_stations (line 188) | def add_to_heard_stations(dxcallsign, dxgrid, datatype, snr, offset, fre... function callsign_to_bytes (line 225) | def callsign_to_bytes(callsign: str) -> bytes: function bytes_to_callsign (line 287) | def bytes_to_callsign(bytestring: bytes) -> bytes: function separate_callsign_from_ssid (line 333) | def separate_callsign_from_ssid(callsign:bytes): function check_callsign (line 341) | def check_callsign(callsign: str, crc_to_check: bytes, ssid_list): function check_session_id (line 390) | def check_session_id(id: bytes, id_to_check: bytes): function encode_grid (line 408) | def encode_grid(grid): function decode_grid (line 442) | def decode_grid(b_code_word: bytes): function encode_call (line 468) | def encode_call(call): function decode_call (line 495) | def decode_call(b_code_word: bytes): function snr_to_bytes (line 517) | def snr_to_bytes(snr): function snr_from_bytes (line 528) | def snr_from_bytes(snr): function safe_execute (line 535) | def safe_execute(default, exception, function, *args): function return_key_from_object (line 548) | def return_key_from_object(default, obj, key): function bool_to_string (line 556) | def bool_to_string(state): function get_hmac_salt (line 562) | def get_hmac_salt(dxcallsign: bytes, mycallsign: bytes): function search_hmac_salt (line 611) | def search_hmac_salt(dxcallsign: bytes, mycallsign: bytes, search_token,... function delete_last_line_from_hmac_list (line 690) | def delete_last_line_from_hmac_list(filepath, position): function check_if_file_exists (line 711) | def check_if_file_exists(path): function set_bit (line 729) | def set_bit(byte, position, value): function get_bit (line 739) | def get_bit(byte, position): function set_flag (line 746) | def set_flag(byte, flag_name, value, flag_dict): function get_flag (line 763) | def get_flag(byte, flag_name, flag_dict): function find_binary_paths (line 771) | def find_binary_paths(binary_name="rigctld", search_system_wide=False): function kill_and_execute (line 810) | def kill_and_execute(binary_path, additional_args=None): function kill_process (line 833) | def kill_process(proc): FILE: freedata_server/list_ports_winreg.py function regval_to_listport (line 24) | def regval_to_listport(winport): function winreg_comports (line 47) | def winreg_comports(): function comports_list (line 86) | def comports_list(): function comports (line 113) | def comports(include_links=False): FILE: freedata_server/log_handler.py function setup_logging (line 5) | def setup_logging(filename: str = "", level: str = "DEBUG"): FILE: freedata_server/maidenhead.py function haversine (line 4) | def haversine(lat1, lon1, lat2, lon2): function maidenhead_to_latlon (line 38) | def maidenhead_to_latlon(grid_square): function distance_between_locators (line 82) | def distance_between_locators(locator1, locator2): function generate_full_maidenhead (line 106) | def generate_full_maidenhead(grid_square): FILE: freedata_server/message_p2p.py function message_received (line 8) | def message_received(ctx, data, statistics): function message_transmitted (line 25) | def message_transmitted(ctx, data, statistics): function message_failed (line 46) | def message_failed(ctx, data, statistics): class MessageP2P (line 66) | class MessageP2P: method __init__ (line 75) | def __init__(self, id: str, origin: str, destination: str, body: str, ... method from_api_params (line 94) | def from_api_params(cls, origin: str, params: dict): method from_payload (line 139) | def from_payload(cls, payload): method get_id (line 157) | def get_id(self) -> str: method __encode_attachment__ (line 169) | def __encode_attachment__(self, binary_attachment: dict): method __decode_attachment__ (line 185) | def __decode_attachment__(encoded_attachment: dict): method to_dict (line 202) | def to_dict(self): method to_payload (line 221) | def to_payload(self): FILE: freedata_server/message_system_db_attachments.py class DatabaseManagerAttachments (line 6) | class DatabaseManagerAttachments(DatabaseManager): method __init__ (line 13) | def __init__(self, ctx): method add_attachment (line 22) | def add_attachment(self, session, message, attachment_data): method get_attachments_by_message_id (line 66) | def get_attachments_by_message_id(self, message_id): method get_attachments_by_message_id_json (line 97) | def get_attachments_by_message_id_json(self, message_id): method get_attachment_by_sha512 (line 114) | def get_attachment_by_sha512(self, hash_sha512): method delete_attachments_by_message_id (line 143) | def delete_attachments_by_message_id(self, message_id): method clean_orphaned_attachments (line 189) | def clean_orphaned_attachments(self): FILE: freedata_server/message_system_db_beacon.py class DatabaseManagerBeacon (line 5) | class DatabaseManagerBeacon(DatabaseManager): method __init__ (line 12) | def __init__(self, ctx): method add_beacon (line 20) | def add_beacon(self, timestamp, callsign, snr, gridsquare): method get_beacons_by_callsign (line 64) | def get_beacons_by_callsign(self, callsign): method get_all_beacons (line 104) | def get_all_beacons(self): method beacon_cleanup_older_than_days (line 147) | def beacon_cleanup_older_than_days(self, days): FILE: freedata_server/message_system_db_manager.py class DatabaseManager (line 11) | class DatabaseManager: method __init__ (line 22) | def __init__(self, ctx): method get_database (line 38) | def get_database(self): method initialize_default_values (line 59) | def initialize_default_values(self): method database_repair_and_cleanup (line 94) | def database_repair_and_cleanup(self): method log (line 148) | def log(self, message, isWarning=False): method get_thread_scoped_session (line 163) | def get_thread_scoped_session(self): method get_or_create_station (line 178) | def get_or_create_station(self, callsign, session=None): method get_callsign_by_checksum (line 223) | def get_callsign_by_checksum(self, checksum): method get_or_create_status (line 252) | def get_or_create_status(self, session, status_name): method check_database_version (line 276) | def check_database_version(self): method update_database_schema (line 320) | def update_database_schema(self): method update_tables_schema (line 343) | def update_tables_schema(self): method update_columns_schema (line 375) | def update_columns_schema(self): FILE: freedata_server/message_system_db_messages.py class DatabaseManagerMessages (line 10) | class DatabaseManagerMessages(DatabaseManager): method __init__ (line 18) | def __init__(self, ctx): method add_message (line 29) | def add_message(self, message_data, statistics, direction='receive', s... method get_all_messages (line 101) | def get_all_messages(self, filters=None): method get_all_messages_json (line 152) | def get_all_messages_json(self, filters=None): method get_message_by_id (line 172) | def get_message_by_id(self, message_id): method get_message_by_id_json (line 200) | def get_message_by_id_json(self, message_id): method get_message_by_id_adif (line 216) | def get_message_by_id_adif(self, message_id): method delete_message (line 312) | def delete_message(self, message_id): method update_message (line 364) | def update_message(self, message_id, update_data, frequency=None): method get_first_queued_message (line 416) | def get_first_queued_message(self): method increment_message_attempts (line 454) | def increment_message_attempts(self, message_id, session=None): method set_message_to_queued_for_callsign (line 490) | def set_message_to_queued_for_callsign(self, callsign): FILE: freedata_server/message_system_db_model.py class MessageAttachment (line 6) | class MessageAttachment(Base): class Config (line 21) | class Config(Base): method to_dict (line 32) | def to_dict(self): class Beacon (line 44) | class Beacon(Base): class Station (line 61) | class Station(Base): method to_dict (line 78) | def to_dict(self): class Status (line 91) | class Status(Base): class P2PMessage (line 103) | class P2PMessage(Base): method to_dict (line 132) | def to_dict(self): class Attachment (line 163) | class Attachment(Base): method to_dict (line 182) | def to_dict(self): FILE: freedata_server/message_system_db_station.py class DatabaseManagerStations (line 5) | class DatabaseManagerStations(DatabaseManager): method __init__ (line 12) | def __init__(self, ctx): method get_station (line 20) | def get_station(self, callsign): method update_station_info (line 41) | def update_station_info(self, callsign, new_info): method update_station_location (line 71) | def update_station_location(self, callsign, gridsquare): FILE: freedata_server/modem.py class RF (line 24) | class RF: method __init__ (line 35) | def __init__(self, ctx) -> None: method start_modem (line 88) | def start_modem(self): method stop_modem (line 113) | def stop_modem(self): method init_audio (line 131) | def init_audio(self): method transmit_sine (line 197) | def transmit_sine(self): method stop_sine (line 226) | def stop_sine(self): method transmit_morse (line 233) | def transmit_morse(self, repeats, repeat_delay, frames): method transmit (line 265) | def transmit( method enqueue_audio_out (line 312) | def enqueue_audio_out(self, audio_48k) -> None: method sd_output_audio_callback (line 361) | def sd_output_audio_callback(self, outdata: np.ndarray, frames: int, t... method sd_input_audio_callback (line 395) | def sd_input_audio_callback(self, indata: np.ndarray, frames: int, tim... FILE: freedata_server/modem_frametypes.py class FRAME_TYPE (line 7) | class FRAME_TYPE(Enum): FILE: freedata_server/modulator.py class Modulator (line 8) | class Modulator: method __init__ (line 18) | def __init__(self, ctx): method init_codec2 (line 33) | def init_codec2(self): method transmit_add_preamble (line 60) | def transmit_add_preamble(self, buffer, freedv): method transmit_add_postamble (line 85) | def transmit_add_postamble(self, buffer, freedv): method transmit_add_silence (line 112) | def transmit_add_silence(self, buffer, duration): method transmit_create_frame (line 131) | def transmit_create_frame(self, txbuffer, freedv, frame): method create_burst (line 179) | def create_burst( FILE: freedata_server/p2p_connection.py class States (line 15) | class States(Enum): class P2PConnection (line 31) | class P2PConnection: method __init__ (line 96) | def __init__(self, ctx, origin: str, destination: str): method start_data_processing_worker (line 144) | def start_data_processing_worker(self): method generate_id (line 187) | def generate_id(self): method set_details (line 196) | def set_details(self, snr, frequency_offset): method log (line 200) | def log(self, message, isWarning = False): method set_state (line 205) | def set_state(self, state): method on_frame_received (line 212) | def on_frame_received(self, frame): method transmit_frame (line 225) | def transmit_frame(self, frame: bytearray, mode='auto'): method transmit_wait_and_retry (line 231) | def transmit_wait_and_retry(self, frame_or_burst, timeout, retries, mo... method launch_twr (line 250) | def launch_twr(self, frame_or_burst, timeout, retries, mode): method transmit_and_wait_irs (line 254) | def transmit_and_wait_irs(self, frame, timeout, mode): method launch_twr_irs (line 262) | def launch_twr_irs(self, frame, timeout, mode): method connect (line 267) | def connect(self): method connected_iss (line 275) | def connected_iss(self, frame=None): method connected_irs (line 283) | def connected_irs(self, frame): method session_failed (line 304) | def session_failed(self): method process_data_queue (line 310) | def process_data_queue(self, frame=None): method received_data (line 357) | def received_data(self, frame): method transmitted_data (line 385) | def transmitted_data(self, frame): method transmit_heartbeat (line 398) | def transmit_heartbeat(self, has_data=False, announce_arq=False): method transmit_heartbeat_ack (line 406) | def transmit_heartbeat_ack(self): method received_heartbeat (line 418) | def received_heartbeat(self, frame): method received_heartbeat_ack (line 453) | def received_heartbeat_ack(self, frame): method disconnect (line 479) | def disconnect(self): method abort_connection (line 489) | def abort_connection(self): method abort_arq (line 498) | def abort_arq(self): method received_disconnect (line 507) | def received_disconnect(self, frame): method received_disconnect_ack (line 519) | def received_disconnect_ack(self, frame): method transmit_arq (line 527) | def transmit_arq(self, data): method transmitted_arq (line 552) | def transmitted_arq(self, transmitted_data): method received_arq (line 559) | def received_arq(self, received_data): method failed_arq (line 574) | def failed_arq(self): method delete_arq_session (line 578) | def delete_arq_session(self): method get_tx_queue_buffer_size (line 595) | def get_tx_queue_buffer_size(self): FILE: freedata_server/radio_manager.py class RadioManager (line 7) | class RadioManager: method __init__ (line 8) | def __init__(self, ctx): method _init_rig_control (line 20) | def _init_rig_control(self): method set_ptt (line 33) | def set_ptt(self, state): method set_tuner (line 46) | def set_tuner(self, state): method set_frequency (line 50) | def set_frequency(self, frequency): method set_mode (line 54) | def set_mode(self, mode): method set_rf_level (line 58) | def set_rf_level(self, level): method update_parameters (line 62) | def update_parameters(self): method stop (line 79) | def stop(self): FILE: freedata_server/rigctld.py class PTTMode (line 7) | class PTTMode(IntEnum): class radio (line 14) | class radio: method __init__ (line 26) | def __init__(self, ctx): method connect (line 76) | def connect(self): method disconnect (line 137) | def disconnect(self): method send_command (line 164) | def send_command(self, command): method insert_vfo (line 219) | def insert_vfo(self, command): method set_ptt (line 240) | def set_ptt(self, state): method set_mode (line 267) | def set_mode(self, mode): method set_frequency (line 289) | def set_frequency(self, frequency): method set_bandwidth (line 310) | def set_bandwidth(self, bandwidth): method set_rf_level (line 333) | def set_rf_level(self, rf): method set_tuner (line 354) | def set_tuner(self, state): method get_tuner (line 381) | def get_tuner(self): method get_parameters (line 405) | def get_parameters(self): method dump_caps (line 422) | def dump_caps(self): method check_vfo (line 436) | def check_vfo(self): method get_vfo (line 455) | def get_vfo(self): method get_frequency (line 482) | def get_frequency(self): method get_mode_bandwidth (line 503) | def get_mode_bandwidth(self): method get_alc (line 533) | def get_alc(self): method get_strength (line 555) | def get_strength(self): method get_rf (line 576) | def get_rf(self): method get_swr (line 600) | def get_swr(self): method start_service (line 623) | def start_service(self): method stop_service (line 649) | def stop_service(self): method format_rigctld_args (line 661) | def format_rigctld_args(self): FILE: freedata_server/rigdummy.py class radio (line 2) | class radio: method __init__ (line 5) | def __init__(self): method connect (line 18) | def connect(self, **kwargs): method disconnect (line 29) | def disconnect(self, **kwargs): method get_frequency (line 40) | def get_frequency(self): method get_mode (line 44) | def get_mode(self): method get_level (line 48) | def get_level(self): method get_alc (line 52) | def get_alc(self): method get_meter (line 56) | def get_meter(self): method get_bandwidth (line 60) | def get_bandwidth(self): method get_strength (line 64) | def get_strength(self): method get_tuner (line 68) | def get_tuner(self): method get_swr (line 72) | def get_swr(self): method set_bandwidth (line 76) | def set_bandwidth(self): method set_mode (line 79) | def set_mode(self, mode): method set_tuner (line 91) | def set_tuner(self, state): method set_frequency (line 102) | def set_frequency(self, frequency): method get_status (line 114) | def get_status(self): method get_ptt (line 124) | def get_ptt(self): method set_ptt (line 128) | def set_ptt(self, state): method close_rig (line 139) | def close_rig(self): method get_parameters (line 144) | def get_parameters(self): method stop_service (line 147) | def stop_service(self): FILE: freedata_server/schedule_manager.py class ScheduleManager (line 16) | class ScheduleManager: method __init__ (line 26) | def __init__(self, ctx): method schedule_event (line 53) | def schedule_event(self, event_function, interval): method start (line 68) | def start(self, modem): method stop (line 96) | def stop(self): method transmit_beacon (line 114) | def transmit_beacon(self): method delete_beacons (line 129) | def delete_beacons(self): method push_to_explorer (line 141) | def push_to_explorer(self): method check_for_queued_messages (line 150) | def check_for_queued_messages(self): method update_transmission_state (line 168) | def update_transmission_state(self): FILE: freedata_server/serial_ports.py function get_ports (line 6) | def get_ports(): FILE: freedata_server/serial_ptt.py class radio (line 4) | class radio: method __init__ (line 16) | def __init__(self, ctx): method connect (line 56) | def connect(self, **kwargs): method disconnect (line 66) | def disconnect(self, **kwargs): method get_frequency (line 79) | def get_frequency(self): method get_mode (line 83) | def get_mode(self): method get_level (line 87) | def get_level(self): method get_alc (line 91) | def get_alc(self): method get_meter (line 95) | def get_meter(self): method get_bandwidth (line 99) | def get_bandwidth(self): method get_strength (line 103) | def get_strength(self): method get_tuner (line 107) | def get_tuner(self): method get_swr (line 111) | def get_swr(self): method set_bandwidth (line 115) | def set_bandwidth(self): method set_mode (line 119) | def set_mode(self, mode): method set_tuner (line 129) | def set_tuner(self, state): method set_frequency (line 139) | def set_frequency(self, frequency): method get_status (line 149) | def get_status(self): method get_ptt (line 159) | def get_ptt(self): method set_ptt (line 163) | def set_ptt(self, state): method set_rts_state (line 184) | def set_rts_state(self, state): method set_dtr_state (line 196) | def set_dtr_state(self, state): method close_rig (line 208) | def close_rig(self): method get_parameters (line 213) | def get_parameters(self): method stop_service (line 216) | def stop_service(self): FILE: freedata_server/server.py function resolve_config_path (line 23) | def resolve_config_path() -> str: function lifespan (line 53) | async def lifespan(app: FastAPI): function nocache (line 81) | async def nocache(request: Request, call_next): function open_browser_after_delay (line 120) | def open_browser_after_delay(url, delay=2): FILE: freedata_server/service_manager.py class SM (line 10) | class SM: method __init__ (line 17) | def __init__(self, ctx): method runner (line 45) | def runner(self): method start_modem (line 113) | def start_modem(self): method stop_modem (line 153) | def stop_modem(self): method test_audio (line 183) | def test_audio(self): method start_radio_manager (line 206) | def start_radio_manager(self): method stop_radio_manager (line 215) | def stop_radio_manager(self): method shutdown (line 226) | def shutdown(self): FILE: freedata_server/socket_interface.py class CommandSocket (line 19) | class CommandSocket(socketserver.BaseRequestHandler): method setup (line 21) | def setup(self): method log (line 46) | def log(self, message, isWarning = False): method handle (line 51) | def handle(self): method parse_command (line 74) | def parse_command(self, data): method dispatch_command (line 84) | def dispatch_command(self, command, data): class DataSocket (line 93) | class DataSocket(socketserver.BaseRequestHandler): method setup (line 95) | def setup(self): method log (line 106) | def log(self, message, isWarning = False): method handle (line 111) | def handle(self): class CustomThreadedTCPServer (line 156) | class CustomThreadedTCPServer(socketserver.ThreadingMixIn, socketserver.... method __init__ (line 160) | def __init__(self, server_address, RequestHandlerClass, bind_and_activ... class SocketInterfaceHandler (line 169) | class SocketInterfaceHandler: method __init__ (line 170) | def __init__(self, ctx): method log (line 186) | def log(self, message, isWarning = False): method start_servers (line 191) | def start_servers(self): method run_server (line 220) | def run_server(self,ip, port, handler): method stop_servers (line 233) | def stop_servers(self): FILE: freedata_server/socket_interface_commands.py class SocketCommandHandler (line 5) | class SocketCommandHandler: method __init__ (line 7) | def __init__(self, cmd_request, ctx): method log (line 13) | def log(self, message, isWarning = False): method send_response (line 18) | def send_response(self, message): method handle_connect (line 25) | def handle_connect(self, data): method handle_disconnect (line 47) | def handle_disconnect(self, data): method handle_mycall (line 54) | def handle_mycall(self, data): method handle_bw (line 61) | def handle_bw(self, data): method handle_abort (line 66) | def handle_abort(self, data): method handle_public (line 75) | def handle_public(self, data): method handle_cwid (line 79) | def handle_cwid(self, data): method handle_listen (line 83) | def handle_listen(self, data): method handle_compression (line 87) | def handle_compression(self, data): method handle_winlink_session (line 92) | def handle_winlink_session(self, data): method handle_version (line 97) | def handle_version(self, data): method socket_respond_disconnected (line 102) | def socket_respond_disconnected(self): method socket_respond_connected (line 105) | def socket_respond_connected(self, origin, destination, bandwidth): method socket_respond_iamalive (line 116) | def socket_respond_iamalive(self): method socket_respond_buffer_size (line 121) | def socket_respond_buffer_size(self, buffer_size): method socket_respond_ptt (line 124) | def socket_respond_ptt(self, state): FILE: freedata_server/socket_interface_data.py class SocketDataHandler (line 4) | class SocketDataHandler: method __init__ (line 6) | def __init__(self, cmd_request, ctx): method send_response (line 11) | def send_response(self, message): method send_data_to_client (line 15) | def send_data_to_client(self, data): FILE: freedata_server/state_manager.py class StateManager (line 4) | class StateManager: method __init__ (line 13) | def __init__(self, statequeue): method sendState (line 65) | def sendState(self): method sendStateUpdate (line 78) | def sendStateUpdate(self, state): method set (line 89) | def set(self, key, value): method set_radio (line 108) | def set_radio(self, key, value): method set_channel_slot_busy (line 127) | def set_channel_slot_busy(self, array): method get_state_event (line 144) | def get_state_event(self, isChangedState): method get_radio_event (line 176) | def get_radio_event(self, isChangedState): method isTransmitting (line 207) | def isTransmitting(self): method setTransmitting (line 220) | def setTransmitting(self, transmitting: bool): method setARQ (line 238) | def setARQ(self, busy): method getARQ (line 254) | def getARQ(self): method waitForTransmission (line 266) | def waitForTransmission(self): method waitForChannelBusy (line 274) | def waitForChannelBusy(self): method register_arq_iss_session (line 283) | def register_arq_iss_session(self, session): method register_arq_irs_session (line 302) | def register_arq_irs_session(self, session): method check_if_running_arq_session (line 321) | def check_if_running_arq_session(self, irs=False): method get_arq_iss_session (line 353) | def get_arq_iss_session(self, id): method get_arq_irs_session (line 372) | def get_arq_irs_session(self, id): method remove_arq_iss_session (line 391) | def remove_arq_iss_session(self, id): method remove_arq_irs_session (line 403) | def remove_arq_irs_session(self, id): method stop_transmission (line 415) | def stop_transmission(self): method add_activity (line 437) | def add_activity(self, activity_data): method calculate_channel_busy_state (line 460) | def calculate_channel_busy_state(self): method set_channel_busy_condition_traffic (line 474) | def set_channel_busy_condition_traffic(self, busy): method set_channel_busy_condition_codec2 (line 492) | def set_channel_busy_condition_codec2(self, traffic): method is_receiving_codec2_signal (line 510) | def is_receiving_codec2_signal(self): method get_radio_status (line 522) | def get_radio_status(self): method register_p2p_connection_session (line 542) | def register_p2p_connection_session(self, session): method get_p2p_connection_session (line 562) | def get_p2p_connection_session(self, id): method get_dxcall_by_session_id (line 567) | def get_dxcall_by_session_id(self, session_id): FILE: freedata_server/stats.py class stats (line 16) | class stats: method __init__ (line 23) | def __init__(self, ctx): method push (line 26) | def push(self, status, session_statistics, dxcall, receiving=True): FILE: freedata_server/wavelog_api_logger.py function send_wavelog_qso_data (line 6) | def send_wavelog_qso_data(ctx, wavelog_data): FILE: freedata_server/websocket_manager.py class wsm (line 7) | class wsm: method __init__ (line 15) | def __init__(self, ctx): method handle_connection (line 35) | async def handle_connection(self, websocket, client_list, event_queue): method transmit_sock_data_worker (line 59) | def transmit_sock_data_worker(self, client_list, event_queue): method startWorkerThreads (line 87) | def startWorkerThreads(self, app): method shutdown (line 107) | def shutdown(self): FILE: tests/test_arq_session.py class DummyCtx (line 28) | class DummyCtx: method __init__ (line 29) | def __init__(self): class TestARQSession (line 34) | class TestARQSession(unittest.TestCase): method setUpClass (line 37) | def setUpClass(cls): method tearDownClass (line 63) | def tearDownClass(cls): method channelWorker (line 69) | def channelWorker(self, ctx_a, ctx_b): method waitForSession (line 103) | def waitForSession(self, q, outbound = False): method establishChannels (line 111) | def establishChannels(self): method waitAndCloseChannels (line 120) | def waitAndCloseChannels(self): method DisabledtestARQSessionSmallPayload (line 126) | def DisabledtestARQSessionSmallPayload(self): method testARQSessionLargePayload (line 150) | def testARQSessionLargePayload(self): method DisabledtestARQSessionAbortTransmissionISS (line 177) | def DisabledtestARQSessionAbortTransmissionISS(self): method DisabledtestARQSessionAbortTransmissionIRS (line 198) | def DisabledtestARQSessionAbortTransmissionIRS(self): method DisabledtestSessionCleanupISS (line 217) | def DisabledtestSessionCleanupISS(self): method DisabledtestSessionCleanupIRS (line 236) | def DisabledtestSessionCleanupIRS(self): FILE: tests/test_config.py class DummyCtx (line 14) | class DummyCtx: method __init__ (line 15) | def __init__(self): class TestConfigMethods (line 18) | class TestConfigMethods(unittest.TestCase): method setUpClass (line 20) | def setUpClass(cls): method tearDownClass (line 30) | def tearDownClass(cls): method test_config_exists (line 37) | def test_config_exists(self): method test_read (line 42) | def test_read(self): method test_write (line 49) | def test_write(self): method test_validate_data (line 69) | def test_validate_data(self): FILE: tests/test_data_frame_factory.py class DummyCtx (line 16) | class DummyCtx: method __init__ (line 17) | def __init__(self, config_path): class TestDataFrameFactory (line 22) | class TestDataFrameFactory(unittest.TestCase): method setUpClass (line 25) | def setUpClass(cls): method test_build_beacon (line 35) | def test_build_beacon(self): method test_build_ping (line 41) | def test_build_ping(self): method test_build_arq_connect (line 48) | def test_build_arq_connect(self): method test_build_cq (line 56) | def test_build_cq(self): method test_build_burst_data_frames (line 62) | def test_build_burst_data_frames(self): method test_available_payload (line 78) | def test_available_payload(self): FILE: tests/test_data_type_handler.py class TestDispatcher (line 10) | class TestDispatcher(unittest.TestCase): method setUpClass (line 13) | def setUpClass(cls): method tearDownClass (line 20) | def tearDownClass(cls): method test_data_type_handler_raw (line 24) | def test_data_type_handler_raw(self): method test_data_type_handler_lzma (line 30) | def test_data_type_handler_lzma(self): method test_data_type_handler_gzip (line 37) | def test_data_type_handler_gzip(self): FILE: tests/test_message_database.py class TestDatabaseMessageSystem (line 14) | class TestDatabaseMessageSystem(unittest.TestCase): method setUpClass (line 17) | def setUpClass(cls): method tearDownClass (line 29) | def tearDownClass(cls): method test_add_to_database (line 33) | def test_add_to_database(self): method test_delete_from_database (line 49) | def test_delete_from_database(self): method test_update_message (line 72) | def test_update_message(self): method test_get_attachments (line 91) | def test_get_attachments(self): method test_increment_attempts (line 113) | def test_increment_attempts(self): FILE: tests/test_message_p2p.py class TestMessageP2P (line 16) | class TestMessageP2P(unittest.TestCase): method setUpClass (line 19) | def setUpClass(cls): method tearDownClass (line 28) | def tearDownClass(cls): method test_from_api_params (line 32) | def test_from_api_params(self): method test_to_payload_with_attachment (line 41) | def test_to_payload_with_attachment(self): method test_to_payload_with_attachment_and_database (line 62) | def test_to_payload_with_attachment_and_database(self): FILE: tests/test_message_protocol.py class TestModem (line 24) | class TestModem: method __init__ (line 25) | def __init__(self, event_q, state_q): method getFrameTransmissionTime (line 32) | def getFrameTransmissionTime(self, mode): method transmit (line 41) | def transmit(self, mode, repeats: int, repeat_delay: int, frames: byte... class TestMessageProtocol (line 53) | class TestMessageProtocol(unittest.TestCase): method setUpClass (line 56) | def setUpClass(cls): method tearDownClass (line 80) | def tearDownClass(cls): method channelWorker (line 85) | def channelWorker(self, ctx_a, ctx_b): method waitForSession (line 119) | def waitForSession(self, event_queue, outbound=False): method establishChannels (line 130) | def establishChannels(self): method waitAndCloseChannels (line 138) | def waitAndCloseChannels(self): method testMessageViaSession (line 144) | def testMessageViaSession(self): FILE: tests/test_p2p_connection.py class TestModem (line 22) | class TestModem: method __init__ (line 23) | def __init__(self, event_q, state_q): method getFrameTransmissionTime (line 30) | def getFrameTransmissionTime(self, mode): method transmit (line 38) | def transmit(self, mode, repeats: int, repeat_delay: int, frames: byte... class TestP2PConnectionSession (line 47) | class TestP2PConnectionSession(unittest.TestCase): method setUpClass (line 50) | def setUpClass(cls): method read_from_socket (line 95) | def read_from_socket(sock, type=None, direction=None): method channelWorker (line 105) | def channelWorker(self, modem_transmit_queue, frame_dispatcher): method DisabledtestConnect (line 115) | def DisabledtestConnect(self): method tearDownClass (line 139) | def tearDownClass(cls): FILE: tests/test_protocols.py class TestProtocols (line 12) | class TestProtocols(unittest.TestCase): method setUpClass (line 15) | def setUpClass(cls): method tearDownClass (line 29) | def tearDownClass(cls): method shortcutTransmission (line 33) | def shortcutTransmission(self, frame_bytes): method assertEventReceivedType (line 37) | def assertEventReceivedType(self, event_type): method testPingWithAck (line 43) | def testPingWithAck(self): method testCQWithQRV (line 60) | def testCQWithQRV(self): FILE: tests/test_server.py class TestIntegration (line 8) | class TestIntegration(unittest.TestCase): method setUpClass (line 14) | def setUpClass(cls): method wait_for_server (line 23) | def wait_for_server(cls, url, timeout=30): method tearDownClass (line 36) | def tearDownClass(cls): method test_index (line 41) | def test_index(self): method test_config_get (line 48) | def test_config_get(self): method test_config_post (line 61) | def test_config_post(self): FILE: tools/custom_mode_tests/create_custom_ofdm_mod.py function demod (line 25) | def demod(txbuffer): FILE: tools/custom_mode_tests/over_the_air_mode_test.py class FreeDV (line 13) | class FreeDV: method __init__ (line 14) | def __init__(self, mode, config_file): method demodulate (line 20) | def demodulate(self, txbuffer): method write_to_file (line 48) | def write_to_file(self, txbuffer, filename): FILE: tools/custom_mode_tests/run_mode_tests.py class FreeDV (line 33) | class FreeDV: method __init__ (line 34) | def __init__(self, mode, config_file): method demodulate (line 40) | def demodulate(self, txbuffer): method compute_audio_metrics (line 61) | def compute_audio_metrics(self, txbuffer): method write_to_file (line 83) | def write_to_file(self, txbuffer, filename): function plot_audio_metrics (line 88) | def plot_audio_metrics(avg_volume_per_mode, avg_max_volume_per_mode, avg... function plot_fft_per_mode (line 107) | def plot_fft_per_mode(fft_data): function plot_results_summary (line 119) | def plot_results_summary(results): function test_freedv_mode_pairs (line 134) | def test_freedv_mode_pairs(mode_pairs, config_file='config.ini'): FILE: tools/socket_interface/socket_client.py function receive_messages (line 5) | def receive_messages(sock): function tcp_client (line 21) | def tcp_client(server_ip, server_port): FILE: tools/socket_interface/socket_data_client.py function receive_messages (line 5) | def receive_messages(sock): function tcp_client (line 21) | def tcp_client(server_ip, server_port):