├── .clang-format ├── .clangformatignore ├── .cmake-format ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── contributing │ ├── coding-guidelines.md │ └── project-structure.md └── workflows │ ├── android-build │ ├── appimage-arm64.yml │ ├── appimage-armhf.yml │ ├── appimage-x86_64.yml │ ├── clang-format.yml │ ├── generate_doc.yml │ ├── license-header.yml │ ├── linuxflatpakbuild.yml │ ├── mingwbuild.yml │ ├── ubuntu20build.yml │ └── ubuntu22build.yml ├── .gitignore ├── .gitmodules ├── CMakeLists.txt ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── android ├── AndroidManifest.xml ├── assets │ └── README.MD ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── res │ ├── drawable-hdpi │ │ ├── icon.png │ │ ├── logo.png │ │ ├── logo_land.png │ │ └── logo_port.png │ ├── drawable-ldpi │ │ ├── icon.png │ │ ├── logo.png │ │ ├── logo_land.png │ │ └── logo_port.png │ ├── drawable-mdpi │ │ ├── icon.png │ │ ├── logo.png │ │ ├── logo_land.png │ │ └── logo_port.png │ ├── drawable-xhdpi │ │ ├── icon.png │ │ ├── logo.png │ │ ├── logo_land.png │ │ └── logo_port.png │ ├── drawable-xxhdpi │ │ ├── icon.png │ │ ├── logo.png │ │ ├── logo_land.png │ │ └── logo_port.png │ ├── drawable-xxxhdpi │ │ ├── icon.png │ │ ├── logo.png │ │ ├── logo_land.png │ │ └── logo_port.png │ ├── drawable │ │ ├── splashscreen.xml │ │ ├── splashscreen_land.xml │ │ └── splashscreen_port.xml │ ├── values-land │ │ └── splashscreentheme.xml │ ├── values-port │ │ └── splashscreentheme.xml │ ├── values │ │ ├── libs.xml │ │ └── splashscreentheme.xml │ └── xml │ │ └── device_filter.xml └── src │ └── org │ ├── adi │ └── scopy │ │ ├── ScopyActivity.java │ │ └── ScopyApplication.java │ └── qtproject │ └── example │ └── jnimessenger │ └── JniMessenger.java ├── apple └── Info.plist.cmakein ├── azure-pipelines.yml ├── ci ├── README.md ├── android │ └── android_scopy_keystore ├── arm │ ├── .dockerignore │ ├── arm_build_config.sh │ ├── arm_build_process.sh │ ├── build_qt.sh │ ├── cmake_toolchain.cmake │ ├── copy-deps.sh │ ├── create_docker_image.sh │ ├── create_sysroot.sh │ ├── docker │ │ └── Dockerfile │ ├── inside_chroot_arm64.sh │ ├── inside_chroot_armhf.sh │ ├── local_build_scopy_for_kuiper.sh │ ├── qt_patch_arm32.patch │ ├── qt_patch_arm64.patch │ ├── runtime-aarch64 │ └── runtime-armhf ├── flatpak │ ├── .gitignore │ ├── Makefile │ ├── README.md │ ├── build_flatpak_deps.sh │ ├── create_docker_image.sh │ ├── defined_variables.h │ ├── docker │ │ └── Dockerfile │ ├── flatpak_build_process.sh │ └── org.adi.Scopy.json.c ├── general │ ├── AppRun │ ├── gen_ci_envs.sh │ └── scopy.desktop ├── macOS │ ├── before_install_lib.sh │ ├── build_azure_macos.sh │ ├── install_macos_deps.sh │ ├── macos_config.sh │ └── package_darwin.sh ├── old │ ├── before_deploy.sh │ ├── before_install_darwin.sh │ ├── before_install_lib_travis.sh │ ├── before_install_linux.sh │ ├── deploy.sh │ ├── extract_msys_deps.sh │ ├── inside_centos_docker.sh │ ├── inside_ubuntu_docker.sh │ ├── inside_ubuntu_flatpak_docker.sh │ ├── install_msys_deps.sh │ ├── lib.sh │ ├── make_darwin.sh │ ├── make_linux.sh │ ├── package_darwin_travis.sh │ ├── patches │ │ └── boost-darwin.patch │ └── set_build_env_msys.sh ├── ubuntu │ ├── .dockerignore │ ├── create_docker_image.sh │ ├── docker_ubuntu20 │ │ └── Dockerfile │ ├── docker_ubuntu22 │ │ └── Dockerfile │ └── ubuntu_build_process.sh ├── windows │ ├── .dockerignore │ ├── README.md │ ├── build_and_create_installer.sh │ ├── docker │ │ └── Dockerfile │ ├── mingw_dll_deps │ ├── mingw_toolchain.sh │ ├── sigrokdecode-windows-fix.patch │ └── windows_build_process.sh └── x86_64 │ ├── .dockerignore │ ├── copy-deps.sh │ ├── create_docker_image.sh │ ├── docker │ └── Dockerfile │ └── x86-64_appimage_process.sh ├── cmake └── Modules │ ├── FindQwt.cmake │ ├── PackageUtils.cmake │ ├── ScopyAbout.cmake │ ├── ScopyMacOS.cmake │ ├── ScopyStyle.cmake │ ├── ScopyStylesheets.cmake │ ├── ScopyTest.cmake │ ├── ScopyTranslation.cmake │ ├── ScopyWhatsNew.cmake │ ├── ScopyWindows.cmake │ └── ScopyWindowsInstaller.cmake ├── common ├── CMakeLists.txt ├── include │ └── common │ │ ├── common.h │ │ ├── debugtimer.h │ │ ├── loggingutil.h │ │ ├── scopy-common_config.h.cmakein │ │ └── scopyconfig.h └── src │ ├── debugtimer.cpp │ └── scopyconfig.cpp ├── core ├── CMakeLists.txt ├── doc │ ├── core.qmodel │ ├── device_lifecycle.qmodel │ ├── pkg_installer.qmodel │ ├── toolmenu.qmodel │ └── toolmenu_activity.qmodel ├── include │ └── core │ │ ├── application_restarter.h │ │ ├── browsemenu.h │ │ ├── cmdlinehandler.h │ │ ├── crashreport.h │ │ ├── detachedtoolwindow.h │ │ ├── detachedtoolwindowmanager.h │ │ ├── device.h │ │ ├── deviceautoconnect.h │ │ ├── devicebrowser.h │ │ ├── devicefactory.h │ │ ├── deviceicon.h │ │ ├── deviceiconimpl.h │ │ ├── deviceimpl.h │ │ ├── deviceloader.h │ │ ├── devicemanager.h │ │ ├── emuwidget.h │ │ ├── iiodeviceimpl.h │ │ ├── iiotabwidget.h │ │ ├── infopagestack.h │ │ ├── licenseoverlay.h │ │ ├── logging_categories.h │ │ ├── pkgmanager │ │ ├── pkgcard.h │ │ ├── pkggridwidget.h │ │ ├── pkginstalledtab.h │ │ ├── pkgmanager.h │ │ ├── pkgmanifestfields.h │ │ ├── pkgpreviewpage.h │ │ ├── pkgutil.h │ │ ├── pkgwidget.h │ │ └── pkgzipwidget.h │ │ ├── pluginenablewidget.h │ │ ├── pluginfilter.h │ │ ├── plugininfo.h │ │ ├── pluginmanager.h │ │ ├── pluginrepository.h │ │ ├── pluginstab.h │ │ ├── scanbuttoncontroller.h │ │ ├── scannediiocontextcollector.h │ │ ├── scopy-core_config.h.cmakein │ │ ├── scopyaboutpage.h │ │ ├── scopyhomeaddpage.h │ │ ├── scopyhomeinfopage.h │ │ ├── scopyhomepage.h │ │ ├── scopymainwindow.h │ │ ├── scopymainwindow_api.h │ │ ├── scopypreferencespage.h │ │ ├── scopytitlemanager.h │ │ ├── toolmenu.h │ │ ├── toolmenuitem.h │ │ ├── toolmenumanager.h │ │ ├── toolstack.h │ │ ├── translationsrepository.h │ │ ├── versioncheckmessage.h │ │ └── whatsnewoverlay.h ├── src │ ├── application_restarter.cpp │ ├── browsemenu.cpp │ ├── cmdlinehandler.cpp │ ├── crashreport.cpp │ ├── detachedtoolwindow.cpp │ ├── detachedtoolwindowmanager.cpp │ ├── deviceautoconnect.cpp │ ├── devicebrowser.cpp │ ├── devicefactory.cpp │ ├── deviceiconimpl.cpp │ ├── deviceimpl.cpp │ ├── deviceloader.cpp │ ├── devicemanager.cpp │ ├── emuwidget.cpp │ ├── iiodeviceimpl.cpp │ ├── iiotabwidget.cpp │ ├── infopagestack.cpp │ ├── licenseoverlay.cpp │ ├── logging_categories.cpp │ ├── pkgmanager │ │ ├── pkgcard.cpp │ │ ├── pkggridwidget.cpp │ │ ├── pkginstalledtab.cpp │ │ ├── pkgmanager.cpp │ │ ├── pkgpreviewpage.cpp │ │ ├── pkgutil.cpp │ │ ├── pkgwidget.cpp │ │ └── pkgzipwidget.cpp │ ├── pluginenablewidget.cpp │ ├── pluginfilter.cpp │ ├── plugininfo.cpp │ ├── pluginmanager.cpp │ ├── pluginrepository.cpp │ ├── pluginstab.cpp │ ├── scanbuttoncontroller.cpp │ ├── scannediiocontextcollector.cpp │ ├── scopyaboutpage.cpp │ ├── scopyhomeaddpage.cpp │ ├── scopyhomeinfopage.cpp │ ├── scopyhomepage.cpp │ ├── scopymainwindow.cpp │ ├── scopymainwindow_api.cpp │ ├── scopypreferencespage.cpp │ ├── scopytitlemanager.cpp │ ├── toolmenu.cpp │ ├── toolmenuitem.cpp │ ├── toolmenumanager.cpp │ ├── toolstack.cpp │ ├── translationsrepository.cpp │ ├── versioncheckmessage.cpp │ └── whatsnewoverlay.cpp ├── test │ ├── CMakeLists.txt │ ├── resources │ │ ├── translations.qrc │ │ └── translations │ │ │ ├── test.ts │ │ │ └── test_test.ts │ ├── testPluginExcludeLower.json │ ├── testPluginExcludeSpecificLower.json │ ├── testPluginExcludeSpecificUpper.json │ ├── testPluginExcludeUpper.json │ ├── testplugin.json │ ├── testpluginexclude.json │ ├── testpluginexclude2.json │ ├── tst_pluginmanager.cpp │ ├── tst_pluginrepository.cpp │ └── tst_translationsrepository.cpp └── ui │ ├── devicebrowser.ui │ ├── devicebutton.ui │ ├── devicepage.ui │ ├── scopyhomeinfopage.ui │ ├── scopyhomepage.ui │ └── scopymainwindow.ui ├── docs ├── .gitignore ├── Doxyfile ├── Makefile ├── buildHtml.sh ├── conf.py ├── developer_guide │ ├── index.rst │ ├── package_generator.rst │ ├── plugin_developer_guide.rst │ └── style.rst ├── extract_macros.py ├── format.sh ├── index.rst ├── make.bat ├── plugins │ ├── ad9084 │ │ ├── ad9084.rst │ │ └── index.rst │ ├── ad936x │ │ ├── ad936x.rst │ │ ├── ad936x_advanced.rst │ │ └── index.rst │ ├── adc │ │ └── adc.rst │ ├── dac │ │ └── dac.rst │ ├── datalogger │ │ └── datalogger.rst │ ├── debugger │ │ ├── debugger.rst │ │ ├── iioexplorer.rst │ │ └── index.rst │ ├── index.rst │ ├── jesdstatus │ │ └── index.rst │ ├── m2k │ │ ├── digitalio.rst │ │ ├── index.rst │ │ ├── logic_analyzer.rst │ │ ├── network_analyzer.rst │ │ ├── oscilloscope.rst │ │ ├── pattern_generator.rst │ │ ├── power_supply.rst │ │ ├── signal_generator.rst │ │ ├── spectrum_analyzer.rst │ │ └── voltmeter.rst │ ├── pqm │ │ ├── harmonics.rst │ │ ├── index.rst │ │ ├── rms.rst │ │ ├── settings.rst │ │ └── waveform.rst │ ├── registermap │ │ └── registermap.rst │ └── swiot1l │ │ ├── ad74413r.rst │ │ ├── faults.rst │ │ ├── index.rst │ │ ├── max14906.rst │ │ └── swiot_config.rst ├── requirements.txt ├── sources │ ├── Scopy.icns │ └── scopy.png ├── test_report_generator.py ├── tests │ ├── general │ │ ├── core │ │ │ ├── add_dev_tests.rst │ │ │ ├── connection_tests.rst │ │ │ ├── dev_tests.rst │ │ │ ├── emu_tests.rst │ │ │ ├── hp_tests.rst │ │ │ ├── install_tests.rst │ │ │ └── license_about_page_tests.rst │ │ ├── general_preferences_tests.rst │ │ ├── index.rst │ │ └── instrument_detaching_tests.rst │ ├── index.rst │ ├── plugins │ │ ├── adc │ │ │ ├── adc_tests.rst │ │ │ └── index.rst │ │ ├── dac │ │ │ ├── dac_tests.rst │ │ │ └── index.rst │ │ ├── datalogger │ │ │ ├── datalogger_tests.rst │ │ │ └── index.rst │ │ ├── debugger │ │ │ ├── debugger_preferences_tests.rst │ │ │ ├── debugger_tests.rst │ │ │ └── index.rst │ │ ├── index.rst │ │ ├── m2k │ │ │ ├── digital_io_tests.rst │ │ │ ├── general_settings_tests.rst │ │ │ ├── index.rst │ │ │ ├── logic_analyzer_tests.rst │ │ │ ├── network_analyzer_tests.rst │ │ │ ├── oscilloscope_tests.rst │ │ │ ├── pattern_generator_tests.rst │ │ │ ├── power_supply_tests.rst │ │ │ ├── signal_generator_tests.rst │ │ │ ├── spectrum_analyzer_tests.rst │ │ │ └── voltmeter_tests.rst │ │ ├── pqm │ │ │ ├── index.rst │ │ │ └── pqm_tests.rst │ │ ├── registermap │ │ │ ├── index.rst │ │ │ └── registermap_tests.rst │ │ └── swiot1l │ │ │ ├── index.rst │ │ │ └── swiot1l_tests.rst │ ├── test_report.rst │ └── testing_guide.rst └── user_guide │ ├── bugReport.rst │ ├── build_instructions │ ├── linuxBuild.rst │ ├── macosBuild.rst │ └── windowsBuild.rst │ ├── index.rst │ ├── preferences.rst │ ├── preferences_table.rst │ └── troubleshooting.rst ├── gr-util ├── CMakeLists.txt ├── include │ └── gr-util │ │ ├── grfftfloatproxy.h │ │ ├── griiocomplexchannelsrc.h │ │ ├── griiodevicesource.h │ │ ├── griiofloatchannelsrc.h │ │ ├── grlog.h │ │ ├── grproxyblock.h │ │ ├── grscaleoffsetproc.h │ │ ├── grsignalpath.h │ │ ├── grsignalsrc.h │ │ ├── grtopblock.h │ │ ├── time_sink_f.h │ │ └── time_sink_f_impl.h ├── src │ ├── grfftfloatproxy.cpp │ ├── griiocomplexchannelsrc.cpp │ ├── griiodevicesource.cpp │ ├── griiofloatchannelsrc.cpp │ ├── grproxyblock.cpp │ ├── grscaleoffsetproc.cpp │ ├── grsignalpath.cpp │ ├── grsignalsrc.cpp │ ├── grtopblock.cpp │ └── time_sink_f_impl.cc └── test │ ├── CMakeLists.txt │ └── tst_grblocks.cpp ├── gui ├── CMakeLists.txt ├── include │ └── gui │ │ ├── animationmanager.h │ │ ├── animationpushbutton.h │ │ ├── axishandle.h │ │ ├── basemenu.h │ │ ├── basemenuitem.h │ │ ├── basicscaledraw.h │ │ ├── basictracker.hpp │ │ ├── buffer_previewer.hpp │ │ ├── channelcomponent.h │ │ ├── completion_circle.h │ │ ├── cursorcontroller.h │ │ ├── customPushButton.h │ │ ├── customSwitch.h │ │ ├── customanimation.h │ │ ├── customqwtscaledraw.hpp │ │ ├── deviceiconbuilder.h │ │ ├── deviceinfopage.h │ │ ├── dynamicWidget.h │ │ ├── edgelessplot.h │ │ ├── filemanager.h │ │ ├── flexgridlayout.hpp │ │ ├── graticule.h │ │ ├── homepage_controls.h │ │ ├── infopage.h │ │ ├── infopagekeyvaluewidget.h │ │ ├── installpkgdialog.h │ │ ├── interfaces.h │ │ ├── lcdNumber.hpp │ │ ├── mapstackedwidget.h │ │ ├── menu_anim.hpp │ │ ├── mousewheelwidgetguard.h │ │ ├── osc_scale_engine.h │ │ ├── plot_utils.hpp │ │ ├── plotautoscaler.h │ │ ├── plotaxis.h │ │ ├── plotaxishandle.h │ │ ├── plotbuttonmanager.h │ │ ├── plotchannel.h │ │ ├── plotcomponent.h │ │ ├── plotcursors.h │ │ ├── plotmagnifier.hpp │ │ ├── plotmanager.h │ │ ├── plotmanagercombobox.h │ │ ├── plotmarkercontroller.h │ │ ├── plotnavigator.hpp │ │ ├── plotpickerwrapper.h │ │ ├── plotscales.h │ │ ├── plottracker.hpp │ │ ├── plotwidget.h │ │ ├── plotzoomer.hpp │ │ ├── polarplotchannel.h │ │ ├── polarplotwidget.h │ │ ├── preferenceshelper.h │ │ ├── printplotmanager.h │ │ ├── restartdialog.h │ │ ├── scopy-gui_config.h.cmakein │ │ ├── semiexclusivebuttongroup.h │ │ ├── smallOnOffSwitch.h │ │ ├── spinbox_a.hpp │ │ ├── style.h │ │ ├── stylehelper.h │ │ ├── symbol.h │ │ ├── symbol_controller.h │ │ ├── tintedoverlay.h │ │ ├── toolcomponent.h │ │ ├── tooltemplate.h │ │ ├── tutorialbuilder.h │ │ ├── tutorialchapter.h │ │ ├── tutorialoverlay.h │ │ ├── utils.h │ │ └── widgets │ │ ├── animatedrefreshbtn.h │ │ ├── baseheader.h │ │ ├── baseheaderwidget.h │ │ ├── cardwidget.h │ │ ├── compositeheaderwidget.h │ │ ├── compositewidget.h │ │ ├── connectionloadingbar.h │ │ ├── cursorsettings.h │ │ ├── edittextmenuheader.h │ │ ├── errorbox.h │ │ ├── filebrowserwidget.h │ │ ├── gridwidget.h │ │ ├── hoverwidget.h │ │ ├── infoheaderwidget.h │ │ ├── infoiconwidget.h │ │ ├── interactivelabel.h │ │ ├── ledbutton.h │ │ ├── measurementlabel.h │ │ ├── measurementpanel.h │ │ ├── measurementselector.h │ │ ├── measurementsettings.h │ │ ├── menucollapsesection.h │ │ ├── menucombo.h │ │ ├── menucontrolbutton.h │ │ ├── menuheader.h │ │ ├── menulineedit.h │ │ ├── menuonoffswitch.h │ │ ├── menuplotaxisrangecontrol.h │ │ ├── menuplotchannelcurvestylecontrol.h │ │ ├── menusectionwidget.h │ │ ├── menuspinbox.h │ │ ├── menuwidget.h │ │ ├── pagenavigationwidget.h │ │ ├── plotbufferpreviewer.h │ │ ├── plotcursorreadouts.h │ │ ├── plotinfo.h │ │ ├── plotinfowidgets.h │ │ ├── popupwidget.h │ │ ├── progresslineedit.h │ │ ├── scopysplashscreen.h │ │ ├── scopystatusbar.h │ │ ├── searchbar.h │ │ ├── smallprogressbar.h │ │ ├── titlespinbox.h │ │ ├── toolbuttons.h │ │ ├── toolmenuheaderwidget.h │ │ ├── verticalchannelmanager.h │ │ ├── verticaltabbar.h │ │ └── verticaltabwidget.h ├── res │ ├── .gitignore │ ├── Arial.ttf │ ├── Inter-Regular.ttf │ ├── Scopy.icns │ ├── generate.py │ ├── icon.ico │ ├── icon_small.svg │ ├── icons │ │ ├── adalm.svg │ │ ├── add.svg │ │ ├── arrow_down.svg │ │ ├── arrow_left.svg │ │ ├── arrow_right.svg │ │ ├── arrow_up.svg │ │ ├── checkmark_dark.svg │ │ ├── checkmark_light.svg │ │ ├── choose_file.svg │ │ ├── circle_led.svg │ │ ├── close_hovered.svg │ │ ├── device-shapes │ │ │ ├── rounded_square.svg │ │ │ └── square.svg │ │ ├── edit_pen.svg │ │ ├── gate_handle.svg │ │ ├── green_add.svg │ │ ├── h_cursor_handle.svg │ │ ├── handle_arrow.svg │ │ ├── handle_down_arrow.svg │ │ ├── handle_down_arrow_dark.svg │ │ ├── handle_down_arrow_light.svg │ │ ├── handle_left_arrow.svg │ │ ├── handle_right_arrow.svg │ │ ├── handle_right_arrow_light.svg │ │ ├── handle_up_arrow.svg │ │ ├── home.svg │ │ ├── info.svg │ │ ├── install-icon.svg │ │ ├── launcher_add.svg │ │ ├── launcher_home.svg │ │ ├── level_trigger_down.svg │ │ ├── level_trigger_handle.svg │ │ ├── level_trigger_up.svg │ │ ├── locked.svg │ │ ├── measurements │ │ │ ├── amplitude.svg │ │ │ ├── area.svg │ │ │ ├── cycle_area.svg │ │ │ ├── cycle_mean.svg │ │ │ ├── cycle_rms.svg │ │ │ ├── fall_time.svg │ │ │ ├── frequency.svg │ │ │ ├── high.svg │ │ │ ├── low.svg │ │ │ ├── max.svg │ │ │ ├── mean.svg │ │ │ ├── middle.svg │ │ │ ├── min.svg │ │ │ ├── n_duty.svg │ │ │ ├── n_overshoot.svg │ │ │ ├── n_width.svg │ │ │ ├── p_duty.svg │ │ │ ├── p_overshoot.svg │ │ │ ├── p_width.svg │ │ │ ├── peak_to_peak.svg │ │ │ ├── period.svg │ │ │ ├── rise_time.svg │ │ │ └── rms.svg │ │ ├── minus.svg │ │ ├── notification_bell.svg │ │ ├── orange_close.svg │ │ ├── play.svg │ │ ├── play_green.svg │ │ ├── play_oneshot.svg │ │ ├── plus.svg │ │ ├── printer.svg │ │ ├── red_x.svg │ │ ├── refresh.svg │ │ ├── sba_dn_btn.svg │ │ ├── sba_dn_btn_hover.svg │ │ ├── sba_dn_btn_pressed.svg │ │ ├── sba_up_btn.svg │ │ ├── sba_up_btn_hover.svg │ │ ├── sba_up_btn_pressed.svg │ │ ├── scopy-default │ │ │ ├── icons │ │ │ │ ├── RegMap.svg │ │ │ │ ├── delete.svg │ │ │ │ ├── gear_wheel.svg │ │ │ │ ├── gear_wheel_hover.svg │ │ │ │ ├── gear_wheel_pressed.svg │ │ │ │ ├── info.svg │ │ │ │ ├── load.svg │ │ │ │ ├── locked.svg │ │ │ │ ├── logo.svg │ │ │ │ ├── logo_analog.svg │ │ │ │ ├── logo_analog_small.png │ │ │ │ ├── menu.svg │ │ │ │ ├── note_checked.svg │ │ │ │ ├── note_unchecked.svg │ │ │ │ ├── play_stop.svg │ │ │ │ ├── preferences.svg │ │ │ │ ├── save.svg │ │ │ │ ├── sba_cmb_box_arrow.svg │ │ │ │ ├── sba_cmb_box_arrow_right.svg │ │ │ │ ├── sba_cmb_box_arrow_up.svg │ │ │ │ ├── search.svg │ │ │ │ ├── setup3_checked_hover.svg │ │ │ │ ├── setup3_unchecked.svg │ │ │ │ ├── setup3_unchecked_hover.svg │ │ │ │ ├── setup_btn_hover.svg │ │ │ │ ├── setup_btn_unchecked.svg │ │ │ │ ├── tool_calibration.svg │ │ │ │ ├── tool_datalogger.svg │ │ │ │ ├── tool_debugger.svg │ │ │ │ ├── tool_home.svg │ │ │ │ ├── tool_io.svg │ │ │ │ ├── tool_logic_analyzer.svg │ │ │ │ ├── tool_network_analyzer.svg │ │ │ │ ├── tool_oscilloscope.svg │ │ │ │ ├── tool_pattern_generator.svg │ │ │ │ ├── tool_power_supply.svg │ │ │ │ ├── tool_signal_generator.svg │ │ │ │ ├── tool_spectrum_analyzer.svg │ │ │ │ ├── tool_voltmeter.svg │ │ │ │ ├── tools.svg │ │ │ │ └── unlocked.svg │ │ │ └── index.theme │ │ ├── scopy-light │ │ │ ├── icons │ │ │ │ ├── RegMap.svg │ │ │ │ ├── delete.svg │ │ │ │ ├── gear_wheel.svg │ │ │ │ ├── gear_wheel_hover.svg │ │ │ │ ├── gear_wheel_pressed.svg │ │ │ │ ├── info.svg │ │ │ │ ├── load.svg │ │ │ │ ├── locked.svg │ │ │ │ ├── logo.svg │ │ │ │ ├── logo_analog.svg │ │ │ │ ├── logo_analog_small.png │ │ │ │ ├── menu.svg │ │ │ │ ├── note_checked.svg │ │ │ │ ├── note_unchecked.svg │ │ │ │ ├── play_stop.svg │ │ │ │ ├── preferences.svg │ │ │ │ ├── save.svg │ │ │ │ ├── sba_cmb_box_arrow.svg │ │ │ │ ├── sba_cmb_box_arrow_right.svg │ │ │ │ ├── sba_cmb_box_arrow_up.svg │ │ │ │ ├── search.svg │ │ │ │ ├── setup3_checked_hover.svg │ │ │ │ ├── setup3_unchecked.svg │ │ │ │ ├── setup3_unchecked_hover.svg │ │ │ │ ├── setup_btn_hover.svg │ │ │ │ ├── setup_btn_unchecked.svg │ │ │ │ ├── tool_calibration.svg │ │ │ │ ├── tool_datalogger.svg │ │ │ │ ├── tool_debugger.svg │ │ │ │ ├── tool_home.svg │ │ │ │ ├── tool_io.svg │ │ │ │ ├── tool_logic_analyzer.svg │ │ │ │ ├── tool_network_analyzer.svg │ │ │ │ ├── tool_oscilloscope.svg │ │ │ │ ├── tool_pattern_generator.svg │ │ │ │ ├── tool_power_supply.svg │ │ │ │ ├── tool_signal_generator.svg │ │ │ │ ├── tool_spectrum_analyzer.svg │ │ │ │ ├── tool_voltmeter.svg │ │ │ │ ├── tools.svg │ │ │ │ └── unlocked.svg │ │ │ └── index.theme │ │ ├── search_crossed.svg │ │ ├── setup_btn_checked.svg │ │ ├── setup_btn_checked_hover.svg │ │ ├── time_trigger_handle.svg │ │ ├── time_trigger_left.svg │ │ ├── time_trigger_right.svg │ │ ├── trigger_any_disabled.svg │ │ ├── trigger_any_enabled.svg │ │ ├── trigger_falling_disabled.svg │ │ ├── trigger_falling_enabled.svg │ │ ├── trigger_high_disabled.svg │ │ ├── trigger_high_enabled.svg │ │ ├── trigger_low_disabled.svg │ │ ├── trigger_low_enabled.svg │ │ ├── trigger_rising_disabled.svg │ │ ├── trigger_rising_enabled.svg │ │ ├── uninstall-icon.svg │ │ ├── unlocked.svg │ │ ├── v_cursor_handle.svg │ │ └── warning.svg │ ├── infoPageMap.json │ ├── loading.gif │ ├── open-sans-regular.ttf │ ├── resources.qrc │ ├── scopy.png │ └── svg_sketch.zip ├── src │ ├── animationmanager.cpp │ ├── animationpushbutton.cpp │ ├── axishandle.cpp │ ├── basemenu.cpp │ ├── basemenuitem.cpp │ ├── basicscaledraw.cpp │ ├── basictracker.cpp │ ├── buffer_previewer.cpp │ ├── channelcomponent.cpp │ ├── completion_circle.cpp │ ├── cursorcontroller.cpp │ ├── customPushButton.cpp │ ├── customSwitch.cpp │ ├── customanimation.cpp │ ├── customqwtscaledraw.cpp │ ├── deviceiconbuilder.cpp │ ├── deviceinfopage.cpp │ ├── dynamicWidget.cpp │ ├── edgelessplot.cpp │ ├── filemanager.cpp │ ├── flexgridlayout.cpp │ ├── graticule.cpp │ ├── homepage_controls.cpp │ ├── infopage.cpp │ ├── infopagekeyvaluewidget.cpp │ ├── installpkgdialog.cpp │ ├── lcdNumber.cpp │ ├── mapstackedwidget.cpp │ ├── menu_anim.cpp │ ├── mousewheelwidgetguard.cpp │ ├── osc_scale_engine.cpp │ ├── plot_utils.cpp │ ├── plotautoscaler.cpp │ ├── plotaxis.cpp │ ├── plotaxishandle.cpp │ ├── plotbuttonmanager.cpp │ ├── plotchannel.cpp │ ├── plotcomponent.cpp │ ├── plotcursors.cpp │ ├── plotmagnifier.cpp │ ├── plotmanager.cpp │ ├── plotmanagercombobox.cpp │ ├── plotmarkercontroller.cpp │ ├── plotnavigator.cpp │ ├── plotpickerwrapper.cpp │ ├── plotscales.cpp │ ├── plottracker.cpp │ ├── plotwidget.cpp │ ├── plotzoomer.cpp │ ├── polarplotchannel.cpp │ ├── polarplotwidget.cpp │ ├── preferenceshelper.cpp │ ├── printplotmanager.cpp │ ├── restartdialog.cpp │ ├── smallOnOffSwitch.cpp │ ├── spinbox_a.cpp │ ├── style.cpp │ ├── stylehelper.cpp │ ├── symbol.cpp │ ├── symbol_controller.cpp │ ├── tintedoverlay.cpp │ ├── tooltemplate.cpp │ ├── tutorialbuilder.cpp │ ├── tutorialchapter.cpp │ ├── tutorialoverlay.cpp │ ├── utils.cpp │ └── widgets │ │ ├── animatedrefreshbtn.cpp │ │ ├── baseheaderwidget.cpp │ │ ├── cardwidget.cpp │ │ ├── compositeheaderwidget.cpp │ │ ├── connectionloadingbar.cpp │ │ ├── cursorsettings.cpp │ │ ├── edittextmenuheader.cpp │ │ ├── errorbox.cpp │ │ ├── filebrowserwidget.cpp │ │ ├── gridwidget.cpp │ │ ├── hoverwidget.cpp │ │ ├── infoheaderwidget.cpp │ │ ├── infoiconwidget.cpp │ │ ├── interactivelabel.cpp │ │ ├── ledbutton.cpp │ │ ├── measurementlabel.cpp │ │ ├── measurementpanel.cpp │ │ ├── measurementselector.cpp │ │ ├── measurementsettings.cpp │ │ ├── menucollapsesection.cpp │ │ ├── menucombo.cpp │ │ ├── menucontrolbutton.cpp │ │ ├── menuheader.cpp │ │ ├── menulineedit.cpp │ │ ├── menuonoffswitch.cpp │ │ ├── menuplotaxisrangecontrol.cpp │ │ ├── menuplotchannelcurvestylecontrol.cpp │ │ ├── menusectionwidget.cpp │ │ ├── menuspinbox.cpp │ │ ├── menuwidget.cpp │ │ ├── pagenavigationwidget.cpp │ │ ├── plotbufferpreviewer.cpp │ │ ├── plotcursorreadouts.cpp │ │ ├── plotinfo.cpp │ │ ├── plotinfowidgets.cpp │ │ ├── popupwidget.cpp │ │ ├── progresslineedit.cpp │ │ ├── scopysplashscreen.cpp │ │ ├── scopystatusbar.cpp │ │ ├── searchbar.cpp │ │ ├── semiexclusivebuttongroup.cpp │ │ ├── smallprogressbar.cpp │ │ ├── titlespinbox.cpp │ │ ├── toolbuttons.cpp │ │ ├── toolmenuheaderwidget.cpp │ │ ├── verticalchannelmanager.cpp │ │ ├── verticaltabbar.cpp │ │ └── verticaltabwidget.cpp ├── style │ ├── json │ │ ├── Harmonic dark.json │ │ ├── Harmonic light.json │ │ ├── Scopy.json │ │ └── global.json │ └── qss │ │ ├── generic │ │ ├── global.qss │ │ └── m2k.qss │ │ └── properties │ │ ├── button │ │ ├── basicButton.qss │ │ ├── basicButtonBig.qss │ │ ├── blueGrayButton.qss │ │ ├── borderButton.qss │ │ ├── clear.qss │ │ ├── grayButton.qss │ │ ├── menuControlButton.qss │ │ ├── runButton.qss │ │ ├── singleButton.qss │ │ ├── smallSquareIconButton.qss │ │ ├── spinboxButton.qss │ │ ├── squareIconBrowserButton.qss │ │ ├── squareIconButton.qss │ │ ├── stopButton.qss │ │ ├── subtleButton.qss │ │ ├── toolButton.qss │ │ └── whatsNewButton.qss │ │ ├── checkbox │ │ ├── circleCB.qss │ │ ├── collapseCB.qss │ │ └── squareCB.qss │ │ ├── combobox │ │ └── versionCb.qss │ │ ├── frame │ │ ├── frameContainer.qss │ │ └── line.qss │ │ ├── iiowidgets │ │ ├── comboBox.qss │ │ └── lineEdit.qss │ │ ├── label │ │ ├── deviceIcon.qss │ │ ├── interactive.qss │ │ ├── menuBig.qss │ │ ├── menuMedium.qss │ │ ├── menuSmall.qss │ │ ├── statusLabel.qss │ │ ├── subtle.qss │ │ └── warning.qss │ │ ├── lineedit │ │ ├── headerLineEdit.qss │ │ └── menuLineEdit.qss │ │ ├── tabwidget │ │ └── eastTabMenu.qss │ │ └── widget │ │ ├── basicBackground.qss │ │ ├── basicComponent.qss │ │ ├── border.qss │ │ ├── border_interactive.qss │ │ ├── bottomBorder.qss │ │ ├── cardWidget.qss │ │ ├── customSwitch.qss │ │ ├── customSwitchSolid.qss │ │ ├── deviceHeaderWidget.qss │ │ ├── deviceIcon.qss │ │ ├── genericSearchBar.qss │ │ ├── ledBorder.qss │ │ ├── logo.qss │ │ ├── noBorder.qss │ │ ├── notInteractive.qss │ │ ├── overlayMenu.qss │ │ ├── searchbar.qss │ │ ├── solidBorder.qss │ │ ├── tableViewWidget.qss │ │ ├── textBrowser.qss │ │ ├── textEditBigLabel.qss │ │ ├── toolMenu.qss │ │ ├── toolMenuLogo.qss │ │ └── topBorder.qss ├── test │ ├── CMakeLists.txt │ └── tst_test1.cpp └── ui │ ├── basemenu.ui │ ├── basemenuitem.ui │ ├── spinbox_a.ui │ ├── tooltemplate.ui │ └── tutorial.ui ├── iio-widgets ├── CMakeLists.txt ├── doc │ └── iio-widgets.qmodel ├── include │ └── iio-widgets │ │ ├── datastrategy │ │ ├── channelattrdatastrategy.h │ │ ├── cmdqchannelattrdatastrategy.h │ │ ├── cmdqdeviceattrdatastrategy.h │ │ ├── contextattrdatastrategy.h │ │ ├── datastrategyinterface.h │ │ ├── deviceattrdatastrategy.h │ │ ├── multidatastrategy.h │ │ └── triggerdatastrategy.h │ │ ├── guistrategy │ │ ├── checkboxguistrategy.h │ │ ├── comboguistrategy.h │ │ ├── editableguistrategy.h │ │ ├── guistrategyinterface.h │ │ ├── rangeguistrategy.h │ │ └── switchguistrategy.h │ │ ├── iiowidget.h │ │ ├── iiowidgetbuilder.h │ │ ├── iiowidgetdata.h │ │ ├── iiowidgetgroup.h │ │ └── iiowidgetutils.h ├── src │ ├── datastrategy │ │ ├── channelattrdatastrategy.cpp │ │ ├── cmdqchannelattrdatastrategy.cpp │ │ ├── cmdqdeviceattrdatastrategy.cpp │ │ ├── contextattrdatastrategy.cpp │ │ ├── deviceattrdatastrategy.cpp │ │ ├── multidatastrategy.cpp │ │ └── triggerdatastrategy.cpp │ ├── guistrategy │ │ ├── checkboxguistrategy.cpp │ │ ├── comboguistrategy.cpp │ │ ├── editableguistrategy.cpp │ │ ├── rangeguistrategy.cpp │ │ └── switchguistrategy.cpp │ ├── iiowidget.cpp │ ├── iiowidgetbuilder.cpp │ ├── iiowidgetgroup.cpp │ └── iiowidgetutils.cpp └── test │ └── CMakeLists.txt ├── iioutil ├── CMakeLists.txt ├── include │ └── iioutil │ │ ├── cmdqpingtask.h │ │ ├── command.h │ │ ├── commandqueue.h │ │ ├── connection.h │ │ ├── connectionprovider.h │ │ ├── cyclicaltask.h │ │ ├── iiocommand │ │ ├── iiobuffercancel.h │ │ ├── iiobufferdestroy.h │ │ ├── iiobufferpush.h │ │ ├── iiobufferrefill.h │ │ ├── iiochannelattributeread.h │ │ ├── iiochannelattributereadall.h │ │ ├── iiochannelattributewrite.h │ │ ├── iiochannelenable.h │ │ ├── iiodeviceattributeread.h │ │ ├── iiodeviceattributewrite.h │ │ ├── iiodevicecreatebuffer.h │ │ ├── iiodevicegettrigger.h │ │ ├── iiodevicesettrigger.h │ │ └── iioregisterread.h │ │ ├── iiopingtask.h │ │ ├── iioscantask.h │ │ ├── iiounits.h │ │ ├── pingtask.h │ │ └── scopy-iioutil_config.h.cmakein ├── src │ ├── cmdqpingtask.cpp │ ├── commandqueue.cpp │ ├── connection.cpp │ ├── connectionprovider.cpp │ ├── cyclicaltask.cpp │ ├── iiopingtask.cpp │ ├── iioscantask.cpp │ ├── iiounits.cpp │ └── pingtask.cpp └── test │ ├── CMakeLists.txt │ ├── tst_connectionprovider.cpp │ └── tst_iiocommandqueue.cpp ├── js ├── scopyDefaultTests.js ├── scopycommon.js └── test.sh ├── main.cpp ├── packages └── CMakeLists.txt ├── pluginbase ├── CMakeLists.txt ├── doc │ └── plugin_lifecycle.qmodel ├── include │ └── pluginbase │ │ ├── apiobject.h │ │ ├── lazyloadwidget.h │ │ ├── messagebroker.h │ │ ├── plugin.h │ │ ├── pluginbase.h │ │ ├── preferences.h │ │ ├── resourcemanager.h │ │ ├── scopy-pluginbase_config.h.cmakein │ │ ├── scopyjs.h │ │ ├── statusbarmanager.h │ │ ├── statusmessage.h │ │ ├── toolmenuentry.h │ │ └── versionchecker.h ├── src │ ├── apiobject.cpp │ ├── jsfileio.cpp │ ├── jsfileio.h │ ├── messagebroker.cpp │ ├── pluginbase.cpp │ ├── preferences.cpp │ ├── resourcemanager.cpp │ ├── scopyjs.cpp │ ├── statusbarmanager.cpp │ ├── statusmessage.cpp │ └── versionchecker.cpp └── test │ ├── CMakeLists.txt │ └── tst_preferences.cpp ├── plugins ├── CMakeLists.txt ├── ad9084 │ ├── .gitignore │ ├── CMakeLists.txt │ ├── include │ │ └── ad9084 │ │ │ ├── ad9084plugin.h │ │ │ └── scopy-ad9084_config.h.cmakein │ ├── plugin_src_config.json │ ├── res │ │ ├── ad9084 │ │ │ ├── cfir_hp_rx.txt │ │ │ ├── cfir_lp_rx.txt │ │ │ ├── cfir_lp_tx.txt │ │ │ ├── pfilt_hp_rx.txt │ │ │ └── pfilt_off_rx.txt │ │ ├── emu_xml │ │ │ ├── apollo.xml │ │ │ └── apollo_2.xml │ │ └── resources.qrc │ ├── src │ │ ├── ad9084.cpp │ │ ├── ad9084.h │ │ ├── ad9084channel.cpp │ │ ├── ad9084channel.h │ │ └── ad9084plugin.cpp │ └── test │ │ ├── CMakeLists.txt │ │ └── tst_pluginloader.cpp ├── adc │ ├── .gitignore │ ├── CMakeLists.txt │ ├── include │ │ └── adc │ │ │ ├── adcplugin.h │ │ │ └── scopy-adc_config.h.cmakein │ ├── res │ │ ├── about.md │ │ ├── resources.qrc │ │ └── testImage.png │ ├── src │ │ ├── adcacquisitionmanager.cpp │ │ ├── adcacquisitionmanager.h │ │ ├── adcfftinstrumentcontroller.cpp │ │ ├── adcfftinstrumentcontroller.h │ │ ├── adcinstrument.cpp │ │ ├── adcinstrument.h │ │ ├── adcinstrumentcontroller.cpp │ │ ├── adcinstrumentcontroller.h │ │ ├── adcinterfaces.h │ │ ├── adcplugin.cpp │ │ ├── adctimeinstrumentcontroller.cpp │ │ ├── adctimeinstrumentcontroller.h │ │ ├── fftmarkercontroller.cpp │ │ ├── fftmarkercontroller.hpp │ │ ├── freq │ │ │ ├── fftplotcomponent.cpp │ │ │ ├── fftplotcomponent.h │ │ │ ├── fftplotcomponentchannel.cpp │ │ │ ├── fftplotcomponentchannel.h │ │ │ ├── fftplotcomponentsettings.cpp │ │ │ ├── fftplotcomponentsettings.h │ │ │ ├── fftplotmanager.cpp │ │ │ ├── fftplotmanager.h │ │ │ ├── fftplotmanagersettings.cpp │ │ │ ├── fftplotmanagersettings.h │ │ │ ├── grfftchannelcomponent.cpp │ │ │ ├── grfftchannelcomponent.h │ │ │ ├── grfftsinkcomponent.cpp │ │ │ └── grfftsinkcomponent.h │ │ ├── grdevicecomponent.cpp │ │ ├── grdevicecomponent.h │ │ ├── importchannelcomponent.cpp │ │ ├── importchannelcomponent.h │ │ ├── measure.cpp │ │ ├── measure.h │ │ ├── measurecomponent.cpp │ │ ├── measurecomponent.h │ │ ├── measurementcontroller.cpp │ │ ├── measurementcontroller.h │ │ ├── synccontroller.cpp │ │ ├── synccontroller.h │ │ └── time │ │ │ ├── grtimechannelcomponent.cpp │ │ │ ├── grtimechannelcomponent.h │ │ │ ├── grtimesinkcomponent.cpp │ │ │ ├── grtimesinkcomponent.h │ │ │ ├── timeplotcomponent.cpp │ │ │ ├── timeplotcomponent.h │ │ │ ├── timeplotcomponentchannel.cpp │ │ │ ├── timeplotcomponentchannel.h │ │ │ ├── timeplotcomponentsettings.cpp │ │ │ ├── timeplotcomponentsettings.h │ │ │ ├── timeplotmanager.cpp │ │ │ ├── timeplotmanager.h │ │ │ ├── timeplotmanagersettings.cpp │ │ │ └── timeplotmanagersettings.h │ └── test │ │ ├── CMakeLists.txt │ │ └── tst_pluginloader.cpp ├── bareminimum │ ├── .gitignore │ ├── CMakeLists.txt │ ├── include │ │ └── bareminimum │ │ │ └── bareminimum.h │ ├── src │ │ └── bareminimum.cpp │ └── test │ │ ├── CMakeLists.txt │ │ └── tst_pluginloader.cpp ├── dac │ ├── .gitignore │ ├── CMakeLists.txt │ ├── doc │ │ └── dacplugin.qmodel │ ├── include │ │ └── dac │ │ │ ├── dac_logging_categories.h │ │ │ ├── dacplugin.h │ │ │ └── scopy-dac_config.h.cmakein │ ├── plugin_src_config.json │ ├── res │ │ ├── csv │ │ │ ├── sine_complex_1_15360_sr_15360000_samps_40000_ampl_32767.csv │ │ │ ├── sine_complex_1_30720_sr_15360000_samps_20000_ampl_32767.csv │ │ │ ├── sine_complex_245760_sr_122880000_samps_20000_ampl_16384.csv │ │ │ ├── sine_complex_245760_sr_122880000_samps_20000_ampl_32767.csv │ │ │ ├── sine_complex_2_15360_sr_15360000_samps_40000_ampl_32767.csv │ │ │ ├── sine_complex_2_30720_sr_15360000_samps_20000_ampl_32767.csv │ │ │ └── sinewave_0.9_2ch.csv │ │ ├── resources.qrc │ │ └── tutorial_chapters.json │ ├── src │ │ ├── bufferdacaddon.cpp │ │ ├── bufferdacaddon.h │ │ ├── csvfilestrategy.cpp │ │ ├── csvfilestrategy.h │ │ ├── dac_logging_categories.cpp │ │ ├── dacaddon.cpp │ │ ├── dacaddon.h │ │ ├── dacdatamanager.cpp │ │ ├── dacdatamanager.h │ │ ├── dacdatamodel.cpp │ │ ├── dacdatamodel.h │ │ ├── dacinstrument.cpp │ │ ├── dacinstrument.h │ │ ├── dacplugin.cpp │ │ ├── dacutils.cpp │ │ ├── dacutils.h │ │ ├── databuffer.cpp │ │ ├── databuffer.h │ │ ├── databufferbuilder.cpp │ │ ├── databufferbuilder.h │ │ ├── databufferrecipe.h │ │ ├── databufferstrategyinterface.h │ │ ├── dataguistrategyinterface.h │ │ ├── ddsdacaddon.cpp │ │ ├── ddsdacaddon.h │ │ ├── filebrowser.cpp │ │ ├── filebrowser.h │ │ ├── filedataguistrategy.cpp │ │ ├── filedataguistrategy.h │ │ ├── txchannel.cpp │ │ ├── txchannel.h │ │ ├── txnode.cpp │ │ ├── txnode.h │ │ ├── txtone.cpp │ │ └── txtone.h │ └── test │ │ ├── CMakeLists.txt │ │ └── tst_pluginloader.cpp ├── datalogger │ ├── .gitignore │ ├── CMakeLists.txt │ ├── doc │ │ └── dataMonitor.qmodel │ ├── include │ │ └── datalogger │ │ │ ├── dataacquisitionmanager.hpp │ │ │ ├── datalogger_api.hpp │ │ │ ├── dataloggerplugin.h │ │ │ ├── datamonitor │ │ │ ├── datamonitormodel.hpp │ │ │ ├── dmmdatamonitormodel.hpp │ │ │ ├── readabledatamonitormodel.hpp │ │ │ ├── readstrategy │ │ │ │ ├── dmmreadstrategy.hpp │ │ │ │ ├── ireadstrategy.hpp │ │ │ │ └── testreadstrategy.hpp │ │ │ ├── sevensegmentdisplay.hpp │ │ │ ├── sevensegmentmonitor.hpp │ │ │ └── unitofmeasurement.hpp │ │ │ ├── datamonitorstylehelper.hpp │ │ │ ├── datamonitortool.h │ │ │ ├── datamonitorutils.hpp │ │ │ ├── dmm.hpp │ │ │ ├── menus │ │ │ ├── channelattributesmenu.hpp │ │ │ ├── dataloggingmenu.hpp │ │ │ ├── datamonitorsettings.hpp │ │ │ ├── logdatatofile.hpp │ │ │ ├── monitorselectionmenu.hpp │ │ │ ├── plottimeaxiscontroller.hpp │ │ │ └── sevensegmentmonitorsettings.hpp │ │ │ ├── monitorplot.hpp │ │ │ ├── monitorplotcurve.hpp │ │ │ ├── scopy-datalogger_config.h.cmakein │ │ │ └── timemanager.hpp │ ├── js │ │ ├── dataLoggerAutomatedTest.js │ │ └── dataLoggerFunctions.js │ ├── resources │ │ ├── resources.qrc │ │ └── tutorial_chapters.json │ ├── src │ │ ├── dataacquisitionmanager.cpp │ │ ├── datalogger_api.cpp │ │ ├── dataloggerplugin.cpp │ │ ├── datamonitor │ │ │ ├── datamonitormodel.cpp │ │ │ ├── dmmdatamonitormodel.cpp │ │ │ ├── readabledatamonitormodel.cpp │ │ │ ├── readstrategy │ │ │ │ ├── dmmreadstrategy.cpp │ │ │ │ └── testreadstrategy.cpp │ │ │ ├── sevensegmentdisplay.cpp │ │ │ ├── sevensegmentmonitor.cpp │ │ │ └── unitofmeasurement.cpp │ │ ├── datamonitorstylehelper.cpp │ │ ├── datamonitortool.cpp │ │ ├── datamonitorutils.cpp │ │ ├── dmm.cpp │ │ ├── menus │ │ │ ├── channelattributesmenu.cpp │ │ │ ├── dataloggingmenu.cpp │ │ │ ├── datamonitorsettings.cpp │ │ │ ├── logdatatofile.cpp │ │ │ ├── monitorselectionmenu.cpp │ │ │ ├── plottimeaxiscontroller.cpp │ │ │ └── sevensegmentmonitorsettings.cpp │ │ ├── monitorplot.cpp │ │ ├── monitorplotcurve.cpp │ │ └── timemanager.cpp │ └── test │ │ ├── CMakeLists.txt │ │ ├── tst_datamonitor.cpp │ │ └── tst_pluginloader.cpp ├── debugger │ ├── .gitignore │ ├── CMakeLists.txt │ ├── doc │ │ └── iiodebugplugin.qmodel │ ├── include │ │ └── debugger │ │ │ ├── clidetailsview.h │ │ │ ├── codegenerator.h │ │ │ ├── debuggerloggingcategories.h │ │ │ ├── debuggerplugin.h │ │ │ ├── detailsview.h │ │ │ ├── guidetailsview.h │ │ │ ├── iiodebuglogger.h │ │ │ ├── iioexplorerinstrument.h │ │ │ ├── iiomodel.h │ │ │ ├── iiosortfilterproxymodel.h │ │ │ ├── iiostandarditem.h │ │ │ ├── pathtitle.h │ │ │ ├── savecontextsetup.h │ │ │ ├── scopy-debugger_config.h.cmakein │ │ │ ├── watchlistentry.h │ │ │ └── watchlistview.h │ ├── plugin_src_config.json │ ├── res │ │ └── resources.qrc │ ├── src │ │ ├── debugger │ │ │ ├── bitfieldwidget.cpp │ │ │ ├── bitfieldwidget.h │ │ │ ├── debuggercontroller.cpp │ │ │ ├── debuggercontroller.h │ │ │ ├── debuggerinstrument.cpp │ │ │ ├── debuggerinstrument.h │ │ │ ├── registerwidget.cpp │ │ │ ├── registerwidget.h │ │ │ ├── regmapparser.cpp │ │ │ └── regmapparser.h │ │ ├── debuggerplugin.cpp │ │ └── iioexplorer │ │ │ ├── clidetailsview.cpp │ │ │ ├── codegenerator.cpp │ │ │ ├── debuggerloggingcategories.cpp │ │ │ ├── detailsview.cpp │ │ │ ├── guidetailsview.cpp │ │ │ ├── iiodebuglogger.cpp │ │ │ ├── iioexplorerinstrument.cpp │ │ │ ├── iiomodel.cpp │ │ │ ├── iiosortfilterproxymodel.cpp │ │ │ ├── iiostandarditem.cpp │ │ │ ├── pathtitle.cpp │ │ │ ├── savecontextsetup.cpp │ │ │ ├── watchlistentry.cpp │ │ │ └── watchlistview.cpp │ ├── style │ │ └── qss │ │ │ └── properties │ │ │ └── debugger │ │ │ ├── debuggerScrollBar.qss │ │ │ ├── detailsView.qss │ │ │ ├── headerView.qss │ │ │ ├── treeView.qss │ │ │ ├── watchListCombo.qss │ │ │ ├── watchListLineEdit.qss │ │ │ └── watchListView.qss │ ├── test │ │ ├── CMakeLists.txt │ │ └── tst_pluginloader.cpp │ └── ui │ │ ├── bitfieldwidget.ui │ │ ├── debuggerinstrument.ui │ │ └── registerwidget.ui ├── guitest │ ├── .gitignore │ ├── CMakeLists.txt │ ├── include │ │ └── guitest │ │ │ └── guitestplugin.h │ ├── res │ │ ├── icon.png │ │ └── resources.qrc │ ├── src │ │ └── guitestplugin.cpp │ └── test │ │ ├── CMakeLists.txt │ │ └── tst_pluginloader.cpp ├── jesdstatus │ ├── .gitignore │ ├── CMakeLists.txt │ ├── include │ │ └── jesdstatus │ │ │ ├── jesdstatus.h │ │ │ ├── jesdstatusplugin.h │ │ │ └── scopy-jesdstatus_config.h.cmakein │ ├── res │ │ └── resources.qrc │ ├── src │ │ ├── jesdstatus.cpp │ │ ├── jesdstatusparser.cpp │ │ ├── jesdstatusparser.h │ │ ├── jesdstatusplugin.cpp │ │ ├── jesdstatusview.cpp │ │ └── jesdstatusview.h │ └── test │ │ ├── CMakeLists.txt │ │ └── tst_pluginloader.cpp ├── m2k │ ├── .gitignore │ ├── CMakeLists.txt │ ├── include │ │ └── m2k │ │ │ ├── m2kcommon.h │ │ │ ├── m2kcontroller.h │ │ │ ├── m2kidentifytask.h │ │ │ ├── m2kplugin.h │ │ │ ├── m2kreadtemperaturetask.h │ │ │ └── scopy-m2k_config.h.cmakein │ ├── m2k-gui │ │ ├── .gitignore │ │ ├── CMakeLists.txt │ │ ├── gr-gui │ │ │ ├── CMakeLists.txt │ │ │ ├── include │ │ │ │ └── gr-gui │ │ │ │ │ ├── drop_untill_tag_arives.h │ │ │ │ │ ├── histogram_sink_f.h │ │ │ │ │ ├── histogram_sink_f_impl.h │ │ │ │ │ ├── math.hpp │ │ │ │ │ ├── scope_sink_f.h │ │ │ │ │ ├── scope_sink_f_impl.h │ │ │ │ │ ├── scopy-gr-gui_config.h.cmakein │ │ │ │ │ ├── waterfall_sink.h │ │ │ │ │ ├── waterfall_sink_impl.h │ │ │ │ │ ├── xy_sink_c.h │ │ │ │ │ └── xy_sink_c_impl.h │ │ │ ├── src │ │ │ │ ├── drop_untill_tag_arives.cpp │ │ │ │ ├── histogram_sink_f_impl.cc │ │ │ │ ├── math.cpp │ │ │ │ ├── scope_sink_f_impl.cc │ │ │ │ ├── waterfall_sink_impl.cc │ │ │ │ └── xy_sink_c_impl.cc │ │ │ ├── test │ │ │ │ └── CMakeLists.txt │ │ │ └── ui │ │ │ │ └── math.ui │ │ ├── include │ │ │ └── m2k-gui │ │ │ │ ├── BasicPlot.h │ │ │ │ ├── ComboBoxLineEdit.h │ │ │ │ ├── ConstellationDisplayPlot.h │ │ │ │ ├── DisplayPlot.h │ │ │ │ ├── FftDisplayPlot.h │ │ │ │ ├── HistogramDisplayPlot.h │ │ │ │ ├── TimeDomainDisplayPlot.h │ │ │ │ ├── WaterfallDisplayPlot.h │ │ │ │ ├── autoScaler.hpp │ │ │ │ ├── average.h │ │ │ │ ├── channel_manager.hpp │ │ │ │ ├── channel_widget.hpp │ │ │ │ ├── checkbox_delegate.h │ │ │ │ ├── cursor_readouts.h │ │ │ │ ├── customScale.hpp │ │ │ │ ├── custom_menu_button.hpp │ │ │ │ ├── customplotpositionbutton.h │ │ │ │ ├── db_click_buttons.hpp │ │ │ │ ├── dbgraph.hpp │ │ │ │ ├── dropdown_switch_list.h │ │ │ │ ├── extendingplotzoomer.h │ │ │ │ ├── generic_menu.hpp │ │ │ │ ├── genericlogicplotcurve.h │ │ │ │ ├── handles_area.hpp │ │ │ │ ├── handlesareaextension.h │ │ │ │ ├── instrumentnotes.h │ │ │ │ ├── limitedplotzoomer.h │ │ │ │ ├── linked_button.hpp │ │ │ │ ├── logicdatacurve.h │ │ │ │ ├── m2kmeasure.h │ │ │ │ ├── m2kmeasurement_gui.h │ │ │ │ ├── marker_controller.h │ │ │ │ ├── marker_table.hpp │ │ │ │ ├── menu_header.hpp │ │ │ │ ├── movingaverage.h │ │ │ │ ├── nyquistGraph.hpp │ │ │ │ ├── nyquistplotzoomer.h │ │ │ │ ├── osc_adjuster.hpp │ │ │ │ ├── osc_custom_scroll.h │ │ │ │ ├── osc_export_settings.h │ │ │ │ ├── osc_import_settings.h │ │ │ │ ├── osc_scale_zoomer.h │ │ │ │ ├── oscilloscope_plot.hpp │ │ │ │ ├── plot_line_handle.h │ │ │ │ ├── printableplot.h │ │ │ │ ├── qtgui_types.h │ │ │ │ ├── qwt_utils.h │ │ │ │ ├── runsinglewidget.h │ │ │ │ ├── scopy-m2k-gui_config.h.cmakein │ │ │ │ ├── settings_pair_widget.hpp │ │ │ │ ├── sismograph.hpp │ │ │ │ ├── smoothcurvefitter.h │ │ │ │ ├── spectrumUpdateEvents.h │ │ │ │ ├── spectrum_marker.hpp │ │ │ │ ├── startstoprangewidget.h │ │ │ │ ├── subsection_separator.hpp │ │ │ │ ├── tool_view.hpp │ │ │ │ ├── tool_view_builder.hpp │ │ │ │ ├── trigger_mode.h │ │ │ │ ├── waterfallGlobalData.h │ │ │ │ └── x_axis_scale_zoomer.h │ │ ├── sigrok-gui │ │ │ ├── CMakeLists.txt │ │ │ ├── include │ │ │ │ └── sigrok-gui │ │ │ │ │ ├── annotation.h │ │ │ │ │ ├── annotationcurve.h │ │ │ │ │ ├── annotationdecoder.h │ │ │ │ │ ├── binding │ │ │ │ │ ├── binding.hpp │ │ │ │ │ └── decoder.hpp │ │ │ │ │ ├── decoder.h │ │ │ │ │ ├── prop │ │ │ │ │ ├── bool.hpp │ │ │ │ │ ├── double.hpp │ │ │ │ │ ├── enum.hpp │ │ │ │ │ ├── int.hpp │ │ │ │ │ ├── property.hpp │ │ │ │ │ └── string.hpp │ │ │ │ │ ├── row.h │ │ │ │ │ ├── rowdata.h │ │ │ │ │ └── scopy-sigrok-gui_config.h.cmakein │ │ │ ├── src │ │ │ │ ├── annotation.cpp │ │ │ │ ├── annotationcurve.cpp │ │ │ │ ├── annotationdecoder.cpp │ │ │ │ ├── binding │ │ │ │ │ ├── binding.cpp │ │ │ │ │ └── decoder.cpp │ │ │ │ ├── decoder.cpp │ │ │ │ ├── prop │ │ │ │ │ ├── bool.cpp │ │ │ │ │ ├── double.cpp │ │ │ │ │ ├── enum.cpp │ │ │ │ │ ├── int.cpp │ │ │ │ │ ├── property.cpp │ │ │ │ │ └── string.cpp │ │ │ │ ├── row.cpp │ │ │ │ └── rowdata.cpp │ │ │ └── test │ │ │ │ └── CMakeLists.txt │ │ ├── src │ │ │ ├── BasicPlot.cpp │ │ │ ├── ComboBoxLineEdit.cpp │ │ │ ├── ConstellationDisplayPlot.cc │ │ │ ├── DisplayPlot.cc │ │ │ ├── FftDisplayPlot.cc │ │ │ ├── HistogramDisplayPlot.cc │ │ │ ├── TimeDomainDisplayPlot.cc │ │ │ ├── WaterfallDisplayPlot.cc │ │ │ ├── autoScaler.cpp │ │ │ ├── average.cpp │ │ │ ├── channel_manager.cpp │ │ │ ├── channel_widget.cpp │ │ │ ├── checkbox_delegate.cpp │ │ │ ├── cursor_readouts.cpp │ │ │ ├── customScale.cpp │ │ │ ├── custom_menu_button.cpp │ │ │ ├── customplotpositionbutton.cpp │ │ │ ├── db_click_buttons.cpp │ │ │ ├── dbgraph.cpp │ │ │ ├── dropdown_switch_list.cpp │ │ │ ├── extendingplotzoomer.cpp │ │ │ ├── generic_menu.cpp │ │ │ ├── genericlogicplotcurve.cpp │ │ │ ├── handles_area.cpp │ │ │ ├── handlesareaextension.cpp │ │ │ ├── instrumentnotes.cpp │ │ │ ├── limitedplotzoomer.cpp │ │ │ ├── linked_button.cpp │ │ │ ├── logicdatacurve.cpp │ │ │ ├── m2kmeasure.cpp │ │ │ ├── m2kmeasurement_gui.cpp │ │ │ ├── marker_controller.cpp │ │ │ ├── marker_table.cpp │ │ │ ├── menu_header.cpp │ │ │ ├── movingaverage.cpp │ │ │ ├── nyquistGraph.cpp │ │ │ ├── nyquistplotzoomer.cpp │ │ │ ├── osc_adjuster.cpp │ │ │ ├── osc_custom_scroll.cpp │ │ │ ├── osc_export_settings.cpp │ │ │ ├── osc_import_settings.cpp │ │ │ ├── osc_scale_zoomer.cpp │ │ │ ├── oscilloscope_plot.cpp │ │ │ ├── plot_line_handle.cpp │ │ │ ├── printableplot.cpp │ │ │ ├── qwt_utils.cpp │ │ │ ├── runsinglewidget.cpp │ │ │ ├── settings_pair_widget.cpp │ │ │ ├── sismograph.cpp │ │ │ ├── smoothcurvefitter.cpp │ │ │ ├── spectrumUpdateEvents.cc │ │ │ ├── spectrum_marker.cpp │ │ │ ├── startstoprangewidget.cpp │ │ │ ├── subsection_separator.cpp │ │ │ ├── tool_view.cpp │ │ │ ├── tool_view_builder.cpp │ │ │ ├── waterfallGlobalData.cc │ │ │ └── x_axis_scale_zoomer.cpp │ │ ├── test │ │ │ ├── CMakeLists.txt │ │ │ └── tst_test1.cpp │ │ └── ui │ │ │ ├── channel.ui │ │ │ ├── cursor_readouts.ui │ │ │ ├── custom_menu_button.ui │ │ │ ├── customplotpositionbutton.ui │ │ │ ├── db_click_buttons.ui │ │ │ ├── instrumentnotes.ui │ │ │ ├── marker_table.ui │ │ │ ├── menu_header.ui │ │ │ ├── osc_export_settings.ui │ │ │ ├── runsinglewidget.ui │ │ │ ├── settings_pair_widget.ui │ │ │ ├── startstoprangewidget.ui │ │ │ ├── subsection_separator.ui │ │ │ └── tool_view.ui │ ├── res │ │ ├── filter.json │ │ ├── images │ │ │ ├── ADALM2000.png │ │ │ └── ADALM2000Pinout.png │ │ ├── m2k.html │ │ └── resources.qrc │ ├── src │ │ ├── m2kcontroller.cpp │ │ ├── m2kidentifytask.cpp │ │ ├── m2kplugin.cpp │ │ ├── m2kreadtemperaturetask.cpp │ │ └── old │ │ │ ├── adc_sample_conv.cpp │ │ │ ├── adc_sample_conv.hpp │ │ │ ├── calibration.cpp │ │ │ ├── calibration.hpp │ │ │ ├── calibration_api.cpp │ │ │ ├── calibration_api.hpp │ │ │ ├── cancel_dc_offset_block.cpp │ │ │ ├── cancel_dc_offset_block.h │ │ │ ├── detachdragzone.cpp │ │ │ ├── detachdragzone.h │ │ │ ├── digitalchannel_manager.cpp │ │ │ ├── digitalchannel_manager.hpp │ │ │ ├── digitalio.cpp │ │ │ ├── digitalio.hpp │ │ │ ├── digitalio_api.cpp │ │ │ ├── digitalio_api.hpp │ │ │ ├── dmm.cpp │ │ │ ├── dmm.hpp │ │ │ ├── dmm_api.cpp │ │ │ ├── dmm_api.hpp │ │ │ ├── externalloadlineedit.cpp │ │ │ ├── externalloadlineedit.h │ │ │ ├── fft_block.cpp │ │ │ ├── fft_block.hpp │ │ │ ├── filter.cpp │ │ │ ├── filter.hpp │ │ │ ├── frequency_compensation_filter.h │ │ │ ├── frequency_compensation_filter_impl.cc │ │ │ ├── frequency_compensation_filter_impl.h │ │ │ ├── hardware_trigger.cpp │ │ │ ├── hardware_trigger.hpp │ │ │ ├── iio_manager.cpp │ │ │ ├── iio_manager.hpp │ │ │ ├── logic_analyzer_sink.h │ │ │ ├── logic_analyzer_sink_impl.cpp │ │ │ ├── logic_analyzer_sink_impl.h │ │ │ ├── logicanalyzer │ │ │ ├── decoder_table.cpp │ │ │ ├── decoder_table.hpp │ │ │ ├── decoder_table_item.cpp │ │ │ ├── decoder_table_item.hpp │ │ │ ├── decoder_table_model.cpp │ │ │ ├── decoder_table_model.hpp │ │ │ ├── logic_analyzer.cpp │ │ │ ├── logic_analyzer.h │ │ │ ├── logicanalyzer_api.cpp │ │ │ ├── logicanalyzer_api.h │ │ │ ├── logicgroupitem.cpp │ │ │ └── logicgroupitem.h │ │ │ ├── m2kpluginExceptionHandler.h │ │ │ ├── m2ktool.cpp │ │ │ ├── m2ktool.hpp │ │ │ ├── manual_calibration_api.cpp │ │ │ ├── manual_calibration_api.hpp │ │ │ ├── manualcalibration.cpp │ │ │ ├── manualcalibration.h │ │ │ ├── measure_settings.cpp │ │ │ ├── measure_settings.h │ │ │ ├── mixed_signal_sink.h │ │ │ ├── mixed_signal_sink_impl.cpp │ │ │ ├── mixed_signal_sink_impl.h │ │ │ ├── network_analyzer.cpp │ │ │ ├── network_analyzer.hpp │ │ │ ├── network_analyzer_api.cpp │ │ │ ├── network_analyzer_api.hpp │ │ │ ├── networkanalyzerbufferviewer.cpp │ │ │ ├── networkanalyzerbufferviewer.h │ │ │ ├── osc_adc.cpp │ │ │ ├── osc_adc.h │ │ │ ├── osc_capture_params.cpp │ │ │ ├── osc_capture_params.hpp │ │ │ ├── oscilloscope.cpp │ │ │ ├── oscilloscope.hpp │ │ │ ├── oscilloscope_api.cpp │ │ │ ├── oscilloscope_api.hpp │ │ │ ├── patterngenerator │ │ │ ├── pattern_generator.cpp │ │ │ ├── pattern_generator.h │ │ │ ├── pattern_generator_api.cpp │ │ │ ├── pattern_generator_api.h │ │ │ └── patterns │ │ │ │ ├── patterns.cpp │ │ │ │ └── patterns.hpp │ │ │ ├── power_controller.cpp │ │ │ ├── power_controller.hpp │ │ │ ├── power_controller_api.cpp │ │ │ ├── power_controller_api.hpp │ │ │ ├── saverestoretoolsettings.cpp │ │ │ ├── saverestoretoolsettings.h │ │ │ ├── signal_generator.cpp │ │ │ ├── signal_generator.hpp │ │ │ ├── signal_generator_api.cpp │ │ │ ├── signal_generator_api.hpp │ │ │ ├── signal_sample.cpp │ │ │ ├── signal_sample.hpp │ │ │ ├── spectrum_analyzer.cpp │ │ │ ├── spectrum_analyzer.hpp │ │ │ ├── spectrum_analyzer_api.cpp │ │ │ ├── spectrum_analyzer_api.hpp │ │ │ ├── state_updater.cpp │ │ │ ├── state_updater.h │ │ │ ├── statistic_widget.cpp │ │ │ ├── statistic_widget.h │ │ │ ├── stream_to_vector_overlap.h │ │ │ ├── stream_to_vector_overlap_impl.cc │ │ │ ├── stream_to_vector_overlap_impl.h │ │ │ ├── timeout_block.cpp │ │ │ ├── timeout_block.hpp │ │ │ ├── trigger_settings.cpp │ │ │ └── trigger_settings.hpp │ ├── test │ │ ├── CMakeLists.txt │ │ └── tst_pluginloader.cpp │ └── ui │ │ ├── calibratetemplate.ui │ │ ├── channel_settings.ui │ │ ├── cursor_readouts.ui │ │ ├── cursors_settings.ui │ │ ├── customcolqgridlayout.ui │ │ ├── digitalIoChannel.ui │ │ ├── digitalIoElement.ui │ │ ├── digitalio.ui │ │ ├── digitaliomenu.ui │ │ ├── dmm.ui │ │ ├── info_page.ui │ │ ├── logic_analyzer.ui │ │ ├── logic_channel_settings.ui │ │ ├── manualcalibration.ui │ │ ├── math_panel.ui │ │ ├── measure_panel.ui │ │ ├── measure_settings.ui │ │ ├── network_analyzer.ui │ │ ├── networkanalyzerbufferviewer.ui │ │ ├── osc_general_settings.ui │ │ ├── oscilloscope.ui │ │ ├── pattern_generator.ui │ │ ├── patterns │ │ ├── binarycounterpatternui.ui │ │ ├── constantpattern.ui │ │ ├── emptypatternui.ui │ │ ├── frequencypattern.ui │ │ ├── genericjspatternui.ui │ │ ├── i2cpatternui.ui │ │ ├── lfsrpatternui.ui │ │ ├── numberpattern.ui │ │ ├── pulsepattern.ui │ │ ├── spipatternui.ui │ │ ├── uartpatternui.ui │ │ └── walkingpattern.ui │ │ ├── powercontrol.ui │ │ ├── signal_generator.ui │ │ ├── spectrum_analyzer.ui │ │ ├── statistic.ui │ │ ├── statistics_panel.ui │ │ └── trigger_settings.ui ├── pluto │ ├── .gitignore │ ├── CMakeLists.txt │ ├── include │ │ └── pluto │ │ │ ├── ad936x.h │ │ │ ├── ad963xadvanced.h │ │ │ ├── auxadcdaciowidget.h │ │ │ ├── bistwidget.h │ │ │ ├── elnawidget.h │ │ │ ├── ensmmodeclockswidget.h │ │ │ ├── fastlockprofileswidget.h │ │ │ ├── firfilterqwidget.h │ │ │ ├── gainwidget.h │ │ │ ├── miscwidget.h │ │ │ ├── plutoplugin.h │ │ │ ├── rssiwidget.h │ │ │ ├── scopy-pluto_config.h.cmakein │ │ │ └── txmonitorwidget.h │ ├── plugin_src_config.json │ ├── res │ │ ├── ad936x.svg │ │ ├── ad936x │ │ │ ├── AD936x_LP_180kHz_521kSPS.ftr │ │ │ ├── AD936x_LP_256kHz_768kSPS.ftr │ │ │ ├── AD936x_LP_333kHz_1MSPS.ftr │ │ │ └── AD936x_LP_666kHz_2MSPS.ftr │ │ └── resources.qrc │ ├── src │ │ ├── ad936x.cpp │ │ ├── ad936xadvanced.cpp │ │ ├── auxadcdaciowidget.cpp │ │ ├── bistwidget.cpp │ │ ├── elnawidget.cpp │ │ ├── ensmmodeclockswidget.cpp │ │ ├── fastlockprofileswidget.cpp │ │ ├── firfilterqwidget.cpp │ │ ├── gainwidget.cpp │ │ ├── miscwidget.cpp │ │ ├── plutoplugin.cpp │ │ ├── rssiwidget.cpp │ │ └── txmonitorwidget.cpp │ └── test │ │ ├── CMakeLists.txt │ │ └── tst_pluginloader.cpp ├── pqm │ ├── .gitignore │ ├── CMakeLists.txt │ ├── include │ │ └── pqm │ │ │ ├── acquisitionmanager.h │ │ │ ├── harmonicsinstrument.h │ │ │ ├── plottingstrategy.h │ │ │ ├── plottingstrategybuilder.h │ │ │ ├── pqmdatalogger.h │ │ │ ├── pqmplugin.h │ │ │ ├── rmsinstrument.h │ │ │ ├── rollingstrategy.h │ │ │ ├── scopy-pqm_config.h.cmakein │ │ │ ├── settingsinstrument.h │ │ │ ├── swtriggerstrategy.h │ │ │ └── waveforminstrument.h │ ├── res │ │ ├── data.bin │ │ ├── emu_xml │ │ │ ├── pqm1.bin │ │ │ └── pqm1.xml │ │ ├── pqmDataWriter.py │ │ ├── pqm_icon.svg │ │ ├── readme.md │ │ ├── resources.qrc │ │ └── sineGenerator.py │ ├── src │ │ ├── acquisitionmanager.cpp │ │ ├── harmonicsinstrument.cpp │ │ ├── pqmdatalogger.cpp │ │ ├── pqmplugin.cpp │ │ ├── rmsinstrument.cpp │ │ ├── rollingstrategy.cpp │ │ ├── settingsinstrument.cpp │ │ ├── swtriggerstrategy.cpp │ │ └── waveforminstrument.cpp │ └── test │ │ ├── CMakeLists.txt │ │ └── tst_pluginloader.cpp ├── regmap │ ├── .gitignore │ ├── CMakeLists.txt │ ├── doc │ │ └── regmap.qmodel │ ├── include │ │ └── regmap │ │ │ ├── regmapplugin.h │ │ │ └── scopy-regmap_config.h.cmakein │ ├── js │ │ ├── regMapAutomatedTest.js │ │ └── regMapFunctions.js │ ├── resources │ │ ├── resources.qrc │ │ └── tutorial_chapters.json │ ├── src │ │ ├── README.md │ │ ├── deviceregistermap.cpp │ │ ├── deviceregistermap.hpp │ │ ├── jsonformatedelement.cpp │ │ ├── jsonformatedelement.hpp │ │ ├── logging_categories.cpp │ │ ├── logging_categories.h │ │ ├── readwrite │ │ │ ├── fileregisterreadstrategy.cpp │ │ │ ├── fileregisterreadstrategy.hpp │ │ │ ├── fileregisterwritestrategy.cpp │ │ │ ├── fileregisterwritestrategy.hpp │ │ │ ├── iioregisterreadstrategy.cpp │ │ │ ├── iioregisterreadstrategy.hpp │ │ │ ├── iioregisterwritestrategy.cpp │ │ │ ├── iioregisterwritestrategy.hpp │ │ │ ├── iregisterreadstrategy.hpp │ │ │ └── iregisterwritestrategy.hpp │ │ ├── recyclerview │ │ │ ├── irecyclerviewadapter.hpp │ │ │ ├── recyclerview.cpp │ │ │ ├── recyclerview.hpp │ │ │ ├── recyclerviewdiagram.qmodel │ │ │ ├── registermaptable.cpp │ │ │ └── registermaptable.hpp │ │ ├── register │ │ │ ├── bitfield │ │ │ │ ├── bitfielddetailedwidget.cpp │ │ │ │ ├── bitfielddetailedwidget.hpp │ │ │ │ ├── bitfielddetailedwidgetfactory.cpp │ │ │ │ ├── bitfielddetailedwidgetfactory.hpp │ │ │ │ ├── bitfieldmodel.cpp │ │ │ │ ├── bitfieldmodel.hpp │ │ │ │ ├── bitfieldoption.cpp │ │ │ │ ├── bitfieldoption.hpp │ │ │ │ ├── bitfieldsimplewidget.cpp │ │ │ │ ├── bitfieldsimplewidget.hpp │ │ │ │ ├── bitfieldsimplewidgetfactory.cpp │ │ │ │ └── bitfieldsimplewidgetfactory.hpp │ │ │ ├── registerdetailedwidget.cpp │ │ │ ├── registerdetailedwidget.hpp │ │ │ ├── registermodel.cpp │ │ │ ├── registermodel.hpp │ │ │ ├── registersimplewidget.cpp │ │ │ ├── registersimplewidget.hpp │ │ │ ├── registersimplewidgetfactory.cpp │ │ │ └── registersimplewidgetfactory.hpp │ │ ├── registercontroller.cpp │ │ ├── registercontroller.hpp │ │ ├── registermapsettingsmenu.cpp │ │ ├── registermapsettingsmenu.hpp │ │ ├── registermaptemplate.cpp │ │ ├── registermaptemplate.hpp │ │ ├── registermaptool.cpp │ │ ├── registermaptool.hpp │ │ ├── registermapvalues.cpp │ │ ├── registermapvalues.hpp │ │ ├── regmap_api.cpp │ │ ├── regmap_api.h │ │ ├── regmapplugin.cpp │ │ ├── regmapstylehelper.cpp │ │ ├── regmapstylehelper.hpp │ │ ├── regreadwrite.cpp │ │ ├── regreadwrite.hpp │ │ ├── search.cpp │ │ ├── search.hpp │ │ ├── searchbarwidget.cpp │ │ ├── searchbarwidget.hpp │ │ ├── textspinbox.cpp │ │ ├── textspinbox.hpp │ │ ├── titlespinbox.cpp │ │ ├── titlespinbox.hpp │ │ ├── utils.cpp │ │ ├── utils.hpp │ │ ├── verticalscrollarea.cpp │ │ ├── verticalscrollarea.hpp │ │ ├── xmlfilemanager.cpp │ │ └── xmlfilemanager.hpp │ ├── style │ │ └── qss │ │ │ └── properties │ │ │ └── regmap │ │ │ ├── bitfieldSimpleWidget.qss │ │ │ ├── deviceComboBox.qss │ │ │ ├── hoverWidget.qss │ │ │ ├── lineEdit.qss │ │ │ ├── registercontroller.qss │ │ │ ├── regmapSlider.qss │ │ │ ├── searchBar.qss │ │ │ ├── simpleWidget.qss │ │ │ └── titleSpinbox.qss │ ├── test │ │ ├── CMakeLists.txt │ │ └── tst_pluginloader.cpp │ └── xmls │ │ ├── AD74412.xml │ │ ├── MAX14906.xml │ │ ├── ad74413r.xml │ │ ├── ad9122.xml │ │ ├── ad9144.xml │ │ ├── ad9250.xml │ │ ├── ad9361-phy.xml │ │ ├── ad9517.xml │ │ ├── ad9523.xml │ │ ├── ad9528.xml │ │ ├── ad9643.xml │ │ ├── ad9680.xml │ │ ├── adf4351.xml │ │ ├── adi_regmap_adc_axi.xml │ │ ├── adi_regmap_adc_v10_axi.xml │ │ ├── adi_regmap_adc_v9_axi.xml │ │ ├── adi_regmap_dac_axi.xml │ │ ├── adi_regmap_dac_v9_axi.xml │ │ ├── adis16505-2.xml │ │ └── regmap-config.json ├── swiot │ ├── .gitignore │ ├── CMakeLists.txt │ ├── include │ │ └── swiot │ │ │ ├── ad74413r │ │ │ ├── ad74413r.h │ │ │ ├── bufferacquisitionhandler.h │ │ │ ├── bufferlogic.h │ │ │ ├── buffermenu.h │ │ │ ├── buffermenuview.h │ │ │ ├── chnlinfo.h │ │ │ ├── chnlinfobuilder.h │ │ │ ├── currentchnlinfo.h │ │ │ ├── digitalchnlinfo.h │ │ │ ├── resistancechnlinfo.h │ │ │ └── voltagechnlinfo.h │ │ │ ├── externalpsreaderthread.h │ │ │ ├── faults │ │ │ ├── faults.h │ │ │ ├── faultsdevice.h │ │ │ ├── faultsgroup.h │ │ │ ├── faultspage.h │ │ │ └── faultwidget.h │ │ │ ├── max14906 │ │ │ ├── diocontroller.h │ │ │ ├── diodigitalchannel.h │ │ │ ├── diodigitalchannelcontroller.h │ │ │ ├── diosettingstab.h │ │ │ └── max14906.h │ │ │ ├── readerthread.h │ │ │ ├── scopy-swiot_config.h.cmakein │ │ │ ├── swiot_logging_categories.h │ │ │ ├── swiotcontroller.h │ │ │ ├── swiotidentifytask.h │ │ │ ├── swiotinfopage.h │ │ │ ├── swiotplugin.h │ │ │ ├── swiotreadtemperaturetask.h │ │ │ └── swiotruntime.h │ ├── res │ │ ├── ad74413r_channel1.png │ │ ├── ad74413r_channel2.png │ │ ├── ad74413r_channel3.png │ │ ├── ad74413r_channel4.png │ │ ├── emu_xml │ │ │ ├── swiot_config.xml │ │ │ ├── swiot_config2.xml │ │ │ ├── swiot_runtime1.xml │ │ │ └── swiot_runtime2.xml │ │ ├── fault.svg │ │ ├── ic_hi_gray.svg │ │ ├── ic_hi_snow.svg │ │ ├── ic_lo_gray.svg │ │ ├── ic_lo_snow.svg │ │ ├── max14906_channel1.png │ │ ├── max14906_channel2.png │ │ ├── max14906_channel3.png │ │ ├── max14906_channel4.png │ │ ├── resources.qrc │ │ ├── sba_cmb_box_arrow.svg │ │ ├── sba_cmb_box_arrow_right.svg │ │ ├── swiot_board.svg │ │ ├── swiot_faults.json │ │ ├── swiot_icon.png │ │ ├── swiot_icon.svg │ │ ├── swiot_top_transparent.png │ │ ├── tool_faults.svg │ │ ├── tutorial_chapters.json │ │ └── warning.svg │ ├── src │ │ ├── ad74413r │ │ │ ├── ad74413r.cpp │ │ │ ├── bufferacquisitionhandler.cpp │ │ │ ├── bufferlogic.cpp │ │ │ ├── buffermenu.cpp │ │ │ ├── buffermenuview.cpp │ │ │ ├── chnlinfo.cpp │ │ │ ├── chnlinfobuilder.cpp │ │ │ ├── currentchnlinfo.cpp │ │ │ ├── digitalchnlinfo.cpp │ │ │ ├── resistancechnlinfo.cpp │ │ │ └── voltagechnlinfo.cpp │ │ ├── config │ │ │ ├── configchannelview.cpp │ │ │ ├── configchannelview.h │ │ │ ├── configcontroller.cpp │ │ │ ├── configcontroller.h │ │ │ ├── configmodel.cpp │ │ │ ├── configmodel.h │ │ │ ├── drawarea.cpp │ │ │ ├── drawarea.h │ │ │ ├── swiotconfig.cpp │ │ │ └── swiotconfig.h │ │ ├── externalpsreaderthread.cpp │ │ ├── faults │ │ │ ├── faults.cpp │ │ │ ├── faultsdevice.cpp │ │ │ ├── faultsgroup.cpp │ │ │ ├── faultspage.cpp │ │ │ └── faultwidget.cpp │ │ ├── max14906 │ │ │ ├── diocontroller.cpp │ │ │ ├── diodigitalchannel.cpp │ │ │ ├── diodigitalchannelcontroller.cpp │ │ │ ├── diosettingstab.cpp │ │ │ └── max14906.cpp │ │ ├── readerthread.cpp │ │ ├── swiot_logging_categories.cpp │ │ ├── swiotcontroller.cpp │ │ ├── swiotidentifytask.cpp │ │ ├── swiotinfopage.cpp │ │ ├── swiotplugin.cpp │ │ ├── swiotreadtemperaturetask.cpp │ │ └── swiotruntime.cpp │ ├── style │ │ └── qss │ │ │ └── properties │ │ │ └── swiot │ │ │ ├── activeStoredLabel.qss │ │ │ ├── faultsFrame.qss │ │ │ └── lcdNumber.qss │ └── test │ │ ├── CMakeLists.txt │ │ └── tst_pluginloader.cpp ├── test │ ├── .gitignore │ ├── CMakeLists.txt │ ├── include │ │ └── test │ │ │ ├── scopy-testplugin_export.h │ │ │ └── testplugin.h │ ├── res │ │ ├── about.md │ │ ├── attrfactory.qmodel │ │ ├── resources.qrc │ │ └── testImage.png │ ├── src │ │ ├── styletool.cpp │ │ ├── styletool.h │ │ ├── testplugin.cpp │ │ ├── testtool.cpp │ │ └── testtool.h │ └── test │ │ ├── CMakeLists.txt │ │ └── tst_pluginloader.cpp └── test2 │ ├── .gitignore │ ├── CMakeLists.txt │ ├── include │ └── test2 │ │ └── testpluginip.h │ ├── src │ └── testpluginip.cpp │ └── test │ ├── CMakeLists.txt │ └── tst_pluginloader.cpp ├── resources ├── about │ ├── about.html.cmakein │ ├── aboutpage.qrc.cmakein │ ├── buildinfo.html.cmakein │ ├── credits.html.cmakein │ ├── scopy_home.html.cmakein │ └── scopy_osp.html.cmakein ├── aboutpage.qrc ├── emu_xml │ └── pluto.xml ├── license.html ├── properties.rc.cmakein ├── qt.conf.cmakein ├── resources.qrc ├── scopy.desktop.cmakein ├── scopy.html ├── scopy_emu_options_config.json ├── translations.qrc ├── translations │ ├── ar.ts │ ├── cn.ts │ ├── de.ts │ ├── en.ts │ ├── es.ts │ ├── fr.ts │ ├── it.ts │ ├── jp.ts │ ├── kr.ts │ ├── ro.ts │ ├── th.ts │ └── tw.ts └── whatsnew │ └── V2.0.0 │ ├── adc_plugin.html │ ├── dac_plugin.html │ ├── pqm.html │ ├── regmap.html │ └── swiot.html ├── testing_results ├── README.md ├── testing_results_v2.0.0-beta-rc2 │ ├── general │ │ ├── core │ │ │ ├── add_dev_tests.rst │ │ │ ├── connection_tests.rst │ │ │ ├── dev_tests.rst │ │ │ ├── emu_tests.rst │ │ │ ├── hp_tests.rst │ │ │ ├── install_tests.rst │ │ │ └── license_about_page_tests.rst │ │ ├── general_preferences_tests.rst │ │ ├── index.rst │ │ └── instrument_detaching_tests.rst │ ├── index.rst │ ├── plugins │ │ ├── adc │ │ │ ├── adc_tests.rst │ │ │ └── index.rst │ │ ├── dac │ │ │ ├── dac_tests.rst │ │ │ └── index.rst │ │ ├── datalogger │ │ │ ├── datalogger_tests.rst │ │ │ └── index.rst │ │ ├── debugger │ │ │ ├── debugger_preferences_tests.rst │ │ │ ├── debugger_tests.rst │ │ │ └── index.rst │ │ ├── index.rst │ │ ├── m2k │ │ │ ├── digital_io_tests.rst │ │ │ ├── general_settings_tests.rst │ │ │ ├── index.rst │ │ │ ├── logic_analyzer_tests.rst │ │ │ ├── network_analyzer_tests.rst │ │ │ ├── oscilloscope_tests.rst │ │ │ ├── pattern_generator_tests.rst │ │ │ ├── power_supply_tests.rst │ │ │ ├── signal_generator_tests.rst │ │ │ ├── spectrum_analyzer_tests.rst │ │ │ └── voltmeter_tests.rst │ │ ├── pqm │ │ │ ├── index.rst │ │ │ └── pqm_tests.rst │ │ ├── registermap │ │ │ ├── index.rst │ │ │ └── registermap_tests.rst │ │ └── swiot1l │ │ │ ├── index.rst │ │ │ └── swiot1l_tests.rst │ ├── test_report.rst │ └── testing_guide.rst └── testing_results_v2.0.0-beta-rc3 │ ├── general │ ├── core │ │ ├── add_dev_tests.rst │ │ ├── connection_tests.rst │ │ ├── dev_tests.rst │ │ ├── emu_tests.rst │ │ ├── hp_tests.rst │ │ ├── install_tests.rst │ │ └── license_about_page_tests.rst │ ├── general_preferences_tests.rst │ ├── index.rst │ └── instrument_detaching_tests.rst │ ├── index.rst │ ├── plugins │ ├── adc │ │ ├── adc_tests.rst │ │ └── index.rst │ ├── dac │ │ ├── dac_tests.rst │ │ └── index.rst │ ├── datalogger │ │ ├── datalogger_tests.rst │ │ └── index.rst │ ├── debugger │ │ ├── debugger_preferences_tests.rst │ │ ├── debugger_tests.rst │ │ └── index.rst │ ├── index.rst │ ├── m2k │ │ ├── digital_io_tests.rst │ │ ├── general_settings_tests.rst │ │ ├── index.rst │ │ ├── logic_analyzer_tests.rst │ │ ├── network_analyzer_tests.rst │ │ ├── oscilloscope_tests.rst │ │ ├── pattern_generator_tests.rst │ │ ├── power_supply_tests.rst │ │ ├── signal_generator_tests.rst │ │ ├── spectrum_analyzer_tests.rst │ │ └── voltmeter_tests.rst │ ├── pqm │ │ ├── index.rst │ │ └── pqm_tests.rst │ ├── registermap │ │ ├── index.rst │ │ └── registermap_tests.rst │ └── swiot1l │ │ ├── index.rst │ │ └── swiot1l_tests.rst │ ├── test_report.rst │ └── testing_guide.rst ├── tests └── CMakeLists.txt ├── tmp ├── adc │ ├── adcinstrument.cpp │ └── adcinstrument.h └── grutil │ ├── include │ ├── grdeviceaddon.h │ ├── grtimechanneladdon.h │ ├── grtimeplotaddon.h │ ├── grtimeplotaddonsettings.h │ ├── timechanneladdon.h │ └── tooladdon.h │ └── src │ ├── grdeviceaddon.cpp │ ├── grtimechanneladdon.cpp │ ├── grtimeplotaddon.cpp │ ├── grtimeplotaddonsettings.cpp │ └── timechanneladdon.cpp ├── tools ├── README ├── csvToXml.py ├── exclude_list.sh ├── flatpak-licenses.html ├── flatpak_deps_licenses.sh ├── format.sh ├── includemocs.py ├── includemocs.sh ├── js │ ├── README.md │ ├── active_learning │ │ └── sar_adc.js │ ├── examples │ │ ├── dio.js │ │ ├── power_dmm.js │ │ └── siggen_osc.js │ ├── patterngenerator │ │ ├── bareminimum │ │ │ ├── generate.js │ │ │ └── generator.json │ │ ├── pulsegen │ │ │ ├── generate.js │ │ │ ├── generator.json │ │ │ ├── scriptpulsegen.ui │ │ │ └── ui.js │ │ └── readme.md │ ├── read_dmm.js │ ├── startupscript.js │ └── termal_calib.js ├── license-header │ ├── .comment_styles.conf │ ├── .gitignore │ ├── README.md │ ├── add_license_header.sh │ ├── batch_add_license_headers.sh │ ├── scan_missing_headers.sh │ └── templates │ │ └── Scopy │ │ ├── LICENSE │ │ └── params.conf ├── license.sh ├── packagegenerator │ ├── README.md │ ├── package_generator.py │ ├── pkg.json │ ├── plugin.json │ ├── requirements.txt │ ├── templates │ │ ├── ci │ │ │ ├── arm64_build.mako │ │ │ ├── armhf_build.mako │ │ │ ├── build_mingw_pkg.mako │ │ │ ├── macOS_build.mako │ │ │ ├── ubuntu22_build.mako │ │ │ └── windows_build.mako │ │ ├── package │ │ │ ├── manifest_cmakein.mako │ │ │ └── pkg_cmakelists.mako │ │ ├── pdk │ │ │ ├── pdk_cmake_module.mako │ │ │ ├── pdk_cmakein.mako │ │ │ ├── pdk_cmakelists.mako │ │ │ ├── pdk_header.mako │ │ │ └── pdk_src.mako │ │ └── plugin │ │ │ ├── cmakelists.mako │ │ │ ├── plugin_cmakein.mako │ │ │ ├── plugin_header.mako │ │ │ ├── plugin_src.mako │ │ │ ├── pluginloader.mako │ │ │ ├── tool_header.mako │ │ │ └── tool_src.mako │ └── update_cmake.py ├── scopy_ini_converter.py └── style_generator.py └── windows ├── drivers ├── amd64 │ ├── WdfCoInstaller01011.dll │ └── winusbcoinstaller2.dll ├── dpinst.xml ├── license │ └── dfu-util │ │ └── COPYING ├── pluto-cdc-acm.cat ├── pluto-cdc-acm.inf ├── pluto-dfu.cat ├── pluto-dfu.inf ├── pluto-rndis.cat ├── pluto-rndis.inf ├── pluto-usbd.cat ├── pluto-usbd.inf └── x86 │ ├── WdfCoInstaller01011.dll │ └── winusbcoinstaller2.dll ├── properties.rc.cmakein └── scopy-64.iss.cmakein /.clangformatignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/.clangformatignore -------------------------------------------------------------------------------- /.cmake-format: -------------------------------------------------------------------------------- 1 | bullet_char: '*' 2 | dangle_parens: True 3 | enum_char: . 4 | line_ending: unix 5 | line_width: 120 6 | max_pargs_hwrap: 4 7 | max_subgroups_hwrap: 3 8 | separate_ctrl_name_with_space: false 9 | separate_fn_name_with_space: false 10 | tab_size: 8 11 | use_tabchars: True 12 | first_comment_is_literal: true -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: ': ' 5 | labels: 'enhancement' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /.github/workflows/license-header.yml: -------------------------------------------------------------------------------- 1 | name: license-headers 2 | 3 | on: [push, pull_request] 4 | 5 | env: 6 | BUILD_HOST: ubuntu-22.04 7 | USERNAME: github-actions 8 | 9 | jobs: 10 | check-license-headers: 11 | runs-on: ubuntu-latest 12 | timeout-minutes: 15 13 | name: Validate Scopy GPL License 14 | steps: 15 | - name: Checkout repository 16 | uses: actions/checkout@v4 17 | with: 18 | set-safe-directory: 'true' 19 | - name: Run License Scanner Utility 20 | shell: bash 21 | run: | 22 | export CI_SCRIPT=ON 23 | cd $GITHUB_WORKSPACE 24 | ./tools/license.sh 25 | -------------------------------------------------------------------------------- /.github/workflows/ubuntu20build.yml: -------------------------------------------------------------------------------- 1 | name: Ubuntu 20 Scopy Build 2 | 3 | on: [push, pull_request] 4 | 5 | env: 6 | BUILD_HOST: ubuntu-22.04 7 | USERNAME: github-actions 8 | 9 | jobs: 10 | 11 | build_scopy_on_ubuntu20: 12 | runs-on: ubuntu-22.04 13 | container: 14 | image: cristianbindea/scopy2-ubuntu20:latest 15 | options: --user root 16 | steps: 17 | - uses: actions/checkout@v4 18 | - name: Build Scopy 19 | run: | 20 | /bin/bash -c "git config --global --add safe.directory $GITHUB_WORKSPACE" 21 | /bin/bash -c "export CI_SCRIPT=ON && $GITHUB_WORKSPACE/ci/ubuntu/ubuntu_build_process.sh build_scopy" -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "ci/flatpak/shared-modules"] 2 | path = ci/flatpak/shared-modules 3 | url = https://github.com/flathub/shared-modules.git 4 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to Scopy 2 | 3 | Thank you for considering contributing to the Scopy project! Contributions from the community are what make this project thrive. Whether you're fixing bugs, improving documentation, or developing new features, your efforts help us build a better tool for everyone. 4 | 5 | This guide outlines the processes and standards that we follow to ensure consistency, quality, and maintainability across the project. Adhering to these guidelines will make it easier for the Scopy contributions to review and integrate the changes into the project. 6 | 7 | ## [Coding Guidelines](.github/contributing/coding-guidelines.md) 8 | 9 | ## [Project Structure](.github/contributing/project-structure.md) 10 | -------------------------------------------------------------------------------- /android/assets/README.MD: -------------------------------------------------------------------------------- 1 | To have a correct deploy, this should look something like: 2 | 3 | assets 4 | - libsigrokdecode 5 | | - decoders 6 | | | - <all the decoders> 7 | - python3.8 8 | | - <python files from staging/lib/python3.8> 9 | - iio-emu (wip) 10 | -------------------------------------------------------------------------------- /android/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | # For more details on how to configure your build environment visit 3 | # http://www.gradle.org/docs/current/userguide/build_environment.html 4 | # Specifies the JVM arguments used for the daemon process. 5 | # The setting is particularly useful for tweaking memory settings. 6 | org.gradle.jvmargs=-Xmx2048m 7 | 8 | # Gradle caching allows reusing the build artifacts from a previous 9 | # build with the same inputs. However, over time, the cache size will 10 | # grow. Uncomment the following line to enable it. 11 | #org.gradle.caching=true 12 | -------------------------------------------------------------------------------- /android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | #distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip 4 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-all.zip 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /android/res/drawable-hdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/android/res/drawable-hdpi/icon.png -------------------------------------------------------------------------------- /android/res/drawable-hdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/android/res/drawable-hdpi/logo.png -------------------------------------------------------------------------------- /android/res/drawable-hdpi/logo_land.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/android/res/drawable-hdpi/logo_land.png -------------------------------------------------------------------------------- /android/res/drawable-hdpi/logo_port.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/android/res/drawable-hdpi/logo_port.png -------------------------------------------------------------------------------- /android/res/drawable-ldpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/android/res/drawable-ldpi/icon.png -------------------------------------------------------------------------------- /android/res/drawable-ldpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/android/res/drawable-ldpi/logo.png -------------------------------------------------------------------------------- /android/res/drawable-ldpi/logo_land.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/android/res/drawable-ldpi/logo_land.png -------------------------------------------------------------------------------- /android/res/drawable-ldpi/logo_port.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/android/res/drawable-ldpi/logo_port.png -------------------------------------------------------------------------------- /android/res/drawable-mdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/android/res/drawable-mdpi/icon.png -------------------------------------------------------------------------------- /android/res/drawable-mdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/android/res/drawable-mdpi/logo.png -------------------------------------------------------------------------------- /android/res/drawable-mdpi/logo_land.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/android/res/drawable-mdpi/logo_land.png -------------------------------------------------------------------------------- /android/res/drawable-mdpi/logo_port.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/android/res/drawable-mdpi/logo_port.png -------------------------------------------------------------------------------- /android/res/drawable-xhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/android/res/drawable-xhdpi/icon.png -------------------------------------------------------------------------------- /android/res/drawable-xhdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/android/res/drawable-xhdpi/logo.png -------------------------------------------------------------------------------- /android/res/drawable-xhdpi/logo_land.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/android/res/drawable-xhdpi/logo_land.png -------------------------------------------------------------------------------- /android/res/drawable-xhdpi/logo_port.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/android/res/drawable-xhdpi/logo_port.png -------------------------------------------------------------------------------- /android/res/drawable-xxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/android/res/drawable-xxhdpi/icon.png -------------------------------------------------------------------------------- /android/res/drawable-xxhdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/android/res/drawable-xxhdpi/logo.png -------------------------------------------------------------------------------- /android/res/drawable-xxhdpi/logo_land.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/android/res/drawable-xxhdpi/logo_land.png -------------------------------------------------------------------------------- /android/res/drawable-xxhdpi/logo_port.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/android/res/drawable-xxhdpi/logo_port.png -------------------------------------------------------------------------------- /android/res/drawable-xxxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/android/res/drawable-xxxhdpi/icon.png -------------------------------------------------------------------------------- /android/res/drawable-xxxhdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/android/res/drawable-xxxhdpi/logo.png -------------------------------------------------------------------------------- /android/res/drawable-xxxhdpi/logo_land.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/android/res/drawable-xxxhdpi/logo_land.png -------------------------------------------------------------------------------- /android/res/drawable-xxxhdpi/logo_port.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/android/res/drawable-xxxhdpi/logo_port.png -------------------------------------------------------------------------------- /android/res/drawable/splashscreen.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 3 | <item> 4 | <shape android:shape="rectangle"> 5 | <solid android:color="#4a64ff"/> 6 | </shape> 7 | </item> 8 | <item> 9 | <bitmap android:src="@drawable/logo" android:gravity="center"/> 10 | </item> 11 | </layer-list> 12 | -------------------------------------------------------------------------------- /android/res/drawable/splashscreen_land.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 3 | <item> 4 | <shape android:shape="rectangle"> 5 | <solid android:color="#4a64ff"/> 6 | </shape> 7 | </item> 8 | <item> 9 | <bitmap android:src="@drawable/logo_land" android:gravity="center"/> 10 | </item> 11 | </layer-list> 12 | -------------------------------------------------------------------------------- /android/res/drawable/splashscreen_port.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 3 | <item> 4 | <shape android:shape="rectangle"> 5 | <solid android:color="#4a64ff"/> 6 | </shape> 7 | </item> 8 | <item> 9 | <bitmap android:src="@drawable/logo_port" android:gravity="center"/> 10 | </item> 11 | </layer-list> 12 | -------------------------------------------------------------------------------- /android/res/values-land/splashscreentheme.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <resources> 3 | <style name="splashScreenTheme"> 4 | <item name="android:windowBackground">@drawable/splashscreen_land</item> 5 | </style> 6 | </resources> 7 | -------------------------------------------------------------------------------- /android/res/values-port/splashscreentheme.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <resources> 3 | <style name="splashScreenTheme"> 4 | <item name="android:windowBackground">@drawable/splashscreen_port</item> 5 | </style> 6 | </resources> 7 | -------------------------------------------------------------------------------- /android/res/values/libs.xml: -------------------------------------------------------------------------------- 1 | <?xml version='1.0' encoding='utf-8'?> 2 | <resources> 3 | <array name="qt_sources"> 4 | <item>https://download.qt.io/ministro/android/qt5/qt-5.14</item> 5 | </array> 6 | 7 | <!-- The following is handled automatically by the deployment tool. It should 8 | not be edited manually. --> 9 | 10 | <array name="bundled_libs"> 11 | <!-- %%INSERT_EXTRA_LIBS%% --> 12 | </array> 13 | 14 | <array name="qt_libs"> 15 | <!-- %%INSERT_QT_LIBS%% --> 16 | </array> 17 | 18 | <array name="load_local_libs"> 19 | <!-- %%INSERT_LOCAL_LIBS%% --> 20 | </array> 21 | 22 | </resources> 23 | -------------------------------------------------------------------------------- /android/res/values/splashscreentheme.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <resources> 3 | <style name="splashScreenTheme"> 4 | <item name="android:windowBackground">@drawable/splashscreen</item> 5 | </style> 6 | </resources> 7 | -------------------------------------------------------------------------------- /android/res/xml/device_filter.xml: -------------------------------------------------------------------------------- 1 | <resources> 2 | <usb-device vendor-id="0456" product-id="b672" /> 3 | </resources> 4 | -------------------------------------------------------------------------------- /ci/android/android_scopy_keystore: -------------------------------------------------------------------------------- 1 | KEYSTOREPASSWORD="--storepass xxx --keypass xxx" 2 | -------------------------------------------------------------------------------- /ci/arm/.dockerignore: -------------------------------------------------------------------------------- 1 | * 2 | !sysroot.tar.gz 3 | !arm_build_process.sh 4 | !arm_build_config.sh 5 | !cmake_toolchain.cmake 6 | !create_sysroot.sh 7 | !copy-deps.sh 8 | !inside_chroot.sh 9 | !build_qt.sh 10 | !qt_patch_arm32.patch 11 | !qt_patch_arm64.patch 12 | -------------------------------------------------------------------------------- /ci/arm/runtime-aarch64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/ci/arm/runtime-aarch64 -------------------------------------------------------------------------------- /ci/arm/runtime-armhf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/ci/arm/runtime-armhf -------------------------------------------------------------------------------- /ci/flatpak/.gitignore: -------------------------------------------------------------------------------- 1 | Scopy.flatpak 2 | .flatpak-builder 3 | build 4 | repo 5 | org.adi.Scopy.json 6 | tmp.json 7 | -------------------------------------------------------------------------------- /ci/flatpak/build_flatpak_deps.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -xe 2 | 3 | # to fix the error "fatal: transport 'file' not allowed" 4 | git config --global protocol.file.allow always 5 | 6 | mkdir -p /home/runner/flatpak_tools 7 | pushd /home/runner/flatpak_tools 8 | cp /home/runner/config/* /home/runner/flatpak_tools 9 | git clone https://github.com/flathub/shared-modules.git 10 | make preprocess 11 | 12 | flatpak-builder --verbose --keep-build-dirs --ccache --user --disable-rofiles-fuse --force-clean --arch=x86_64 --stop-at=scopy build org.adi.Scopy.json 13 | popd 14 | -------------------------------------------------------------------------------- /ci/general/gen_ci_envs.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo GITHUB_WORKSPACE=$GITHUB_WORKSPACE 4 | echo REPO_URL=${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY} 5 | echo BUILD_HOST=${BUILD_HOST} 6 | echo USERNAME=${USERNAME} 7 | echo GITHUB_SERVER_URL=${GITHUB_SERVER_URL} 8 | echo GITHUB_API_URL=${GITHUB_API_URL} 9 | echo GITHUB_REPOSITORY_OWNER=${GITHUB_REPOSITORY%/*} 10 | echo GITHUB_REPOSITORY=${GITHUB_REPOSITORY#*/} 11 | echo GITHUB_RUN_ID=${GITHUB_RUN_ID} 12 | echo GITHUB_RUN_NUMBER=${GITHUB_RUN_NUMBER} 13 | echo GITHUB_JOB=${GITHUB_JOB} 14 | echo GITHUB_RUN_ID=${GITHUB_RUN_ID} 15 | echo GITHUB_RUN_NUMBER=${GITHUB_RUN_NUMBER} 16 | echo RUNNER_ARCH=${RUNNER_ARCH} -------------------------------------------------------------------------------- /ci/general/scopy.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Icon=scopy 3 | Exec=scopy 4 | Terminal=false 5 | Type=Application 6 | Categories=Science 7 | Name=Scopy 8 | GenericName=Oscilloscope 9 | Comment=A software oscilloscope 10 | -------------------------------------------------------------------------------- /ci/macOS/macos_config.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | STAGING_AREA=$PWD/staging 4 | STAGING_AREA_DEPS=$STAGING_AREA/dependencies 5 | REPO_SRC=$(git rev-parse --show-toplevel) 6 | BUILDDIR=$REPO_SRC/build 7 | JOBS=-j8 8 | QT_FORMULAE=qt@5 9 | QT_PATH="$(brew --prefix ${QT_FORMULAE})/bin" 10 | export PATH="${QT_PATH}:$PATH" 11 | export LD_LIBRARY_PATH="$LD_LIBRARY_PATH;$STAGING_AREA_DEPS;$STAGING_AREA_DEPS/lib" 12 | 13 | 14 | LIBSERIALPORT_BRANCH=master 15 | LIBIIO_VERSION=v0.26 16 | LIBAD9361_BRANCH=main 17 | LIBM2K_BRANCH=main 18 | GNURADIO_BRANCH=scopy2-maint-3.10 19 | GRSCOPY_BRANCH=3.10 20 | GRM2K_BRANCH=main 21 | QWT_BRANCH=qwt-multiaxes-updated 22 | LIBSIGROKDECODE_BRANCH=master 23 | LIBTINYIIOD_BRANCH=master 24 | KDDOCK_BRANCH=2.1 25 | ECM_BRANCH=kf5 26 | KARCHIVE_BRANCH=kf5 -------------------------------------------------------------------------------- /ci/old/extract_msys_deps.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/bash.exe 2 | 3 | SCOPY_MINGW_BUILD_DEPS_FORK=analogdevicesinc 4 | SCOPY_MINGW_BUILD_DEPS_BRANCH=master 5 | 6 | echo "Download pre-downloaded MSYS2 libraries with required versions... " 7 | wget "https://ci.appveyor.com/api/projects/$SCOPY_MINGW_BUILD_DEPS_FORK/scopy-mingw-build-deps/artifacts/old-msys-build-deps-$MINGW_VERSION.tar.xz?branch=$SCOPY_MINGW_BUILD_DEPS_BRANCH&job=Environment: MINGW_VERSION=$MINGW_VERSION, ARCH=$ARCH" -O /tmp/old-msys-build-deps-$MINGW_VERSION.tar.xz 8 | cd /c 9 | tar xvf /tmp/old-msys-build-deps-$MINGW_VERSION.tar.xz 10 | -------------------------------------------------------------------------------- /ci/old/inside_centos_docker.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -xe 2 | 3 | LIBNAME="$1" 4 | 5 | cd /$LIBNAME 6 | 7 | /$LIBNAME/CI/travis/before_install_linux.sh centos centos7 "$LIBNAME" 8 | 9 | export TRAVIS="false" 10 | 11 | echo $PATH 12 | echo $PKG_CONFIG_PATH 13 | 14 | ls /usr/local/lib/pkgconfig 15 | ls /usr/local/lib64/pkgconfig 16 | 17 | 18 | /$LIBNAME/CI/travis/make_linux.sh "$LIBNAME" centos 19 | . /${LIBNAME}/CI/travis/lib.sh 20 | echo "$(get_ldist)" > /${LIBNAME}/build/.LDIST 21 | -------------------------------------------------------------------------------- /ci/old/inside_ubuntu_docker.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -xe 2 | 3 | LIBNAME="$1" 4 | 5 | cd /$LIBNAME 6 | 7 | apt-get -qq update 8 | apt-get -y install sudo 9 | apt-get -y install software-properties-common git wget 10 | pwd 11 | ls 12 | /$LIBNAME/CI/travis/before_install_linux.sh default bionic "$LIBNAME" 13 | 14 | /$LIBNAME/CI/travis/make_linux.sh "$LIBNAME" default 15 | . /${LIBNAME}/CI/travis/lib.sh 16 | echo "$(get_ldist)" > /${LIBNAME}/build/.LDIST 17 | -------------------------------------------------------------------------------- /ci/old/inside_ubuntu_flatpak_docker.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -xe 2 | 3 | cd /home 4 | apt-get -y install flatpak-builder git wget cmake 5 | 6 | git clone https://github.com/analogdevicesinc/scopy-flatpak -b test 7 | cd scopy-flatpak 8 | make -j4 9 | 10 | ls 11 | 12 | -------------------------------------------------------------------------------- /ci/old/make_darwin.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | . CI/travis/lib.sh 5 | 6 | # if we have a Qt59 installation use it 7 | if [ -f /opt/qt59/bin/qt59-env.sh ] ; then 8 | . /opt/qt59/bin/qt59-env.sh 9 | fi 10 | 11 | if command -v brew ; then 12 | QT_PATH="$(brew --prefix qt)/bin" 13 | export PATH="${QT_PATH}:$PATH" 14 | fi 15 | 16 | NUM_JOBS=4 17 | 18 | mkdir -p build 19 | 20 | pushd build 21 | 22 | if [ "$TRAVIS" == "true" ] ; then 23 | cmake .. 24 | make -j${NUM_JOBS} 25 | else 26 | cmake -DCMAKE_PREFIX_PATH="$STAGINGDIR;${QT_PATH}/lib/cmake" -DCMAKE_INSTALL_PREFIX="$STAGINGDIR" \ 27 | -DCMAKE_EXE_LINKER_FLAGS="-L${STAGINGDIR}/lib" .. 28 | CFLAGS=-I${STAGINGDIR}/include LDFLAGS=-L${STAGINGDIR}/lib make -j${NUM_JOBS} 29 | fi 30 | 31 | popd 32 | 33 | -------------------------------------------------------------------------------- /ci/old/patches/boost-darwin.patch: -------------------------------------------------------------------------------- 1 | diff --git a/darwin.jam b/darwin.jam 2 | --- a/tools/build/src/tools/darwin.jam 3 | +++ b/tools/build/src/tools/darwin.jam 4 | @@ -138,10 +138,10 @@ 5 | common.handle-options darwin : $(condition) : $(command) : $(options) ; 6 | 7 | # - GCC 4.0 and higher in Darwin does not have -fcoalesce-templates. 8 | - if $(real-version) < "4.0.0" 9 | - { 10 | - flags darwin.compile.c++ OPTIONS $(condition) : -fcoalesce-templates ; 11 | - } 12 | +# if $(real-version) < "4.0.0" 13 | +# { 14 | +# flags darwin.compile.c++ OPTIONS $(condition) : -fcoalesce-templates ; 15 | +# } 16 | # - GCC 4.2 and higher in Darwin does not have -Wno-long-double. 17 | if $(real-version) < "4.2.0" 18 | { 19 | -------------------------------------------------------------------------------- /ci/old/set_build_env_msys.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/bash.exe 2 | 3 | export MINGW_VERSION=mingw64 4 | export ARCH=x86_64 5 | 6 | export CC=/${MINGW_VERSION}/bin/${ARCH}-w64-mingw32-gcc.exe 7 | export CXX=/${MINGW_VERSION}/bin/${ARCH}-w64-mingw32-g++.exe 8 | 9 | export CMAKE_OPTS=" 10 | -DCMAKE_C_COMPILER:FILEPATH=${CC} \ 11 | -DCMAKE_CXX_COMPILER:FILEPATH=${CXX} \ 12 | -DPKG_CONFIG_EXECUTABLE=/c/msys64/$MINGW_VERSION/bin/pkg-config.exe \ 13 | -DCMAKE_PREFIX_PATH=/c/msys64/$MINGW_VERSION/lib/cmake \ 14 | -DCMAKE_BUILD_TYPE=RelWithDebInfo \ 15 | " 16 | 17 | export SCOPY_CMAKE_OPTS=" 18 | $RC_COMPILER_OPT \ 19 | -DBREAKPAD_HANDLER=OFF \ 20 | -DGIT_EXECUTABLE=/c/Program\\ Files/Git/cmd/git.exe \ 21 | -DPYTHON_EXECUTABLE=/$MINGW_VERSION/bin/python3.exe \ 22 | " 23 | -------------------------------------------------------------------------------- /ci/ubuntu/.dockerignore: -------------------------------------------------------------------------------- 1 | * 2 | !ubuntu_build_process.sh 3 | -------------------------------------------------------------------------------- /ci/ubuntu/create_docker_image.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -ex 2 | 3 | SRC_SCRIPT=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) 4 | 5 | ubuntu20(){ 6 | pushd $SRC_SCRIPT 7 | docker build -t cristianbindea/scopy2-ubuntu20:testing -f docker_ubuntu20/Dockerfile . 8 | popd 9 | } 10 | 11 | ubuntu22(){ 12 | pushd $SRC_SCRIPT 13 | docker build -t cristianbindea/scopy2-ubuntu22:testing -f docker_ubuntu22/Dockerfile . 14 | popd 15 | } 16 | 17 | for arg in $@; do 18 | $arg 19 | done 20 | -------------------------------------------------------------------------------- /ci/windows/.dockerignore: -------------------------------------------------------------------------------- 1 | * 2 | !build_and_create_installer.sh 3 | !mingw_toolchain.sh 4 | !windows_build_process.sh 5 | !sigrokdecode-windows-fix.patch -------------------------------------------------------------------------------- /ci/windows/sigrokdecode-windows-fix.patch: -------------------------------------------------------------------------------- 1 | commit 1b13802e324f00f4e840eff7b0f3b6761fffa1a1 2 | Author: Bindea Cristian <cristian.bindea@analog.com> 3 | Date: Thu Mar 2 16:07:15 2023 +0200 4 | 5 | Subject: [PATCH] Update public functions visibility on Windows 6 | 7 | Signed-off-by: Bindea Cristian <cristian.bindea@analog.com> 8 | 9 | diff --git a/libsigrokdecode.h b/libsigrokdecode.h 10 | index ea17cb8..acc2cbc 100644 11 | --- a/libsigrokdecode.h 12 | +++ b/libsigrokdecode.h 13 | @@ -112,6 +112,8 @@ enum srd_loglevel { 14 | # else 15 | # define SRD_API extern 16 | # endif 17 | +#elif defined(LIBSIGROKDECODE_EXPORT) 18 | +# define SRD_API __declspec(dllexport) 19 | #else 20 | # define SRD_API __attribute__((visibility("default"))) 21 | #endif 22 | -------------------------------------------------------------------------------- /ci/x86_64/.dockerignore: -------------------------------------------------------------------------------- 1 | * 2 | !x86-64_appimage_process.sh 3 | -------------------------------------------------------------------------------- /ci/x86_64/create_docker_image.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -ex 2 | 3 | SRC_SCRIPT=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) 4 | pushd $SRC_SCRIPT 5 | 6 | docker build -t cristianbindea/scopy2-x86_64-appimage:testing -f docker/Dockerfile . 7 | 8 | popd 9 | -------------------------------------------------------------------------------- /core/include/core/scopy-core_config.h.cmakein: -------------------------------------------------------------------------------- 1 | #ifndef SCOPY_CORE_CONFIG_H_CMAKEIN 2 | #define SCOPY_CORE_CONFIG_H_CMAKEIN 3 | 4 | #cmakedefine WITH_PYTHON 5 | #cmakedefine WITH_SIGROK 6 | #cmakedefine PYTHON_VERSION "@PYTHON_VERSION@" 7 | #cmakedefine SCOPY_DEV_MODE 8 | #cmakedefine BUILD_PYTHON_LIBRARY_DIRS "@BUILD_PYTHON_LIBRARY_DIRS@" 9 | 10 | #endif // SCOPY_CORE_CONFIG_H_CMAKEIN 11 | -------------------------------------------------------------------------------- /core/test/resources/translations.qrc: -------------------------------------------------------------------------------- 1 | <RCC> 2 | <qresource prefix="/translations"> 3 | @TRANSLATIONS@ 4 | </qresource> 5 | </RCC> 6 | -------------------------------------------------------------------------------- /core/test/resources/translations/test.ts: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <!DOCTYPE TS> 3 | <TS version="2.1" language="test"> 4 | <context> 5 | <name>TST_TranslationsRepository</name> 6 | <message> 7 | <source>TEST1</source> 8 | <translation>test1</translation> 9 | </message> 10 | </context> 11 | </TS> 12 | -------------------------------------------------------------------------------- /core/test/resources/translations/test_test.ts: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <!DOCTYPE TS> 3 | <TS version="2.1" language="test"> 4 | <context> 5 | <name>TST_TranslationsRepository</name> 6 | <message> 7 | <source>TEST2</source> 8 | <translation>test2</translation> 9 | </message> 10 | </context> 11 | </TS> 12 | -------------------------------------------------------------------------------- /core/test/testPluginExcludeLower.json: -------------------------------------------------------------------------------- 1 | (R"plugin( 2 | { 3 | "TestPlugin" : { 4 | "priority":2, 5 | "category" : ["test", "unittest"] 6 | }, 7 | "TestPluginIp" : { 8 | "priority":1000, 9 | "category" : ["test", "unittest"], 10 | "exclude" : ["*", "!testplugin" ] 11 | } 12 | } 13 | )plugin") 14 | 15 | -------------------------------------------------------------------------------- /core/test/testPluginExcludeSpecificLower.json: -------------------------------------------------------------------------------- 1 | (R"plugin( 2 | { 3 | "TestPlugin" : { 4 | "priority":2, 5 | "category" : ["test", "unittest"] 6 | }, 7 | "TestPluginIp" : { 8 | "priority":1000, 9 | "category" : ["test", "unittest"], 10 | "exclude" : ["testplugin" ] 11 | } 12 | } 13 | )plugin") 14 | 15 | -------------------------------------------------------------------------------- /core/test/testPluginExcludeSpecificUpper.json: -------------------------------------------------------------------------------- 1 | (R"plugin( 2 | { 3 | "TestPlugin" : { 4 | "priority":2, 5 | "category" : ["test", "unittest"] 6 | }, 7 | "TestPluginIp" : { 8 | "priority":1000, 9 | "category" : ["test", "unittest"], 10 | "exclude" : ["TESTPLUGIN" ] 11 | } 12 | } 13 | )plugin") 14 | 15 | -------------------------------------------------------------------------------- /core/test/testPluginExcludeUpper.json: -------------------------------------------------------------------------------- 1 | (R"plugin( 2 | { 3 | "TestPlugin" : { 4 | "priority":2, 5 | "category" : ["test", "unittest"] 6 | }, 7 | "TestPluginIp" : { 8 | "priority":1000, 9 | "category" : ["test", "unittest"], 10 | "exclude" : ["*", "!TESTPLUGIN" ] 11 | } 12 | } 13 | )plugin") 14 | 15 | -------------------------------------------------------------------------------- /core/test/testplugin.json: -------------------------------------------------------------------------------- 1 | (R"plugin( 2 | { 3 | "TestPlugin" : { 4 | "priority":2, 5 | "category" : ["test", "unittest"] 6 | }, 7 | "TestPluginIp" : { 8 | "priority":1000, 9 | "category" : ["test", "unittest"] 10 | } 11 | } 12 | )plugin") 13 | -------------------------------------------------------------------------------- /core/test/testpluginexclude.json: -------------------------------------------------------------------------------- 1 | (R"plugin( 2 | { 3 | "TestPlugin" : { 4 | "priority":2, 5 | "category" : ["test", "unittest"] 6 | }, 7 | "TestPluginIp" : { 8 | "priority":1000, 9 | "category" : ["test", "unittest"], 10 | "exclude" : "*" 11 | } 12 | } 13 | )plugin") 14 | 15 | -------------------------------------------------------------------------------- /core/test/testpluginexclude2.json: -------------------------------------------------------------------------------- 1 | (R"plugin( 2 | { 3 | "TestPlugin" : { 4 | "priority":2, 5 | "category" : ["test", "unittest"] 6 | }, 7 | "TestPluginIp" : { 8 | "priority":1000, 9 | "category" : ["test", "unittest"], 10 | "exclude" : ["*", "!TestPlugin" ] 11 | } 12 | } 13 | )plugin") 14 | 15 | -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- 1 | !Makefile 2 | -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- 1 | SHELL = /bin/bash 2 | SPHINXOPTS ?= 3 | SPHINXBUILD ?= sphinx-build 4 | SOURCEDIR = . 5 | BUILDDIR = _build 6 | 7 | help: 8 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 9 | 10 | .PHONY: help Makefile 11 | 12 | %: Makefile 13 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 14 | -------------------------------------------------------------------------------- /docs/buildHtml.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | make clean html 4 | make html 5 | 6 | -------------------------------------------------------------------------------- /docs/developer_guide/index.rst: -------------------------------------------------------------------------------- 1 | .. _developer_guide: 2 | 3 | Scopy developer guide 4 | ================================================================================ 5 | 6 | About 7 | --------------------------------------------------------------------- 8 | Tutorials, coding guidelines and guides for developers. 9 | 10 | .. note:: 11 | 12 | These guides are for Scopy v2.0.0 and future versions. 13 | Follow the user guide for building Scopy on your local machine. Linux is recommended for development 14 | 15 | Contents 16 | --------------------------------------------------------------------- 17 | 18 | .. toctree:: 19 | :includehidden: 20 | :maxdepth: 1 21 | 22 | style 23 | package_generator 24 | plugin_developer_guide 25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/plugins/pqm/index.rst: -------------------------------------------------------------------------------- 1 | .. _pqm_index: 2 | 3 | 4 | PQM 5 | --------------------------------------------------------------------- 6 | 7 | This document describes how Scopy adds support for the PQM board, which 8 | contains as main components an ADE9430 and a MAX32650 (MCU). The device is 9 | exposed through an IIO context, from which we receive and send our necessary 10 | information. 11 | 12 | The plugin contains 4 instruments: 13 | 14 | .. toctree:: 15 | :maxdepth: 3 16 | 17 | rms 18 | harmonics 19 | waveform 20 | settings 21 | -------------------------------------------------------------------------------- /docs/requirements.txt: -------------------------------------------------------------------------------- 1 | sphinx 2 | https://github.com/analogdevicesinc/doctools/releases/download/latest/adi-doctools.tar.gz 3 | sphinxcontrib.wavedrom 4 | -------------------------------------------------------------------------------- /docs/sources/Scopy.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/docs/sources/Scopy.icns -------------------------------------------------------------------------------- /docs/sources/scopy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/docs/sources/scopy.png -------------------------------------------------------------------------------- /docs/tests/general/index.rst: -------------------------------------------------------------------------------- 1 | .. _tests_general: 2 | 3 | General Test Cases 4 | =============================================================================== 5 | 6 | Contents 7 | --------------------------------------------------------------------- 8 | 9 | .. toctree:: 10 | :includehidden: 11 | :maxdepth: 3 12 | 13 | core/hp_tests 14 | core/license_about_page_tests 15 | core/install_tests 16 | core/add_dev_tests 17 | core/connection_tests 18 | core/emu_tests 19 | core/dev_tests 20 | 21 | instrument_detaching_tests 22 | general_preferences_tests 23 | 24 | .. 25 | add the path to each core feature test case here 26 | example core/homepage_tests 27 | 28 | -------------------------------------------------------------------------------- /docs/tests/index.rst: -------------------------------------------------------------------------------- 1 | .. _tests_scopy: 2 | 3 | Test Cases 4 | =============================================================================== 5 | 6 | Current reports 7 | ------------------------ 8 | 9 | .. include:: test_report.rst 10 | 11 | Contents 12 | --------------------------------------------------------------------- 13 | 14 | .. toctree:: 15 | :includehidden: 16 | :maxdepth: 3 17 | 18 | testing_guide 19 | plugins/index 20 | general/index 21 | -------------------------------------------------------------------------------- /docs/tests/plugins/adc/index.rst: -------------------------------------------------------------------------------- 1 | .. _tests_adc: 2 | 3 | ADC 4 | =============================================================================== 5 | 6 | Contents 7 | --------------------------------------------------------------------- 8 | 9 | .. toctree:: 10 | :includehidden: 11 | :maxdepth: 3 12 | 13 | adc_tests 14 | -------------------------------------------------------------------------------- /docs/tests/plugins/dac/index.rst: -------------------------------------------------------------------------------- 1 | .. _tests_dac: 2 | 3 | DAC 4 | =============================================================================== 5 | 6 | Contents 7 | --------------------------------------------------------------------- 8 | 9 | .. toctree:: 10 | :includehidden: 11 | :maxdepth: 3 12 | 13 | dac_tests 14 | -------------------------------------------------------------------------------- /docs/tests/plugins/datalogger/index.rst: -------------------------------------------------------------------------------- 1 | .. _tests_datalogger: 2 | 3 | Datalogger 4 | =============================================================================== 5 | 6 | Contents 7 | --------------------------------------------------------------------- 8 | 9 | .. toctree:: 10 | :includehidden: 11 | :maxdepth: 3 12 | 13 | datalogger_tests 14 | -------------------------------------------------------------------------------- /docs/tests/plugins/debugger/index.rst: -------------------------------------------------------------------------------- 1 | .. _tests_debugger: 2 | 3 | Debugger 4 | =============================================================================== 5 | 6 | Contents 7 | --------------------------------------------------------------------- 8 | 9 | .. toctree:: 10 | :includehidden: 11 | :maxdepth: 3 12 | 13 | debugger_tests 14 | debugger_preferences_tests 15 | -------------------------------------------------------------------------------- /docs/tests/plugins/index.rst: -------------------------------------------------------------------------------- 1 | .. _tests_plugins: 2 | 3 | Plugins Test Cases 4 | =============================================================================== 5 | 6 | Contents 7 | --------------------------------------------------------------------- 8 | 9 | .. toctree:: 10 | :includehidden: 11 | :maxdepth: 3 12 | 13 | pqm/index 14 | datalogger/index 15 | dac/index 16 | swiot1l/index 17 | adc/index 18 | m2k/index 19 | registermap/index 20 | debugger/index 21 | 22 | .. 23 | add the path to each plugin test case here 24 | example dac/dac_tests 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /docs/tests/plugins/m2k/index.rst: -------------------------------------------------------------------------------- 1 | .. _tests_m2k: 2 | 3 | ADALM2000 4 | =============================================================================== 5 | 6 | Contents 7 | --------------------------------------------------------------------- 8 | 9 | .. toctree:: 10 | :includehidden: 11 | :maxdepth: 3 12 | 13 | digital_io_tests 14 | general_settings_tests 15 | logic_analyzer_tests 16 | network_analyzer_tests 17 | oscilloscope_tests 18 | pattern_generator_tests 19 | power_supply_tests 20 | spectrum_analyzer_tests 21 | signal_generator_tests 22 | voltmeter_tests 23 | -------------------------------------------------------------------------------- /docs/tests/plugins/pqm/index.rst: -------------------------------------------------------------------------------- 1 | .. _tests_pqm: 2 | 3 | PQM 4 | =============================================================================== 5 | 6 | Contents 7 | --------------------------------------------------------------------- 8 | 9 | .. toctree:: 10 | :includehidden: 11 | :maxdepth: 3 12 | 13 | pqm_tests 14 | -------------------------------------------------------------------------------- /docs/tests/plugins/registermap/index.rst: -------------------------------------------------------------------------------- 1 | .. _tests_registermap: 2 | 3 | Register Map 4 | =============================================================================== 5 | 6 | Contents 7 | --------------------------------------------------------------------- 8 | 9 | .. toctree:: 10 | :includehidden: 11 | :maxdepth: 3 12 | 13 | registermap_tests 14 | -------------------------------------------------------------------------------- /docs/tests/plugins/swiot1l/index.rst: -------------------------------------------------------------------------------- 1 | .. _tests_swiot1l: 2 | 3 | SWIOT1L 4 | =============================================================================== 5 | 6 | Contents 7 | --------------------------------------------------------------------- 8 | 9 | .. toctree:: 10 | :includehidden: 11 | :maxdepth: 3 12 | 13 | swiot1l_tests 14 | -------------------------------------------------------------------------------- /docs/tests/test_report.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/docs/tests/test_report.rst -------------------------------------------------------------------------------- /gui/include/gui/scopy-gui_config.h.cmakein: -------------------------------------------------------------------------------- 1 | #ifndef SCOPY_GUI_CONFIG_H_CMAKEIN 2 | #define SCOPY_GUI_CONFIG_H_CMAKEIN 3 | 4 | #cmakedefine SCOPY_HAVE_GR_GUI 5 | #cmakedefine SCOPY_HAVE_SIGROK_GUI 6 | 7 | #endif // SCOPY_CORE_CONFIG_H_CMAKEIN 8 | 9 | -------------------------------------------------------------------------------- /gui/res/.gitignore: -------------------------------------------------------------------------------- 1 | about.html 2 | scopy_osp.html 3 | buildinfo.html 4 | credits.html 5 | -------------------------------------------------------------------------------- /gui/res/Arial.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/gui/res/Arial.ttf -------------------------------------------------------------------------------- /gui/res/Inter-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/gui/res/Inter-Regular.ttf -------------------------------------------------------------------------------- /gui/res/Scopy.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/gui/res/Scopy.icns -------------------------------------------------------------------------------- /gui/res/icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/gui/res/icon.ico -------------------------------------------------------------------------------- /gui/res/icon_small.svg: -------------------------------------------------------------------------------- 1 | <svg height="512" viewBox="0 0 16 16" width="512" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd" transform=""><rect fill="#4a64ff" height="16" rx="1.875" width="16"/><path d="m0 10c1.9363 0 2.6565-3 5.3222-3s2.6695 3 5.3388 3c2.67 0 3.487-3 5.339-3" stroke="#fff" stroke-width="1.5"/></g></svg> -------------------------------------------------------------------------------- /gui/res/icons/arrow_down.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="10px" height="10px" version="1.1" viewBox="0 0 10 10" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="none" fill-rule="evenodd"> 4 | <g transform="translate(-1755 -700)" fill="#fff"> 5 | <g transform="translate(1743 667)"> 6 | <polygon transform="translate(17 38) scale(-1 1) rotate(90) translate(-17 -38)" points="17.01 33 22 38 17.01 43 16.01 42 19.011 38.999 12 38.999 12 37.051 19.061 37.051 16.01 34"/> 7 | </g> 8 | </g> 9 | </g> 10 | </svg> 11 | -------------------------------------------------------------------------------- /gui/res/icons/arrow_left.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="10px" height="10px" version="1.1" viewBox="0 0 10 10" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="none" fill-rule="evenodd"> 4 | <g transform="translate(-1660 -605)" fill="#fff"> 5 | <g transform="translate(1660 605)"> 6 | <polygon transform="translate(5 5) scale(-1 1) translate(-5 -5)" points="5.01 0 10 5 5.01 10 4.01 9 7.0107 5.9993 0 5.9993 1.8846e-13 4.0513 7.0613 4.0513 4.01 1"/> 7 | </g> 8 | </g> 9 | </g> 10 | </svg> 11 | -------------------------------------------------------------------------------- /gui/res/icons/arrow_right.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="10px" height="10px" version="1.1" viewBox="0 0 10 10" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="none" fill-rule="evenodd"> 4 | <g transform="translate(-1850 -605)" fill="#fff"> 5 | <g transform="translate(1819 605)"> 6 | <polygon points="36.01 0 41 5 36.01 10 35.01 9 38.011 5.9993 31 5.9993 31 4.0513 38.061 4.0513 35.01 1"/> 7 | </g> 8 | </g> 9 | </g> 10 | </svg> 11 | -------------------------------------------------------------------------------- /gui/res/icons/arrow_up.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="10px" height="10px" version="1.1" viewBox="0 0 10 10" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="none" fill-rule="evenodd"> 4 | <g transform="translate(-1755 -510)" fill="#fff"> 5 | <g transform="translate(1743 510)"> 6 | <polygon transform="translate(17 5) scale(-1) rotate(90) translate(-17 -5)" points="17.01 0 22 5 17.01 10 16.01 9 19.011 5.9993 12 5.9993 12 4.0513 19.061 4.0513 16.01 1"/> 7 | </g> 8 | </g> 9 | </g> 10 | </svg> 11 | -------------------------------------------------------------------------------- /gui/res/icons/choose_file.svg: -------------------------------------------------------------------------------- 1 | <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <g id="Frame"> 3 | <path id="Vector" d="M3 20.9995C2.44772 20.9995 2 20.5518 2 19.9995V3.99951C2 3.44723 2.44772 2.99951 3 2.99951H10.4142L12.4142 4.99951H20C20.5523 4.99951 21 5.44723 21 5.99951V8.99951H4V18.9955L6 10.9995H22.5L20.1894 20.242C20.0781 20.6872 19.6781 20.9995 19.2192 20.9995H3Z" fill="#00427A"/> 4 | </g> 5 | </svg> 6 | -------------------------------------------------------------------------------- /gui/res/icons/circle_led.svg: -------------------------------------------------------------------------------- 1 | <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none"> 2 | <path d="M8,0.5 A7.5,7.5 0 1,1 8,15.5 A7.5,7.5 0 1,1 8,0.5 Z" fill="#2E9E6F" stroke="#FFFFFF" stroke-opacity="0.5"/> 3 | </svg> 4 | -------------------------------------------------------------------------------- /gui/res/icons/device-shapes/square.svg: -------------------------------------------------------------------------------- 1 | <svg width="86" height="86" viewBox="0 0 86 86" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <rect id="icon-rect" width="86" height="86" rx="7.167" fill="#4A64FF"/> 3 | <rect id="top-center-rect" x="9" y="7" width="68" height="48.5" rx="3.583" fill="#272730" fill-opacity="0.2"/> 4 | <rect id="bottom-center-rect" x="9" y="57" width="68" height="21.5" rx="3.583" fill="#272730" fill-opacity="0.2"/> 5 | <path id="left-path" opacity="0.2" d="M0 7.167H3.583C5.547 7.167 7.167 8.787 7.167 10.75V75.25C7.167 77.213 5.547 78.833 3.583 78.833H0V7.167Z" fill="#272730"/> 6 | <path id="right-path" opacity="0.2" d="M78.833 10.75C78.833 8.787 80.453 7.167 82.417 7.167H86V78.833H82.417C80.453 78.833 78.833 77.213 78.833 75.25V10.75Z" fill="#272730"/> 7 | </svg> 8 | -------------------------------------------------------------------------------- /gui/res/icons/gate_handle.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="80" height="20" viewBox="0 0 80 20" xmlns="http://www.w3.org/2000/svg"> 3 | <g transform="" fill="none" fill-rule="evenodd"> 4 | <rect width="80" height="20" rx="4" fill="#9b9b9b"/> 5 | </g> 6 | </svg> 7 | -------------------------------------------------------------------------------- /gui/res/icons/h_cursor_handle.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="40" height="30" viewBox="0 0 40 30" xmlns="http://www.w3.org/2000/svg"> 3 | <g transform="" fill-rule="evenodd"> 4 | <rect width="40" height="30" rx="4" fill="#9b9b9b"/> 5 | <path d="m14.99 20-4.99-5 4.99-5 1 1-4 4 4 4z" fill="#141416"/> 6 | <path d="m25 10 4.99 5-4.99 5-1-1 4-4-4-4z" fill="#141416"/> 7 | </g> 8 | </svg> 9 | -------------------------------------------------------------------------------- /gui/res/icons/handle_down_arrow.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30" height="30" viewBox="0 0 30 30" xmlns="http://www.w3.org/2000/svg"> 3 | <path transform="matrix(1 0 0 -1 -190 814.99)" d="m200 801.99 5-4.99 5 4.99-1 1-4-4-4 4z" fill="#fff" fill-rule="evenodd"/> 4 | </svg> 5 | -------------------------------------------------------------------------------- /gui/res/icons/handle_down_arrow_dark.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30" height="30" viewBox="0 0 30 30" xmlns="http://www.w3.org/2000/svg"> 3 | <path transform="matrix(1 0 0 -1 -190 814.99)" d="m200 801.99 5-4.99 5 4.99-1 1-4-4-4 4z" fill="#fff" fill-rule="evenodd"/> 4 | </svg> 5 | -------------------------------------------------------------------------------- /gui/res/icons/handle_left_arrow.svg: -------------------------------------------------------------------------------- 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30" height="30" width="30"><g xmlns="http://www.w3.org/2000/svg" transform="matrix(-1 0 0 -1 30 30)"><path transform="matrix(0 1 -1 0 815 -190)" d="m200 801.99 5-4.99 5 4.99-1 1-4-4-4 4z" fill="#fff" fill-rule="evenodd" /></g></svg> -------------------------------------------------------------------------------- /gui/res/icons/handle_right_arrow.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30" height="30" viewBox="0 0 30 30" xmlns="http://www.w3.org/2000/svg"> 3 | <path transform="matrix(0 1 -1 0 815 -190)" d="m200 801.99 5-4.99 5 4.99-1 1-4-4-4 4z" fill="#fff" fill-rule="evenodd"/> 4 | </svg> 5 | -------------------------------------------------------------------------------- /gui/res/icons/handle_right_arrow_light.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30" height="30" viewBox="0 0 30 30" xmlns="http://www.w3.org/2000/svg"> 3 | <path transform="matrix(0 1 -1 0 815 -190)" d="m200 801.99 5-4.99 5 4.99-1 1-4-4-4 4z" fill="#101820" fill-opacity="0.94117647" fill-rule="evenodd"/> 4 | </svg> 5 | -------------------------------------------------------------------------------- /gui/res/icons/handle_up_arrow.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30" height="30" viewBox="0 0 30 30" xmlns="http://www.w3.org/2000/svg"> 3 | <path transform="matrix(-1 0 0 1 220 -785)" d="m200 801.99 5-4.99 5 4.99-1 1-4-4-4 4z" fill="#fff" fill-rule="evenodd"/> 4 | </svg> 5 | -------------------------------------------------------------------------------- /gui/res/icons/info.svg: -------------------------------------------------------------------------------- 1 | <svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <g id="Frame"> 3 | <path id="Vector" d="M6 11C3.23857 11 1 8.7614 1 6C1 3.23857 3.23857 1 6 1C8.7614 1 11 3.23857 11 6C11 8.7614 8.7614 11 6 11ZM5.5 5.5V8.5H6.5V5.5H5.5ZM5.5 3.5V4.5H6.5V3.5H5.5Z" fill="#848B95"/> 4 | </g> 5 | </svg> 6 | -------------------------------------------------------------------------------- /gui/res/icons/install-icon.svg: -------------------------------------------------------------------------------- 1 | <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <path d="M9 2V4H5L4.999 14H18.999L19 4H15V2H20C20.5523 2 21 2.44772 21 3V21C21 21.5523 20.5523 22 20 22H4C3.44772 22 3 21.5523 3 21V3C3 2.44772 3.44772 2 4 2H9ZM18.999 16H4.999L5 20H19L18.999 16ZM17 17V19H15V17H17ZM13 2V7H16L12 11L8 7H11V2H13Z" fill="#101820"/> 3 | </svg> 4 | -------------------------------------------------------------------------------- /gui/res/icons/launcher_add.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 | <svg width="32" height="32" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 3 | <path fill="#ffffff" d="M15 8 L15 15 L8 15 L8 17 L15 17 L15 24 L17 24 L17 17 L24 17 L24 15 L17 15 L17 8 Z"/> 4 | </svg> 5 | -------------------------------------------------------------------------------- /gui/res/icons/launcher_home.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 | <svg width="32" height="32" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 3 | <g transform="matrix(1 0 0 1 6 8)"> 4 | <path fill="#ffffff" fill-rule="evenodd" d="M11 0 L9 0 L0 10 L0 11 L4 11 L4 16 L16 16 L16 11 L20 11 L20 10 Z M14 9 L14 14 L12 14 L12 11 L8 11 L8 14 L6 14 L6 9 L4 9 L10 2 L16 9 Z"/> 5 | </g> 6 | </svg> 7 | -------------------------------------------------------------------------------- /gui/res/icons/level_trigger_down.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30" height="30" viewBox="0 0 30 30" xmlns="http://www.w3.org/2000/svg"> 3 | <g transform="rotate(90) translate(0 -30)" fill-rule="evenodd"> 4 | <rect width="30" height="30" rx="4" fill="#4a64ff"/> 5 | <path d="m14 10 4.99 5-4.99 5-1-1 4-4-4-4z" fill="#fff"/> 6 | </g> 7 | </svg> 8 | -------------------------------------------------------------------------------- /gui/res/icons/level_trigger_handle.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30" height="40" viewBox="0 0 30 40" xmlns="http://www.w3.org/2000/svg"> 3 | <g transform="rotate(90) translate(0 -30)" fill-rule="evenodd"> 4 | <rect width="40" height="30" rx="4" fill="#4a64ff"/> 5 | <path d="m14.99 20-4.99-5 4.99-5 1 1-4 4 4 4z" fill="#fff"/> 6 | <path d="m25 10 4.99 5-4.99 5-1-1 4-4-4-4z" fill="#fff"/> 7 | </g> 8 | </svg> 9 | -------------------------------------------------------------------------------- /gui/res/icons/level_trigger_up.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30" height="30" viewBox="0 0 30 30" xmlns="http://www.w3.org/2000/svg"> 3 | <g transform="rotate(90) translate(0 -30)" fill-rule="evenodd"> 4 | <rect width="30" height="30" rx="4" fill="#4a64ff"/> 5 | <path d="m16.99 20-4.99-5 4.99-5 1 1-4 4 4 4z" fill="#fff"/> 6 | </g> 7 | </svg> 8 | -------------------------------------------------------------------------------- /gui/res/icons/measurements/amplitude.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30px" height="20px" version="1.1" viewBox="0 0 30 20" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="none" fill-rule="evenodd"> 4 | <g transform="translate(-1690 -430)"> 5 | <g transform="translate(1690 431)"> 6 | <path transform="translate(15 9) rotate(180) translate(-15 -9)" d="m1 16c0 1 1 2 3 2s3-2 3-2v-14h4c0-1 1-2 3-2 2-3.5527e-15 3 1 3 2v14h4c0 0.97902 1 2 3 2s3-1 3-2v-14c0-2 2-2 2-2" stroke="#727273" stroke-linecap="square" stroke-width="2"/> 7 | <rect y="2" width="30" height="1" fill="#4A64FF"/> 8 | <rect y="15" width="30" height="1" fill="#4A64FF"/> 9 | </g> 10 | </g> 11 | </g> 12 | </svg> 13 | -------------------------------------------------------------------------------- /gui/res/icons/measurements/cycle_area.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30px" height="20px" version="1.1" viewBox="0 0 30 20" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="none" fill-rule="evenodd"> 4 | <g transform="translate(-1690 -590)"> 5 | <g transform="translate(1690 591)"> 6 | <rect x="9" y="1" width="6" height="8" fill="#727273" opacity=".6"/> 7 | <rect x="15" y="9" width="6" height="8" fill="#727273" opacity=".6"/> 8 | <path transform="translate(15 9) scale(1 -1) rotate(180) translate(-15 -9)" d="m3 9v-6c0-2 1-3 3-3s3 1 3 3v12c0 2 1 3 3 3s3-1 3-3v-12c0-2 1-3 3-3 2-3.8797e-15 3 1 3 3v12c0 2 1 3 3 3s3-1 3-3v-6" stroke="#727273" stroke-linecap="square" stroke-width="2"/> 9 | <rect y="8" width="30" height="1" fill="#4A64FF"/> 10 | </g> 11 | </g> 12 | </g> 13 | </svg> 14 | -------------------------------------------------------------------------------- /gui/res/icons/measurements/cycle_mean.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30px" height="20px" version="1.1" viewBox="0 0 30 20" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="none" fill-rule="evenodd"> 4 | <g transform="translate(-1640 -230)"> 5 | <g transform="translate(1640 231)"> 6 | <path transform="translate(15 9) rotate(180) translate(-15 -9)" d="m1 18h2c3 0 4-2.3123 4-4v-10c0-2 1-4 4-4 3-2.4514e-13 4 2 4 4s-0.13601 10 0 10c0 2 1 4 4 4s4-3 4-4v-10c0-4 4-4 4-4l2 1.6342e-13" stroke="#727273" stroke-linecap="square" stroke-width="2"/> 7 | <rect y="8" width="30" height="1" fill="#4A64FF"/> 8 | <rect x="5" y="8" width="4" height="3" fill="#4A64FF"/> 9 | <rect x="21" y="8" width="4" height="3" fill="#4A64FF"/> 10 | </g> 11 | </g> 12 | </g> 13 | </svg> 14 | -------------------------------------------------------------------------------- /gui/res/icons/measurements/cycle_rms.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30px" height="20px" version="1.1" viewBox="0 0 30 20" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="none" fill-rule="evenodd"> 4 | <g transform="translate(-1690 -230)"> 5 | <g transform="translate(1690 231)"> 6 | <path transform="translate(15 9) rotate(180) translate(-15 -9)" d="m1 18h2c3 0 4-2.3123 4-4v-10c0-2 1-4 4-4 3-2.4514e-13 4 2 4 4s-0.13601 10 0 10c0 2 1 4 4 4s4-3 4-4v-10c0-4 4-4 4-4l2 1.6342e-13" stroke="#6D6D6E" stroke-linecap="square" stroke-width="2"/> 7 | <rect x="5" y="8" width="4" height="3" fill="#4A64FF"/> 8 | <rect x="21" y="8" width="4" height="3" fill="#4A64FF"/> 9 | <rect y="3" width="30" height="1" fill="#4A64FF"/> 10 | </g> 11 | </g> 12 | </g> 13 | </svg> 14 | -------------------------------------------------------------------------------- /gui/res/icons/measurements/fall_time.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30px" height="20px" version="1.1" viewBox="0 0 30 20" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="none" fill-rule="evenodd"> 4 | <g transform="translate(-1690 -510)"> 5 | <g transform="translate(1691 511)"> 6 | <polyline transform="translate(14 9) scale(-1 1) translate(-14 -9)" points="0 18 9 18 19 0 28 0" stroke="#727273" stroke-linecap="square" stroke-width="2"/> 7 | <rect x="8" y="4" width="8" height="2" fill="#4A64FF"/> 8 | <rect x="12" y="12" width="8" height="2" fill="#4A64FF"/> 9 | </g> 10 | </g> 11 | </g> 12 | </svg> 13 | -------------------------------------------------------------------------------- /gui/res/icons/measurements/frequency.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30px" height="20px" version="1.1" viewBox="0 0 30 20" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="none" fill-rule="evenodd"> 4 | <g transform="translate(-1790 -470)"> 5 | <g transform="translate(1791 471)"> 6 | <polyline points="0 18 4 18 4 0 10 0 10 18 20 18 20 0 28 0" stroke="#727273" stroke-linecap="square" stroke-width="2"/> 7 | <rect x="17" y="8" width="6" height="2" fill="#4A64FF"/> 8 | <rect x="1" y="8" width="6" height="2" fill="#4A64FF"/> 9 | </g> 10 | </g> 11 | </g> 12 | </svg> 13 | -------------------------------------------------------------------------------- /gui/res/icons/measurements/high.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30px" height="20px" version="1.1" viewBox="0 0 30 20" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="none" fill-rule="evenodd"> 4 | <g transform="translate(-1690 -350)"> 5 | <g transform="translate(1690 351)"> 6 | <path transform="translate(15 9) rotate(180) translate(-15 -9)" d="m1 16c0 1 1 2 3 2s3-2 3-2v-14h4c0-1 1-2 3-2 2-3.5527e-15 3 1 3 2v14h4c0 0.97902 1 2 3 2s3-1 3-2v-14c0-2 2-2 2-2" stroke="#727273" stroke-linecap="square" stroke-width="2"/> 7 | <rect y="2" width="30" height="1" fill="#4A64FF"/> 8 | </g> 9 | </g> 10 | </g> 11 | </svg> 12 | -------------------------------------------------------------------------------- /gui/res/icons/measurements/low.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30px" height="20px" version="1.1" viewBox="0 0 30 20" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="none" fill-rule="evenodd"> 4 | <g transform="translate(-1690 -390)"> 5 | <g transform="translate(1690 391)"> 6 | <path transform="translate(15 9) rotate(180) translate(-15 -9)" d="m1 16c0 1 1 2 3 2s3-2 3-2v-14h4c0-1 1-2 3-2 2-3.5527e-15 3 1 3 2v14h4c0 0.97902 1 2 3 2s3-1 3-2v-14c0-2 2-2 2-2" stroke="#727273" stroke-linecap="square" stroke-width="2"/> 7 | <rect y="15" width="30" height="1" fill="#4A64FF"/> 8 | </g> 9 | </g> 10 | </g> 11 | </svg> 12 | -------------------------------------------------------------------------------- /gui/res/icons/measurements/max.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30px" height="20px" version="1.1" viewBox="0 0 30 20" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="none" fill-rule="evenodd"> 4 | <g transform="translate(-1640 -350)"> 5 | <g transform="translate(1640 350)"> 6 | <path transform="translate(15 10) rotate(180) translate(-15 -10)" d="m1 17c0 1 1 2 3 2s3-2 3-2v-14h4c0-1 1-2 3-2s3 1 3 2v14h4c0 0.97902 1 2 3 2s3-1 3-2v-14c0-2 2-2 2-2" stroke="#727273" stroke-linecap="square" stroke-width="2"/> 7 | <rect width="30" height="1" fill="#4A64FF"/> 8 | </g> 9 | </g> 10 | </g> 11 | </svg> 12 | -------------------------------------------------------------------------------- /gui/res/icons/measurements/mean.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30px" height="20px" version="1.1" viewBox="0 0 30 20" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="none" fill-rule="evenodd"> 4 | <g transform="translate(-1640 -270)"> 5 | <g transform="translate(1640 271)"> 6 | <path transform="translate(15 9) rotate(180) translate(-15 -9)" d="m1 18h2c3 0 4-2.3123 4-4v-10c0-2 1-4 4-4 3-2.4514e-13 4 2 4 4s-0.13601 10 0 10c0 2 1 4 4 4s4-3 4-4v-10c0-4 4-4 4-4l2 1.6342e-13" stroke="#727273" stroke-linecap="square" stroke-width="2"/> 7 | <rect y="8" width="30" height="1" fill="#4A64FF"/> 8 | </g> 9 | </g> 10 | </g> 11 | </svg> 12 | -------------------------------------------------------------------------------- /gui/res/icons/measurements/middle.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30px" height="20px" version="1.1" viewBox="0 0 30 20" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="none" fill-rule="evenodd"> 4 | <g transform="translate(-1740 -350)"> 5 | <g transform="translate(1740 351)"> 6 | <path transform="translate(15 9) rotate(180) translate(-15 -9)" d="m1 16c0 1 1 2 3 2s3-2 3-2v-14h4c0-1 1-2 3-2 2-3.5527e-15 3 1 3 2v14h4c0 0.97902 1 2 3 2s3-1 3-2v-14c0-2 2-2 2-2" stroke="#727273" stroke-linecap="square" stroke-width="2"/> 7 | <rect y="8" width="30" height="1" fill="#4A64FF"/> 8 | </g> 9 | </g> 10 | </g> 11 | </svg> 12 | -------------------------------------------------------------------------------- /gui/res/icons/measurements/min.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30px" height="20px" version="1.1" viewBox="0 0 30 20" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="none" fill-rule="evenodd"> 4 | <g transform="translate(-1640 -390)"> 5 | <g transform="translate(1640 391)"> 6 | <path transform="translate(15 9) rotate(180) translate(-15 -9)" d="m1 16c0 1 1 2 3 2s3-2 3-2v-14h4c0-1 1-2 3-2 2-3.5527e-15 3 1 3 2v14h4c0 0.97902 1 2 3 2s3-1 3-2v-14c0-2 2-2 2-2" stroke="#727273" stroke-linecap="square" stroke-width="2"/> 7 | <rect y="18" width="30" height="1" fill="#4A64FF"/> 8 | </g> 9 | </g> 10 | </g> 11 | </svg> 12 | -------------------------------------------------------------------------------- /gui/res/icons/measurements/n_duty.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30px" height="20px" version="1.1" viewBox="0 0 30 20" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="none" fill-rule="evenodd"> 4 | <g transform="translate(-1740 -470)"> 5 | <g transform="translate(1741 471)"> 6 | <polyline points="0 18 4 18 4 0 10 0 10 18 20 18 20 0 28 0" stroke="#727273" stroke-linecap="square" stroke-width="2"/> 7 | <rect x="17" y="8" width="6" height="2" fill="#4A64FF"/> 8 | <rect x="7" y="8" width="6" height="2" fill="#4A64FF"/> 9 | </g> 10 | </g> 11 | </g> 12 | </svg> 13 | -------------------------------------------------------------------------------- /gui/res/icons/measurements/n_overshoot.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30px" height="20px" version="1.1" viewBox="0 0 30 20" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="none" fill-rule="evenodd"> 4 | <g transform="translate(-1690 -310)"> 5 | <g transform="translate(1690 311)"> 6 | <path transform="translate(15 9) scale(1 -1) rotate(180) translate(-15 -9)" d="m1 12h14c2 0 1.6375 2 2 2 0 2 1 4 4 4s4-3 4-4v-10c0-4 4-4 4-4" stroke="#727273" stroke-linecap="square" stroke-width="2"/> 7 | <rect transform="translate(15 11.5) scale(1 -1) translate(-15 -11.5)" y="11" width="30" height="1" fill="#4A64FF"/> 8 | <rect transform="translate(15 18.5) scale(1 -1) translate(-15 -18.5)" y="18" width="30" height="1" fill="#4A64FF"/> 9 | </g> 10 | </g> 11 | </g> 12 | </svg> 13 | -------------------------------------------------------------------------------- /gui/res/icons/measurements/n_width.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30px" height="20px" version="1.1" viewBox="0 0 30 20" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="none" fill-rule="evenodd"> 4 | <g transform="translate(-1690 -550)"> 5 | <g transform="translate(1691 551)"> 6 | <polyline transform="translate(14 9) scale(1 -1) translate(-14 -9)" points="0 18 6 18 6 0 22 0 22 18 28 18" stroke="#727273" stroke-linecap="square" stroke-width="2"/> 7 | <rect x="3" y="8" width="6" height="2" fill="#4A64FF"/> 8 | <rect x="19" y="8" width="6" height="2" fill="#4A64FF"/> 9 | </g> 10 | </g> 11 | </g> 12 | </svg> 13 | -------------------------------------------------------------------------------- /gui/res/icons/measurements/p_duty.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30px" height="20px" version="1.1" viewBox="0 0 30 20" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="none" fill-rule="evenodd"> 4 | <g transform="translate(-1690 -470)"> 5 | <g transform="translate(1691 471)"> 6 | <polyline points="0 18 4 18 4 0 10 0 10 18 20 18 20 0 28 0" stroke="#727273" stroke-linecap="square" stroke-width="2"/> 7 | <rect x="7" y="8" width="6" height="2" fill="#4A64FF"/> 8 | <rect x="1" y="8" width="6" height="2" fill="#4A64FF"/> 9 | </g> 10 | </g> 11 | </g> 12 | </svg> 13 | -------------------------------------------------------------------------------- /gui/res/icons/measurements/p_overshoot.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30px" height="20px" version="1.1" viewBox="0 0 30 20" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="none" fill-rule="evenodd"> 4 | <g transform="translate(-1640 -310)"> 5 | <g transform="translate(1640 310)"> 6 | <path transform="translate(15 10) rotate(180) translate(-15 -10)" d="m1 13h14c2 0 1.6375 2 2 2 0 2 1 4 4 4s4-3 4-4v-10c0-4 4-4 4-4" stroke="#727273" stroke-linecap="square" stroke-width="2"/> 7 | <rect width="30" height="1" fill="#4A64FF"/> 8 | <rect y="7" width="30" height="1" fill="#4A64FF"/> 9 | </g> 10 | </g> 11 | </g> 12 | </svg> 13 | -------------------------------------------------------------------------------- /gui/res/icons/measurements/p_width.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30px" height="20px" version="1.1" viewBox="0 0 30 20" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="none" fill-rule="evenodd"> 4 | <g transform="translate(-1640 -550)"> 5 | <g transform="translate(1641 551)"> 6 | <polyline points="0 18 6 18 6 0 22 0 22 18 28 18" stroke="#727273" stroke-linecap="square" stroke-width="2"/> 7 | <rect x="3" y="8" width="6" height="2" fill="#4A64FF"/> 8 | <rect x="19" y="8" width="6" height="2" fill="#4A64FF"/> 9 | </g> 10 | </g> 11 | </g> 12 | </svg> 13 | -------------------------------------------------------------------------------- /gui/res/icons/measurements/peak_to_peak.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30px" height="20px" version="1.1" viewBox="0 0 30 20" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="none" fill-rule="evenodd"> 4 | <g transform="translate(-1640 -430)"> 5 | <g transform="translate(1640 430)"> 6 | <path transform="translate(15 10) rotate(180) translate(-15 -10)" d="m1 17c0 1 1 2 3 2s3-2 3-2v-14h4c0-1 1-2 3-2s3 1 3 2v14h4c0 0.97902 1 2 3 2s3-1 3-2v-14c0-2 2-2 2-2" stroke="#727273" stroke-linecap="square" stroke-width="2"/> 7 | <rect width="30" height="1" fill="#4A64FF"/> 8 | <rect y="19" width="30" height="1" fill="#4A64FF"/> 9 | </g> 10 | </g> 11 | </g> 12 | </svg> 13 | -------------------------------------------------------------------------------- /gui/res/icons/measurements/period.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30px" height="20px" version="1.1" viewBox="0 0 30 20" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="none" fill-rule="evenodd"> 4 | <g transform="translate(-1640 -470)"> 5 | <g transform="translate(1641 471)"> 6 | <polyline points="0 18 4 18 4 0 10 0 10 18 20 18 20 0 28 0" stroke="#727273" stroke-linecap="square" stroke-width="2"/> 7 | <rect x="17" y="8" width="6" height="2" fill="#4A64FF"/> 8 | <rect x="1" y="8" width="6" height="2" fill="#4A64FF"/> 9 | </g> 10 | </g> 11 | </g> 12 | </svg> 13 | -------------------------------------------------------------------------------- /gui/res/icons/measurements/rise_time.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30px" height="20px" version="1.1" viewBox="0 0 30 20" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="none" fill-rule="evenodd"> 4 | <g transform="translate(-1640 -510)"> 5 | <g transform="translate(1641 511)"> 6 | <polyline points="0 18 9 18 19 0 28 0" stroke="#727273" stroke-linecap="square" stroke-width="2"/> 7 | <rect x="12" y="4" width="8" height="2" fill="#4A64FF"/> 8 | <rect x="8" y="12" width="8" height="2" fill="#4A64FF"/> 9 | </g> 10 | </g> 11 | </g> 12 | </svg> 13 | -------------------------------------------------------------------------------- /gui/res/icons/measurements/rms.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30px" height="20px" version="1.1" viewBox="0 0 30 20" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="none" fill-rule="evenodd"> 4 | <g transform="translate(-1690 -270)"> 5 | <g transform="translate(1690 271)"> 6 | <path transform="translate(15 9) rotate(180) translate(-15 -9)" d="m1 18h2c3 0 4-2.3123 4-4v-10c0-2 1-4 4-4 3-2.4514e-13 4 2 4 4s-0.13601 10 0 10c0 2 1 4 4 4s4-3 4-4v-10c0-4 4-4 4-4l2 1.6342e-13" stroke="#6D6D6E" stroke-linecap="square" stroke-width="2"/> 7 | <rect y="3" width="30" height="1" fill="#4A64FF"/> 8 | </g> 9 | </g> 10 | </g> 11 | </svg> 12 | -------------------------------------------------------------------------------- /gui/res/icons/notification_bell.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools --> 2 | <svg fill="#000000" width="32px" height="32px" viewBox="0 0 24 24" id="notification-bell" data-name="Line Color" xmlns="http://www.w3.org/2000/svg" class="icon line-color"><path id="secondary" d="M15,18H9a3,3,0,0,0,3,3h0A3,3,0,0,0,15,18Z" style="fill: none; stroke: rgb(0, 0, 0); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1;"></path><path id="primary" d="M19.38,14.38a2.12,2.12,0,0,1,.62,1.5h0A2.12,2.12,0,0,1,17.88,18H6.12A2.12,2.12,0,0,1,4,15.88H4a2.12,2.12,0,0,1,.62-1.5L6,13V9a6,6,0,0,1,6-6h0a6,6,0,0,1,6,6v4Z" style="fill: none; stroke: rgb(0, 0, 0); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1;"></path></svg> 3 | -------------------------------------------------------------------------------- /gui/res/icons/orange_close.svg: -------------------------------------------------------------------------------- 1 | <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <rect width="16" height="16" rx="8" fill="#FF7200"/> 3 | <path d="M9.00125 8L12 4.99751L11.0037 4L8.00498 7.00249L7.99502 6.99252L7.98508 7.00249L4.99626 4L4 4.99751L6.9908 8L4 11.0025L4.99626 12L7.98508 8.99751L7.99502 9.00748L8.00498 8.99751L11.0037 12L12 11.0025L9.00125 8Z" fill="white"/> 4 | </svg> 5 | -------------------------------------------------------------------------------- /gui/res/icons/play.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="8" height="10" viewBox="0 0 8 10" xmlns="http://www.w3.org/2000/svg"> 3 | <path transform="translate(-1852 -445)" d="m1860 450-8-5v10z" fill="#fff" fill-rule="evenodd"/> 4 | </svg> 5 | -------------------------------------------------------------------------------- /gui/res/icons/play_green.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="8" height="10" viewBox="0 0 8 10" xmlns="http://www.w3.org/2000/svg"> 3 | <path transform="translate(-1852 -445)" d="m1860 450-8-5v10z" fill="#27ff60" fill-opacity=".64706" fill-rule="evenodd"/> 4 | </svg> 5 | -------------------------------------------------------------------------------- /gui/res/icons/play_oneshot.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="10" height="10" viewBox="0 0 10 10" xmlns="http://www.w3.org/2000/svg"> 3 | <path transform="translate(-1852 -315)" d="m1860 320-8-5v10zm0-5h2v10h-2z" fill="#fff" fill-rule="evenodd"/> 4 | </svg> 5 | -------------------------------------------------------------------------------- /gui/res/icons/red_x.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="14" height="14" viewBox="0 0 14 14" xmlns="http://www.w3.org/2000/svg"> 3 | <path transform="translate(-783 -423)" d="m789.73 428.27-4.8794-4.8794-1.4057 1.4057 4.8794 4.8794-5.3244 5.3244 1.4057 1.4057 5.3244-5.3244 5.7149 5.7149 1.4057-1.4057-5.7149-5.7149 5.2699-5.2699-1.4057-1.4057z" fill="#ff7200" fill-rule="evenodd"/> 4 | </svg> 5 | -------------------------------------------------------------------------------- /gui/res/icons/refresh.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'> 3 | <svg width="512px" height="512px" enable-background="new 0 0 512 512" version="1.1" viewBox="0 0 512 512" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path d="m256 384.1c-70.7 0-128-57.3-128-128.1s57.3-128.1 128-128.1v-43.9l96 64-96 55.7v-55.8c-59.6 0-108.1 48.5-108.1 108.1s48.5 108.1 108.1 108.1 108.1-48.1 108.1-108.1h19.9c0 71-57.3 128.1-128 128.1z" fill="#fff"/></svg> 4 | -------------------------------------------------------------------------------- /gui/res/icons/sba_dn_btn.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30" height="30" viewBox="0 0 30 30" xmlns="http://www.w3.org/2000/svg"> 3 | <g transform="" fill-rule="evenodd"> 4 | <path d="m0 0h30v26c0 2.2091-1.7909 4-4 4h-22c-2.2091 0-4-1.7909-4-4z" fill="#141416" opacity=".6"/> 5 | <path d="m9 14h10v2h-10z" fill="#fff" opacity=".4"/> 6 | </g> 7 | </svg> 8 | -------------------------------------------------------------------------------- /gui/res/icons/sba_dn_btn_hover.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30" height="30" viewBox="0 0 30 30" xmlns="http://www.w3.org/2000/svg"> 3 | <g transform="" fill-rule="evenodd"> 4 | <path d="m0 0h30v26c0 2.2091-1.7909 4-4 4h-22c-2.2091 0-4-1.7909-4-4z" fill="#141416" opacity=".6"/> 5 | <path d="m9 14h10v2h-10z" fill="#fefefe"/> 6 | </g> 7 | </svg> 8 | -------------------------------------------------------------------------------- /gui/res/icons/sba_dn_btn_pressed.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30" height="30" viewBox="0 0 30 30" xmlns="http://www.w3.org/2000/svg"> 3 | <g transform="" fill-rule="evenodd"> 4 | <path d="m0 0h30v26c0 2.2091-1.7909 4-4 4h-22c-2.2091 0-4-1.7909-4-4z" fill="#4a64ff"/> 5 | <path d="m9 14h10v2h-10z" fill="#fff"/> 6 | </g> 7 | </svg> 8 | -------------------------------------------------------------------------------- /gui/res/icons/sba_up_btn.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30" height="30" viewBox="0 0 30 30" xmlns="http://www.w3.org/2000/svg"> 3 | <g transform="" fill-rule="evenodd"> 4 | <path d="m4 0h22c2.2091 0 4 1.7909 4 4v26h-30v-26c0-2.2091 1.7909-4 4-4z" fill="#141416" opacity=".6"/> 5 | <path d="m10 14h4v-4h2v4h4v2h-4v4h-2v-4h-4z" fill="#fff" opacity=".4"/> 6 | </g> 7 | </svg> 8 | -------------------------------------------------------------------------------- /gui/res/icons/sba_up_btn_hover.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30" height="30" viewBox="0 0 30 30" xmlns="http://www.w3.org/2000/svg"> 3 | <g transform="" fill-rule="evenodd"> 4 | <path d="m4 0h22c2.2091 0 4 1.7909 4 4v26h-30v-26c0-2.2091 1.7909-4 4-4z" fill="#141416" opacity=".6"/> 5 | <path d="m10 14h4v-4h2v4h4v2h-4v4h-2v-4h-4z" fill="#fefefe"/> 6 | </g> 7 | </svg> 8 | -------------------------------------------------------------------------------- /gui/res/icons/sba_up_btn_pressed.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30" height="30" viewBox="0 0 30 30" xmlns="http://www.w3.org/2000/svg"> 3 | <g transform="" fill-rule="evenodd"> 4 | <path d="m4 0h22c2.2091 0 4 1.7909 4 4v26h-30v-26c0-2.2091 1.7909-4 4-4z" fill="#4a64ff"/> 5 | <path d="m10 14h4v-4h2v4h4v2h-4v4h-2v-4h-4z" fill="#fff"/> 6 | </g> 7 | </svg> 8 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-default/icons/load.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="20px" height="20px" version="1.1" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="#fff" opacity=".6" fill-rule="evenodd"> 4 | <g fill-rule="nonzero"> 5 | <polygon points="16 16 16 10 20 10 20 20 0 20 0 10 4 10 4 16"/> 6 | <polygon points="9 4 6 7 6 4 10 0 14 4 14 7 11 4 11 12 9 12"/> 7 | </g> 8 | </g> 9 | </svg> 10 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-default/icons/locked.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="8px" height="12px" version="1.1" viewBox="0 0 8 12" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="#fff" opacity=".6" transform="translate(-1765 -864)" fill-rule="evenodd"> 4 | <g transform="translate(1759 860)" fill-rule="nonzero"> 5 | <path d="m11 10v-3c0-0.55228-0.44772-1-1-1s-1 0.44772-1 1v3h2zm-4 0v-3c0-1.6569 1.3431-3 3-3s3 1.3431 3 3v3h1v6h-8v-6h1z"/> 6 | </g> 7 | </g> 8 | </svg> 9 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-default/icons/logo_analog_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/gui/res/icons/scopy-default/icons/logo_analog_small.png -------------------------------------------------------------------------------- /gui/res/icons/scopy-default/icons/menu.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="20px" height="14px" version="1.1" viewBox="0 0 20 14" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="#fff" fill-rule="evenodd"> 4 | <path d="m0 12h20v2h-20v-2zm0-6h20v2h-20v-2zm0-6h20v2h-20v-2z"/> 5 | </g> 6 | </svg> 7 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-default/icons/note_checked.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="40px" height="36px" version="1.1" viewBox="0 0 40 36" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="#fff" fill-rule="evenodd"> 4 | <g transform="translate(-509 -160)"> 5 | <path d="m509 160h20v4h-20v-4zm0 8h40v4h-40v-4zm0 8h40v4h-40v-4zm0 8h40v4h-40v-4zm0 8h40v4h-40v-4z"/> 6 | </g> 7 | </g> 8 | </svg> 9 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-default/icons/note_unchecked.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="40px" height="36px" version="1.1" viewBox="0 0 40 36" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="#fff" opacity=".6"> fill-rule="evenodd" 4 | <g transform="translate(-649 -160)"> 5 | <path d="m649 160h20v4h-20v-4zm0 8h40v4h-40v-4zm0 8h40v4h-40v-4zm0 8h40v4h-40v-4zm0 8h40v4h-40v-4z"/> 6 | </g> 7 | </g> 8 | </svg> 9 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-default/icons/play_stop.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="8" height="10" viewBox="0 0 8 10" xmlns="http://www.w3.org/2000/svg"> 3 | <path d="m0 1h8v8h-8z" opacity="1" fill="white"/> 4 | </svg> 5 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-default/icons/save.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="20px" height="20px" version="1.1" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="#fff" opacity=".6" fill-rule="evenodd"> 4 | <g fill-rule="nonzero"> 5 | <polygon points="16 16 16 10 20 10 20 20 0 20 0 10 4 10 4 16"/> 6 | <polygon points="9 8 9 0 11 0 11 8 14 5 14 8 10 12 6 8 6 5"/> 7 | </g> 8 | </g> 9 | </svg> 10 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-default/icons/search.svg: -------------------------------------------------------------------------------- 1 | <svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <path fill-rule="evenodd" clip-rule="evenodd" d="M10 5C10 6.65685 8.65685 8 7 8C5.34315 8 4 6.65685 4 5C4 3.34315 5.34315 2 7 2C8.65685 2 10 3.34315 10 5ZM12 5C12 7.76142 9.76142 10 7 10C6.00312 10 5.07438 9.70826 4.29449 9.20551L1.5 12L0 10.5L2.79449 7.70551C2.29174 6.92562 2 5.99688 2 5C2 2.23858 4.23858 0 7 0C9.76142 0 12 2.23858 12 5Z" fill="white"/> 3 | </svg> 4 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-default/icons/setup3_checked_hover.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="60" height="40" viewBox="0 0 60 40" xmlns="http://www.w3.org/2000/svg"> 3 | <g transform="" fill-rule="evenodd" opacity=".6"> 4 | <rect width="60" height="40" rx="4" fill="#141416"/> 5 | <path d="m20 19h20v2h-20zm9-1h2v4h-2zm-9 7h20v2h-20zm4-1h2v4h-2zm-4-11h20v2h-20zm14-1h2v4h-2z" fill="#fff"/> 6 | </g> 7 | </svg> 8 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-default/icons/setup3_unchecked.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="60" height="40" viewBox="0 0 60 40" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="#fff" opacity=".6" fill-rule="evenodd"> 4 | <path d="m20 19h20v2h-20zm9-1h2v4h-2zm-9 7h20v2h-20zm4-1h2v4h-2zm-4-11h20v2h-20zm14-1h2v4h-2z"/> 5 | </g> 6 | </svg> 7 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-default/icons/setup3_unchecked_hover.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="60" height="40" viewBox="0 0 60 40" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="#fff" fill-rule="evenodd"> 4 | <path d="m20 19h20v2h-20zm9-1h2v4h-2zm-9 7h20v2h-20zm4-1h2v4h-2zm-4-11h20v2h-20zm14-1h2v4h-2z"/> 5 | </g> 6 | </svg> 7 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-default/icons/tool_calibration.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="32" height="32" version="1.1" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="#fff" opacity=".6" transform="translate(6 8)"> 4 | <g transform="translate(-20 -12)"> 5 | <path d="m20 19h20v2h-20zm9-1h2v4h-2zm-9 7h20v2h-20zm4-1h2v4h-2zm-4-11h20v2h-20zm14-1h2v4h-2z" fill-rule="evenodd"/> 6 | </g> 7 | </g> 8 | </svg> 9 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-default/icons/tool_home.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="32" height="32" version="1.1" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="#fff" opacity=".6" transform="translate(6 8)"> 4 | <path d="m11 0h-2l-9 10v1h4v5h12v-5h4v-1zm3 9v5h-2v-3h-4v3h-2v-5h-2l6-7 6 7z" fill-rule="evenodd"/> 5 | </g> 6 | </svg> 7 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-default/icons/tool_io.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="32" height="32" version="1.1" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="#fff" opacity=".6" transform="translate(6 8)"> 4 | <path d="m0 16h2v-16h-2zm13-16c-3.86 0-7 3.14-7 7v2c0 3.86 3.14 6.99 7 7 3.86-0.01 6.99-3.14 7-7v-2c-0.01-3.86-3.14-7-7-7zm5 9c0 2.76-2.24 5-5 5s-5-2.24-5-5v-2c0-2.76 2.24-5 5-5s5 2.24 5 5z" fill-rule="evenodd"/> 5 | </g> 6 | </svg> 7 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-default/icons/tool_network_analyzer.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="32" height="32" version="1.1" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="#fff" opacity=".6" transform="translate(5.5 5.5)"> 4 | <g transform="translate(-.50864 -.44954)"> 5 | <path d="m11 12h10v-1c0-4.77-3.37-8.88-8.05-9.81s-9.36 1.57-11.19 5.98c-1.82 4.41-0.28 9.49 3.68 12.14 3.97 2.65 9.26 2.13 12.63-1.24l-1.41-1.42c-2.63 2.63-6.73 3.1-9.89 1.13s-4.54-5.86-3.34-9.38c1.21-3.52 4.69-5.75 8.39-5.36 3.71 0.38 6.66 3.27 7.12 6.96h-2.03c-0.53-3.14-3.42-5.32-6.59-4.96-3.16 0.35-5.5 3.12-5.32 6.3s2.82 5.66 6 5.66v-2c-2.08 0-3.81-1.59-3.99-3.66-0.17-2.07 1.27-3.93 3.32-4.28 2.04-0.35 4.02 0.93 4.54 2.94h-3.87v2z" fill-rule="evenodd"/> 6 | </g> 7 | </g> 8 | </svg> 9 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-default/icons/tool_oscilloscope.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="32" height="32" version="1.1" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="#fff" opacity=".6" transform="translate(6 8)"> 4 | <path d="m19 0c-2.21 0-4 1.79-4 4v8c0 1.1-0.9 2-2 2s-2-0.9-2-2v-8c0-2.21-1.79-4-4-4s-4 1.79-4 4v8c0 1.1-0.9 2-2 2h-1v2h1c2.21 0 4-1.79 4-4v-8c0-1.1 0.9-2 2-2s2 0.9 2 2v8c0 2.21 1.79 4 4 4s4-1.79 4-4v-8c0-1.1 0.9-2 2-2h1v-2z" fill-rule="evenodd"/> 5 | </g> 6 | </svg> 7 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-default/icons/tool_pattern_generator.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="32" height="32" version="1.1" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="#fff" opacity=".6" transform="translate(6 8)"> 4 | <path d="m17 16h-8v-14h-4v14h-5v-2h3v-14h8v14h4v-14h5v2h-3z" fill-rule="evenodd"/> 5 | </g> 6 | </svg> 7 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-default/icons/tool_power_supply.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="32" height="32" version="1.1" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="#fff" opacity=".6" transform="translate(8 6)"> 4 | <path d="m16 10c0-4.03-3-7.43-7-7.93v-2.07h-2v2.07c-4 0.5-7 3.9-7 7.93s3 7.43 7 7.93v2.07h2v-2.07c4-0.5 7-3.9 7-7.93zm-8 6c-3.31 0-6-2.69-6-6s2.69-6 6-6 6 2.69 6 6-2.69 6-6 6zm1-10h-2v1h-1v2h1v1h2v-1h1v-2h-1zm-3 8h4v-2h-4z" fill-rule="evenodd"/> 5 | </g> 6 | </svg> 7 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-default/icons/tool_signal_generator.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="32" height="32" version="1.1" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="#fff" opacity=".6" transform="translate(6 8)"> 4 | <path d="m6 16c-0.09 0-0.17-0.01-0.25-0.04-0.44-0.11-0.75-0.51-0.75-0.96v-10.23l-2.13 3.72c-0.18 0.32-0.51 0.51-0.87 0.51h-2v-2h1.42l3.71-6.49c0.23-0.4 0.69-0.59 1.13-0.47 0.44 0.11 0.74 0.51 0.74 0.96v10.23l6.13-10.72c0.23-0.4 0.69-0.59 1.13-0.47 0.44 0.11 0.74 0.51 0.74 0.96v10.23l2.13-3.73c0.18-0.31 0.51-0.5 0.87-0.5h2v2h-1.42l-3.71 6.49c-0.22 0.39-0.68 0.59-1.12 0.47-0.44-0.11-0.75-0.51-0.75-0.96v-10.23l-6.13 10.72c-0.18 0.31-0.51 0.51-0.87 0.51z" fill-rule="evenodd"/> 5 | </g> 6 | </svg> 7 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-default/icons/tool_spectrum_analyzer.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="32" height="32" version="1.1" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="#fff" opacity=".6" transform="translate(6 8)"> 4 | <path d="m5 16h-2v-8h2zm6 0h-2v-16h2zm3 0h-2v-14h2zm3 0h-2v-10h2zm-15 0h-2v-4h2zm18 0h-2v-6h2zm-12 0h-2v-12h2z" fill-rule="evenodd"/> 5 | </g> 6 | </svg> 7 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-default/icons/tool_voltmeter.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="32" height="32" version="1.1" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="#fff" opacity=".6" transform="translate(8 6)"> 4 | <path d="m8 8c-3.31 0-6 2.69-6 6s2.69 6 6 6 6-2.69 6-6-2.69-6-6-6zm0 2c0.71 0 1.42 0.19 2.03 0.56l-5.47 5.47c-0.73-1.23-0.75-2.77-0.04-4.02 0.72-1.24 2.04-2.01 3.48-2.01zm0 8c-0.71 0-1.42-0.2-2.03-0.56l5.47-5.47c0.37 0.61 0.56 1.32 0.56 2.03 0 1.06-0.42 2.08-1.17 2.83s-1.77 1.17-2.83 1.17zm-8-18v6h16v-6zm14 4h-12v-2h12zm-13 14c-0.55 0-1 0.45-1 1s0.45 1 1 1 1-0.45 1-1-0.45-1-1-1zm14 0c-0.55 0-1 0.45-1 1s0.45 1 1 1 1-0.45 1-1-0.45-1-1-1z" fill-rule="evenodd"/> 5 | </g> 6 | </svg> 7 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-default/icons/unlocked.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="11px" height="12px" version="1.1" viewBox="0 0 11 12" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="#fff" opacity=".6" transform="translate(-1784 -834)" fill-rule="evenodd"> 4 | <g transform="translate(1759 830)" fill-rule="nonzero"> 5 | <path d="m32 10h1v6h-8v-6h5v-3c0-1.6569 1.3431-3 3-3s3 1.3431 3 3v3h-2v-3c0-0.55228-0.44772-1-1-1s-1 0.44772-1 1v3z"/> 6 | </g> 7 | </g> 8 | </svg> 9 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-default/index.theme: -------------------------------------------------------------------------------- 1 | [Icon Theme] 2 | Name=DefaultTheme 3 | Comment=Scopy default dark theme 4 | Directories=icons 5 | 6 | [icons] 7 | Size=16 8 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-light/icons/load.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="20px" height="20px" version="1.1" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="#000" opacity=".6" fill-rule="evenodd"> 4 | <g fill-rule="nonzero"> 5 | <polygon points="16 16 16 10 20 10 20 20 0 20 0 10 4 10 4 16"/> 6 | <polygon points="9 4 6 7 6 4 10 0 14 4 14 7 11 4 11 12 9 12"/> 7 | </g> 8 | </g> 9 | </svg> 10 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-light/icons/locked.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="8px" height="12px" version="1.1" viewBox="0 0 8 12" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="#000" opacity=".6" transform="translate(-1765 -864)" fill-rule="evenodd"> 4 | <g transform="translate(1759 860)" fill-rule="nonzero"> 5 | <path d="m11 10v-3c0-0.55228-0.44772-1-1-1s-1 0.44772-1 1v3h2zm-4 0v-3c0-1.6569 1.3431-3 3-3s3 1.3431 3 3v3h1v6h-8v-6h1z"/> 6 | </g> 7 | </g> 8 | </svg> 9 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-light/icons/logo_analog_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/gui/res/icons/scopy-light/icons/logo_analog_small.png -------------------------------------------------------------------------------- /gui/res/icons/scopy-light/icons/menu.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="20px" height="14px" version="1.1" viewBox="0 0 20 14" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="#000" fill-rule="evenodd"> 4 | <path d="m0 12h20v2h-20v-2zm0-6h20v2h-20v-2zm0-6h20v2h-20v-2z"/> 5 | </g> 6 | </svg> 7 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-light/icons/note_checked.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="40px" height="36px" version="1.1" viewBox="0 0 40 36" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="#000" fill-rule="evenodd"> 4 | <g transform="translate(-509 -160)"> 5 | <path d="m509 160h20v4h-20v-4zm0 8h40v4h-40v-4zm0 8h40v4h-40v-4zm0 8h40v4h-40v-4zm0 8h40v4h-40v-4z"/> 6 | </g> 7 | </g> 8 | </svg> 9 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-light/icons/note_unchecked.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="40px" height="36px" version="1.1" viewBox="0 0 40 36" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="#000" opacity=".6"> fill-rule="evenodd" 4 | <g transform="translate(-649 -160)"> 5 | <path d="m649 160h20v4h-20v-4zm0 8h40v4h-40v-4zm0 8h40v4h-40v-4zm0 8h40v4h-40v-4zm0 8h40v4h-40v-4z"/> 6 | </g> 7 | </g> 8 | </svg> 9 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-light/icons/play_stop.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="8" height="10" viewBox="0 0 8 10" xmlns="http://www.w3.org/2000/svg"> 3 | <path d="m0 1h8v8h-8z" opacity=".6" fill="#000"/> 4 | </svg> 5 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-light/icons/save.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="20px" height="20px" version="1.1" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="#000" opacity=".6" fill-rule="evenodd"> 4 | <g fill-rule="nonzero"> 5 | <polygon points="16 16 16 10 20 10 20 20 0 20 0 10 4 10 4 16"/> 6 | <polygon points="9 8 9 0 11 0 11 8 14 5 14 8 10 12 6 8 6 5"/> 7 | </g> 8 | </g> 9 | </svg> 10 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-light/icons/setup3_checked_hover.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="60" height="40" viewBox="0 0 60 40" xmlns="http://www.w3.org/2000/svg"> 3 | <g transform="" fill-rule="evenodd" opacity=".6"> 4 | <rect width="60" height="40" rx="4" fill="#141416"/> 5 | <path d="m20 19h20v2h-20zm9-1h2v4h-2zm-9 7h20v2h-20zm4-1h2v4h-2zm-4-11h20v2h-20zm14-1h2v4h-2z" fill="#fff"/> 6 | </g> 7 | </svg> 8 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-light/icons/setup3_unchecked.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="60" height="40" viewBox="0 0 60 40" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="#000" opacity=".6" fill-rule="evenodd"> 4 | <path d="m20 19h20v2h-20zm9-1h2v4h-2zm-9 7h20v2h-20zm4-1h2v4h-2zm-4-11h20v2h-20zm14-1h2v4h-2z"/> 5 | </g> 6 | </svg> 7 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-light/icons/setup3_unchecked_hover.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="60" height="40" viewBox="0 0 60 40" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="#000" fill-rule="evenodd"> 4 | <path d="m20 19h20v2h-20zm9-1h2v4h-2zm-9 7h20v2h-20zm4-1h2v4h-2zm-4-11h20v2h-20zm14-1h2v4h-2z"/> 5 | </g> 6 | </svg> 7 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-light/icons/tool_calibration.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="32" height="32" version="1.1" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="#000" opacity=".6" transform="translate(6 8)"> 4 | <g transform="translate(-20 -12)"> 5 | <path d="m20 19h20v2h-20zm9-1h2v4h-2zm-9 7h20v2h-20zm4-1h2v4h-2zm-4-11h20v2h-20zm14-1h2v4h-2z" fill-rule="evenodd"/> 6 | </g> 7 | </g> 8 | </svg> 9 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-light/icons/tool_home.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="32" height="32" version="1.1" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="#000" opacity=".6" transform="translate(6 8)"> 4 | <path d="m11 0h-2l-9 10v1h4v5h12v-5h4v-1zm3 9v5h-2v-3h-4v3h-2v-5h-2l6-7 6 7z" fill-rule="evenodd"/> 5 | </g> 6 | </svg> 7 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-light/icons/tool_io.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="32" height="32" version="1.1" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="#000" opacity=".6" transform="translate(6 8)"> 4 | <path d="m0 16h2v-16h-2zm13-16c-3.86 0-7 3.14-7 7v2c0 3.86 3.14 6.99 7 7 3.86-0.01 6.99-3.14 7-7v-2c-0.01-3.86-3.14-7-7-7zm5 9c0 2.76-2.24 5-5 5s-5-2.24-5-5v-2c0-2.76 2.24-5 5-5s5 2.24 5 5z" fill-rule="evenodd"/> 5 | </g> 6 | </svg> 7 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-light/icons/tool_network_analyzer.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="32" height="32" version="1.1" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="#000" opacity=".6" transform="translate(5.5 5.5)"> 4 | <g transform="translate(-.50864 -.44954)"> 5 | <path d="m11 12h10v-1c0-4.77-3.37-8.88-8.05-9.81s-9.36 1.57-11.19 5.98c-1.82 4.41-0.28 9.49 3.68 12.14 3.97 2.65 9.26 2.13 12.63-1.24l-1.41-1.42c-2.63 2.63-6.73 3.1-9.89 1.13s-4.54-5.86-3.34-9.38c1.21-3.52 4.69-5.75 8.39-5.36 3.71 0.38 6.66 3.27 7.12 6.96h-2.03c-0.53-3.14-3.42-5.32-6.59-4.96-3.16 0.35-5.5 3.12-5.32 6.3s2.82 5.66 6 5.66v-2c-2.08 0-3.81-1.59-3.99-3.66-0.17-2.07 1.27-3.93 3.32-4.28 2.04-0.35 4.02 0.93 4.54 2.94h-3.87v2z" fill-rule="evenodd"/> 6 | </g> 7 | </g> 8 | </svg> 9 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-light/icons/tool_oscilloscope.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="32" height="32" version="1.1" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="#000" opacity=".6" transform="translate(6 8)"> 4 | <path d="m19 0c-2.21 0-4 1.79-4 4v8c0 1.1-0.9 2-2 2s-2-0.9-2-2v-8c0-2.21-1.79-4-4-4s-4 1.79-4 4v8c0 1.1-0.9 2-2 2h-1v2h1c2.21 0 4-1.79 4-4v-8c0-1.1 0.9-2 2-2s2 0.9 2 2v8c0 2.21 1.79 4 4 4s4-1.79 4-4v-8c0-1.1 0.9-2 2-2h1v-2z" fill-rule="evenodd"/> 5 | </g> 6 | </svg> 7 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-light/icons/tool_pattern_generator.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="32" height="32" version="1.1" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="#000" opacity=".6" transform="translate(6 8)"> 4 | <path d="m17 16h-8v-14h-4v14h-5v-2h3v-14h8v14h4v-14h5v2h-3z" fill-rule="evenodd"/> 5 | </g> 6 | </svg> 7 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-light/icons/tool_power_supply.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="32" height="32" version="1.1" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="#000" opacity=".6" transform="translate(8 6)"> 4 | <path d="m16 10c0-4.03-3-7.43-7-7.93v-2.07h-2v2.07c-4 0.5-7 3.9-7 7.93s3 7.43 7 7.93v2.07h2v-2.07c4-0.5 7-3.9 7-7.93zm-8 6c-3.31 0-6-2.69-6-6s2.69-6 6-6 6 2.69 6 6-2.69 6-6 6zm1-10h-2v1h-1v2h1v1h2v-1h1v-2h-1zm-3 8h4v-2h-4z" fill-rule="evenodd"/> 5 | </g> 6 | </svg> 7 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-light/icons/tool_signal_generator.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="32" height="32" version="1.1" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="#000" opacity=".6" transform="translate(6 8)"> 4 | <path d="m6 16c-0.09 0-0.17-0.01-0.25-0.04-0.44-0.11-0.75-0.51-0.75-0.96v-10.23l-2.13 3.72c-0.18 0.32-0.51 0.51-0.87 0.51h-2v-2h1.42l3.71-6.49c0.23-0.4 0.69-0.59 1.13-0.47 0.44 0.11 0.74 0.51 0.74 0.96v10.23l6.13-10.72c0.23-0.4 0.69-0.59 1.13-0.47 0.44 0.11 0.74 0.51 0.74 0.96v10.23l2.13-3.73c0.18-0.31 0.51-0.5 0.87-0.5h2v2h-1.42l-3.71 6.49c-0.22 0.39-0.68 0.59-1.12 0.47-0.44-0.11-0.75-0.51-0.75-0.96v-10.23l-6.13 10.72c-0.18 0.31-0.51 0.51-0.87 0.51z" fill-rule="evenodd"/> 5 | </g> 6 | </svg> 7 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-light/icons/tool_spectrum_analyzer.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="32" height="32" version="1.1" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="#000" opacity=".6" transform="translate(6 8)"> 4 | <path d="m5 16h-2v-8h2zm6 0h-2v-16h2zm3 0h-2v-14h2zm3 0h-2v-10h2zm-15 0h-2v-4h2zm18 0h-2v-6h2zm-12 0h-2v-12h2z" fill-rule="evenodd"/> 5 | </g> 6 | </svg> 7 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-light/icons/tool_voltmeter.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="32" height="32" version="1.1" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="#000" opacity=".6" transform="translate(8 6)"> 4 | <path d="m8 8c-3.31 0-6 2.69-6 6s2.69 6 6 6 6-2.69 6-6-2.69-6-6-6zm0 2c0.71 0 1.42 0.19 2.03 0.56l-5.47 5.47c-0.73-1.23-0.75-2.77-0.04-4.02 0.72-1.24 2.04-2.01 3.48-2.01zm0 8c-0.71 0-1.42-0.2-2.03-0.56l5.47-5.47c0.37 0.61 0.56 1.32 0.56 2.03 0 1.06-0.42 2.08-1.17 2.83s-1.77 1.17-2.83 1.17zm-8-18v6h16v-6zm14 4h-12v-2h12zm-13 14c-0.55 0-1 0.45-1 1s0.45 1 1 1 1-0.45 1-1-0.45-1-1-1zm14 0c-0.55 0-1 0.45-1 1s0.45 1 1 1 1-0.45 1-1-0.45-1-1-1z" fill-rule="evenodd"/> 5 | </g> 6 | </svg> 7 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-light/icons/unlocked.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="11px" height="12px" version="1.1" viewBox="0 0 11 12" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="#000" opacity=".6" transform="translate(-1784 -834)" fill-rule="evenodd"> 4 | <g transform="translate(1759 830)" fill-rule="nonzero"> 5 | <path d="m32 10h1v6h-8v-6h5v-3c0-1.6569 1.3431-3 3-3s3 1.3431 3 3v3h-2v-3c0-0.55228-0.44772-1-1-1s-1 0.44772-1 1v3z"/> 6 | </g> 7 | </g> 8 | </svg> 9 | -------------------------------------------------------------------------------- /gui/res/icons/scopy-light/index.theme: -------------------------------------------------------------------------------- 1 | [Icon Theme] 2 | Name=LightTheme 3 | Comment=Scopy light theme 4 | Directories=icons 5 | 6 | [icons] 7 | Size=16 8 | -------------------------------------------------------------------------------- /gui/res/icons/setup_btn_checked.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="40" height="20" viewBox="0 0 40 20" xmlns="http://www.w3.org/2000/svg"> 3 | <g transform="" fill-rule="evenodd"> 4 | <rect width="40" height="20" rx="10" fill="#4a64ff"/> 5 | <path d="m14 12h12v2h-12zm2-1h2v4h-2zm-2-5h12v2h-12zm8-1h2v4h-2z" fill="#fff"/> 6 | </g> 7 | </svg> 8 | -------------------------------------------------------------------------------- /gui/res/icons/setup_btn_checked_hover.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="40" height="20" viewBox="0 0 40 20" xmlns="http://www.w3.org/2000/svg"> 3 | <g transform="" fill-rule="evenodd"> 4 | <rect width="40" height="20" rx="10" fill="#4a64ff"/> 5 | <path d="m14 12h12v2h-12zm2-1h2v4h-2zm-2-5h12v2h-12zm8-1h2v4h-2z" fill="#fff" opacity=".6"/> 6 | </g> 7 | </svg> 8 | -------------------------------------------------------------------------------- /gui/res/icons/time_trigger_handle.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="40" height="30" viewBox="0 0 40 30" xmlns="http://www.w3.org/2000/svg"> 3 | <g transform="" fill-rule="evenodd"> 4 | <rect width="40" height="30" rx="4" fill="#4a64ff"/> 5 | <path d="m14.99 20-4.99-5 4.99-5 1 1-4 4 4 4z" fill="#fff"/> 6 | <path d="m25 10 4.99 5-4.99 5-1-1 4-4-4-4z" fill="#fff"/> 7 | </g> 8 | </svg> 9 | -------------------------------------------------------------------------------- /gui/res/icons/time_trigger_left.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30" height="30" viewBox="0 0 30 30" xmlns="http://www.w3.org/2000/svg"> 3 | <g transform="" fill-rule="evenodd"> 4 | <rect width="30" height="30" rx="4" fill="#4a64ff"/> 5 | <path d="m16.99 20-4.99-5 4.99-5 1 1-4 4 4 4z" fill="#fff"/> 6 | </g> 7 | </svg> 8 | -------------------------------------------------------------------------------- /gui/res/icons/time_trigger_right.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30" height="30" viewBox="0 0 30 30" xmlns="http://www.w3.org/2000/svg"> 3 | <g transform="" fill-rule="evenodd"> 4 | <rect width="30" height="30" rx="4" fill="#4a64ff"/> 5 | <path d="m14 10 4.99 5-4.99 5-1-1 4-4-4-4z" fill="#fff"/> 6 | </g> 7 | </svg> 8 | -------------------------------------------------------------------------------- /gui/res/icons/trigger_any_disabled.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30" height="20" viewBox="0 0 30 20" xmlns="http://www.w3.org/2000/svg"> 3 | <g transform="translate(1 1)" fill="none" fill-rule="evenodd" stroke="#4d4d54" stroke-width="2"> 4 | <path d="m0 18h8v-18h12v18h8" stroke-linecap="square"/> 5 | <path d="m24 6-4 6-4-6" fill="#fff" fill-rule="nonzero" stroke-linejoin="round"/> 6 | <path transform="matrix(-1 0 0 -1 16 18)" d="m12 6-4 6-4-6" fill="#fff" fill-rule="nonzero" stroke-linejoin="round"/> 7 | </g> 8 | </svg> 9 | -------------------------------------------------------------------------------- /gui/res/icons/trigger_any_enabled.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30" height="20" viewBox="0 0 30 20" xmlns="http://www.w3.org/2000/svg"> 3 | <g transform="translate(1 1)" fill="none" fill-rule="evenodd" stroke="#fff" stroke-width="2"> 4 | <path d="m0 18h8v-18h12v18h8" stroke-linecap="square"/> 5 | <path transform="matrix(-1 0 0 -1 16 18)" d="m12 6-4 6-4-6" fill="#4a64ff" fill-rule="nonzero" stroke-linejoin="round"/> 6 | <path d="m24 6-4 6-4-6" fill="#4a64ff" fill-rule="nonzero" stroke-linejoin="round"/> 7 | </g> 8 | </svg> 9 | -------------------------------------------------------------------------------- /gui/res/icons/trigger_falling_disabled.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30" height="20" viewBox="0 0 30 20" xmlns="http://www.w3.org/2000/svg"> 3 | <g transform="matrix(-1 0 0 1 29 1)" fill="none" fill-rule="evenodd" stroke="#4d4d54" stroke-width="2"> 4 | <path d="m0 18h14v-18h14" stroke-linecap="square"/> 5 | <path d="m18 6-4 6-4-6" fill="#fff" stroke-linejoin="round"/> 6 | </g> 7 | </svg> 8 | -------------------------------------------------------------------------------- /gui/res/icons/trigger_falling_enabled.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30" height="20" viewBox="0 0 30 20" xmlns="http://www.w3.org/2000/svg"> 3 | <g transform="matrix(-1 0 0 1 29 1)" fill="none" fill-rule="evenodd" stroke="#fff" stroke-width="2"> 4 | <path d="m0 18h14v-18h14" stroke-linecap="square"/> 5 | <path d="m18 6-4 6-4-6" fill="#4a64ff" stroke-linejoin="round"/> 6 | </g> 7 | </svg> 8 | -------------------------------------------------------------------------------- /gui/res/icons/trigger_high_disabled.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30" height="20" viewBox="0 0 30 20" xmlns="http://www.w3.org/2000/svg"> 3 | <g transform="matrix(1 0 0 -1 1 20)" fill="none" fill-rule="evenodd"> 4 | <path d="m0 19h28" stroke="#4d4d54" stroke-linecap="square" stroke-width="2"/> 5 | <path d="m8 14v-14h2v5.7551h8v-5.7551h2v14h-2v-6.0607h-8v6.0607z" fill="#4d4d54"/> 6 | </g> 7 | </svg> 8 | -------------------------------------------------------------------------------- /gui/res/icons/trigger_high_enabled.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30" height="20" viewBox="0 0 30 20" xmlns="http://www.w3.org/2000/svg"> 3 | <g transform="matrix(1 0 0 -1 1 20)" fill="none" fill-rule="evenodd"> 4 | <path d="m0 19h28" stroke="#fff" stroke-linecap="square" stroke-width="2"/> 5 | <path d="m8 14v-14h2v5.7551h8v-5.7551h2v14h-2v-6.0607h-8v6.0607z" fill="#fff"/> 6 | </g> 7 | </svg> 8 | -------------------------------------------------------------------------------- /gui/res/icons/trigger_low_disabled.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30" height="20" viewBox="0 0 30 20" xmlns="http://www.w3.org/2000/svg"> 3 | <g transform="matrix(1 0 0 -1 1 19)" fill="none" fill-rule="evenodd"> 4 | <path d="m0 0h28" stroke="#4d4d54" stroke-linecap="square" stroke-width="2"/> 5 | <path d="m8 19v-14h12v2l-10-0.060709v12.061z" fill="#4d4d54"/> 6 | </g> 7 | </svg> 8 | -------------------------------------------------------------------------------- /gui/res/icons/trigger_low_enabled.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30" height="20" viewBox="0 0 30 20" xmlns="http://www.w3.org/2000/svg"> 3 | <g transform="matrix(1 0 0 -1 1 19)" fill="none" fill-rule="evenodd"> 4 | <path d="m0 0h28" stroke="#fff" stroke-linecap="square" stroke-width="2"/> 5 | <path d="m8 19v-14h12v2l-10-0.060709v12.061z" fill="#fff"/> 6 | </g> 7 | </svg> 8 | -------------------------------------------------------------------------------- /gui/res/icons/trigger_rising_disabled.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30" height="20" viewBox="0 0 30 20" xmlns="http://www.w3.org/2000/svg"> 3 | <g transform="matrix(-1 0 0 -1 29 19)" fill="none" fill-rule="evenodd" stroke="#4d4d54" stroke-width="2"> 4 | <path d="m0 18h14v-18h14" stroke-linecap="square"/> 5 | <path d="m18 6-4 6-4-6" fill="#fff" stroke-linejoin="round"/> 6 | </g> 7 | </svg> 8 | -------------------------------------------------------------------------------- /gui/res/icons/trigger_rising_enabled.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30" height="20" viewBox="0 0 30 20" xmlns="http://www.w3.org/2000/svg"> 3 | <g transform="matrix(-1 0 0 -1 29 19)" fill="none" fill-rule="evenodd" stroke="#fff" stroke-width="2"> 4 | <path d="m0 18h14v-18h14" stroke-linecap="square"/> 5 | <path d="m18 6-4 6-4-6" fill="#4a64ff" stroke-linejoin="round"/> 6 | </g> 7 | </svg> 8 | -------------------------------------------------------------------------------- /gui/res/icons/uninstall-icon.svg: -------------------------------------------------------------------------------- 1 | <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <path d="M8 2V4H5L4.999 14H18.999L19 4H16V2H20C20.5523 2 21 2.44772 21 3V21C21 21.5523 20.5523 22 20 22H4C3.44772 22 3 21.5523 3 21V3C3 2.44772 3.44772 2 4 2H8ZM18.999 16H4.999L5 20H19L18.999 16ZM17 17V19H15V17H17ZM12 2L16 6H13V11H11V6H8L12 2Z" fill="#101820"/> 3 | </svg> 4 | -------------------------------------------------------------------------------- /gui/res/icons/v_cursor_handle.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30" height="40" viewBox="0 0 30 40" xmlns="http://www.w3.org/2000/svg"> 3 | <g transform="" fill-rule="evenodd"> 4 | <rect width="30" height="40" rx="4" fill="#9b9b9b"/> 5 | <path d="m20 25-5 4.99-5-4.99 1-1 4 4 4-4z" fill="#141416"/> 6 | <path d="m10 14.99 5-4.99 5 4.99-1 1-4-4-4 4z" fill="#141416"/> 7 | </g> 8 | </svg> 9 | -------------------------------------------------------------------------------- /gui/res/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/gui/res/loading.gif -------------------------------------------------------------------------------- /gui/res/open-sans-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/gui/res/open-sans-regular.ttf -------------------------------------------------------------------------------- /gui/res/scopy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/gui/res/scopy.png -------------------------------------------------------------------------------- /gui/res/svg_sketch.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/gui/res/svg_sketch.zip -------------------------------------------------------------------------------- /gui/style/qss/properties/button/basicButton.qss: -------------------------------------------------------------------------------- 1 | QPushButton[&&property&&=true] { 2 | min-height: &unit_2&; 3 | max-height: &unit_2&; 4 | border-radius: &radius_1&; 5 | background-color: &interactive_primary_idle&; 6 | color: &content_inverse&; 7 | font-weight: bold; 8 | /* qproperty-iconSize: &unit_4&px; */ 9 | } 10 | QPushButton[&&property&&=true]:hover { 11 | background-color: &interactive_primary_hover&; 12 | color: &content_inverse&; 13 | } 14 | 15 | QPushButton[&&property&&=true]:pressed { 16 | background-color: &interactive_primary_pressed&; 17 | color: &content_inverse&; 18 | } 19 | QPushButton[&&property&&=true]:disabled { 20 | background-color: &interactive_subtle_disabled&; 21 | } 22 | -------------------------------------------------------------------------------- /gui/style/qss/properties/button/basicButtonBig.qss: -------------------------------------------------------------------------------- 1 | QPushButton[&&property&&=true] { 2 | font-size: &font_size&; 3 | height: 40px; 4 | text-align: center; 5 | font-weight: bold; 6 | padding-left: &unit_1&; 7 | padding-right: &unit_1&; 8 | border-radius: &radius_1&; 9 | background-color: &interactive_primary_idle&; 10 | color: &content_inverse&; 11 | font-weight: bold; 12 | } 13 | QPushButton[&&property&&=true]:hover { 14 | background-color: &interactive_primary_hover&; 15 | color: &content_inverse&; 16 | } 17 | 18 | QPushButton[&&property&&=true]:pressed { 19 | background-color: &interactive_primary_pressed&; 20 | color: &content_inverse&; 21 | } 22 | QPushButton[&&property&&=true]:disabled { 23 | background-color: &interactive_subtle_disabled&; 24 | } 25 | -------------------------------------------------------------------------------- /gui/style/qss/properties/button/blueGrayButton.qss: -------------------------------------------------------------------------------- 1 | QPushButton[&&property&&=true] { 2 | border-radius: &radius_1&; 3 | border-style: outset; 4 | height: &unit_4&; 5 | background-color: &background_primary&; 6 | color: &content_default&; 7 | font-weight: bold; 8 | font-size: &font_size&; 9 | qproperty-iconSize: &unit_4&px; 10 | } 11 | 12 | QPushButton[&&property&&=true]:checked { 13 | background-color: &interactive_primary_idle&; 14 | color: &content_inverse&; 15 | } 16 | 17 | QPushButton[&&property&&=true]:pressed { 18 | background-color: &interactive_primary_idle&; 19 | color: &content_inverse&; 20 | } 21 | -------------------------------------------------------------------------------- /gui/style/qss/properties/button/clear.qss: -------------------------------------------------------------------------------- 1 | QPushButton[&&property&&=true] { 2 | width: 82px; 3 | height: 32px; 4 | border-radius: &radius_1&; 5 | text-align: center; 6 | padding: &padding_1&; 7 | color: &content_inverse&; 8 | background-color:&content_error&; 9 | } 10 | 11 | QPushButton[&&property&&=true]:hover { 12 | background-color: &interactive_accent_pressed&; 13 | color: &content_inverse&; 14 | } 15 | QPushButton[&&property&&=true]:disabled { 16 | background-color: &interactive_subtle_disabled&; 17 | } 18 | -------------------------------------------------------------------------------- /gui/style/qss/properties/button/grayButton.qss: -------------------------------------------------------------------------------- 1 | QPushButton[&&property&&=true] { 2 | text-align:left; 3 | height: &unit_2&; 4 | background-color: &interactive_subtle_idle&; 5 | color: &content_inverse&; 6 | border-radius: &radius_1&; 7 | text-align:center; 8 | } 9 | QPushButton[&&property&&=true]:hover { 10 | background-color: &interactive_subtle_hover&; 11 | color: &content_inverse&; 12 | } 13 | 14 | QPushButton[&&property&&=true]:pressed { 15 | background-color: &interactive_subtle_pressed&; 16 | color: &content_inverse&; 17 | } 18 | 19 | QPushButton[&&property&&=true]:checked { 20 | background-color: &interactive_subtle_pressed&; 21 | color: &content_inverse&; 22 | } 23 | 24 | QPushButton[&&property&&=true]:disabled { 25 | background-color: &interactive_subtle_disabled&; 26 | color: &content_inverse&; 27 | } 28 | -------------------------------------------------------------------------------- /gui/style/qss/properties/button/menuControlButton.qss: -------------------------------------------------------------------------------- 1 | QPushButton[&&property&&=true] { 2 | background-color: transparent; 3 | } 4 | QPushButton#btn[&&property&&=true]:pressed { 5 | border-image: url(:/gui/icons/setup_btn_checked.svg) 6 | } 7 | QPushButton#btn[&&property&&=true]:!pressed { 8 | border-image: url(:/gui/icons/&icon_theme_folder&/icons/setup_btn_unchecked.svg) 9 | } 10 | QPushButton#btn[&&property&&=true]:hover:!pressed:!checked { 11 | border-image: url(:/gui/icons/&icon_theme_folder&/icons/setup_btn_hover.svg) 12 | } 13 | QPushButton#btn[&&property&&=true]:checked { 14 | border-image: url(:/gui/icons/setup_btn_checked.svg); 15 | } 16 | -------------------------------------------------------------------------------- /gui/style/qss/properties/button/runButton.qss: -------------------------------------------------------------------------------- 1 | QPushButton[&&property&&=true] { 2 | width: 82px; 3 | height: &unit_2_5&; 4 | border-radius: &radius_1&; 5 | text-align: center; 6 | padding: &padding_1&; 7 | color: &content_inverse&; 8 | background-color: &run_button_color&; 9 | } 10 | 11 | QPushButton[&&property&&=true]:pressed { 12 | background-color: &interactive_accent_pressed&; 13 | } 14 | 15 | QPushButton[&&property&&=true]:hover { 16 | background-color: &run_button_color&; 17 | } 18 | 19 | QPushButton[&&property&&=true]:checked { 20 | background-color: &interactive_accent_pressed&; 21 | } 22 | 23 | QPushButton[&&property&&=true]:disabled { 24 | background-color: &interactive_subtle_disabled&; 25 | } 26 | -------------------------------------------------------------------------------- /gui/style/qss/properties/button/singleButton.qss: -------------------------------------------------------------------------------- 1 | QPushButton[&&property&&=true] { 2 | width: 82px; 3 | height: &unit_2_5&; 4 | border-radius: &radius_1&; 5 | text-align: center; 6 | padding: &padding_1&; 7 | color: &content_inverse&; 8 | background-color: &interactive_accent_idle&; 9 | } 10 | 11 | QPushButton[&&property&&=true]:pressed { 12 | background-color: &interactive_accent_pressed&; 13 | } 14 | 15 | QPushButton[&&property&&=true]:hover { 16 | background-color: &interactive_accent_pressed&; 17 | } 18 | 19 | QPushButton[&&property&&=true]:checked { 20 | background-color: &interactive_accent_pressed&; 21 | } 22 | 23 | QPushButton[&&property&&=true]:disabled { 24 | background-color: &interactive_subtle_disabled&; 25 | } 26 | -------------------------------------------------------------------------------- /gui/style/qss/properties/button/smallSquareIconButton.qss: -------------------------------------------------------------------------------- 1 | QPushButton[&&property&&=true] { 2 | width: &unit_1&px; 3 | height: &unit_1&px; 4 | border-style: outset; 5 | border-radius: &radius_1&; 6 | background-color:&interactive_primary_idle&; 7 | qproperty-iconSize: &unit_2_5&px; 8 | font-size: &font_size_0_5&; 9 | color: &content_inverse&; 10 | } 11 | 12 | QPushButton[&&property&&=true]:hover { 13 | background-color:&interactive_primary_hover&; 14 | color: &content_inverse&; 15 | } 16 | 17 | QPushButton[&&property&&=true]:pressed { 18 | background-color:&interactive_primary_hover&; 19 | color: &content_inverse&; 20 | } 21 | 22 | QPushButton[&&property&&=true]:disabled { 23 | background-color: &interactive_subtle_disabled&; 24 | } 25 | -------------------------------------------------------------------------------- /gui/style/qss/properties/button/spinboxButton.qss: -------------------------------------------------------------------------------- 1 | QPushButton[&&property&&=true] { 2 | border-radius: &radius_1&; 3 | background-color: &interactive_secondary_idle&; 4 | color: &content_default&; 5 | } 6 | QPushButton[&&property&&=true]:hover { 7 | background-color: &interactive_secondary_hover&; 8 | color: &content_inverse&; 9 | } 10 | 11 | QPushButton[&&property&&=true]:pressed { 12 | background-color: &interactive_secondary_pressed&; 13 | color: &content_inverse&; 14 | } 15 | 16 | QPushButton[&&property&&=true]:checked { 17 | background-color: &interactive_secondary_pressed&; 18 | color: &content_inverse&; 19 | } 20 | QPushButton[&&property&&=true]:disabled { 21 | background-color: &interactive_secondary_disabled&; 22 | color: &content_inverse&; 23 | } 24 | -------------------------------------------------------------------------------- /gui/style/qss/properties/button/squareIconBrowserButton.qss: -------------------------------------------------------------------------------- 1 | QPushButton[&&property&&=true] { 2 | width: &unit_2&px; 3 | height: &unit_2&px; 4 | border-style: outset; 5 | border-radius: &radius_1&; 6 | background-color: &interactive_primary_idle&; 7 | qproperty-iconSize: &unit_4&px; 8 | } 9 | 10 | QPushButton[&&property&&=true]:checked { 11 | background-color:&interactive_primary_hover&; 12 | } 13 | 14 | QPushButton[&&property&&=true]:pressed { 15 | background-color:&interactive_primary_hover&; 16 | } 17 | 18 | QPushButton[&&property&&=true]:hover { 19 | background-color:&interactive_primary_hover&; 20 | } 21 | 22 | QPushButton[&&property&&=true]:disabled { 23 | background-color:&interactive_primary_disabled&; 24 | } 25 | -------------------------------------------------------------------------------- /gui/style/qss/properties/button/squareIconButton.qss: -------------------------------------------------------------------------------- 1 | QPushButton[&&property&&=true] { 2 | width: &unit_2_5&px; 3 | height: &unit_2_5&px; 4 | border-style: outset; 5 | border-radius: &radius_1&; 6 | background-color:&background_primary&; 7 | qproperty-iconSize: &unit_4&px; 8 | } 9 | 10 | QPushButton[&&property&&=true]:checked { 11 | background-color:&interactive_primary_idle&; 12 | } 13 | 14 | QPushButton[&&property&&=true]:pressed { 15 | background-color:&interactive_primary_idle&; 16 | } 17 | 18 | QPushButton[&&property&&=true]:hover { 19 | background-color:&interactive_primary_hover&; 20 | } 21 | -------------------------------------------------------------------------------- /gui/style/qss/properties/button/stopButton.qss: -------------------------------------------------------------------------------- 1 | QPushButton[&&property&&=true] { 2 | background-repeat: no-repeat; 3 | background-position: center center; 4 | } 5 | QPushButton[&&property&&=true]:enabled { 6 | background-image: url(:/gui/icons/&icon_theme_folder&/icons/play_stop.svg); 7 | } 8 | QPushButton[&&property&&=true][disabled=true][enabled=false] { 9 | background-image: url(:/gui/icons/&icon_theme_folder&/icons/play_stop.svg); 10 | } 11 | QPushButton[&&property&&=true]:checked { 12 | background-image: url(:/gui/icons/play_green.svg); 13 | } 14 | -------------------------------------------------------------------------------- /gui/style/qss/properties/button/subtleButton.qss: -------------------------------------------------------------------------------- 1 | QPushButton[&&property&&=true] { 2 | border-radius: &radius_1&; 3 | background-color: &background_primary&; 4 | color: &content_default&; 5 | } 6 | QPushButton[&&property&&=true]:hover { 7 | background-color: &interactive_primary_idle&; 8 | color: &content_inverse&; 9 | } 10 | 11 | QPushButton[&&property&&=true]:pressed { 12 | background-color: &interactive_primary_idle&; 13 | color: &content_inverse&; 14 | } 15 | 16 | QPushButton[&&property&&=true]:checked { 17 | background-color: &interactive_primary_idle&; 18 | color: &content_inverse&; 19 | } 20 | -------------------------------------------------------------------------------- /gui/style/qss/properties/button/toolButton.qss: -------------------------------------------------------------------------------- 1 | QPushButton[&&property&&=true] { 2 | text-align:left; 3 | height: &unit_2&; 4 | background-color: transparent; 5 | color: &content_default&; 6 | border:none; 7 | text-align:center; 8 | } 9 | QPushButton[&&property&&=true]:hover { 10 | background-color: &content_silent&; 11 | color: &content_default&; 12 | } 13 | QPushButton[&&property&&=true]:pressed { 14 | background-color: &content_silent&; 15 | color: &content_default&; 16 | } 17 | QPushButton[&&property&&=true]:checked { 18 | background-color: &interactive_subtle_disabled&; 19 | color: &content_default&; 20 | } 21 | QPushButton[&&property&&=true]:disabled { 22 | background-color: transparent; 23 | color: &content_silent&; 24 | } 25 | 26 | -------------------------------------------------------------------------------- /gui/style/qss/properties/button/whatsNewButton.qss: -------------------------------------------------------------------------------- 1 | QPushButton[&&property&&=true] { 2 | height: &radius_1&; 3 | width: &radius_1&; 4 | border-radius: &radius_1&; 5 | background-color: &content_silent&; 6 | color: &content_inverse&; 7 | font-weight: 700; 8 | /* qproperty-iconSize: &unit_4&px; */ 9 | } 10 | QPushButton[&&property&&=true]:hover { 11 | background-color: &content_default&; 12 | color: &content_inverse&; 13 | } 14 | 15 | QPushButton[&&property&&=true]:pressed { 16 | background-color: &content_silent&; 17 | color: &content_inverse&; 18 | } 19 | 20 | QPushButton[&&property&&=true]:disabled { 21 | background-color: &interactive_subtle_disabled&; 22 | } 23 | 24 | QPushButton[&&property&&=true]:checked { 25 | background-color: &content_default&; 26 | color: &content_inverse&; 27 | } 28 | -------------------------------------------------------------------------------- /gui/style/qss/properties/checkbox/collapseCB.qss: -------------------------------------------------------------------------------- 1 | QCheckBox[&&property&&=true] { 2 | width:16px; 3 | height:16px; 4 | background-color: rgba(128,128,128,0); 5 | color: rgba(255, 255, 255, 0); 6 | } 7 | QCheckBox::indicator[&&property&&=true] { 8 | width: 12px; 9 | height: 12px; 10 | border: 2px transparent; 11 | background-color: transparent; 12 | image: none; 13 | } 14 | QCheckBox::indicator[&&property&&=true]:unchecked { 15 | image: url(&sba_cmb_box_arrow_right&); 16 | background-color: transparent; 17 | } 18 | QCheckBox::indicator[&&property&&=true]:checked { 19 | image: url(&sba_cmb_box_arrow&); 20 | background-color: transparent; 21 | } 22 | -------------------------------------------------------------------------------- /gui/style/qss/properties/checkbox/squareCB.qss: -------------------------------------------------------------------------------- 1 | QCheckBox[&&property&&=true] { 2 | width:16px; 3 | height:16px; 4 | background-color: rgba(128,128,128,0); 5 | color: rgba(255, 255, 255, 153); 6 | } 7 | QCheckBox::indicator[&&property&&=true] { 8 | width: 12px; 9 | height: 12px; 10 | border: 2px solid &content_default&; 11 | border-radius: 4px; 12 | image: none; 13 | } 14 | QCheckBox::indicator[&&property&&=true]:unchecked { 15 | background-color: &background_primary&; 16 | } 17 | -------------------------------------------------------------------------------- /gui/style/qss/properties/combobox/versionCb.qss: -------------------------------------------------------------------------------- 1 | QComboBox[&&property&&=true] { 2 | border: none; 3 | background: transparent; 4 | padding: 0; 5 | } 6 | 7 | QComboBox[&&property&&=true]:disabled { 8 | color: &content_subtle&; 9 | } 10 | 11 | QComboBox::drop-down[&&property&&=true] { 12 | border: none; 13 | background: transparent; 14 | width: 0px; 15 | padding: 0; 16 | } 17 | 18 | QComboBox::down-arrow[&&property&&=true] { 19 | width: 0; 20 | height: 0; 21 | } 22 | 23 | -------------------------------------------------------------------------------- /gui/style/qss/properties/frame/frameContainer.qss: -------------------------------------------------------------------------------- 1 | *[&&property&&="selected"] { 2 | background-color: &interactive_subtle_disabled&; 3 | border-radius: 4px; 4 | } 5 | 6 | *[&&property&&="idle"] { 7 | background-color: transparent; 8 | } 9 | -------------------------------------------------------------------------------- /gui/style/qss/properties/frame/line.qss: -------------------------------------------------------------------------------- 1 | *[&&property&&=true] { 2 | border: &border_width_interactive& solid &interactive_subtle_idle&; 3 | } 4 | -------------------------------------------------------------------------------- /gui/style/qss/properties/iiowidgets/comboBox.qss: -------------------------------------------------------------------------------- 1 | QComboBox[&&property&&=true] { 2 | border-top-left-radius: 2px; 3 | border-top-right-radius: 2px; 4 | border-bottom-left-radius: 0px; 5 | border-bottom-right-radius: 0px; 6 | border-bottom: none; 7 | } 8 | -------------------------------------------------------------------------------- /gui/style/qss/properties/iiowidgets/lineEdit.qss: -------------------------------------------------------------------------------- 1 | QLineEdit[&&property&&=true] { 2 | border: &border_width& solid &interactive_subtle_idle&; 3 | border-top-left-radius: 2px; 4 | border-top-right-radius: 2px; 5 | border-bottom-left-radius: 0px; 6 | border-bottom-right-radius: 0px; 7 | border-bottom: none; 8 | } 9 | -------------------------------------------------------------------------------- /gui/style/qss/properties/label/deviceIcon.qss: -------------------------------------------------------------------------------- 1 | QLabel[&&property&&=true] { 2 | color: white; 3 | font-weight: bold; 4 | font-size: &font_size_0_5&; 5 | } 6 | QLabel[&&property&&=true]:disabled { 7 | color: grey; 8 | } 9 | -------------------------------------------------------------------------------- /gui/style/qss/properties/label/interactive.qss: -------------------------------------------------------------------------------- 1 | *[&&property&&=true] { 2 | border: &border_width_interactive& solid &interactive_primary_idle&; 3 | border-radius: &radius_1&; 4 | background-color: transparent; 5 | color: &interactive_primary_idle&; 6 | } 7 | 8 | *[&&property&&=true]:hover { 9 | border: &border_width_interactive& solid &interactive_primary_hover&; 10 | background-color: transparent; 11 | color: &interactive_primary_hover&; 12 | } -------------------------------------------------------------------------------- /gui/style/qss/properties/label/menuBig.qss: -------------------------------------------------------------------------------- 1 | QLabel[&&property&&=true] { 2 | font-weight: bold; 3 | font-size: &font_size_2&; 4 | } 5 | QLabel[&&property&&=true]:disabled { 6 | color: grey; 7 | } 8 | -------------------------------------------------------------------------------- /gui/style/qss/properties/label/menuMedium.qss: -------------------------------------------------------------------------------- 1 | QWidget[&&property&&=true] { 2 | min-width: 50; 3 | font-weight: bold; 4 | font-size: &font_size_1&; 5 | text-align: left; 6 | } 7 | QWidget[&&property&&="selected"] { 8 | color: &content_inverse&; 9 | min-width: 50; 10 | font-weight: bold; 11 | font-size: &font_size_1&; 12 | text-align: left; 13 | } 14 | QWidget[&&property&&="idle"] { 15 | color: &content_default&; 16 | min-width: 50; 17 | font-weight: bold; 18 | font-size: &font_size_1&; 19 | text-align: left; 20 | } 21 | -------------------------------------------------------------------------------- /gui/style/qss/properties/label/menuSmall.qss: -------------------------------------------------------------------------------- 1 | QLabel[&&property&&=true] { 2 | font-weight: bold; 3 | font-size: &font_size_0_5&; 4 | } 5 | QLabel[&&property&&=true]:disabled { 6 | color: grey; 7 | } 8 | -------------------------------------------------------------------------------- /gui/style/qss/properties/label/statusLabel.qss: -------------------------------------------------------------------------------- 1 | *[&&property&&=true] { 2 | border: &border_width_interactive& solid &interactive_primary_idle&; 3 | border-radius: &radius_1&; 4 | background-color: transparent; 5 | color: &interactive_primary_idle&; 6 | } 7 | 8 | *[&&property&&="success"] { 9 | border: &border_width_interactive& solid &led_success&; 10 | border-radius: &radius_1&; 11 | background-color: transparent; 12 | color: &led_success&; 13 | } 14 | 15 | *[&&property&&="error"] { 16 | border: &border_width_interactive& solid &led_error&; 17 | border-radius: &radius_1&; 18 | background-color: transparent; 19 | color: &led_error&; 20 | } -------------------------------------------------------------------------------- /gui/style/qss/properties/label/subtle.qss: -------------------------------------------------------------------------------- 1 | QLabel[&&property&&=true] { 2 | font-weight: normal; 3 | color: &content_subtle&; 4 | font-size: &font_size_0_5&; 5 | } 6 | -------------------------------------------------------------------------------- /gui/style/qss/properties/label/warning.qss: -------------------------------------------------------------------------------- 1 | QLabel[&&property&&=true] { 2 | color: &content_busy&; 3 | } 4 | -------------------------------------------------------------------------------- /gui/style/qss/properties/lineedit/headerLineEdit.qss: -------------------------------------------------------------------------------- 1 | QLineEdit[&&property&&=true] { 2 | font-weight: bold; 3 | font-size: &font_size_1&; 4 | font-style: normal; 5 | border: 0px solid &content_subtle&; 6 | border-bottom: 1px solid rgba(255, 255, 255, 102); 7 | padding-left: -2px; 8 | } 9 | QLineEdit[&&property&&=true]:disabled { 10 | border: 0px solid &content_subtle&; 11 | border-bottom: 0px solid rgba(255, 255, 255, 102); 12 | padding-left: -2px; 13 | } 14 | -------------------------------------------------------------------------------- /gui/style/qss/properties/lineedit/menuLineEdit.qss: -------------------------------------------------------------------------------- 1 | QLineEdit[&&property&&=true] { 2 | background-color: transparent; 3 | color: &content_default&; 4 | font-size: &font_size&; 5 | border: 0px solid transparent; 6 | border-bottom: 1px solid &interactive_subtle_idle&; 7 | border-radius: 0; 8 | padding: 0 &padding_interactive& 0 &padding_interactive&; 9 | } 10 | 11 | QLineEdit[&&property&&=true]:disabled { 12 | color: &content_subtle&; 13 | } 14 | -------------------------------------------------------------------------------- /gui/style/qss/properties/tabwidget/eastTabMenu.qss: -------------------------------------------------------------------------------- 1 | QTabWidget::tab-bar[&&property&&=true] { 2 | left: 0; 3 | } 4 | QTabWidget::pane[&&property&&=true] { 5 | border-top: 0px; 6 | } 7 | QTabBar { 8 | qproperty-drawBase: 0; 9 | background: &background_primary&; 10 | } 11 | QTabBar::tab[&&property&&=true] { 12 | background: &background_primary&; 13 | min-width: 150px; 14 | height: &unit_3&; 15 | padding-bottom: &padding_1&; 16 | font: normal; 17 | } 18 | QTabBar::tab[&&property&&=true]:selected { 19 | color: &content_default&; 20 | border-bottom: 2px solid &interactive_primary_idle&; 21 | margin-top: 0px; 22 | } 23 | QTabBar::tab[&&property&&=true]:!selected { 24 | border-bottom: 2px solid &content_default&; 25 | } 26 | QTabBar::scroller[&&property&&=true] { 27 | width: 25px; 28 | } 29 | -------------------------------------------------------------------------------- /gui/style/qss/properties/widget/basicBackground.qss: -------------------------------------------------------------------------------- 1 | *[&&property&&=true] { 2 | background-color: &background_primary&; 3 | } 4 | -------------------------------------------------------------------------------- /gui/style/qss/properties/widget/basicComponent.qss: -------------------------------------------------------------------------------- 1 | *[&&property&&=true] { 2 | background-color: &background_primary&; 3 | border: &border_width& solid &interactive_subtle_disabled&; 4 | border-radius: &radius_1&; 5 | } 6 | -------------------------------------------------------------------------------- /gui/style/qss/properties/widget/border.qss: -------------------------------------------------------------------------------- 1 | *[&&property&&=true] { 2 | border: &border_width& solid &interactive_subtle_disabled&; 3 | border-radius: &radius_1&; 4 | } 5 | -------------------------------------------------------------------------------- /gui/style/qss/properties/widget/border_interactive.qss: -------------------------------------------------------------------------------- 1 | *[&&property&&=true] { 2 | border: &border_width_interactive& solid &interactive_subtle_idle&; 3 | border-radius: &radius_1&; 4 | } 5 | -------------------------------------------------------------------------------- /gui/style/qss/properties/widget/bottomBorder.qss: -------------------------------------------------------------------------------- 1 | *[&&property&&=true] { 2 | border-bottom: &border_width_interactive& solid &interactive_subtle_idle&; 3 | border-radius: 0; 4 | } 5 | -------------------------------------------------------------------------------- /gui/style/qss/properties/widget/cardWidget.qss: -------------------------------------------------------------------------------- 1 | *[&&property&&=true] { 2 | border: 1px solid &interactive_subtle_disabled&; 3 | color: &content_inverse&; 4 | font-weight: bold; 5 | border-radius: &radius_1&; 6 | } 7 | 8 | *[&&property&&=true]:hover { 9 | background-color: &content_silent&; 10 | color: &content_inverse&; 11 | } 12 | 13 | *[&&property&&=false] { 14 | border: 1px solid &interactive_subtle_disabled&; 15 | color: &content_inverse&; 16 | font-weight: bold; 17 | border-radius: &radius_1&; 18 | } 19 | 20 | *[&&property&&="selected"] { 21 | border: 1px solid &interactive_subtle_disabled&; 22 | color: &content_default&; 23 | font-weight: bold; 24 | border-radius: &radius_1&; 25 | background-color: &interactive_subtle_disabled&; 26 | } 27 | -------------------------------------------------------------------------------- /gui/style/qss/properties/widget/deviceHeaderWidget.qss: -------------------------------------------------------------------------------- 1 | QWidget[&&property&&="idle"] { 2 | background-color: transparent; 3 | color: &content_default&; 4 | } 5 | 6 | QWidget[&&property&&="idle"]:hover { 7 | background-color: &content_silent&; 8 | color: &content_default&; 9 | } 10 | 11 | QWidget[&&property&&="selected"] { 12 | background-color: &interactive_subtle_disabled&; 13 | color: &content_default&; 14 | } 15 | -------------------------------------------------------------------------------- /gui/style/qss/properties/widget/deviceIcon.qss: -------------------------------------------------------------------------------- 1 | *[&&property&&=true] { 2 | border: 1px solid &interactive_subtle_disabled&; 3 | color: &content_inverse&; 4 | font-weight: bold; 5 | border-radius: &radius_1&; 6 | } 7 | *[&&property&&=true]:hover { 8 | background-color: &content_silent&; 9 | color: &content_inverse&; 10 | } 11 | *[&&property&&=true]:pressed { 12 | background-color: &content_silent&; 13 | color: &content_inverse&; 14 | } 15 | 16 | *[&&property&&="selected"] { 17 | background-color: &interactive_subtle_idle&; 18 | border-radius: 4px; 19 | } 20 | 21 | *[&&property&&="idle"] { 22 | background-color: transparent; 23 | } 24 | -------------------------------------------------------------------------------- /gui/style/qss/properties/widget/genericSearchBar.qss: -------------------------------------------------------------------------------- 1 | *[&&property&&=true] { 2 | height: &unit_2&; 3 | border: &border_width_interactive& solid &interactive_subtle_idle&; 4 | border-radius: &radius_1&; 5 | background-color: &background_primary&; 6 | 7 | color: &content_default&; 8 | box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.3); 9 | } 10 | -------------------------------------------------------------------------------- /gui/style/qss/properties/widget/ledBorder.qss: -------------------------------------------------------------------------------- 1 | QWidget[&&property&&=false] { 2 | border-left: &border_width_2& solid transparent; 3 | border-radius: 0; 4 | } 5 | 6 | QWidget[&&property&&=true] { 7 | border-left: &border_width_2& solid &led_success&; 8 | border-radius: 0; 9 | } 10 | -------------------------------------------------------------------------------- /gui/style/qss/properties/widget/logo.qss: -------------------------------------------------------------------------------- 1 | *[&&property&&=true] { 2 | min-height: &unit_4&; 3 | background-image: url(:/gui/icons/&icon_theme_folder&/icons/logo_analog.svg); 4 | background-repeat: no-repeat; 5 | background-position: center center; 6 | min-height: &unit_3&; 7 | } 8 | -------------------------------------------------------------------------------- /gui/style/qss/properties/widget/noBorder.qss: -------------------------------------------------------------------------------- 1 | *[&&property&&=true] { 2 | border: none; 3 | } 4 | -------------------------------------------------------------------------------- /gui/style/qss/properties/widget/notInteractive.qss: -------------------------------------------------------------------------------- 1 | *[&&property&&=true]::hover { 2 | background-color: transparent; 3 | } 4 | *[&&property&&=true]::pressed { 5 | background-color: transparent; 6 | } 7 | -------------------------------------------------------------------------------- /gui/style/qss/properties/widget/overlayMenu.qss: -------------------------------------------------------------------------------- 1 | QWidget[&&property&&=true] { 2 | background-color: &background_primary&; 3 | border-radius: 4px; 4 | } 5 | -------------------------------------------------------------------------------- /gui/style/qss/properties/widget/searchbar.qss: -------------------------------------------------------------------------------- 1 | *[&&property&&=true] { 2 | border: &border_width& solid &content_silent&; 3 | border-radius: &radius_1&; 4 | background-color: &background_primary&; 5 | } 6 | -------------------------------------------------------------------------------- /gui/style/qss/properties/widget/solidBorder.qss: -------------------------------------------------------------------------------- 1 | QWidget[&&property&&=true] { 2 | border-radius: &radius_1&; 3 | } 4 | QWidget[&&property&&="left"] { 5 | border-top-left-radius: &radius_1&; 6 | border-bottom-left-radius: &radius_1&; 7 | } 8 | QWidget[&&property&&="right"] { 9 | border-top-right-radius: &radius_1&; 10 | border-bottom-right-radius: &radius_1&; 11 | } 12 | -------------------------------------------------------------------------------- /gui/style/qss/properties/widget/tableViewWidget.qss: -------------------------------------------------------------------------------- 1 | QHeaderView::section[&&property&&=true] { 2 | border: 1px solid &content_default&; 3 | background-color: &background_primary&; 4 | } 5 | 6 | QTableWidget::item[&&property&&=true] { 7 | border-right: 1px dashed &content_default&; 8 | border-bottom: 1px dashed &content_default&; 9 | } 10 | -------------------------------------------------------------------------------- /gui/style/qss/properties/widget/textBrowser.qss: -------------------------------------------------------------------------------- 1 | *[&&property&&=true] { 2 | border: &border_width& solid &content_silent&; 3 | border-radius: &radius_1&; 4 | background-color: &background_subtle&; 5 | } 6 | -------------------------------------------------------------------------------- /gui/style/qss/properties/widget/textEditBigLabel.qss: -------------------------------------------------------------------------------- 1 | QWidget[&&property&&=true] { 2 | font-size: &font_size_2&; 3 | text-align: left; 4 | } 5 | -------------------------------------------------------------------------------- /gui/style/qss/properties/widget/toolMenu.qss: -------------------------------------------------------------------------------- 1 | *[&&property&&=true] { 2 | height: &unit_3&; 3 | width: &unit_3&; 4 | background-image: url(:/gui/icons/&icon_theme_folder&/icons/menu.svg); 5 | background-repeat: no-repeat; 6 | background-position: center center; 7 | } 8 | -------------------------------------------------------------------------------- /gui/style/qss/properties/widget/toolMenuLogo.qss: -------------------------------------------------------------------------------- 1 | *[&&property&&=true] { 2 | height: &unit_3&; 3 | background-image: url(:/gui/icons/&icon_theme_folder&/icons/logo.svg); 4 | background-repeat: no-repeat; 5 | background-position: center center; 6 | } 7 | -------------------------------------------------------------------------------- /gui/style/qss/properties/widget/topBorder.qss: -------------------------------------------------------------------------------- 1 | *[&&property&&=true] { 2 | border-top: &border_width_interactive& solid &interactive_subtle_idle&; 3 | border-radius: 0; 4 | } 5 | -------------------------------------------------------------------------------- /iioutil/include/iioutil/scopy-iioutil_config.h.cmakein: -------------------------------------------------------------------------------- 1 | #ifndef SCOPYIIOUTIL_CONFIG_H_CMAKEIN 2 | #define SCOPYIIOUTIL_CONFIG_H_CMAKEIN 3 | 4 | #cmakedefine WITH_LIBSERIALPORT 5 | 6 | #endif // SCOPYIIOUTIL_CONFIG_H_CMAKEIN 7 | -------------------------------------------------------------------------------- /pluginbase/include/pluginbase/scopy-pluginbase_config.h.cmakein: -------------------------------------------------------------------------------- 1 | #ifndef SCOPY_PLUGINBASE_CONFIG_H_CMAKEIN 2 | #define SCOPY_PLUGINBASE_CONFIG_H_CMAKEIN 3 | 4 | #define SCOPY_VERSION "@SCOPY_VERSION@" 5 | #define SCOPY_VERSION_GIT "@SCOPY_VERSION_GIT@" 6 | #define SCOPY_GIT_DIRTY "@SCOPY_GIT_DIRTY@" 7 | 8 | #cmakedefine ENABLE_SCOPYJS 9 | 10 | #endif // SCOPY_PLUGINBASE_CONFIG_H_CMAKEIN 11 | 12 | -------------------------------------------------------------------------------- /plugins/ad9084/.gitignore: -------------------------------------------------------------------------------- 1 | include/ad9084/scopy-ad9084_export.h 2 | include/ad9084/scopy-ad9084_config.h -------------------------------------------------------------------------------- /plugins/ad9084/include/ad9084/scopy-ad9084_config.h.cmakein: -------------------------------------------------------------------------------- 1 | #ifndef SCOPY_AD9084_CONFIG_H_CMAKEIN 2 | #define SCOPY_AD9084_CONFIG_H_CMAKEIN 3 | 4 | #define AD9084_FILTERS_PATH_LOCAL "./plugins/ad9084" 5 | #define AD9084_FILTERS_SYSTEM_PATH "@APOLLO_FILTERS_SYSTEM_PATH@" 6 | #define AD9084_FILTERS_BUILD_PATH "@APOLLO_FILTERS_BUILD_PATH@" 7 | 8 | #define AD9084_PLUGIN_DISPLAY_NAME "@PLUGIN_DISPLAY_NAME@" 9 | #define AD9084_PLUGIN_SCOPY_MODULE "@SCOPY_MODULE@" 10 | #define AD9084_PLUGIN_DESCRIPTION "@PLUGIN_DESCRIPTION@" 11 | 12 | #cmakedefine ENABLE_SCOPYJS 13 | 14 | #endif // SCOPY_AD9084_CONFIG_H_CMAKEIN 15 | -------------------------------------------------------------------------------- /plugins/ad9084/res/ad9084/cfir_hp_rx.txt: -------------------------------------------------------------------------------- 1 | # coeffs_16_hp0.txt 2 | dest: rx cfir_all profile_1 datapath_all 3 | gain: 0 4 | complex_scalar: 32767 0 5 | enable: 1 profile_1 6 | selection_mode: direct_regmap 7 | coeff_transfer: 0 8 | bypass: 0 9 | 64515 64515 10 | 65535 65535 11 | 0 0 12 | 0 0 13 | 3598 3598 14 | 65535 65535 15 | 45971 45971 16 | 32767 32767 17 | 45971 45971 18 | 65535 65535 19 | 3598 3598 20 | 0 0 21 | 0 0 22 | 65535 65535 23 | 64515 64515 24 | 0 0 25 | -------------------------------------------------------------------------------- /plugins/ad9084/res/ad9084/cfir_lp_rx.txt: -------------------------------------------------------------------------------- 1 | # pfilt_coeffs_16_lp0.txt 2 | dest: rx cfir_all profile_2 datapath_all 3 | gain: 0 4 | complex_scalar: 32767 0 5 | enable: 1 profile_2 6 | selection_mode: direct_regmap 7 | coeff_transfer: 0 8 | bypass: 0 9 | 242 242 10 | 541 541 11 | 151 151 12 | 64329 64329 13 | 63642 63642 14 | 650 650 15 | 6461 6461 16 | 11575 11575 17 | 11575 11575 18 | 6461 6461 19 | 650 650 20 | 63642 63642 21 | 64329 64329 22 | 151 151 23 | 541 541 24 | 242 242 25 | 26 | -------------------------------------------------------------------------------- /plugins/ad9084/res/ad9084/cfir_lp_tx.txt: -------------------------------------------------------------------------------- 1 | # coeffs_16_lp0.txt 2 | dest: tx cfir_all profile_all datapath_all 3 | gain: 0 4 | complex_scalar: 32767 0 5 | enable: 1 profile_2 6 | selection_mode: direct_regmap 7 | coeff_transfer: 0 8 | bypass: 0 9 | 242 242 10 | 541 541 11 | 151 151 12 | 64329 64329 13 | 63642 63642 14 | 650 650 15 | 6461 6461 16 | 11575 11575 17 | 11575 11575 18 | 6461 6461 19 | 650 650 20 | 63642 63642 21 | 64329 64329 22 | 151 151 23 | 541 541 24 | 242 242 25 | 26 | -------------------------------------------------------------------------------- /plugins/ad9084/res/ad9084/pfilt_hp_rx.txt: -------------------------------------------------------------------------------- 1 | # pfilt_coeffs_16_lp0.txt 2 | mode: real_n2 real_n2 3 | gain: 6 6 6 6 4 | scalar_gain: 63 63 63 63 5 | dest: rx pfilt_all bank_0 6 | hc_delay: 0 7 | mode_switch_en: 0 8 | mode_switch_add_en: 0 9 | real_data_mode_en: 1 10 | quad_mode_en: 0 11 | 0x00F2 12 | 0xFDE3 13 | 0x0096 14 | 0x04B8 15 | 0xF89A 16 | 0xFD75 17 | 0x193D 18 | 0xD2CA 19 | 0x2D36 20 | 0xE6C3 21 | 0x028B 22 | 0x0766 23 | 0xFB48 24 | 0xFF6A 25 | 0x021D 26 | 0xFF0E 27 | 0x00F2 28 | 0xFDE3 29 | 0x0096 30 | 0x04B8 31 | 0xF89A 32 | 0xFD75 33 | 0x193D 34 | 0xD2CA 35 | 0x2D36 36 | 0xE6C3 37 | 0x028B 38 | 0x0766 39 | 0xFB48 40 | 0xFF6A 41 | 0x021D 42 | 0xFF0E 43 | 44 | -------------------------------------------------------------------------------- /plugins/ad9084/res/ad9084/pfilt_off_rx.txt: -------------------------------------------------------------------------------- 1 | # pfilt_coeffs_16_lp0.txt 2 | mode: disabled disabled 3 | gain: 0 0 0 0 4 | dest: rx pfilt_a0 bank_0 5 | hc_delay: 0 6 | mode_switch_en: 0 7 | mode_switch_add_en: 0 8 | real_data_mode_en: 0 9 | quad_mode_en: 0 10 | 0x0027 11 | 0xFE01 12 | 0xFE58 13 | 0x0538 14 | 0x0063 15 | 0xF23E 16 | 0x0A98 17 | 0x3FC3 18 | 0x3FC3 19 | 0x0A98 20 | 0xF23E 21 | 0x0063 22 | 0x0538 23 | 0xFE58 24 | 0xFE01 25 | 0x0027 26 | 0x0027 27 | 0xFE01 28 | 0xFE58 29 | 0x0538 30 | 0x0063 31 | 0xF23E 32 | 0x0A98 33 | 0x3FC3 34 | 0x3FC3 35 | 0x0A98 36 | 0xF23E 37 | 0x0063 38 | 0x0538 39 | 0xFE58 40 | 0xFE01 41 | -------------------------------------------------------------------------------- /plugins/ad9084/res/resources.qrc: -------------------------------------------------------------------------------- 1 | <!DOCTYPE RCC> 2 | <RCC version="1.0"/> -------------------------------------------------------------------------------- /plugins/adc/.gitignore: -------------------------------------------------------------------------------- 1 | include/adc/scopy-adc_export.h 2 | include/adc/scopy-adc_config.h 3 | -------------------------------------------------------------------------------- /plugins/adc/include/adc/scopy-adc_config.h.cmakein: -------------------------------------------------------------------------------- 1 | #ifndef SCOPY_ADC_CONFIG_H_CMAKEIN 2 | #define SCOPY_ADC_CONFIG_H_CMAKEIN 3 | 4 | #define ADC_PLUGIN_DISPLAY_NAME "@PLUGIN_DISPLAY_NAME@" 5 | #define ADC_PLUGIN_SCOPY_MODULE "@SCOPY_MODULE@" 6 | #define ADC_PLUGIN_DESCRIPTION "@PLUGIN_DESCRIPTION@" 7 | #define ADC_PKG_NAME "@PACKAGE_NAME@" 8 | 9 | #cmakedefine ENABLE_SCOPYJS 10 | 11 | #endif // SCOPY_ADC_CONFIG_H_CMAKEIN 12 | -------------------------------------------------------------------------------- /plugins/adc/res/resources.qrc: -------------------------------------------------------------------------------- 1 | <RCC> 2 | <qresource prefix="/testplugin"> 3 | <file>testImage.png</file> 4 | <file>about.md</file> 5 | </qresource> 6 | </RCC> 7 | -------------------------------------------------------------------------------- /plugins/adc/res/testImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/plugins/adc/res/testImage.png -------------------------------------------------------------------------------- /plugins/bareminimum/.gitignore: -------------------------------------------------------------------------------- 1 | include/bareminimum/scopy-bareminimum_export.h 2 | -------------------------------------------------------------------------------- /plugins/dac/.gitignore: -------------------------------------------------------------------------------- 1 | include/dac/scopy-dac_export.h 2 | include/dac/scopy-dac_config.h -------------------------------------------------------------------------------- /plugins/dac/include/dac/scopy-dac_config.h.cmakein: -------------------------------------------------------------------------------- 1 | #ifndef SCOPY_DAC_CONFIG_H_CMAKEIN 2 | #define SCOPY_DAC_CONFIG_H_CMAKEIN 3 | 4 | #define DAC_CSV_PATH_LOCAL "./plugins/csv" 5 | #define DAC_CSV_SYSTEM_PATH "@DAC_CSV_SYSTEM_PATH@" 6 | #define DAC_CSV_BUILD_PATH "@DAC_CSV_BUILD_PATH@" 7 | 8 | #define DAC_PLUGIN_DISPLAY_NAME "@PLUGIN_DISPLAY_NAME@" 9 | #define DAC_PLUGIN_SCOPY_MODULE "@SCOPY_MODULE@" 10 | #define DAC_PLUGIN_DESCRIPTION "@PLUGIN_DESCRIPTION@" 11 | #define DAC_PKG_NAME "@PACKAGE_NAME@" 12 | 13 | #cmakedefine ENABLE_SCOPYJS 14 | 15 | #endif // SCOPY_DAC_CONFIG_H_CMAKEIN 16 | -------------------------------------------------------------------------------- /plugins/dac/res/resources.qrc: -------------------------------------------------------------------------------- 1 | <RCC> 2 | <qresource prefix="/dacinstrument"> 3 | <file>tutorial_chapters.json</file> 4 | </qresource> 5 | </RCC> 6 | -------------------------------------------------------------------------------- /plugins/datalogger/.gitignore: -------------------------------------------------------------------------------- 1 | include/datalogger/scopy-datalogger_export.h 2 | include/datalogger/scopy-datalogger_config.h 3 | -------------------------------------------------------------------------------- /plugins/datalogger/include/datalogger/scopy-datalogger_config.h.cmakein: -------------------------------------------------------------------------------- 1 | #ifndef SCOPY_DATALOGGER_CONFIG_H_CMAKEIN 2 | #define SCOPY_DATALOGGER_CONFIG_H_CMAKEIN 3 | 4 | #define DATALOGGER_PLUGIN_DISPLAY_NAME "@PLUGIN_DISPLAY_NAME@" 5 | #define DATALOGGER_PLUGIN_SCOPY_MODULE "@SCOPY_MODULE@" 6 | #define DATALOGGER_PLUGIN_DESCRIPTION "@PLUGIN_DESCRIPTION@" 7 | #define DATALOGGER_PKG_NAME "@PACKAGE_NAME@" 8 | 9 | #cmakedefine ENABLE_SCOPYJS 10 | 11 | #endif // SCOPY_DATALOGGER_CONFIG_H_CMAKEIN 12 | -------------------------------------------------------------------------------- /plugins/datalogger/resources/resources.qrc: -------------------------------------------------------------------------------- 1 | <RCC> 2 | <qresource prefix="/datamonitor"> 3 | <file>tutorial_chapters.json</file> 4 | </qresource> 5 | </RCC> 6 | -------------------------------------------------------------------------------- /plugins/debugger/.gitignore: -------------------------------------------------------------------------------- 1 | include/debugger/scopy-debugger_export.h 2 | include/debugger/scopy-debugger_config.h 3 | -------------------------------------------------------------------------------- /plugins/debugger/include/debugger/scopy-debugger_config.h.cmakein: -------------------------------------------------------------------------------- 1 | #ifndef SCOPY_DEBUGGER_CONFIG_H_CMAKEIN 2 | #define SCOPY_DEBUGGER_CONFIG_H_CMAKEIN 3 | 4 | #define DEBUGGER_PLUGIN_DISPLAY_NAME "@PLUGIN_DISPLAY_NAME@" 5 | #define DEBUGGER_PLUGIN_SCOPY_MODULE "@SCOPY_MODULE@" 6 | #define DEBUGGER_PLUGIN_DESCRIPTION "@PLUGIN_DESCRIPTION@" 7 | #define DEBUGGER_PKG_NAME "@PACKAGE_NAME@" 8 | 9 | #cmakedefine ENABLE_SCOPYJS 10 | 11 | #endif // SCOPY_DEBUGGER_CONFIG_H_CMAKEIN 12 | -------------------------------------------------------------------------------- /plugins/debugger/res/resources.qrc: -------------------------------------------------------------------------------- 1 | <RCC> 2 | <qresource prefix="/debugger"> 3 | </qresource> 4 | </RCC> 5 | -------------------------------------------------------------------------------- /plugins/debugger/style/qss/properties/debugger/debuggerScrollBar.qss: -------------------------------------------------------------------------------- 1 | QScrollBar:vertical[&&property&&=true] { 2 | background-color: &background_primary&; 3 | border: &border_width_interactive& solid &interactive_subtle_idle&; 4 | border-radius: &radius_1&; 5 | } 6 | -------------------------------------------------------------------------------- /plugins/debugger/style/qss/properties/debugger/detailsView.qss: -------------------------------------------------------------------------------- 1 | *[&&property&&=true] { 2 | border: &border_width& solid &interactive_subtle_disabled&; 3 | border-radius: &radius_1&; 4 | background-color: &background_primary&; 5 | } 6 | 7 | -------------------------------------------------------------------------------- /plugins/debugger/style/qss/properties/debugger/headerView.qss: -------------------------------------------------------------------------------- 1 | QHeaderView::section[&&property&&=true] { 2 | border: none; 3 | border-bottom: 1px solid &content_default&; 4 | margin-left: 2px; 5 | background-color: &background_primary&; 6 | height: 30; 7 | 8 | font: &font_size_0_5&; 9 | font-weight: bold; 10 | } 11 | -------------------------------------------------------------------------------- /plugins/debugger/style/qss/properties/debugger/treeView.qss: -------------------------------------------------------------------------------- 1 | QTreeView[&&property&&=true] { 2 | border: &border_width& solid &interactive_subtle_disabled&; 3 | border-radius: &radius_1&; 4 | background-color: &background_primary&; 5 | show-decoration-selected: 0; 6 | color: &content_default&; 7 | } 8 | 9 | QTreeView::item[&&property&&=true]:selected { 10 | background-color: &interactive_primary_idle&; 11 | color: &content_default&; 12 | } 13 | 14 | QTreeView::branch:open:has-children:!has-siblings, 15 | QTreeView::branch:open:has-children:has-siblings { 16 | border-image: url(&svg_arrow_down&); 17 | } 18 | 19 | QTreeView::branch:has-children:!has-siblings:closed, 20 | QTreeView::branch:closed:has-children:has-siblings { 21 | border-image: url(&svg_arrow_right&); 22 | } 23 | -------------------------------------------------------------------------------- /plugins/debugger/style/qss/properties/debugger/watchListCombo.qss: -------------------------------------------------------------------------------- 1 | QComboBox[&&property&&=true] { 2 | border: none; 3 | background-color: transparent; 4 | font-size: &font_size&; 5 | } 6 | -------------------------------------------------------------------------------- /plugins/debugger/style/qss/properties/debugger/watchListLineEdit.qss: -------------------------------------------------------------------------------- 1 | QLineEdit[&&property&&=true] { 2 | border: none; 3 | background-color: transparent; 4 | font-size: &font_size&; 5 | } 6 | -------------------------------------------------------------------------------- /plugins/debugger/style/qss/properties/debugger/watchListView.qss: -------------------------------------------------------------------------------- 1 | QTableWidget::item[&&property&&=true] { 2 | color: &content_default&; 3 | border-bottom: 1px solid &interactive_subtle_disabled&; 4 | } 5 | 6 | QTableWidget::item::selected[&&property&&=true] { 7 | color: &content_default&; 8 | background-color: &interactive_focus&; 9 | } 10 | 11 | QTableWidget[&&property&&=true] { 12 | border: &border_width& solid &interactive_subtle_disabled&; 13 | border-radius: &radius_1&; 14 | background-color: &background_primary&; 15 | } 16 | -------------------------------------------------------------------------------- /plugins/guitest/.gitignore: -------------------------------------------------------------------------------- 1 | include/guitest/scopy-guitest_export.h 2 | -------------------------------------------------------------------------------- /plugins/guitest/res/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/plugins/guitest/res/icon.png -------------------------------------------------------------------------------- /plugins/guitest/res/resources.qrc: -------------------------------------------------------------------------------- 1 | <RCC> 2 | <qresource prefix="/guitestplugin"> 3 | <file>icon.png</file> 4 | </qresource> 5 | </RCC> 6 | -------------------------------------------------------------------------------- /plugins/jesdstatus/.gitignore: -------------------------------------------------------------------------------- 1 | include/jesdstatus/scopy-jesdstatus_export.h 2 | include/jesdstatus/scopy-jesdstatus_config.h -------------------------------------------------------------------------------- /plugins/jesdstatus/include/jesdstatus/scopy-jesdstatus_config.h.cmakein: -------------------------------------------------------------------------------- 1 | #ifndef SCOPY_JESDSTATUS_CONFIG_H_CMAKEIN 2 | #define SCOPY_JESDSTATUS_CONFIG_H_CMAKEIN 3 | 4 | #define JESDSTATUS_PLUGIN_DISPLAY_NAME "@PLUGIN_DISPLAY_NAME@" 5 | #define JESDSTATUS_PLUGIN_SCOPY_MODULE "@SCOPY_MODULE@" 6 | #define JESDSTATUS_PLUGIN_DESCRIPTION "@PLUGIN_DESCRIPTION@" 7 | 8 | #cmakedefine ENABLE_SCOPYJS 9 | 10 | #endif // SCOPY_JESDSTATUS_CONFIG_H_CMAKEIN 11 | -------------------------------------------------------------------------------- /plugins/jesdstatus/res/resources.qrc: -------------------------------------------------------------------------------- 1 | <!DOCTYPE RCC> 2 | <RCC version="1.0"/> -------------------------------------------------------------------------------- /plugins/m2k/.gitignore: -------------------------------------------------------------------------------- 1 | include/m2k/scopy-m2k_export.h 2 | include/m2k/scopy-m2k_config.h 3 | -------------------------------------------------------------------------------- /plugins/m2k/include/m2k/scopy-m2k_config.h.cmakein: -------------------------------------------------------------------------------- 1 | #ifndef SCOPY_M2K_CONFIG_H_CMAKEIN 2 | #define SCOPY_M2K_CONFIG_H_CMAKEIN 3 | 4 | #define M2K_PLUGIN_DISPLAY_NAME "@PLUGIN_DISPLAY_NAME@" 5 | #define M2K_PLUGIN_SCOPY_MODULE "@SCOPY_MODULE@" 6 | #define M2K_PLUGIN_DESCRIPTION "@PLUGIN_DESCRIPTION@" 7 | #define M2K_PKG_NAME "@PACKAGE_NAME@" 8 | 9 | #cmakedefine ENABLE_SCOPYJS 10 | 11 | #endif // SCOPY_M2K_CONFIG_H_CMAKEIN 12 | -------------------------------------------------------------------------------- /plugins/m2k/m2k-gui/.gitignore: -------------------------------------------------------------------------------- 1 | include/m2k-gui/scopy-m2k-gui_export.h 2 | include/m2k-gui/scopy-m2k-gui_config.h 3 | gr-gui/include/gr-gui/scopy-gr-gui_export.h 4 | gr-gui/include/gr-gui/scopy-gr-gui_config.h 5 | sigrok-gui/include/sigrok-gui/scopy-sigrok-gui_export.h 6 | sigrok-gui/include/sigrok-gui/scopy-sigrok-gui_config.h 7 | -------------------------------------------------------------------------------- /plugins/m2k/m2k-gui/gr-gui/include/gr-gui/scopy-gr-gui_config.h.cmakein: -------------------------------------------------------------------------------- 1 | #ifndef SCOPY_GUI_CONFIG_H_CMAKEIN 2 | #define SCOPY_GUI_CONFIG_H_CMAKEIN 3 | 4 | #endif // SCOPY_CORE_CONFIG_H_CMAKEIN 5 | 6 | -------------------------------------------------------------------------------- /plugins/m2k/m2k-gui/include/m2k-gui/scopy-m2k-gui_config.h.cmakein: -------------------------------------------------------------------------------- 1 | #ifndef SCOPY_GUI_CONFIG_H_CMAKEIN 2 | #define SCOPY_GUI_CONFIG_H_CMAKEIN 3 | 4 | #cmakedefine SCOPY_HAVE_GR_GUI 5 | #cmakedefine SCOPY_HAVE_SIGROK_GUI 6 | 7 | #endif // SCOPY_CORE_CONFIG_H_CMAKEIN 8 | -------------------------------------------------------------------------------- /plugins/m2k/m2k-gui/sigrok-gui/include/sigrok-gui/scopy-sigrok-gui_config.h.cmakein: -------------------------------------------------------------------------------- 1 | #ifndef SCOPY_GUI_CONFIG_H_CMAKEIN 2 | #define SCOPY_GUI_CONFIG_H_CMAKEIN 3 | 4 | #endif // SCOPY_CORE_CONFIG_H_CMAKEIN 5 | 6 | -------------------------------------------------------------------------------- /plugins/m2k/res/images/ADALM2000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/plugins/m2k/res/images/ADALM2000.png -------------------------------------------------------------------------------- /plugins/m2k/res/images/ADALM2000Pinout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/plugins/m2k/res/images/ADALM2000Pinout.png -------------------------------------------------------------------------------- /plugins/m2k/res/m2k.html: -------------------------------------------------------------------------------- 1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> 2 | <html> 3 | <body> 4 | <table> 5 | <tr> 6 | <td><img src="qrc:/m2k/images/ADALM2000.png"/></td> 7 | </tr> 8 | <tr> 9 | <td><img src="qrc:/m2k/images/ADALM2000Pinout.png"/></td> 10 | </tr> 11 | </table> 12 | </body> 13 | </html> 14 | -------------------------------------------------------------------------------- /plugins/m2k/res/resources.qrc: -------------------------------------------------------------------------------- 1 | <RCC> 2 | <qresource prefix="/m2k"> 3 | <file>filter.json</file> 4 | <file>m2k.html</file> 5 | <file>images/ADALM2000.png</file> 6 | <file>images/ADALM2000Pinout.png</file> 7 | </qresource> 8 | </RCC> 9 | -------------------------------------------------------------------------------- /plugins/pluto/.gitignore: -------------------------------------------------------------------------------- 1 | include/pluto/scopy-pluto_export.h 2 | include/pluto/scopy-pluto_config.h -------------------------------------------------------------------------------- /plugins/pluto/include/pluto/scopy-pluto_config.h.cmakein: -------------------------------------------------------------------------------- 1 | #ifndef SCOPY_PLUTO_CONFIG_H_CMAKEIN 2 | #define SCOPY_PLUTO_CONFIG_H_CMAKEIN 3 | 4 | #define AD936X_FILTERS_PATH_LOCAL "./plugins/ad936x" 5 | #define AD936X_FILTERS_SYSTEM_PATH "@PLUTO_FILTERS_SYSTEM_PATH@" 6 | #define AD936X_FILTERS_BUILD_PATH "@PLUTO_FILTERS_BUILD_PATH@" 7 | 8 | #define PLUTO_PLUGIN_DISPLAY_NAME "@PLUGIN_DISPLAY_NAME@" 9 | #define PLUTO_PLUGIN_SCOPY_MODULE "@SCOPY_MODULE@" 10 | #define PLUTO_PLUGIN_DESCRIPTION "@PLUGIN_DESCRIPTION@" 11 | 12 | #cmakedefine ENABLE_SCOPYJS 13 | 14 | #endif // SCOPY_PLUTO_CONFIG_H_CMAKEIN 15 | -------------------------------------------------------------------------------- /plugins/pluto/res/resources.qrc: -------------------------------------------------------------------------------- 1 | <RCC> 2 | <qresource prefix="/pluto"> 3 | <file>ad936x.svg</file> 4 | <file>ad936x/AD936x_LP_180kHz_521kSPS.ftr</file> 5 | <file>ad936x/AD936x_LP_256kHz_768kSPS.ftr</file> 6 | <file>ad936x/AD936x_LP_333kHz_1MSPS.ftr</file> 7 | <file>ad936x/AD936x_LP_666kHz_2MSPS.ftr</file> 8 | </qresource> 9 | </RCC> 10 | -------------------------------------------------------------------------------- /plugins/pqm/.gitignore: -------------------------------------------------------------------------------- 1 | include/pqm/scopy-pqm_export.h 2 | include/pqm/scopy-pqm_config.h 3 | -------------------------------------------------------------------------------- /plugins/pqm/include/pqm/scopy-pqm_config.h.cmakein: -------------------------------------------------------------------------------- 1 | #ifndef SCOPY_PQM_CONFIG_H_CMAKEIN 2 | #define SCOPY_PQM_CONFIG_H_CMAKEIN 3 | 4 | #define PQM_PLUGIN_DISPLAY_NAME "@PLUGIN_DISPLAY_NAME@" 5 | #define PQM_PLUGIN_SCOPY_MODULE "@SCOPY_MODULE@" 6 | #define PQM_PLUGIN_DESCRIPTION "@PLUGIN_DESCRIPTION@" 7 | #define PQM_PKG_NAME "@PACKAGE_NAME@" 8 | 9 | #cmakedefine ENABLE_SCOPYJS 10 | 11 | #endif // SCOPY_PQM_CONFIG_H_CMAKEIN 12 | -------------------------------------------------------------------------------- /plugins/pqm/res/data.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/plugins/pqm/res/data.bin -------------------------------------------------------------------------------- /plugins/pqm/res/emu_xml/pqm1.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/plugins/pqm/res/emu_xml/pqm1.bin -------------------------------------------------------------------------------- /plugins/pqm/res/readme.md: -------------------------------------------------------------------------------- 1 | FILES: 2 | 3 | 1. sineGenerator.py - Generates samples for the pqm device channels. The data is written in "data.bin". 4 | 5 | 2. pqmDataWriter.py - Generates random values for the attributes of the channels (rms, angle, harmonics and inter_harmonics). 6 | 7 | 3. pqm1.xml - Contains the context structure of the pqm device. 8 | 9 | Steps: 10 | 11 | 1. Open a terminal in this folder. 12 | 2. Run 'iio-emu generic pqm1.xml iio:device0@data.bin' 13 | or 14 | Use the Emu tab from Scopy with: 15 | - XML Path: /absolutePathTo/pqm1.xml 16 | - RX/TX devices: iio:device0@/absolutePathTo/data.bin 17 | 3. Run sineGenerator.py 18 | 4. Run pqmDataWriter.py 19 | 5. Connect to the device through Scopy. 20 | 21 | -------------------------------------------------------------------------------- /plugins/pqm/res/resources.qrc: -------------------------------------------------------------------------------- 1 | <RCC> 2 | <qresource prefix="/pqm"> 3 | <file>pqm_icon.svg</file> 4 | </qresource> 5 | </RCC> 6 | -------------------------------------------------------------------------------- /plugins/regmap/.gitignore: -------------------------------------------------------------------------------- 1 | include/regmap/scopy-regmap_export.h 2 | include/regmap/scopy-regmap_config.h 3 | -------------------------------------------------------------------------------- /plugins/regmap/include/regmap/scopy-regmap_config.h.cmakein: -------------------------------------------------------------------------------- 1 | #ifndef SCOPY_REGMAP_CONFIG_H_CMAKEIN 2 | #define SCOPY_REGMAP_CONFIG_H_CMAKEIN 3 | 4 | #define REGMAP_XML_PATH "@REGMAP_XML_PATH@" 5 | #define REGMAP_XML_PATH_LOCAL "./plugins/xmls" 6 | #define REGMAP_XML_SYSTEM_PATH "@REGMAP_XML_SYSTEM_PATH@" 7 | #define REGMAP_XML_BUILD_PATH "@REGMAP_XML_BUILD_PATH@" 8 | 9 | #define REGMAP_PLUGIN_DISPLAY_NAME "@PLUGIN_DISPLAY_NAME@" 10 | #define REGMAP_PLUGIN_SCOPY_MODULE "@SCOPY_MODULE@" 11 | #define REGMAP_PLUGIN_DESCRIPTION "@PLUGIN_DESCRIPTION@" 12 | #define REGMAP_PKG_NAME "@PACKAGE_NAME@" 13 | 14 | #cmakedefine ENABLE_SCOPYJS 15 | 16 | #endif // SCOPY_REGMAP_CONFIG_H_CMAKEIN 17 | -------------------------------------------------------------------------------- /plugins/regmap/resources/resources.qrc: -------------------------------------------------------------------------------- 1 | <RCC> 2 | <qresource prefix="/registermap"> 3 | <file>tutorial_chapters.json</file> 4 | </qresource> 5 | </RCC> 6 | -------------------------------------------------------------------------------- /plugins/regmap/src/README.md: -------------------------------------------------------------------------------- 1 | # registerMap 2 | -------------------------------------------------------------------------------- /plugins/regmap/style/qss/properties/regmap/bitfieldSimpleWidget.qss: -------------------------------------------------------------------------------- 1 | QWidget[&&property&&=true]{ 2 | background-color: &content_default&; 3 | color: &content_default&; 4 | } 5 | -------------------------------------------------------------------------------- /plugins/regmap/style/qss/properties/regmap/deviceComboBox.qss: -------------------------------------------------------------------------------- 1 | QComboBox[&&property&&=true] { 2 | color: &content_default& ; 3 | font-size: &font_size_0_5&; 4 | padding-left: 8px; 5 | border-bottom: 0px; 6 | background-color: &background_primary& ; 7 | } 8 | 9 | QComboBox[&&property&&=true]:drop-down { 10 | subcontrol-position: center right; 11 | width: 10px; 12 | height: 6px; 13 | font-size: &font_size_2&; 14 | text-align: left; 15 | margin-right: 8px; 16 | color: transparent; 17 | } -------------------------------------------------------------------------------- /plugins/regmap/style/qss/properties/regmap/hoverWidget.qss: -------------------------------------------------------------------------------- 1 | QWidget[&&property&&=true]{ 2 | background-color: &background_primary&; 3 | } 4 | 5 | QWidget[&&property&&=true]:hover{ 6 | border: &border_width& solid &content_silent&; 7 | border-radius: &radius_1&; 8 | background-color: &interactive_primary_disabled&; 9 | } 10 | 11 | 12 | -------------------------------------------------------------------------------- /plugins/regmap/style/qss/properties/regmap/lineEdit.qss: -------------------------------------------------------------------------------- 1 | QLineEdit[&&property&&=true] { 2 | font-size: &unit_1&px; 3 | font-style: normal; 4 | font-weight: normal; 5 | text-align: left; 6 | border-bottom: 0px; 7 | } 8 | -------------------------------------------------------------------------------- /plugins/regmap/style/qss/properties/regmap/registercontroller.qss: -------------------------------------------------------------------------------- 1 | 2 | QWidget[&&property&&=true] { 3 | margin-top: 4px ; 4 | margin-bottom: 4px ; 5 | border-radius: 4px; 6 | background-color: &interactive_secondary_disabled& ; 7 | } 8 | 9 | QWidget[&&property&&=true] { 10 | background-color: &interactive_secondary_disabled& ; 11 | border-radius: 4px; 12 | } 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /plugins/regmap/style/qss/properties/regmap/regmapSlider.qss: -------------------------------------------------------------------------------- 1 | QSlider[&&property&&=true]:handle { 2 | color: &interactive_subtle_idle&; 3 | border: 0px; 4 | max-width: 8px; 5 | margin: -8px 0; 6 | border-radius: 3px; 7 | } 8 | 9 | QSlider[&&property&&=true]:handle:vertical:hover { 10 | background-color: #4a4a4b; 11 | } 12 | 13 | QSlider[&&property&&=true]:groove { 14 | border: 0px; 15 | background-color: &interactive_secondary_disabled& ; 16 | margin: 2px 0; 17 | border-radius: 0px; 18 | max-width: 8px; 19 | } 20 | -------------------------------------------------------------------------------- /plugins/regmap/style/qss/properties/regmap/searchBar.qss: -------------------------------------------------------------------------------- 1 | QWidget[&&property&&=true] { 2 | border-radius: 4px; 3 | background-color: &interactive_subtle_disabled&; 4 | } 5 | 6 | QLineEdit[&&property&&=true] { 7 | color: &content_default&; 8 | font-size: &font_size_0_5&; 9 | padding-left: 16px; 10 | padding-right: 16px; 11 | border-bottom: 0px; 12 | } 13 | 14 | QLineEdit[&&property&&=true]:hover { 15 | border: 1px solid &interactive_primary_idle&; 16 | border-radius: 4px; 17 | } 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /plugins/regmap/style/qss/properties/regmap/simpleWidget.qss: -------------------------------------------------------------------------------- 1 | QWidget[&&property&&=true] { 2 | background-color: &interactive_subtle_disabled&; 3 | border-radius: 4px; 4 | } 5 | 6 | QComboBox[&&property&&=true] { 7 | color: &content_default& ; 8 | font-size: &font_size_0_5&; 9 | padding-left: 8px; 10 | border-bottom: 0px; 11 | background-color: &background_primary&; 12 | } 13 | 14 | QComboBox[&&property&&=true]:drop-down { 15 | subcontrol-position: center right; 16 | width: 10px; 17 | height: 6px; 18 | font-size: &font_size_2&; 19 | text-align: left; 20 | margin-right: 8px; 21 | color: transparent; 22 | } 23 | -------------------------------------------------------------------------------- /plugins/regmap/style/qss/properties/regmap/titleSpinbox.qss: -------------------------------------------------------------------------------- 1 | QWidget[&&property&&=true] { 2 | font-size: &font_size_3&; 3 | font-style: normal; 4 | font-weight: normal; 5 | text-align: left; 6 | color: &content_default& ; 7 | background-color: &interactive_secondary_disabled& ; 8 | } 9 | 10 | QSpinBox[&&property&&=true] { 11 | border: 0px; 12 | } 13 | -------------------------------------------------------------------------------- /plugins/swiot/.gitignore: -------------------------------------------------------------------------------- 1 | include/swiot/scopy-swiot_export.h 2 | include/swiot/scopy-swiot_config.h -------------------------------------------------------------------------------- /plugins/swiot/include/swiot/scopy-swiot_config.h.cmakein: -------------------------------------------------------------------------------- 1 | #ifndef SCOPY_SWIOT_CONFIG_H_CMAKEIN 2 | #define SCOPY_SWIOT_CONFIG_H_CMAKEIN 3 | 4 | #define SWIOT_PLUGIN_DISPLAY_NAME "@PLUGIN_DISPLAY_NAME@" 5 | #define SWIOT_PLUGIN_SCOPY_MODULE "@SCOPY_MODULE@" 6 | #define SWIOT_PLUGIN_DESCRIPTION "@PLUGIN_DESCRIPTION@" 7 | #define SWIOT_PKG_NAME "@PACKAGE_NAME@" 8 | 9 | #cmakedefine ENABLE_SCOPYJS 10 | 11 | #endif // SCOPY_SWIOT_CONFIG_H_CMAKEIN 12 | -------------------------------------------------------------------------------- /plugins/swiot/res/ad74413r_channel1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/plugins/swiot/res/ad74413r_channel1.png -------------------------------------------------------------------------------- /plugins/swiot/res/ad74413r_channel2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/plugins/swiot/res/ad74413r_channel2.png -------------------------------------------------------------------------------- /plugins/swiot/res/ad74413r_channel3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/plugins/swiot/res/ad74413r_channel3.png -------------------------------------------------------------------------------- /plugins/swiot/res/ad74413r_channel4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/plugins/swiot/res/ad74413r_channel4.png -------------------------------------------------------------------------------- /plugins/swiot/res/fault.svg: -------------------------------------------------------------------------------- 1 | <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <rect width="24" height="24"/> 3 | <path fill-rule="evenodd" clip-rule="evenodd" d="M20.7343 18.9961C20.3776 19.6171 19.7161 20 19 20L5 20C4.28387 20 3.62239 19.6171 3.26572 18.9961C2.90904 18.3751 2.9116 17.6108 3.27244 16.9923L10.2724 4.99226C10.6309 4.37782 11.2887 4 12 4C12.7113 4 13.3691 4.37782 13.7276 4.99226L20.7276 16.9923C21.0884 17.6108 21.091 18.3751 20.7343 18.9961ZM19 18L12 6L5 18L19 18ZM11 9H13V14H11V9ZM12 15C11.4477 15 11 15.4477 11 16C11 16.5523 11.4477 17 12 17C12.5523 17 13 16.5523 13 16C13 15.4477 12.5523 15 12 15Z" fill="#fff" opacity="0.6"/> 4 | </svg> 5 | -------------------------------------------------------------------------------- /plugins/swiot/res/ic_lo_gray.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="30px" height="20px" viewBox="0 0 30 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 3 | <defs></defs> 4 | <g id="main" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> 5 | <g id="gating-icons" transform="translate(-820.000000, -500.000000)"> 6 | <g id="ic-lo-gray" transform="translate(835.000000, 509.500000) scale(1, -1) translate(-835.000000, -509.500000) translate(821.000000, 500.000000)"> 7 | <polyline id="Line-Copy-13" stroke="#4D4D54" stroke-width="2" stroke-linecap="square" points="0 0 14 0 28 0"></polyline> 8 | <polygon id="H" fill="#4D4D54" points="8 19 8 5 20 5 20 7 10 6.93929059 10 19"></polygon> 9 | </g> 10 | </g> 11 | </g> 12 | </svg> -------------------------------------------------------------------------------- /plugins/swiot/res/max14906_channel1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/plugins/swiot/res/max14906_channel1.png -------------------------------------------------------------------------------- /plugins/swiot/res/max14906_channel2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/plugins/swiot/res/max14906_channel2.png -------------------------------------------------------------------------------- /plugins/swiot/res/max14906_channel3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/plugins/swiot/res/max14906_channel3.png -------------------------------------------------------------------------------- /plugins/swiot/res/max14906_channel4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/plugins/swiot/res/max14906_channel4.png -------------------------------------------------------------------------------- /plugins/swiot/res/sba_cmb_box_arrow.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="10" height="6" viewBox="0 0 10 6" xmlns="http://www.w3.org/2000/svg"> 3 | <path fill="#fff" opacity=".6" transform="translate(-1780 -532)" d="m1790 533-5 4.99-5-4.99 1-1 4 4 4-4z" fill-rule="evenodd"/> 4 | </svg> 5 | -------------------------------------------------------------------------------- /plugins/swiot/res/sba_cmb_box_arrow_right.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="UTF-8"?> 2 | <svg width="6px" height="10px" version="1.1" viewBox="0 0 6 10" xmlns="http://www.w3.org/2000/svg"> 3 | <g fill="#fff" opacity=".6" fill-rule="evenodd"> 4 | <g transform="translate(-418 -105)"> 5 | <polygon transform="translate(421.02 110.02) rotate(-90) translate(-421.02 -110.02)" points="426.03 108 421.01 113.02 416 108 417 107 421.01 111.02 425.03 107"/> 6 | </g> 7 | </g> 8 | </svg> 9 | -------------------------------------------------------------------------------- /plugins/swiot/res/swiot_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/plugins/swiot/res/swiot_icon.png -------------------------------------------------------------------------------- /plugins/swiot/res/swiot_top_transparent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/plugins/swiot/res/swiot_top_transparent.png -------------------------------------------------------------------------------- /plugins/swiot/res/tool_faults.svg: -------------------------------------------------------------------------------- 1 | <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 | <rect width="24" height="24"/> 3 | <path fill-rule="evenodd" clip-rule="evenodd" d="M20.7343 18.9961C20.3776 19.6171 19.7161 20 19 20L5 20C4.28387 20 3.62239 19.6171 3.26572 18.9961C2.90904 18.3751 2.9116 17.6108 3.27244 16.9923L10.2724 4.99226C10.6309 4.37782 11.2887 4 12 4C12.7113 4 13.3691 4.37782 13.7276 4.99226L20.7276 16.9923C21.0884 17.6108 21.091 18.3751 20.7343 18.9961ZM19 18L12 6L5 18L19 18ZM11 9H13V14H11V9ZM12 15C11.4477 15 11 15.4477 11 16C11 16.5523 11.4477 17 12 17C12.5523 17 13 16.5523 13 16C13 15.4477 12.5523 15 12 15Z" fill="#fff" opacity="0.6"/> 4 | </svg> 5 | -------------------------------------------------------------------------------- /plugins/swiot/style/qss/properties/swiot/activeStoredLabel.qss: -------------------------------------------------------------------------------- 1 | QLabel[&&property&&="low"] { 2 | width: 40px; 3 | height: 14px; 4 | border: 2px solid; 5 | border-radius: 8px; 6 | border-color: &content_default&; 7 | background-color: transparent; 8 | } 9 | QLabel[&&property&&="high"] { 10 | width: 40px; 11 | height: 14px; 12 | border: 2px solid; 13 | border-radius: 8px; 14 | border-color: &content_default&; 15 | background-color: &content_default&; 16 | } 17 | 18 | -------------------------------------------------------------------------------- /plugins/swiot/style/qss/properties/swiot/faultsFrame.qss: -------------------------------------------------------------------------------- 1 | QFrame[&&property&&=true] { 2 | background-color: &content_subtle&; 3 | border: 1px solid &background_primary&; 4 | border-radius:5px; 5 | } 6 | -------------------------------------------------------------------------------- /plugins/swiot/style/qss/properties/swiot/lcdNumber.qss: -------------------------------------------------------------------------------- 1 | QWidget[&&property&&=true] { 2 | color: &interactive_primary_idle& 3 | } 4 | -------------------------------------------------------------------------------- /plugins/test/.gitignore: -------------------------------------------------------------------------------- 1 | include/test/scopy-test_export.h 2 | -------------------------------------------------------------------------------- /plugins/test/res/resources.qrc: -------------------------------------------------------------------------------- 1 | <RCC> 2 | <qresource prefix="/testplugin"> 3 | <file>testImage.png</file> 4 | <file>about.md</file> 5 | </qresource> 6 | </RCC> 7 | -------------------------------------------------------------------------------- /plugins/test/res/testImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/plugins/test/res/testImage.png -------------------------------------------------------------------------------- /plugins/test2/.gitignore: -------------------------------------------------------------------------------- 1 | include/test2/scopy-test2_export.h 2 | -------------------------------------------------------------------------------- /resources/about/aboutpage.qrc.cmakein: -------------------------------------------------------------------------------- 1 | <RCC> 2 | <qresource prefix="/"> 3 | @ABOUT_HTML_QRC_SOURCES@ 4 | </qresource> 5 | </RCC> 6 | -------------------------------------------------------------------------------- /resources/aboutpage.qrc: -------------------------------------------------------------------------------- 1 | <RCC> 2 | <qresource prefix="/"> 3 | 4 | <file>buildinfo.html</file> 5 | <file>scopy_osp.html</file> 6 | <file>credits.html</file> 7 | <file>about.html</file> 8 | <file>scopy_home.html</file> 9 | <file>license.html</file> 10 | </qresource> 11 | </RCC> 12 | -------------------------------------------------------------------------------- /resources/license.html: -------------------------------------------------------------------------------- 1 | Scopy is distributed under the GNU <a href='https://github.com/analogdevicesinc/scopy/blob/master/LICENSE'>GPLv3</a>, and is copyright Analog Devices. Inc and others. There are no restrictions or obligations on its use, except that you (the user) agree there is no warranty (per the GPLv3). If you don't agree to this - do not use this software.<br><br>There are obligations and restrictions on distribution of the source or binary of this application (and the libraries which it is built with) which are detailed in the <a href='https://github.com/analogdevicesinc/scopy/blob/master/LICENSE'>GPLv3</a> license. More details of additional licenses for 3rd party libraries can be found in the "About" box. 2 | -------------------------------------------------------------------------------- /resources/qt.conf.cmakein: -------------------------------------------------------------------------------- 1 | [Platforms] 2 | WindowsArguments = dpiawareness=0 3 | -------------------------------------------------------------------------------- /resources/resources.qrc: -------------------------------------------------------------------------------- 1 | <RCC> 2 | <qresource prefix="/"> 3 | <file>m2k.html</file> 4 | <file>scopy.html</file> 5 | </qresource> 6 | </RCC> 7 | -------------------------------------------------------------------------------- /resources/scopy.desktop.cmakein: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Version=1.0 3 | Icon=@CMAKE_INSTALL_PREFIX@/share/icons/hicolor/scalable/apps/scopy.svg 4 | Exec=@CMAKE_INSTALL_PREFIX@/bin/scopy 5 | Terminal=false 6 | Type=Application 7 | Categories=Science; 8 | Name=Scopy 9 | GenericName=Oscilloscope 10 | Comment=A software oscilloscope 11 | -------------------------------------------------------------------------------- /resources/scopy.html: -------------------------------------------------------------------------------- 1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> 2 | <html> 3 | <head> 4 | <meta name="qrichtext" content="1" /> 5 | <style type="text/css">p, li { white-space: pre-wrap; } </style> 6 | </head> 7 | <body style="font-size:18pt; font-weight:72; font-style:normal"> 8 | <table> 9 | <tr> 10 | <td> 11 | <h1>Welcome to Scopy!</h1><br><br> 12 | Scopy is a powerful toolbox for signal analysis and generation.<br><br> 13 | Please visit <a href="https://analogdevicesinc.github.io/scopy/">our documentation</a> for more information about Scopy.<br> 14 | If you need help, drop a message on our <a href="https://ez.analog.com/adieducation/university-program">Engineer Zone</a>.<br> 15 | </td> 16 | </tr> 17 | 18 | </table> 19 | </body> 20 | </html> 21 | -------------------------------------------------------------------------------- /resources/translations.qrc: -------------------------------------------------------------------------------- 1 | <RCC> 2 | <qresource prefix="/translations"> 3 | @TRANSLATIONS@ 4 | </qresource> 5 | </RCC> 6 | -------------------------------------------------------------------------------- /resources/whatsnew/V2.0.0/adc_plugin.html: -------------------------------------------------------------------------------- 1 | <!DOCTYPE html> 2 | <html> 3 | 4 | <body> 5 | <h1>ADC plugin</h1> 6 | <p>The ADC plugin is used to interface with IIO ADCs that implement an IIO buffer mechanism. The plugin implements two instruments for data acquisition and visualization in time and frequency domain. 7 | The plugin is compatible with contexts that have at least an IIO device that implements an IIO buffer interface.</p> 8 | 9 | <h2>More Information</h2> 10 | <p>For more detailed information, please visit the <a href="https://analogdevicesinc.github.io/scopy/plugins/adc/adc.html" target="_blank">official documentation</a>.</p> 11 | 12 | </body> 13 | </html> 14 | -------------------------------------------------------------------------------- /resources/whatsnew/V2.0.0/dac_plugin.html: -------------------------------------------------------------------------------- 1 | <!DOCTYPE html> 2 | <html> 3 | 4 | <body> 5 | <h1>DAC plugin</h1> 6 | <p>The DAC plugin is used to interface with IIO DACs that implement the IIO buffer mechanism or a DDS mechanism. The plugin consists of an instrument with two data generation modes. 7 | 8 | The plugin is compatible with contexts that have at least one IIO device that implements an output IIO buffer or at least one DDS (ALTVOLTAGE) output channel.</p> 9 | 10 | <h2>More Information</h2> 11 | <p>For more detailed information, please visit the <a href="https://analogdevicesinc.github.io/scopy/plugins/dac/dac.html" target="_blank">official documentation</a>.</p> 12 | 13 | </body> 14 | </html> 15 | -------------------------------------------------------------------------------- /resources/whatsnew/V2.0.0/swiot.html: -------------------------------------------------------------------------------- 1 | <!DOCTYPE html> 2 | <html> 3 | 4 | <body> 5 | <h1>AD-SWIOT1L-SL</h1> 6 | <p>The Scopy AD-SWIOT1L-SL plugin is responsible for the operation and control of the AD-SWIOT1L-SL platform. The Scopy AD-SWIOT1L-SL plugin, while based on the Scopy application infrastructure, is tailored to provide all the specific functionalities of this system. </p> 7 | 8 | <h2>More Information</h2> 9 | <p>For more detailed information, please visit the <a href="https://analogdevicesinc.github.io/scopy/plugins/swiot1l/index.html" target="_blank">official documentation</a>.</p> 10 | 11 | </body> 12 | </html> 13 | -------------------------------------------------------------------------------- /testing_results/README.md: -------------------------------------------------------------------------------- 1 | Check the testing process guidelines on our [official documentation](https://analogdevicesinc.github.io/scopy/tests/testing_guide.html) page. 2 | -------------------------------------------------------------------------------- /testing_results/testing_results_v2.0.0-beta-rc2/general/index.rst: -------------------------------------------------------------------------------- 1 | .. _tests_general: 2 | 3 | General Test Cases 4 | =============================================================================== 5 | 6 | Contents 7 | --------------------------------------------------------------------- 8 | 9 | .. toctree:: 10 | :includehidden: 11 | :maxdepth: 3 12 | 13 | core/hp_tests 14 | core/license_about_page_tests 15 | core/install_tests 16 | core/add_dev_tests 17 | core/connection_tests 18 | core/emu_tests 19 | core/dev_tests 20 | 21 | instrument_detaching_tests 22 | general_preferences_tests 23 | 24 | .. 25 | add the path to each core feature test case here 26 | example core/homepage_tests 27 | 28 | -------------------------------------------------------------------------------- /testing_results/testing_results_v2.0.0-beta-rc2/index.rst: -------------------------------------------------------------------------------- 1 | .. _tests_scopy: 2 | 3 | Test Cases 4 | =============================================================================== 5 | 6 | Current reports 7 | ------------------------ 8 | 9 | .. include:: test_report.rst 10 | 11 | Contents 12 | --------------------------------------------------------------------- 13 | 14 | .. toctree:: 15 | :includehidden: 16 | :maxdepth: 3 17 | 18 | testing_guide 19 | plugins/index 20 | general/index 21 | -------------------------------------------------------------------------------- /testing_results/testing_results_v2.0.0-beta-rc2/plugins/adc/index.rst: -------------------------------------------------------------------------------- 1 | .. _tests_adc: 2 | 3 | ADC 4 | =============================================================================== 5 | 6 | Contents 7 | --------------------------------------------------------------------- 8 | 9 | .. toctree:: 10 | :includehidden: 11 | :maxdepth: 3 12 | 13 | adc_tests 14 | -------------------------------------------------------------------------------- /testing_results/testing_results_v2.0.0-beta-rc2/plugins/dac/index.rst: -------------------------------------------------------------------------------- 1 | .. _tests_dac: 2 | 3 | DAC 4 | =============================================================================== 5 | 6 | Contents 7 | --------------------------------------------------------------------- 8 | 9 | .. toctree:: 10 | :includehidden: 11 | :maxdepth: 3 12 | 13 | dac_tests 14 | -------------------------------------------------------------------------------- /testing_results/testing_results_v2.0.0-beta-rc2/plugins/datalogger/index.rst: -------------------------------------------------------------------------------- 1 | .. _tests_datalogger: 2 | 3 | Datalogger 4 | =============================================================================== 5 | 6 | Contents 7 | --------------------------------------------------------------------- 8 | 9 | .. toctree:: 10 | :includehidden: 11 | :maxdepth: 3 12 | 13 | datalogger_tests 14 | -------------------------------------------------------------------------------- /testing_results/testing_results_v2.0.0-beta-rc2/plugins/debugger/index.rst: -------------------------------------------------------------------------------- 1 | .. _tests_debugger: 2 | 3 | Debugger 4 | =============================================================================== 5 | 6 | Contents 7 | --------------------------------------------------------------------- 8 | 9 | .. toctree:: 10 | :includehidden: 11 | :maxdepth: 3 12 | 13 | debugger_tests 14 | debugger_preferences_tests 15 | -------------------------------------------------------------------------------- /testing_results/testing_results_v2.0.0-beta-rc2/plugins/index.rst: -------------------------------------------------------------------------------- 1 | .. _tests_plugins: 2 | 3 | Plugins Test Cases 4 | =============================================================================== 5 | 6 | Contents 7 | --------------------------------------------------------------------- 8 | 9 | .. toctree:: 10 | :includehidden: 11 | :maxdepth: 3 12 | 13 | pqm/index 14 | datalogger/index 15 | dac/index 16 | swiot1l/index 17 | adc/index 18 | m2k/index 19 | registermap/index 20 | debugger/index 21 | 22 | .. 23 | add the path to each plugin test case here 24 | example dac/dac_tests 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /testing_results/testing_results_v2.0.0-beta-rc2/plugins/m2k/index.rst: -------------------------------------------------------------------------------- 1 | .. _tests_m2k: 2 | 3 | ADALM2000 4 | =============================================================================== 5 | 6 | Contents 7 | --------------------------------------------------------------------- 8 | 9 | .. toctree:: 10 | :includehidden: 11 | :maxdepth: 3 12 | 13 | digital_io_tests 14 | general_settings_tests 15 | logic_analyzer_tests 16 | network_analyzer_tests 17 | oscilloscope_tests 18 | pattern_generator_tests 19 | power_supply_tests 20 | spectrum_analyzer_tests 21 | signal_generator_tests 22 | voltmeter_tests 23 | -------------------------------------------------------------------------------- /testing_results/testing_results_v2.0.0-beta-rc2/plugins/pqm/index.rst: -------------------------------------------------------------------------------- 1 | .. _tests_pqm: 2 | 3 | PQM 4 | =============================================================================== 5 | 6 | Contents 7 | --------------------------------------------------------------------- 8 | 9 | .. toctree:: 10 | :includehidden: 11 | :maxdepth: 3 12 | 13 | pqm_tests 14 | -------------------------------------------------------------------------------- /testing_results/testing_results_v2.0.0-beta-rc2/plugins/registermap/index.rst: -------------------------------------------------------------------------------- 1 | .. _tests_registermap: 2 | 3 | Register Map 4 | =============================================================================== 5 | 6 | Contents 7 | --------------------------------------------------------------------- 8 | 9 | .. toctree:: 10 | :includehidden: 11 | :maxdepth: 3 12 | 13 | registermap_tests 14 | -------------------------------------------------------------------------------- /testing_results/testing_results_v2.0.0-beta-rc2/plugins/swiot1l/index.rst: -------------------------------------------------------------------------------- 1 | .. _tests_swiot1l: 2 | 3 | SWIOT1L 4 | =============================================================================== 5 | 6 | Contents 7 | --------------------------------------------------------------------- 8 | 9 | .. toctree:: 10 | :includehidden: 11 | :maxdepth: 3 12 | 13 | swiot1l_tests 14 | -------------------------------------------------------------------------------- /testing_results/testing_results_v2.0.0-beta-rc2/test_report.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/testing_results/testing_results_v2.0.0-beta-rc2/test_report.rst -------------------------------------------------------------------------------- /testing_results/testing_results_v2.0.0-beta-rc3/general/index.rst: -------------------------------------------------------------------------------- 1 | .. _tests_general: 2 | 3 | General Test Cases 4 | =============================================================================== 5 | 6 | Contents 7 | --------------------------------------------------------------------- 8 | 9 | .. toctree:: 10 | :includehidden: 11 | :maxdepth: 3 12 | 13 | core/hp_tests 14 | core/license_about_page_tests 15 | core/install_tests 16 | core/add_dev_tests 17 | core/connection_tests 18 | core/emu_tests 19 | core/dev_tests 20 | 21 | instrument_detaching_tests 22 | general_preferences_tests 23 | 24 | .. 25 | add the path to each core feature test case here 26 | example core/homepage_tests 27 | 28 | -------------------------------------------------------------------------------- /testing_results/testing_results_v2.0.0-beta-rc3/index.rst: -------------------------------------------------------------------------------- 1 | .. _tests_scopy: 2 | 3 | Test Cases 4 | =============================================================================== 5 | 6 | Current reports 7 | ------------------------ 8 | 9 | .. include:: test_report.rst 10 | 11 | Contents 12 | --------------------------------------------------------------------- 13 | 14 | .. toctree:: 15 | :includehidden: 16 | :maxdepth: 3 17 | 18 | testing_guide 19 | plugins/index 20 | general/index 21 | -------------------------------------------------------------------------------- /testing_results/testing_results_v2.0.0-beta-rc3/plugins/adc/index.rst: -------------------------------------------------------------------------------- 1 | .. _tests_adc: 2 | 3 | ADC 4 | =============================================================================== 5 | 6 | Contents 7 | --------------------------------------------------------------------- 8 | 9 | .. toctree:: 10 | :includehidden: 11 | :maxdepth: 3 12 | 13 | adc_tests 14 | -------------------------------------------------------------------------------- /testing_results/testing_results_v2.0.0-beta-rc3/plugins/dac/index.rst: -------------------------------------------------------------------------------- 1 | .. _tests_dac: 2 | 3 | DAC 4 | =============================================================================== 5 | 6 | Contents 7 | --------------------------------------------------------------------- 8 | 9 | .. toctree:: 10 | :includehidden: 11 | :maxdepth: 3 12 | 13 | dac_tests 14 | -------------------------------------------------------------------------------- /testing_results/testing_results_v2.0.0-beta-rc3/plugins/datalogger/index.rst: -------------------------------------------------------------------------------- 1 | .. _tests_datalogger: 2 | 3 | Datalogger 4 | =============================================================================== 5 | 6 | Contents 7 | --------------------------------------------------------------------- 8 | 9 | .. toctree:: 10 | :includehidden: 11 | :maxdepth: 3 12 | 13 | datalogger_tests 14 | -------------------------------------------------------------------------------- /testing_results/testing_results_v2.0.0-beta-rc3/plugins/debugger/index.rst: -------------------------------------------------------------------------------- 1 | .. _tests_debugger: 2 | 3 | Debugger 4 | =============================================================================== 5 | 6 | Contents 7 | --------------------------------------------------------------------- 8 | 9 | .. toctree:: 10 | :includehidden: 11 | :maxdepth: 3 12 | 13 | debugger_tests 14 | debugger_preferences_tests 15 | -------------------------------------------------------------------------------- /testing_results/testing_results_v2.0.0-beta-rc3/plugins/index.rst: -------------------------------------------------------------------------------- 1 | .. _tests_plugins: 2 | 3 | Plugins Test Cases 4 | =============================================================================== 5 | 6 | Contents 7 | --------------------------------------------------------------------- 8 | 9 | .. toctree:: 10 | :includehidden: 11 | :maxdepth: 3 12 | 13 | pqm/index 14 | datalogger/index 15 | dac/index 16 | swiot1l/index 17 | adc/index 18 | m2k/index 19 | registermap/index 20 | debugger/index 21 | 22 | .. 23 | add the path to each plugin test case here 24 | example dac/dac_tests 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /testing_results/testing_results_v2.0.0-beta-rc3/plugins/m2k/index.rst: -------------------------------------------------------------------------------- 1 | .. _tests_m2k: 2 | 3 | ADALM2000 4 | =============================================================================== 5 | 6 | Contents 7 | --------------------------------------------------------------------- 8 | 9 | .. toctree:: 10 | :includehidden: 11 | :maxdepth: 3 12 | 13 | digital_io_tests 14 | general_settings_tests 15 | logic_analyzer_tests 16 | network_analyzer_tests 17 | oscilloscope_tests 18 | pattern_generator_tests 19 | power_supply_tests 20 | spectrum_analyzer_tests 21 | signal_generator_tests 22 | voltmeter_tests 23 | -------------------------------------------------------------------------------- /testing_results/testing_results_v2.0.0-beta-rc3/plugins/pqm/index.rst: -------------------------------------------------------------------------------- 1 | .. _tests_pqm: 2 | 3 | PQM 4 | =============================================================================== 5 | 6 | Contents 7 | --------------------------------------------------------------------- 8 | 9 | .. toctree:: 10 | :includehidden: 11 | :maxdepth: 3 12 | 13 | pqm_tests 14 | -------------------------------------------------------------------------------- /testing_results/testing_results_v2.0.0-beta-rc3/plugins/registermap/index.rst: -------------------------------------------------------------------------------- 1 | .. _tests_registermap: 2 | 3 | Register Map 4 | =============================================================================== 5 | 6 | Contents 7 | --------------------------------------------------------------------- 8 | 9 | .. toctree:: 10 | :includehidden: 11 | :maxdepth: 3 12 | 13 | registermap_tests 14 | -------------------------------------------------------------------------------- /testing_results/testing_results_v2.0.0-beta-rc3/plugins/swiot1l/index.rst: -------------------------------------------------------------------------------- 1 | .. _tests_swiot1l: 2 | 3 | SWIOT1L 4 | =============================================================================== 5 | 6 | Contents 7 | --------------------------------------------------------------------- 8 | 9 | .. toctree:: 10 | :includehidden: 11 | :maxdepth: 3 12 | 13 | swiot1l_tests 14 | -------------------------------------------------------------------------------- /testing_results/testing_results_v2.0.0-beta-rc3/test_report.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/testing_results/testing_results_v2.0.0-beta-rc3/test_report.rst -------------------------------------------------------------------------------- /tools/README: -------------------------------------------------------------------------------- 1 | The script assumes that the flatpak is uncompressed/opened like this (on linux) 2 | 3 | ostree init --repo=repo --mode=bare-user 4 | ostree static-delta apply-offline --repo=repo scopy.flatpak 5 | ostree checkout --repo=repo -U $(basename $(echo repo/objects/*/*.commit | cut -d/ -f3- --output-delimiter= ) .commit) outdir 6 | 7 | then run the attached shell script (table.sh) which pokes ubuntu/debian sites to find the home pages of projects. 8 | This will create the attached html file in a couple minutes (5 or so)… 9 | (then you only need to fix things that are missing from upstream). 10 | 11 | 12 | -------------------------------------------------------------------------------- /tools/includemocs.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -x 3 | 4 | scopymodules=("core" "pluginbase" "gui" "iioutil" "iio-widgets" "gr-util") 5 | scopyplugins=("test" "test2" "swiot" "adc" "pqm" "debugger" "datalogger" "regmap") 6 | 7 | for mod in ${scopymodules[@]};do 8 | echo ${mod} 9 | ./includemocs.py --header-prefix ../${mod}/include/${mod}/ --source-prefix ../${mod}/src 10 | done 11 | 12 | for mod in ${scopyplugins[@]};do 13 | echo ${mod} 14 | ./includemocs.py --header-prefix ../plugins/${mod}/include/${mod}/ --source-prefix ../plugins/${mod}/src 15 | done 16 | -------------------------------------------------------------------------------- /tools/js/patterngenerator/bareminimum/generate.js: -------------------------------------------------------------------------------- 1 | function generate() 2 | { 3 | 4 | /*console.log("##############") 5 | pg.buffer[0] = 0x0000; 6 | pg.buffer[1] = 0x0001; 7 | pg.buffer[2] = 0x0001; 8 | pg.buffer[3] = 0x0001;*/ 9 | 10 | pg.buffersize = 4 11 | } 12 | -------------------------------------------------------------------------------- /tools/js/patterngenerator/bareminimum/generator.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Bare Minimum", 3 | "description": "Minimal configuration needed for scripted pattern generator", 4 | "generate_script": "generate.js", 5 | "ui_form": "", 6 | "ui_script": "", 7 | "enabled": true 8 | } 9 | -------------------------------------------------------------------------------- /tools/js/patterngenerator/pulsegen/generate.js: -------------------------------------------------------------------------------- 1 | function is_periodic() 2 | { 3 | return true 4 | } 5 | 6 | function get_required_nr_of_samples() 7 | { 8 | return 10 9 | } 10 | 11 | function get_min_sampling_freq() 12 | { 13 | return 1 14 | } 15 | 16 | function generate() 17 | { 18 | 19 | console.log("##############") 20 | status_window.print("#############") 21 | var i=0 22 | console.log(pg.get_nr_of_samples()) 23 | for(i=0;i<pg.get_nr_of_samples();i++) 24 | pg.buffer[i] = 0; 25 | for(i=0;i<nrOfPulses;i++) 26 | { 27 | for(var j=i*samplesPerPulse;j<((i*samplesPerPulse)+loPulse);j++) 28 | pg.buffer[j] = 0x0000; 29 | for(var j=((i*samplesPerPulse)+loPulse);(j<((i+1)*samplesPerPulse));j++) 30 | pg.buffer[j] = 0xffff; 31 | } 32 | //pg.buffersize = nrOfPulses*samplesPerPulse 33 | pg.buffersize = pg.get_nr_of_samples() 34 | } 35 | 36 | -------------------------------------------------------------------------------- /tools/js/patterngenerator/pulsegen/generator.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Scripted Pulse Generatror", 3 | "description": "Scripted Pulse Generatror", 4 | "generate_script": "generate.js", 5 | "ui_form": "scriptpulsegen.ui", 6 | "ui_script": "ui.js", 7 | "enabled": true 8 | } 9 | -------------------------------------------------------------------------------- /tools/js/patterngenerator/readme.md: -------------------------------------------------------------------------------- 1 | Move "patterngenerator" folder to <scopy_install_dir>/ . Scopy will scan that directory on startup and load all enabled patterns from that directory. 2 | -------------------------------------------------------------------------------- /tools/js/startupscript.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/scopy -s 2 | 3 | /* Before running this example it is necessary to run: iio-emu adalm2000 */ 4 | var uri = "127.0.0.1" 5 | 6 | function main() { 7 | 8 | var devId = scopy.addDevice(uri) 9 | var connected = scopy.connectDevice(devId) 10 | if (!connected) 11 | return Error() 12 | 13 | /* Run signal generator with values saved in .ini file*/ 14 | siggen.running=true 15 | /* Run oscilloscope */ 16 | osc.running=true 17 | /* Focus oscilloscope */ 18 | scopy.switchTool("Oscilloscope") 19 | } 20 | 21 | /* To keep the application session after running a certain script */ 22 | /* use the command line options: -r or --keep-running. */ 23 | main() 24 | -------------------------------------------------------------------------------- /tools/license-header/.comment_styles.conf: -------------------------------------------------------------------------------- 1 | # Supported comment styles: 2 | # Format: [extension]:[comment_style] 3 | 4 | h:c_style 5 | c:c_style 6 | cc:c_style 7 | hpp:c_style 8 | cpp:c_style 9 | qss:c_style 10 | js:c_style 11 | sh:hash_style 12 | py:hash_style 13 | # txt is the extension used for CMakeLists.txt files 14 | txt:hash_style 15 | cmake:hash_style 16 | 17 | 18 | -------------------------------------------------------------------------------- /tools/license-header/.gitignore: -------------------------------------------------------------------------------- 1 | results*/ -------------------------------------------------------------------------------- /tools/license-header/templates/Scopy/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) {{YEAR}} {{COMPANY_NAME}} Inc. 2 | 3 | This file is part of {{PROJECT_NAME}} 4 | (see {{PROJECT_URL}}). 5 | 6 | This program is free software: you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation, either version 3 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program. If not, see <https://www.gnu.org/licenses/>. -------------------------------------------------------------------------------- /tools/license-header/templates/Scopy/params.conf: -------------------------------------------------------------------------------- 1 | COMPANY_NAME=Analog Devices 2 | PROJECT_NAME=Scopy 3 | PROJECT_URL=https://www.github.com/analogdevicesinc/scopy 4 | 5 | # Dynamically computed parameters 6 | YEAR=eval:date +'%Y' 7 | 8 | -------------------------------------------------------------------------------- /tools/packagegenerator/pkg.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "newpackage", 3 | "title": "New package", 4 | "description": "A new package", 5 | "author": "Analog Devices Inc.", 6 | "license": "LGPL", 7 | "category": ["iio", "plugin"] 8 | } -------------------------------------------------------------------------------- /tools/packagegenerator/requirements.txt: -------------------------------------------------------------------------------- 1 | Mako==1.2.2 2 | -------------------------------------------------------------------------------- /tools/packagegenerator/templates/package/manifest_cmakein.mako: -------------------------------------------------------------------------------- 1 | { 2 | "id": "${config['id']}", 3 | "title": "${config['title']}", 4 | "version": "@PROJECT_VERSION@", 5 | "description": "${config['description']}", 6 | "license": "${config['license']}", 7 | "author": "${config['author']}", 8 | "download_link": "", 9 | "zip_checksum": "", 10 | "scopy_compatibility": ["@CMAKE_PROJECT_VERSION@"], 11 | "category": [${', '.join(f'"{x}"' for x in config['category'])}] 12 | } 13 | -------------------------------------------------------------------------------- /tools/packagegenerator/templates/pdk/pdk_cmakein.mako: -------------------------------------------------------------------------------- 1 | #ifndef PDK_UTIL_H_CMAKEIN 2 | #define PDK_UTIL_H_CMAKEIN 3 | 4 | #define PLUGIN_INSTALL_PATH "@PLUGIN_INSTALL_PATH@" 5 | #define PATH_TO_INI "@PATH_TO_INI@" 6 | 7 | #endif // PDK_UTIL_H_CMAKEIN 8 | -------------------------------------------------------------------------------- /tools/packagegenerator/templates/plugin/plugin_cmakein.mako: -------------------------------------------------------------------------------- 1 | #ifndef SCOPY_${plugin_name.upper()}_CONFIG_H_CMAKEIN 2 | #define SCOPY_${plugin_name.upper()}_CONFIG_H_CMAKEIN 3 | 4 | #define ${plugin_name.upper()}_PLUGIN_DISPLAY_NAME "@PLUGIN_DISPLAY_NAME@" 5 | #define ${plugin_name.upper()}_PLUGIN_SCOPY_MODULE "@SCOPY_MODULE@" 6 | #define ${plugin_name.upper()}_PLUGIN_DESCRIPTION "@PLUGIN_DESCRIPTION@" 7 | 8 | #cmakedefine ENABLE_SCOPYJS 9 | 10 | #endif // SCOPY_${plugin_name.upper()}_CONFIG_H_CMAKEIN 11 | -------------------------------------------------------------------------------- /tools/packagegenerator/templates/plugin/tool_header.mako: -------------------------------------------------------------------------------- 1 | % if 'class_name' in config: 2 | #ifndef ${config['class_name'].upper()}_H 3 | #define ${config['class_name'].upper()}_H 4 | 5 | #include "scopy-${plugin_name}_export.h" 6 | #include <QWidget> 7 | 8 | % if 'namespace' in config: 9 | namespace ${config['namespace']} { 10 | class ${plugin_export_macro} ${config['class_name']} : public QWidget 11 | { 12 | Q_OBJECT 13 | public: 14 | ${config['class_name']}(QWidget *parent = nullptr); 15 | ~${config['class_name']}(); 16 | }; 17 | } // namespace ${config['namespace']} 18 | %endif 19 | #endif // ${config['class_name'].upper()}_H 20 | % endif 21 | -------------------------------------------------------------------------------- /tools/packagegenerator/templates/plugin/tool_src.mako: -------------------------------------------------------------------------------- 1 | % if 'file_name' in config: 2 | #include "${config['file_name']}.h" 3 | 4 | % if 'namespace' in config: 5 | using namespace ${config['namespace']}; 6 | % endif 7 | 8 | %if 'class_name' in config: 9 | ${config['class_name']}::${config['class_name']}(QWidget *parent) {} 10 | 11 | ${config['class_name']}::~${config['class_name']}() {} 12 | %endif 13 | % endif -------------------------------------------------------------------------------- /windows/drivers/amd64/WdfCoInstaller01011.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/windows/drivers/amd64/WdfCoInstaller01011.dll -------------------------------------------------------------------------------- /windows/drivers/amd64/winusbcoinstaller2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/windows/drivers/amd64/winusbcoinstaller2.dll -------------------------------------------------------------------------------- /windows/drivers/dpinst.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" ?> 2 | <dpinst> 3 | <search> 4 | <subDirectory>*</subDirectory> 5 | </search> 6 | 7 | <dpinstTitle>PlutoSDR/M2k Device Driver Updater</dpinstTitle> 8 | <welcomeTitle>Welcome to the PlutoSDR/M2k Installer!</welcomeTitle> 9 | <welcomeIntro>This wizard will walk you through updating the drivers for your PlutoSDR/M2k.</welcomeIntro> 10 | <installHeaderTitle>Installing the software for your PlutoSDR/M2k...</installHeaderTitle> 11 | <finishTitle>Congratulations! You finished installing your PlutoSDR/M2k drivers.</finishTitle> 12 | 13 | </dpinst> 14 | 15 | -------------------------------------------------------------------------------- /windows/drivers/pluto-cdc-acm.cat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/windows/drivers/pluto-cdc-acm.cat -------------------------------------------------------------------------------- /windows/drivers/pluto-cdc-acm.inf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/windows/drivers/pluto-cdc-acm.inf -------------------------------------------------------------------------------- /windows/drivers/pluto-dfu.cat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/windows/drivers/pluto-dfu.cat -------------------------------------------------------------------------------- /windows/drivers/pluto-dfu.inf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/windows/drivers/pluto-dfu.inf -------------------------------------------------------------------------------- /windows/drivers/pluto-rndis.cat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/windows/drivers/pluto-rndis.cat -------------------------------------------------------------------------------- /windows/drivers/pluto-rndis.inf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/windows/drivers/pluto-rndis.inf -------------------------------------------------------------------------------- /windows/drivers/pluto-usbd.cat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/windows/drivers/pluto-usbd.cat -------------------------------------------------------------------------------- /windows/drivers/pluto-usbd.inf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/windows/drivers/pluto-usbd.inf -------------------------------------------------------------------------------- /windows/drivers/x86/WdfCoInstaller01011.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/windows/drivers/x86/WdfCoInstaller01011.dll -------------------------------------------------------------------------------- /windows/drivers/x86/winusbcoinstaller2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/analogdevicesinc/scopy/f46955f03ed925a4640d91e4a741d7e6d4e035c4/windows/drivers/x86/winusbcoinstaller2.dll --------------------------------------------------------------------------------