gitextract_3ebrfg9_/ ├── .clang-format ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── communication-issue.md │ │ └── decoding-issue.md │ └── workflows/ │ ├── clang.yml │ ├── flatpak.yml │ └── unittests.yml ├── .gitignore ├── .gitmodules ├── BUILD.md ├── CMakeLists.txt ├── LICENSE ├── README.md ├── cli/ │ ├── CMakeLists.txt │ ├── autodetect.cc │ ├── autodetect.hh │ ├── decodecodeplug.cc │ ├── decodecodeplug.hh │ ├── detect.cc │ ├── detect.hh │ ├── encodecallsigndb.cc │ ├── encodecallsigndb.hh │ ├── encodecodeplug.cc │ ├── encodecodeplug.hh │ ├── infofile.cc │ ├── infofile.hh │ ├── main.cc │ ├── printprogress.cc │ ├── printprogress.hh │ ├── progressbar.cc │ ├── progressbar.hh │ ├── readcodeplug.cc │ ├── readcodeplug.hh │ ├── verify.cc │ ├── verify.hh │ ├── writecallsigndb.cc │ ├── writecallsigndb.hh │ ├── writecodeplug.cc │ └── writecodeplug.hh ├── cmake/ │ ├── FindLIBUSB_1.cmake │ ├── FindYAMLCPP.cmake │ └── GenerateIcons.cmake ├── de.darc.dm3mat.qdmr.yaml ├── dist/ │ ├── 99-qdmr.rules │ ├── CMakeLists.txt │ ├── de.darc.dm3mat.qdmr.metainfo.xml │ ├── fedora/ │ │ ├── Dockerfile │ │ ├── docker-build.sh │ │ └── qdmr.spec │ ├── macosx/ │ │ ├── Info.plist │ │ └── qdmr.icns │ └── qdmr.desktop.in ├── doc/ │ ├── CMakeLists.txt │ ├── code/ │ │ ├── anytone_2tonefunction.txt │ │ ├── anytone_2toneid.txt │ │ ├── anytone_2tonesettings.txt │ │ ├── anytone_5tonefunction.txt │ │ ├── anytone_5tonefunctionlist.txt │ │ ├── anytone_5toneid.txt │ │ ├── anytone_5toneidlist.txt │ │ ├── anytone_5tonesettings.txt │ │ ├── anytone_alarmsetting.txt │ │ ├── anytone_analogalarm.txt │ │ ├── anytone_analogquickcall.txt │ │ ├── anytone_analogquickcalls.txt │ │ ├── anytone_bootsettings.txt │ │ ├── anytone_channel.txt │ │ ├── anytone_contact.txt │ │ ├── anytone_contactmapentry.txt │ │ ├── anytone_digitalalarm.txt │ │ ├── anytone_digitalalarmextension.txt │ │ ├── anytone_dmraprssettings.txt │ │ ├── anytone_dtmfcontact.txt │ │ ├── anytone_dtmfidlist.txt │ │ ├── anytone_dtmfsettings.txt │ │ ├── anytone_generalsettings.txt │ │ ├── anytone_grouplist.txt │ │ ├── anytone_hotkey.txt │ │ ├── anytone_hotkeysettings.txt │ │ ├── anytone_message.txt │ │ ├── anytone_messagelist.txt │ │ ├── anytone_radioid.txt │ │ ├── anytone_repeateroffsetfrequencies.txt │ │ ├── anytone_scanlist.txt │ │ ├── anytone_statusmessages.txt │ │ ├── anytone_wfmchannellist.txt │ │ ├── anytone_zonechannellist.txt │ │ ├── d578uv_airbandchannel.txt │ │ ├── d578uv_airbandchannellist.txt │ │ ├── d578uv_aprssettingext.txt │ │ ├── d578uv_channel.txt │ │ ├── d578uv_generalsettings.txt │ │ ├── d578uv_generalsettingsextension.txt │ │ ├── d578uv_hotkeysettings.txt │ │ ├── d868uv_callsigndbentry.txt │ │ ├── d868uv_callsigndblimit.txt │ │ ├── d868uv_channel.txt │ │ ├── d868uv_generalsettings.txt │ │ ├── d868uvanalogcontact.txt │ │ ├── d868uvchannel.txt │ │ ├── d868uvcontact.txt │ │ ├── d868uvgrouplist.txt │ │ ├── d868uvmessage.txt │ │ ├── d868uvmessagelist.txt │ │ ├── d868uvradioid.txt │ │ ├── d868uvscanlist.txt │ │ ├── d868uvzonechannels.txt │ │ ├── d878uv_aeskey.txt │ │ ├── d878uv_aprsrxentry.txt │ │ ├── d878uv_aprssetting.txt │ │ ├── d878uv_aprssettingext.txt │ │ ├── d878uv_channel.txt │ │ ├── d878uv_dmraprssettings.txt │ │ ├── d878uv_dmraprssystems.txt │ │ ├── d878uv_generalsettings.txt │ │ ├── d878uv_generalsettingsextension.txt │ │ ├── d878uv_gpsmessage.txt │ │ ├── d878uv_radioinfo.txt │ │ ├── d878uv_roamingchannel.txt │ │ ├── d878uv_roamingzone.txt │ │ ├── d878uvgpssetting.txt │ │ ├── detect_example.cc │ │ ├── dm1701_buttonsettings.txt │ │ ├── dm1701_channel.txt │ │ ├── dm1701_settings.txt │ │ ├── dm1701_zoneext.txt │ │ ├── dmr6x2uv_aprssetting.txt │ │ ├── dmr6x2uv_channel.txt │ │ ├── dmr6x2uv_generalsettings.txt │ │ ├── dmr6x2uv_settingsextension.txt │ │ ├── dr1801uv_alarmsystembankelement.txt │ │ ├── dr1801uv_alarmsystemelement.txt │ │ ├── dr1801uv_channelbankelement.txt │ │ ├── dr1801uv_channelelement.txt │ │ ├── dr1801uv_contactbankelement.txt │ │ ├── dr1801uv_contactelement.txt │ │ ├── dr1801uv_dmrsettingselement.txt │ │ ├── dr1801uv_dtmfidbankelement.txt │ │ ├── dr1801uv_dtmfidelement.txt │ │ ├── dr1801uv_dtmfsettingselement.txt │ │ ├── dr1801uv_dtmfsystembankelement.txt │ │ ├── dr1801uv_dtmfsystemelement.txt │ │ ├── dr1801uv_encryptionkeybankelement.txt │ │ ├── dr1801uv_encryptionkeyelement.txt │ │ ├── dr1801uv_grouplistbankelement.txt │ │ ├── dr1801uv_grouplistelement.txt │ │ ├── dr1801uv_keysettingselement.txt │ │ ├── dr1801uv_messagebankelement.txt │ │ ├── dr1801uv_messageelement.txt │ │ ├── dr1801uv_onetouchsettingelement.txt │ │ ├── dr1801uv_onetouchsettingselement.txt │ │ ├── dr1801uv_pttidbankelement.txt │ │ ├── dr1801uv_pttidelement.txt │ │ ├── dr1801uv_scanlistbankelement.txt │ │ ├── dr1801uv_scanlistelement.txt │ │ ├── dr1801uv_settingselement.txt │ │ ├── dr1801uv_vfobankelement.txt │ │ ├── dr1801uv_zonebankelement.txt │ │ ├── dr1801uv_zoneelement.txt │ │ ├── gd73_channel_bank.txt │ │ ├── gd73_channel_element.txt │ │ ├── gd73_contact_bank.txt │ │ ├── gd73_contact_element.txt │ │ ├── gd73_dmr_settings_element.txt │ │ ├── gd73_dtmf_code_element.txt │ │ ├── gd73_dtmf_ptt_settings.txt │ │ ├── gd73_dtmf_system_element.txt │ │ ├── gd73_encryption_key_bank.txt │ │ ├── gd73_encryption_key_element.txt │ │ ├── gd73_group_list_bank.txt │ │ ├── gd73_group_list_element.txt │ │ ├── gd73_message_bank.txt │ │ ├── gd73_message_element.txt │ │ ├── gd73_one_touch_element.txt │ │ ├── gd73_scan_list_bank.txt │ │ ├── gd73_scan_list_element.txt │ │ ├── gd73_settings_element.txt │ │ ├── gd73_timestamp.txt │ │ ├── gd73_zone_bank.txt │ │ ├── gd73_zone_element.txt │ │ ├── gd77_callsign_db_entry.txt │ │ ├── gd77_callsign_db_header.txt │ │ ├── gd77_channel.txt │ │ ├── gd77_contact.txt │ │ ├── gd77_grouplist.txt │ │ ├── gd77_grouplistbank.txt │ │ ├── gd77_scanlist.txt │ │ ├── gd77_scanlistbank.txt │ │ ├── md390_channel.txt │ │ ├── md390_menusettings.txt │ │ ├── opengd77_callsign_db_entry.txt │ │ ├── opengd77_callsign_db_header.txt │ │ ├── opengd77_channel.txt │ │ ├── opengd77_contact.txt │ │ ├── opengd77_protocol_command_clear_screen_request.txt │ │ ├── opengd77_protocol_command_control_request.txt │ │ ├── opengd77_protocol_command_display_text_request.txt │ │ ├── opengd77_protocol_command_okay_response.txt │ │ ├── opengd77_protocol_command_ping_request.txt │ │ ├── opengd77_protocol_command_render_screen_request.txt │ │ ├── opengd77_protocol_command_request.txt │ │ ├── opengd77_protocol_command_show_cps_screen_request.txt │ │ ├── opengd77_protocol_command_start_gps_request.txt │ │ ├── opengd77_protocol_read_request.txt │ │ ├── opengd77_protocol_read_response.txt │ │ ├── opengd77_radio_info.txt │ │ ├── opengd77_zone.txt │ │ ├── opengd77_zonebank.txt │ │ ├── openrtx_channel.txt │ │ ├── openrtx_contact.txt │ │ ├── openrtx_header.txt │ │ ├── openrtx_zone.txt │ │ ├── radioddity_bootsettings.txt │ │ ├── radioddity_boottext.txt │ │ ├── radioddity_buttonsettings.txt │ │ ├── radioddity_channel.txt │ │ ├── radioddity_channelbank.txt │ │ ├── radioddity_contact.txt │ │ ├── radioddity_dtmfcontact.txt │ │ ├── radioddity_generalsettings.txt │ │ ├── radioddity_grouplist.txt │ │ ├── radioddity_grouplistbank.txt │ │ ├── radioddity_menusettings.txt │ │ ├── radioddity_messagebank.txt │ │ ├── radioddity_privacy.txt │ │ ├── radioddity_scanlist.txt │ │ ├── radioddity_scanlistbank.txt │ │ ├── radioddity_vfochannel.txt │ │ ├── radioddity_zone.txt │ │ ├── radioddity_zonebank.txt │ │ ├── rd5r_channel.txt │ │ ├── rd5r_generalsettings.txt │ │ ├── rd5r_timestamp.txt │ │ ├── rd5rbootsettings.txt │ │ ├── rd5rbuttonsettings.txt │ │ ├── rd5rcontact.txt │ │ ├── rd5rdtmfcontact.txt │ │ ├── rd5rgrouplist.txt │ │ ├── rd5rgrouplisttab.txt │ │ ├── rd5rmenusettings.txt │ │ ├── rd5rmessagetab.txt │ │ ├── rd5rscanlist.txt │ │ ├── rd5rscanlisttab.txt │ │ ├── rd5rvfosettings.txt │ │ ├── rd5rzone.txt │ │ ├── rd5rzonetab.txt │ │ ├── tyt_buttonsettings.txt │ │ ├── tyt_channel.txt │ │ ├── tyt_contact.txt │ │ ├── tyt_emergencysettings.txt │ │ ├── tyt_emergencysystem.txt │ │ ├── tyt_gpssystem.txt │ │ ├── tyt_grouplist.txt │ │ ├── tyt_menusettings.txt │ │ ├── tyt_onetouchsettings.txt │ │ ├── tyt_privacy.txt │ │ ├── tyt_scanlist.txt │ │ ├── tyt_settings.txt │ │ ├── tyt_timestamp.txt │ │ ├── tyt_zone.txt │ │ ├── tytcallsigndbentry.txt │ │ ├── tytcallsigndbindex.txt │ │ ├── tytcallsigndbindexentry.txt │ │ ├── uv390_bootsettings.txt │ │ ├── uv390_channel.txt │ │ ├── uv390_menusettings.txt │ │ ├── uv390_settings.txt │ │ ├── uv390contact.txt │ │ ├── uv390gpssystem.txt │ │ ├── uv390message.txt │ │ ├── uv390rxgrouplist.txt │ │ ├── uv390scanlist.txt │ │ ├── uv390timestamp.txt │ │ ├── uv390userdb.txt │ │ ├── uv390userdbcallsign.txt │ │ ├── uv390userdbentry.txt │ │ ├── uv390zone.txt │ │ └── uv390zoneext.txt │ ├── dmr-intro/ │ │ ├── fig/ │ │ │ ├── Makefile │ │ │ ├── fm_duplex_a.tex │ │ │ ├── fm_duplex_b.tex │ │ │ ├── fm_echolink_a.tex │ │ │ ├── fm_echolink_b.tex │ │ │ ├── fm_echolink_c.tex │ │ │ ├── fm_simplex_a.tex │ │ │ ├── fm_simplex_b.tex │ │ │ ├── repeater.tex │ │ │ ├── repeater_local.tex │ │ │ ├── repeater_privatecall.tex │ │ │ ├── simplex_allcall.tex │ │ │ ├── simplex_groupcall.tex │ │ │ ├── simplex_privatecall.tex │ │ │ ├── talkgroup_ex1a.tex │ │ │ ├── talkgroup_ex1b.tex │ │ │ ├── talkgroup_ex1c.tex │ │ │ ├── timeslot.tex │ │ │ ├── trunk_net_ex1.tex │ │ │ ├── trunk_net_ex2.tex │ │ │ ├── trunk_net_ex3.tex │ │ │ ├── trunk_net_ex4a.tex │ │ │ └── trunk_net_ex4b.tex │ │ ├── script/ │ │ │ ├── Makefile │ │ │ ├── script_de.tex │ │ │ ├── script_de_01_vorwissen.tex │ │ │ ├── script_de_02_ursprung.tex │ │ │ ├── script_de_03_simplex.tex │ │ │ ├── script_de_04_lokal.tex │ │ │ ├── script_de_05_privatecall.tex │ │ │ ├── script_de_06_textmsg.tex │ │ │ ├── script_de_07_talkgroup.tex │ │ │ ├── script_de_08_aprs.tex │ │ │ ├── script_de_09_roaming.tex │ │ │ ├── script_de_10_netze.tex │ │ │ ├── script_de_11_technik.tex │ │ │ └── script_de_12_codeplug.tex │ │ ├── talk-barcamp2021/ │ │ │ └── slides.tex │ │ └── talk-ov2023/ │ │ └── slides.tex │ ├── dmrconf.in.xml │ ├── docbook_man.debian.xsl │ ├── docbook_man.fedora.xsl │ ├── docbook_man.macports.xsl │ ├── docbook_man.opensuse.xsl │ ├── fig/ │ │ └── autodetect.dot │ ├── manual/ │ │ ├── Makefile │ │ ├── cli/ │ │ │ ├── callsign.xml │ │ │ ├── codeplug.xml │ │ │ ├── commandline.xml │ │ │ ├── dangerzone.xml │ │ │ └── various.xml │ │ ├── codeplug/ │ │ │ ├── anytone/ │ │ │ │ ├── aprs.xml │ │ │ │ ├── channel.xml │ │ │ │ ├── contact.xml │ │ │ │ ├── extensions.xml │ │ │ │ ├── settings.xml │ │ │ │ └── zone.xml │ │ │ ├── aprs.xml │ │ │ ├── channels.xml │ │ │ ├── commercial/ │ │ │ │ ├── channel.xml │ │ │ │ ├── encryption.xml │ │ │ │ └── extensions.xml │ │ │ ├── contacts.xml │ │ │ ├── extensions.xml │ │ │ ├── format.xml │ │ │ ├── grouplists.xml │ │ │ ├── opengd77/ │ │ │ │ ├── channel.xml │ │ │ │ ├── contact.xml │ │ │ │ └── extensions.xml │ │ │ ├── radioddity/ │ │ │ │ ├── extensions.xml │ │ │ │ ├── generalradiosettings.xml │ │ │ │ ├── radiobootsettings.xml │ │ │ │ ├── radiobuttonsettings.xml │ │ │ │ ├── radiosettings.xml │ │ │ │ └── radiotonesettings.xml │ │ │ ├── radioids.xml │ │ │ ├── radiosettings.xml │ │ │ ├── roaming.xml │ │ │ ├── scanlists.xml │ │ │ ├── smsextension.xml │ │ │ ├── tyt/ │ │ │ │ ├── buttonsettings.xml │ │ │ │ ├── channel.xml │ │ │ │ ├── extensions.xml │ │ │ │ ├── menusettings.xml │ │ │ │ ├── radiosettings.xml │ │ │ │ └── scanlist.xml │ │ │ └── zones.xml │ │ ├── conf/ │ │ │ ├── analogchannels.xml │ │ │ ├── aprssystems.xml │ │ │ ├── contacts.xml │ │ │ ├── digitalchannels.xml │ │ │ ├── format.xml │ │ │ ├── gpssystems.xml │ │ │ ├── grouplists.xml │ │ │ ├── radiosettings.xml │ │ │ ├── roaming.xml │ │ │ ├── scanlists.xml │ │ │ └── zones.xml │ │ ├── epub/ │ │ │ └── Makefile │ │ ├── gui/ │ │ │ ├── aprs.xml │ │ │ ├── channels.xml │ │ │ ├── contacts.xml │ │ │ ├── extensions.xml │ │ │ ├── fig/ │ │ │ │ └── Makefile │ │ │ ├── grouplists.xml │ │ │ ├── gui.xml │ │ │ ├── programradio.xml │ │ │ ├── radiosettings.xml │ │ │ ├── roaming.xml │ │ │ ├── satellite.xml │ │ │ ├── scanlists.xml │ │ │ ├── settingsdialog.xml │ │ │ └── zones.xml │ │ ├── html/ │ │ │ ├── Makefile │ │ │ ├── dm3mat.darc.de_manual.xsl │ │ │ └── manual.css │ │ ├── intro/ │ │ │ ├── codeplug.xml │ │ │ ├── fig/ │ │ │ │ ├── Makefile │ │ │ │ ├── fm_duplex_a.tex │ │ │ │ ├── fm_duplex_b.tex │ │ │ │ ├── fm_echolink_a.tex │ │ │ │ ├── fm_echolink_b.tex │ │ │ │ ├── fm_echolink_c.tex │ │ │ │ ├── fm_simplex_a.tex │ │ │ │ ├── fm_simplex_b.tex │ │ │ │ ├── repeater.tex │ │ │ │ ├── repeater_local.tex │ │ │ │ ├── repeater_privatecall.tex │ │ │ │ ├── simplex_allcall.tex │ │ │ │ ├── simplex_groupcall.tex │ │ │ │ ├── simplex_privatecall.tex │ │ │ │ ├── talkgroup_ex1a.tex │ │ │ │ ├── talkgroup_ex1b.tex │ │ │ │ ├── talkgroup_ex1c.tex │ │ │ │ ├── timeslot.tex │ │ │ │ ├── trunk_net_ex1.tex │ │ │ │ ├── trunk_net_ex2.tex │ │ │ │ ├── trunk_net_ex3.tex │ │ │ │ ├── trunk_net_ex4a.tex │ │ │ │ └── trunk_net_ex4b.tex │ │ │ ├── foreknowledge.xml │ │ │ ├── introduction.xml │ │ │ ├── local.xml │ │ │ ├── networks.xml │ │ │ ├── origin.xml │ │ │ ├── private.xml │ │ │ ├── roaming.xml │ │ │ ├── simplex.xml │ │ │ ├── talkgroup.xml │ │ │ ├── technicalbackground.xml │ │ │ └── textmessages.xml │ │ ├── manual.code-workspace │ │ ├── manual.xml │ │ ├── manual_fo.debian.xsl │ │ ├── meta/ │ │ │ ├── abstract.xml │ │ │ ├── authors.xml │ │ │ ├── glossary.xml │ │ │ └── preface.xml │ │ └── reveng/ │ │ ├── codeplug.xml │ │ ├── protocol.xml │ │ └── reverseengineering.xml │ ├── qdmr.in.xml │ └── reveng/ │ ├── README.md │ ├── anytone/ │ │ ├── README.md │ │ ├── d578uv/ │ │ │ └── at_d578uv_emulator.py │ │ ├── d868uve/ │ │ │ └── at_d868uv_emulator.py │ │ ├── d878uv/ │ │ │ ├── README.md │ │ │ ├── capture_base.pcapng │ │ │ ├── capture_set_gps_on.pcapng │ │ │ ├── cpsfileformat.md │ │ │ ├── d878uv_base.hex │ │ │ ├── d878uv_set_gps_on.hex │ │ │ └── extract.py │ │ └── d878uv2/ │ │ └── at_d878uv2_emulator.py │ ├── baofeng/ │ │ ├── d6x2uv/ │ │ │ └── dmr_6x2uv_emulator.py │ │ └── dr1801/ │ │ ├── extract.py │ │ └── protocol.md │ ├── cotre/ │ │ ├── README.md │ │ └── extract.py │ ├── gd77/ │ │ ├── callsign-db.md │ │ └── dump.py │ ├── pinspect/ │ │ ├── __init__.py │ │ ├── auctus_a6.py │ │ ├── cdcacmfilter.py │ │ ├── datagram.py │ │ ├── devicefilter.py │ │ ├── packethandler.py │ │ ├── rawstreamdump.py │ │ ├── streamhandler.py │ │ └── utilities.py │ ├── radioddity/ │ │ └── gd73/ │ │ ├── README.md │ │ ├── extract.py │ │ └── protocol.md │ └── retevis/ │ └── rt84/ │ └── extract.py ├── examples/ │ ├── BER AirBand.yaml │ ├── kw.conf │ ├── kw.yaml │ ├── minimal.conf │ ├── minimal.yaml │ ├── pmr.yaml │ ├── potsdam.yaml │ └── sat.yaml ├── i18n/ │ ├── Makefile │ ├── de.ts │ ├── en_US.ts │ ├── fr.ts │ ├── it.ts │ ├── nl.ts │ ├── pl.ts │ ├── pt_BR.ts │ ├── ru.ts │ └── sv.ts ├── lib/ │ ├── CMakeLists.txt │ ├── addressmap.cc │ ├── addressmap.hh │ ├── anytone_codeplug.cc │ ├── anytone_codeplug.hh │ ├── anytone_extension.cc │ ├── anytone_extension.hh │ ├── anytone_filereader.cc │ ├── anytone_filereader.hh │ ├── anytone_interface.cc │ ├── anytone_interface.hh │ ├── anytone_limits.cc │ ├── anytone_limits.hh │ ├── anytone_radio.cc │ ├── anytone_radio.hh │ ├── anytone_satelliteconfig.cc │ ├── anytone_satelliteconfig.hh │ ├── anytone_settingsextension.cc │ ├── anytone_settingsextension.hh │ ├── auctus_a6_interface.cc │ ├── auctus_a6_interface.hh │ ├── audiosettings.cc │ ├── audiosettings.hh │ ├── bootsettings.cc │ ├── bootsettings.hh │ ├── c7000device.cc │ ├── c7000device.hh │ ├── callsigndb.cc │ ├── callsigndb.hh │ ├── channel.cc │ ├── channel.hh │ ├── channel_extension.cc │ ├── channel_extension.hh │ ├── chirpformat.cc │ ├── chirpformat.hh │ ├── codeplug.cc │ ├── codeplug.hh │ ├── commercial_extension.cc │ ├── commercial_extension.hh │ ├── config.cc │ ├── config.h.in │ ├── config.hh │ ├── configcopyvisitor.cc │ ├── configcopyvisitor.hh │ ├── configlabelingvisitor.cc │ ├── configlabelingvisitor.hh │ ├── configmergevisitor.cc │ ├── configmergevisitor.hh │ ├── configobject.cc │ ├── configobject.hh │ ├── configreference.cc │ ├── configreference.hh │ ├── contact.cc │ ├── contact.hh │ ├── crc32.cc │ ├── crc32.hh │ ├── csvreader.cc │ ├── csvreader.hh │ ├── d168uv.cc │ ├── d168uv.hh │ ├── d168uv_codeplug.cc │ ├── d168uv_codeplug.hh │ ├── d168uv_limits.cc │ ├── d168uv_limits.hh │ ├── d168uv_satelliteconfig.cc │ ├── d168uv_satelliteconfig.hh │ ├── d578uv.cc │ ├── d578uv.hh │ ├── d578uv_codeplug.cc │ ├── d578uv_codeplug.hh │ ├── d578uv_limits.cc │ ├── d578uv_limits.hh │ ├── d868uv.cc │ ├── d868uv.hh │ ├── d868uv_callsigndb.cc │ ├── d868uv_callsigndb.hh │ ├── d868uv_codeplug.cc │ ├── d868uv_codeplug.hh │ ├── d868uv_filereader.cc │ ├── d868uv_filereader.hh │ ├── d868uv_limits.cc │ ├── d868uv_limits.hh │ ├── d878uv.cc │ ├── d878uv.hh │ ├── d878uv2.cc │ ├── d878uv2.hh │ ├── d878uv2_callsigndb.cc │ ├── d878uv2_callsigndb.hh │ ├── d878uv2_codeplug.cc │ ├── d878uv2_codeplug.hh │ ├── d878uv2_limits.cc │ ├── d878uv2_limits.hh │ ├── d878uv_codeplug.cc │ ├── d878uv_codeplug.hh │ ├── d878uv_filereader.cc │ ├── d878uv_filereader.hh │ ├── d878uv_limits.cc │ ├── d878uv_limits.hh │ ├── dfu_libusb.cc │ ├── dfu_libusb.hh │ ├── dfufile.cc │ ├── dfufile.hh │ ├── dm1701.cc │ ├── dm1701.hh │ ├── dm1701_callsigndb.cc │ ├── dm1701_callsigndb.hh │ ├── dm1701_codeplug.cc │ ├── dm1701_codeplug.hh │ ├── dm1701_filereader.cc │ ├── dm1701_filereader.hh │ ├── dm1701_limits.cc │ ├── dm1701_limits.hh │ ├── dm32uv.cc │ ├── dm32uv.hh │ ├── dm32uv_callsigndb.cc │ ├── dm32uv_callsigndb.hh │ ├── dm32uv_codeplug.cc │ ├── dm32uv_codeplug.hh │ ├── dm32uv_interface.cc │ ├── dm32uv_interface.hh │ ├── dm32uv_limits.cc │ ├── dm32uv_limits.hh │ ├── dmr6x2uv.cc │ ├── dmr6x2uv.hh │ ├── dmr6x2uv2.cc │ ├── dmr6x2uv2.hh │ ├── dmr6x2uv2_codeplug.cc │ ├── dmr6x2uv2_codeplug.hh │ ├── dmr6x2uv2_limits.cc │ ├── dmr6x2uv2_limits.hh │ ├── dmr6x2uv_codeplug.cc │ ├── dmr6x2uv_codeplug.hh │ ├── dmr6x2uv_limits.cc │ ├── dmr6x2uv_limits.hh │ ├── dmrsettings.cc │ ├── dmrsettings.hh │ ├── dr1801uv.cc │ ├── dr1801uv.hh │ ├── dr1801uv_codeplug.cc │ ├── dr1801uv_codeplug.hh │ ├── dr1801uv_filereader.cc │ ├── dr1801uv_filereader.hh │ ├── dr1801uv_interface.cc │ ├── dr1801uv_interface.hh │ ├── dr1801uv_limits.cc │ ├── dr1801uv_limits.hh │ ├── dummyfilereader.cc │ ├── dummyfilereader.hh │ ├── encryptionextension.cc │ ├── encryptionextension.hh │ ├── errorstack.cc │ ├── errorstack.hh │ ├── frequency.cc │ ├── frequency.hh │ ├── gd73.cc │ ├── gd73.hh │ ├── gd73_codeplug.cc │ ├── gd73_codeplug.hh │ ├── gd73_filereader.cc │ ├── gd73_filereader.hh │ ├── gd73_interface.cc │ ├── gd73_interface.hh │ ├── gd73_limits.cc │ ├── gd73_limits.hh │ ├── gd77.cc │ ├── gd77.hh │ ├── gd77_callsigndb.cc │ ├── gd77_callsigndb.hh │ ├── gd77_codeplug.cc │ ├── gd77_codeplug.hh │ ├── gd77_filereader.cc │ ├── gd77_filereader.hh │ ├── gd77_limits.cc │ ├── gd77_limits.hh │ ├── gnsssettings.cc │ ├── gnsssettings.hh │ ├── gpssystem.cc │ ├── gpssystem.hh │ ├── hid_libusb.cc │ ├── hid_libusb.hh │ ├── hid_macos.cc │ ├── hid_macos.hh │ ├── intermediaterepresentation.cc │ ├── intermediaterepresentation.hh │ ├── interval.cc │ ├── interval.hh │ ├── level.cc │ ├── level.hh │ ├── libdmrconf.hh │ ├── logger.cc │ ├── logger.hh │ ├── md2017.cc │ ├── md2017.hh │ ├── md2017_callsigndb.cc │ ├── md2017_callsigndb.hh │ ├── md2017_codeplug.cc │ ├── md2017_codeplug.hh │ ├── md2017_filereader.cc │ ├── md2017_filereader.hh │ ├── md2017_limits.cc │ ├── md2017_limits.hh │ ├── md390.cc │ ├── md390.hh │ ├── md390_codeplug.cc │ ├── md390_codeplug.hh │ ├── md390_filereader.cc │ ├── md390_filereader.hh │ ├── md390_limits.cc │ ├── md390_limits.hh │ ├── melody.cc │ ├── melody.hh │ ├── melody_stream.cc │ ├── melody_stream.hh │ ├── opengd77.cc │ ├── opengd77.hh │ ├── opengd77_callsigndb.cc │ ├── opengd77_callsigndb.hh │ ├── opengd77_codeplug.cc │ ├── opengd77_codeplug.hh │ ├── opengd77_extension.cc │ ├── opengd77_extension.hh │ ├── opengd77_interface.cc │ ├── opengd77_interface.hh │ ├── opengd77_limits.cc │ ├── opengd77_limits.hh │ ├── opengd77_satelliteconfig.cc │ ├── opengd77_satelliteconfig.hh │ ├── opengd77base.cc │ ├── opengd77base.hh │ ├── opengd77base_callsigndb.cc │ ├── opengd77base_callsigndb.hh │ ├── opengd77base_codeplug.cc │ ├── opengd77base_codeplug.hh │ ├── opengd77base_satelliteconfig.cc │ ├── opengd77base_satelliteconfig.hh │ ├── openrtx.cc │ ├── openrtx.hh │ ├── openrtx_codeplug.cc │ ├── openrtx_codeplug.hh │ ├── openrtx_interface.cc │ ├── openrtx_interface.hh │ ├── openrtx_link.cc │ ├── openrtx_link.hh │ ├── openuv380.cc │ ├── openuv380.hh │ ├── openuv380_callsigndb.cc │ ├── openuv380_callsigndb.hh │ ├── openuv380_codeplug.cc │ ├── openuv380_codeplug.hh │ ├── openuv380_satelliteconfig.cc │ ├── openuv380_satelliteconfig.hh │ ├── orbitalelementsdatabase.cc │ ├── orbitalelementsdatabase.hh │ ├── packetstream.cc │ ├── packetstream.hh │ ├── radio.cc │ ├── radio.hh │ ├── radioddity_codeplug.cc │ ├── radioddity_codeplug.hh │ ├── radioddity_extensions.cc │ ├── radioddity_extensions.hh │ ├── radioddity_interface.cc │ ├── radioddity_interface.hh │ ├── radioddity_radio.cc │ ├── radioddity_radio.hh │ ├── radioid.cc │ ├── radioid.hh │ ├── radioinfo.cc │ ├── radioinfo.hh │ ├── radiointerface.cc │ ├── radiointerface.hh │ ├── radiolimits.cc │ ├── radiolimits.hh │ ├── radiosettings.cc │ ├── radiosettings.hh │ ├── ranges.cc │ ├── ranges.hh │ ├── rd5r.cc │ ├── rd5r.hh │ ├── rd5r_codeplug.cc │ ├── rd5r_codeplug.hh │ ├── rd5r_filereader.cc │ ├── rd5r_filereader.hh │ ├── rd5r_limits.cc │ ├── rd5r_limits.hh │ ├── roamingchannel.cc │ ├── roamingchannel.hh │ ├── roamingzone.cc │ ├── roamingzone.hh │ ├── rxgrouplist.cc │ ├── rxgrouplist.hh │ ├── satelliteconfig.cc │ ├── satelliteconfig.hh │ ├── satellitedatabase.cc │ ├── satellitedatabase.hh │ ├── scanlist.cc │ ├── scanlist.hh │ ├── signaling.cc │ ├── signaling.hh │ ├── smsextension.cc │ ├── smsextension.hh │ ├── talkgroupdatabase.cc │ ├── talkgroupdatabase.hh │ ├── tonesettings.cc │ ├── tonesettings.hh │ ├── transferflags.cc │ ├── transferflags.hh │ ├── transponderdatabase.cc │ ├── transponderdatabase.hh │ ├── tyt_callsigndb.cc │ ├── tyt_callsigndb.hh │ ├── tyt_codeplug.cc │ ├── tyt_codeplug.hh │ ├── tyt_extensions.cc │ ├── tyt_extensions.hh │ ├── tyt_interface.cc │ ├── tyt_interface.hh │ ├── tyt_radio.cc │ ├── tyt_radio.hh │ ├── usbdevice.cc │ ├── usbdevice.hh │ ├── usbserial.cc │ ├── usbserial.hh │ ├── userdatabase.cc │ ├── userdatabase.hh │ ├── utils.cc │ ├── utils.hh │ ├── uv390.cc │ ├── uv390.hh │ ├── uv390_callsigndb.cc │ ├── uv390_callsigndb.hh │ ├── uv390_codeplug.cc │ ├── uv390_codeplug.hh │ ├── uv390_filereader.cc │ ├── uv390_filereader.hh │ ├── uv390_limits.cc │ ├── uv390_limits.hh │ ├── visitor.cc │ ├── visitor.hh │ ├── xmodem.cc │ ├── xmodem.hh │ ├── zone.cc │ └── zone.hh ├── shared/ │ ├── icons/ │ │ ├── dark/ │ │ │ └── index.theme │ │ └── light/ │ │ └── index.theme │ ├── resources.qrc │ └── ui/ │ └── aboutdialog.ui ├── src/ │ ├── CMakeLists.txt │ ├── aboutdialog.ui │ ├── admitselect.cc │ ├── admitselect.hh │ ├── amchanneldialog.cc │ ├── amchanneldialog.hh │ ├── application.cc │ ├── application.hh │ ├── aprsselect.cc │ ├── aprsselect.hh │ ├── aprssystemdialog.cc │ ├── aprssystemdialog.hh │ ├── aprssystemdialog.ui │ ├── bandwidthselect.cc │ ├── bandwidthselect.hh │ ├── channel_type_edit.cc │ ├── channel_type_edit.hh │ ├── channelcombobox.cc │ ├── channelcombobox.hh │ ├── channeldialog.cc │ ├── channeldialog.hh │ ├── channeldialog.ui │ ├── channellistview.cc │ ├── channellistview.hh │ ├── channellistview.ui │ ├── channelselectiondialog.cc │ ├── channelselectiondialog.hh │ ├── channelvalidator.cc │ ├── channelvalidator.hh │ ├── collapsablewidget.cc │ ├── collapsablewidget.hh │ ├── configitemwrapper.cc │ ├── configitemwrapper.hh │ ├── configmergedialog.cc │ ├── configmergedialog.hh │ ├── configmergedialog.ui │ ├── configobjectlistview.cc │ ├── configobjectlistview.hh │ ├── configobjectlistview.ui │ ├── configobjecttableview.cc │ ├── configobjecttableview.hh │ ├── configobjecttableview.ui │ ├── configobjecttypeselectiondialog.cc │ ├── configobjecttypeselectiondialog.hh │ ├── configobjecttypeselectiondialog.ui │ ├── contactlistview.cc │ ├── contactlistview.hh │ ├── contactlistview.ui │ ├── contactselectiondialog.cc │ ├── contactselectiondialog.hh │ ├── deviceselectiondialog.cc │ ├── deviceselectiondialog.hh │ ├── deviceselectiondialog.ui │ ├── dmrchanneldialog.cc │ ├── dmrchanneldialog.hh │ ├── dmrcontactdialog.cc │ ├── dmrcontactdialog.hh │ ├── dmrcontactdialog.ui │ ├── dmriddialog.cc │ ├── dmriddialog.hh │ ├── dmriddialog.ui │ ├── dtmfcontactdialog.cc │ ├── dtmfcontactdialog.hh │ ├── dtmfcontactdialog.ui │ ├── errormessageview.cc │ ├── errormessageview.hh │ ├── errormessageview.ui │ ├── extensionview.cc │ ├── extensionview.hh │ ├── extensionview.ui │ ├── extensionwrapper.cc │ ├── extensionwrapper.hh │ ├── flageditdialog.cc │ ├── flageditdialog.hh │ ├── flageditdialog.ui │ ├── fmchanneldialog.cc │ ├── fmchanneldialog.hh │ ├── generalsettingsview.cc │ ├── generalsettingsview.hh │ ├── generalsettingsview.ui │ ├── gpssystemdialog.cc │ ├── gpssystemdialog.hh │ ├── gpssystemdialog.ui │ ├── grouplistsview.cc │ ├── grouplistsview.hh │ ├── grouplistsview.ui │ ├── hearhamrepeatersource.cc │ ├── hearhamrepeatersource.hh │ ├── idselect.cc │ ├── idselect.hh │ ├── m17channeldialog.cc │ ├── m17channeldialog.hh │ ├── m17contactdialog.cc │ ├── m17contactdialog.hh │ ├── m17contactdialog.ui │ ├── main.cc │ ├── mainwindow.cc │ ├── mainwindow.hh │ ├── mainwindow.ui │ ├── melody_edit.cc │ ├── melody_edit.hh │ ├── melody_player.cc │ ├── melody_player.hh │ ├── positioningsystemlistview.cc │ ├── positioningsystemlistview.hh │ ├── positioningsystemlistview.ui │ ├── propertydelegate.cc │ ├── propertydelegate.hh │ ├── radioidlistview.cc │ ├── radioidlistview.hh │ ├── radioidlistview.ui │ ├── radioidrepeatersource.cc │ ├── radioidrepeatersource.hh │ ├── radioselectiondialog.cc │ ├── radioselectiondialog.hh │ ├── radioselectiondialog.ui │ ├── releasenotes.cc │ ├── releasenotes.hh │ ├── repeaterbooksource.cc │ ├── repeaterbooksource.hh │ ├── repeatercompleter.cc │ ├── repeatercompleter.hh │ ├── repeaterdatabase.cc │ ├── repeaterdatabase.hh │ ├── repeatermapsource.cc │ ├── repeatermapsource.hh │ ├── roamingchanneldialog.cc │ ├── roamingchanneldialog.hh │ ├── roamingchanneldialog.ui │ ├── roamingchannellistview.cc │ ├── roamingchannellistview.hh │ ├── roamingchannellistview.ui │ ├── roamingchannelselectiondialog.cc │ ├── roamingchannelselectiondialog.hh │ ├── roamingzonedialog.cc │ ├── roamingzonedialog.hh │ ├── roamingzonedialog.ui │ ├── roamingzonelistview.cc │ ├── roamingzonelistview.hh │ ├── roamingzonelistview.ui │ ├── rxgrouplistdialog.cc │ ├── rxgrouplistdialog.hh │ ├── rxgrouplistdialog.ui │ ├── satellitedatabasedialog.cc │ ├── satellitedatabasedialog.hh │ ├── satellitedatabasedialog.ui │ ├── satelliteselectiondialog.cc │ ├── satelliteselectiondialog.hh │ ├── satelliteselectiondialog.ui │ ├── satellitetransponderdialog.cc │ ├── satellitetransponderdialog.hh │ ├── satellitetransponderdialog.ui │ ├── scanlistdialog.cc │ ├── scanlistdialog.hh │ ├── scanlistdialog.ui │ ├── scanlistsview.cc │ ├── scanlistsview.hh │ ├── scanlistsview.ui │ ├── searchpopup.cc │ ├── searchpopup.hh │ ├── selectivecallbox.cc │ ├── selectivecallbox.hh │ ├── settings.cc │ ├── settings.hh │ ├── settingsdialog.ui │ ├── squelchedit.cc │ ├── squelchedit.hh │ ├── squelchedit.ui │ ├── timeslotselect.cc │ ├── timeslotselect.hh │ ├── transponderfrequencydelegate.cc │ ├── transponderfrequencydelegate.hh │ ├── verifydialog.cc │ ├── verifydialog.hh │ ├── verifydialog.ui │ ├── zonedialog.cc │ ├── zonedialog.hh │ ├── zonedialog.ui │ ├── zonelistview.cc │ ├── zonelistview.hh │ └── zonelistview.ui └── test/ ├── CMakeLists.txt ├── chirptest.cc ├── chirptest.hh ├── configtest.cc ├── configtest.hh ├── copytest.cc ├── copytest.hh ├── crc32test.cc ├── crc32test.hh ├── d168uv_test.cc ├── d168uv_test.hh ├── d578uv_test.cc ├── d578uv_test.hh ├── d868uve_test.cc ├── d868uve_test.hh ├── d878uv2_test.cc ├── d878uv2_test.hh ├── d878uv_test.cc ├── d878uv_test.hh ├── data/ │ ├── aes_encryption.yaml │ ├── am_channel_test.yaml │ ├── anytone_auto_repeater_extension.yaml │ ├── anytone_call_hangtime.yaml │ ├── anytone_channel_data_ack.yaml │ ├── anytone_key_function.yaml │ ├── anytone_settings_display.yaml │ ├── anytone_settings_roaming.yaml │ ├── arc4_encryption.yaml │ ├── audio_settings_extension.yaml │ ├── basic_encryption.yaml │ ├── channel_frequency_test.yaml │ ├── chirp_bandwidth.csv │ ├── chirp_cross.csv │ ├── chirp_ctcss.csv │ ├── chirp_dcs.csv │ ├── chirp_simple.csv │ ├── config_test.yaml │ ├── ctcss_copy_test.yaml │ ├── ctcss_null_test.yaml │ ├── dtmf_contact.yaml │ ├── fm_aprs_test.yaml │ ├── multiple_radio_ids.yaml │ ├── opengd77_boot_melody.yaml │ ├── opengd77_simple_config.yaml │ └── roaming_channel_test.yaml ├── dm1701_test.cc ├── dm1701_test.hh ├── dm32uv_test.cc ├── dm32uv_test.hh ├── dmr6x2uv2_test.cc ├── dmr6x2uv2_test.hh ├── dmr6x2uv_test.cc ├── dmr6x2uv_test.hh ├── dr1801_test.cc ├── dr1801_test.hh ├── gd73_test.cc ├── gd73_test.hh ├── gd77_test.cc ├── gd77_test.hh ├── labeltest.cc ├── labeltest.hh ├── libdmrconfigtest.cc ├── libdmrconfigtest.hh ├── md2017_test.cc ├── md2017_test.hh ├── md390_test.cc ├── md390_test.hh ├── mergetest.cc ├── mergetest.hh ├── opengd77_test.cc ├── opengd77_test.hh ├── openuv380_test.cc ├── openuv380_test.hh ├── rd5r_test.cc ├── rd5r_test.hh ├── resources.qrc ├── smstemplatetest.cc ├── smstemplatetest.hh ├── tableformattest.cc ├── tableformattest.hh ├── trafotest.cc ├── trafotest.hh ├── utilstest.cc ├── utilstest.hh ├── uv390_test.cc └── uv390_test.hh