gitextract_4euq89rz/ ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ ├── config.yml │ │ └── feature_request.yml │ ├── dependabot.yml │ └── workflows/ │ ├── build_appimage_bundle.yml │ ├── build_docker_image.yml │ ├── build_nsis_bundle.yml │ ├── build_server.yml │ ├── codeql-analysis.yml │ ├── gui_tests.yml │ ├── modem_tests.yml │ ├── pip_package.yml │ └── prettier.yaml ├── .gitignore ├── .obs/ │ └── workflows.yml ├── .prettierignore ├── .stignore ├── Dockerfile ├── LICENSE ├── README.docker.md ├── README.md ├── add-osx-cert.sh ├── documentation/ │ ├── FreeDATA-Frametypes.ods │ ├── FreeDATA-daemon_network_documentation.md │ ├── FreeDATA-protocols.md │ └── cube.xcf ├── entrypoint.sh ├── freedata-nsis-config.nsi ├── freedata_gui/ │ ├── README.md │ ├── babel.config.js │ ├── eslint.config.js │ ├── jsconfig.json │ ├── package.json │ ├── public/ │ │ ├── index.html │ │ └── manifest.json │ ├── src/ │ │ ├── App.vue │ │ ├── assets/ │ │ │ ├── countries-10m.json │ │ │ ├── countries-110m.json │ │ │ ├── countries-50m.json │ │ │ └── waterfall/ │ │ │ ├── LICENSE │ │ │ ├── README.rst │ │ │ ├── colormap.js │ │ │ ├── index.html │ │ │ ├── make_colormap.py │ │ │ ├── spectrum.js │ │ │ └── waterfall.css │ │ ├── components/ │ │ │ ├── chat_conversations.vue │ │ │ ├── chat_messages.vue │ │ │ ├── chat_messages_action_menu.vue │ │ │ ├── chat_messages_image_preview.vue │ │ │ ├── chat_messages_received.vue │ │ │ ├── chat_messages_sent.vue │ │ │ ├── chat_new_message.vue │ │ │ ├── chat_screen.vue │ │ │ ├── dynamic_components.vue │ │ │ ├── grid/ │ │ │ │ ├── grid_CQ.vue │ │ │ │ ├── grid_active_audio.vue │ │ │ │ ├── grid_active_broadcasts.vue │ │ │ │ ├── grid_active_broadcasts_vert.vue │ │ │ │ ├── grid_active_heard_stations.vue │ │ │ │ ├── grid_active_heard_stations_mini.vue │ │ │ │ ├── grid_active_rig_control.vue │ │ │ │ ├── grid_active_stats.vue │ │ │ │ ├── grid_activities.vue │ │ │ │ ├── grid_beacon.vue │ │ │ │ ├── grid_button.vue │ │ │ │ ├── grid_dbfs.vue │ │ │ │ ├── grid_frequency.vue │ │ │ │ ├── grid_mycall small.vue │ │ │ │ ├── grid_mycall.vue │ │ │ │ ├── grid_ping.vue │ │ │ │ ├── grid_ptt.vue │ │ │ │ ├── grid_s-meter.vue │ │ │ │ ├── grid_scatter.vue │ │ │ │ ├── grid_stations_map.vue │ │ │ │ ├── grid_stats_chart.vue │ │ │ │ ├── grid_stop.vue │ │ │ │ ├── grid_swr_meter.vue │ │ │ │ └── grid_tune.vue │ │ │ ├── main_footer_navbar.vue │ │ │ ├── main_left_navbar.vue │ │ │ ├── main_loading_screen.vue │ │ │ ├── main_modals.vue │ │ │ ├── main_screen.vue │ │ │ ├── main_startup_check.vue │ │ │ ├── settings_chat.vue │ │ │ ├── settings_exp.vue │ │ │ ├── settings_flrig.vue │ │ │ ├── settings_gui.vue │ │ │ ├── settings_hamlib.vue │ │ │ ├── settings_modem.vue │ │ │ ├── settings_rigcontrol.vue │ │ │ ├── settings_screen.vue │ │ │ ├── settings_serial_ptt.vue │ │ │ ├── settings_station.vue │ │ │ ├── settings_url.vue │ │ │ └── settings_web.vue │ │ ├── js/ │ │ │ ├── api.js │ │ │ ├── eventHandler.js │ │ │ ├── event_sock.js │ │ │ ├── freedata.js │ │ │ ├── i18n.js │ │ │ ├── messagesHandler.js │ │ │ ├── mobile_devices.js │ │ │ ├── popupHandler.js │ │ │ ├── radioHandler.js │ │ │ ├── stationHandler.js │ │ │ └── waterfallHandler.js │ │ ├── locales/ │ │ │ ├── cz_Čeština.json │ │ │ ├── de_Deutsch.json │ │ │ ├── en_English.json │ │ │ ├── it_Italiano.json │ │ │ └── no_Norsk.json │ │ ├── main.js │ │ ├── store/ │ │ │ ├── audioStore.js │ │ │ ├── chatStore.js │ │ │ ├── index.js │ │ │ ├── serialStore.js │ │ │ ├── settingsStore.js │ │ │ ├── stateStore.js │ │ │ └── stationStore.js │ │ └── styles.css │ └── vue.config.js ├── freedata_server/ │ ├── .gitignore │ ├── __init__.py │ ├── adif_udp_logger.py │ ├── api/ │ │ ├── __init__.py │ │ ├── command_helpers.py │ │ ├── common.py │ │ ├── config.py │ │ ├── devices.py │ │ ├── freedata.py │ │ ├── general.py │ │ ├── modem.py │ │ ├── radio.py │ │ └── websocket.py │ ├── api_validations.py │ ├── arq_data_type_handler.py │ ├── arq_session.py │ ├── arq_session_irs.py │ ├── arq_session_iss.py │ ├── audio.py │ ├── audio_buffer.py │ ├── codec2.py │ ├── codec2_filter_coeff.py │ ├── command.py │ ├── command_arq_raw.py │ ├── command_beacon.py │ ├── command_cq.py │ ├── command_fec.py │ ├── command_message_send.py │ ├── command_p2p_connection.py │ ├── command_ping.py │ ├── command_qrv.py │ ├── command_test.py │ ├── command_transmit_sine.py │ ├── config.ini.example │ ├── config.py │ ├── constants.py │ ├── context.py │ ├── cw.py │ ├── data_frame_factory.py │ ├── demodulator.py │ ├── event_manager.py │ ├── exceptions.py │ ├── explorer.py │ ├── flrig.py │ ├── frame_dispatcher.py │ ├── frame_handler.py │ ├── frame_handler_arq_session.py │ ├── frame_handler_beacon.py │ ├── frame_handler_cq.py │ ├── frame_handler_p2p_connection.py │ ├── frame_handler_ping.py │ ├── helpers.py │ ├── list_ports_winreg.py │ ├── log_handler.py │ ├── maidenhead.py │ ├── message_p2p.py │ ├── message_system_db_attachments.py │ ├── message_system_db_beacon.py │ ├── message_system_db_manager.py │ ├── message_system_db_messages.py │ ├── message_system_db_model.py │ ├── message_system_db_station.py │ ├── modem.py │ ├── modem_frametypes.py │ ├── modulator.py │ ├── p2p_connection.py │ ├── radio_manager.py │ ├── rigctld.py │ ├── rigdummy.py │ ├── schedule_manager.py │ ├── serial_ports.py │ ├── serial_ptt.py │ ├── server.py │ ├── service_manager.py │ ├── socket_interface.py │ ├── socket_interface_commands.py │ ├── socket_interface_data.py │ ├── state_manager.py │ ├── stats.py │ ├── wavelog_api_logger.py │ └── websocket_manager.py ├── requirements.txt ├── setup.py ├── tests/ │ ├── test_arq_session.py │ ├── test_config.py │ ├── test_data_frame_factory.py │ ├── test_data_type_handler.py │ ├── test_message_database.py │ ├── test_message_p2p.py │ ├── test_message_protocol.py │ ├── test_p2p_connection.py │ ├── test_protocols.py │ └── test_server.py └── tools/ ├── Linux/ │ ├── FreeDATA.desktop │ ├── README-Desktop-icon.txt │ ├── README.txt │ ├── install-freedata-linux.sh │ └── run-freedata-linux.sh ├── Windows/ │ ├── GUI-Install-Requirements.bat │ ├── GUI-Launch.bat │ ├── GUI-Update-Requirements.bat │ ├── Modem-Install-Requirements.bat │ ├── Modem-Launch.bat │ ├── Modem-Update-Requirements.bat │ ├── Modem-list-audio-devs.bat │ └── copy-files.bat ├── custom_mode_tests/ │ ├── create_custom_ofdm_mod.py │ ├── over_the_air_mode_test.py │ ├── plot_speed_levels.py │ └── run_mode_tests.py ├── macOS/ │ ├── README.md │ ├── install-freedata-macos.sh │ └── run-freedata-macos.sh ├── run-server.sh ├── run-tests.sh └── socket_interface/ ├── socket_client.py └── socket_data_client.py