Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
112 commits
Select commit Hold shift + click to select a range
e227269
admt: Configured ADMT plugin
JJuanill May 30, 2024
4bec130
admt: Added test GUI textbox and button for rotation, count, and angle
JJuanill Jun 3, 2024
d2b1c37
admt: Renamed plugin and include directories
JJuanill Jun 6, 2024
65ae82b
admt: Connected button to output to text field
JJuanill Jun 10, 2024
dfd0f20
admt: Added GRTimePlotAddon
JJuanill Jun 12, 2024
d2a8d64
admt: Implemented channel control and init methods
JJuanill Jun 14, 2024
89d8221
admt: Update CMakeList
JJuanill Jun 18, 2024
3c466ff
admt: Added historical graph
JJuanill Jun 26, 2024
ff70e2c
admt: Implemented GUI interface and controller
JJuanill Jul 9, 2024
e00bb56
admt: Fixed axis scales when changing displayed graph
JJuanill Jul 9, 2024
649b06d
admt: Added calibration tab
JJuanill Jul 16, 2024
f81d235
admt: Implemented export and import raw calibration data
JJuanill Jul 18, 2024
7ddc4e9
admt: Implemented calibration routine in controller
JJuanill Jul 23, 2024
2384d68
admt: Layout for motor controls
JJuanill Jul 31, 2024
1d6bbef
admt: Added stepper motor control for calibration
JJuanill Aug 9, 2024
448c6fd
admt: Adjusted Calibration GUI
JJuanill Aug 15, 2024
0ffa87e
admt: Added read device registry
JJuanill Aug 15, 2024
9cd9aa2
admt: Removed raw motor controls
JJuanill Aug 29, 2024
aceac1d
admt: Added registers tab
JJuanill Sep 2, 2024
2ebb720
admt: Added Sine and Cosine channels to raw calibration graph
JJuanill Sep 5, 2024
59e59de
admt: Added calibration graph toggles
JJuanill Sep 6, 2024
70bf26a
admt: Refactored read and write to registry
JJuanill Sep 9, 2024
9b929bf
admt: Implement compatible selected plugin
JJuanill Sep 10, 2024
6242e38
admt: Adjusted UI
JJuanill Sep 10, 2024
f90ad21
admt: Set debug to false
JJuanill Sep 11, 2024
f1a79d2
admt: Implemented status indicators for registers in utility tab
JJuanill Sep 25, 2024
4878070
Update admtcontroller.cpp
RainDalena Sep 25, 2024
95b812d
admt: Implemented sequence read and write
JJuanill Sep 26, 2024
12e0924
admt: Corrected string output for binary and hex values
JJuanill Sep 26, 2024
1b4d0d8
admt: Fixed pre-calibration FFT calculation
JJuanill Sep 26, 2024
e48353f
admt: Fixed replot pre-calibration FFT graph after clear
JJuanill Sep 26, 2024
7c404d3
admt: Implemented GMR reset
JJuanill Sep 27, 2024
07eb282
admt: Added min and max for line edit
JJuanill Oct 7, 2024
1f0cad9
Update admtcontroller.cpp
RainDalena Oct 7, 2024
a1b612f
Update admtcontroller.cpp
RainDalena Oct 7, 2024
66f0828
admt: Implemented GPIO Control
JJuanill Oct 8, 2024
247cdbf
admt: Implemented multithread for calibration data sampling
JJuanill Oct 10, 2024
7f71229
Update admtcontroller.cpp
RainDalena Oct 10, 2024
d683d4c
admt: Fixed controls for post calibration data
JJuanill Oct 10, 2024
aa89301
Update admtcontroller.cpp
RainDalena Oct 10, 2024
094a041
Update admtcontroller.cpp
RainDalena Oct 10, 2024
d44b2e4
Mag FFT and Harmonic Cal Algorithm adjustments.
RainDalena Oct 11, 2024
00c6c81
admt: Adjusted calibration and post calibration behaviors
JJuanill Oct 14, 2024
12d7060
Wrap angle errors to [-π, π] range
JJuanill Oct 15, 2024
5b52682
Update admtcontroller.cpp
RainDalena Oct 15, 2024
d6376f6
Update admtcontroller.cpp
RainDalena Oct 16, 2024
7527ed7
Refactor angle error calculations and FFT in ADMTController
JJuanill Oct 16, 2024
6f80fbd
Update admtcontroller.cpp
RainDalena Oct 16, 2024
ad1bc8e
Update admtcontroller.cpp
RainDalena Oct 16, 2024
941dcba
Update admtcontroller.cpp
RainDalena Oct 16, 2024
8c997ef
Revert "Update admtcontroller.cpp"
RainDalena Oct 17, 2024
0503c45
Revert "Update admtcontroller.cpp"
RainDalena Oct 17, 2024
f480789
Revert "Update admtcontroller.cpp"
RainDalena Oct 17, 2024
93d8538
Revert "Refactor angle error calculations and FFT in ADMTController"
RainDalena Oct 17, 2024
2ae2ce3
Revert "Update admtcontroller.cpp"
RainDalena Oct 17, 2024
3c669c9
admt: Fixed admtcontroller.h
JJuanill Oct 22, 2024
a599f8b
admt: Adjusted UI to hide and show specific fault registers based on …
JJuanill Oct 30, 2024
4e1f16a
admt: Included motor controls in acquisition tab
JJuanill Oct 31, 2024
65595a9
admt: Merge to latest dev build
JJuanill Nov 4, 2024
9bccd83
admt: Hide MT Diagnostic indicator and register
JJuanill Nov 4, 2024
207ccfc
admt: Hide registers on sequence mode
JJuanill Nov 4, 2024
d9c8232
admt: Updated graph style
JJuanill Nov 5, 2024
7fa5e62
admt: Add read all registers
JJuanill Nov 6, 2024
e6d03b8
admt: Reverted changes to calibration samples graph
doun-doughnut Nov 12, 2024
98a22fd
admt: Initial implement of style helper
doun-doughnut Nov 12, 2024
dc8c93a
admt: Included import samples in calibration data
doun-doughnut Nov 13, 2024
c4f3e05
admt: Initial implement of acquisition graph data
doun-doughnut Nov 13, 2024
4a397f7
admt: Added state for MT Diagnostics
doun-doughnut Nov 15, 2024
9f4c9c2
admt: Removed resizing acquisition list
doun-doughnut Nov 15, 2024
9028069
admt: Improved stability for applying sequence
JJuanill Nov 25, 2024
7d10848
admt: Write zeros to fault register before read
JJuanill Nov 25, 2024
11aaecd
admt: Added fine control for DIGIOEN register
JJuanill Nov 26, 2024
b0fe507
admt: Applied fixes for calibration
JJuanill Nov 27, 2024
a6021c1
admt: Implemented multi-channel acquisition graph
JJuanill Dec 2, 2024
a2b5647
admt: Fixed crashing issue when calibrating
JJuanill Dec 5, 2024
3e5915c
admt: Implemented mapping and graph for acquisition graph variables
JJuanill Jan 7, 2025
e79f7bf
admt: Implemented multi-thread operations to acquisition tab
JJuanill Jan 8, 2025
34843d4
admt: Implemented device status fault monitoring
JJuanill Jan 10, 2025
288a8a1
admt: Code cleanup
JJuanill Jan 15, 2025
a617fab
admt: Added disable states for tab widget while calibrating
JJuanill Jan 15, 2025
b7a2f1e
admt: Adjusted GPIO Monitor and Control
JJuanill Jan 16, 2025
e24bef8
admt: Applied latest dev branch
JJuanill Jan 17, 2025
20afca4
admt: Added spinbox to new style property
JJuanill Jan 22, 2025
a1e9403
admt: Replaced timers with threads for utility tab
Jan 31, 2025
a052376
admt: Added license headers
Jan 31, 2025
7eb4acf
admt: Cleanup license headers for remaining files
Jan 31, 2025
a81a44c
admt: Added regmap debug method
JJuanill Feb 3, 2025
9d8ff3b
admt: Implemented continuous calibration
JJuanill Feb 26, 2025
f835f87
admt: Removed unused libraries in CMakeLists
JJuanill Feb 26, 2025
7ff1408
admt: Format C++ and CMakeLists
JJuanill Feb 27, 2025
3597a0f
admt: Applied clang-format for C++ files
JJuanill Feb 27, 2025
2b26804
admt: Styles cleanup
JJuanill Mar 7, 2025
02fd704
admt: Include XML IIO Emulator for ADMT4000
JJuanill Mar 9, 2025
157c0f9
admt: Migrated styles
JJuanill Mar 12, 2025
52ffd65
admt: Added slot and signal for acquisition tab data
JJuanill Mar 12, 2025
38ab500
admt: Moved XML emulator file
JJuanill Mar 13, 2025
abba88c
admt: Added slot and signal for calibration UI updates
JJuanill Mar 13, 2025
b3ca273
admt: Handled validations for register maps for emulator
JJuanill Mar 13, 2025
759a8d4
resources: Added ADMT4000 emulator device
JJuanill Mar 13, 2025
f5730aa
admt: Disable ECC when configuring DIGIOEN, GENERAL, and Harmonic reg…
JJuanill Mar 14, 2025
a974603
admt: Use general_use_native_dialogs preference
JJuanill Mar 17, 2025
87d59db
admt: Resolve tests
JJuanill Mar 17, 2025
f1a8a84
admt: Fix displayed turn count
JJuanill Mar 28, 2025
7cebbcd
admt: Changed samples per cycle to total samples in calibration tab
JJuanill Mar 31, 2025
f2b920d
admt: Added turn count to acquisition tab
JJuanill Apr 2, 2025
09b34b2
admt: Inverted CW and CCW motor direction
JJuanill Apr 3, 2025
f597c93
admt: Save calibration coeff. hex code to CSV
JJuanill Apr 3, 2025
4e1c570
admt: Updated CNV change method
JJuanill Apr 10, 2025
278ba15
admt: Fixed sequence configuration
JJuanill Apr 10, 2025
56dcc8f
admt: Updated channel read value
JJuanill Apr 14, 2025
b986d5a
admt: Updated channel read
JJuanill Apr 28, 2025
cbfb427
admt: Added mixed read mode
JJuanill Apr 29, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions gui/style/json/Harmonic dark.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,12 @@
"interactive_primary_hover": "#C6D8F6",
"interactive_primary_pressed": "#abc4ed",
"interactive_primary_disabled": "#0067B9",
"interactive_primary_faint": "#00549A",
"interactive_secondary_idle": "#92BEFC",
"interactive_secondary_hover": "#C6D8F6",
"interactive_secondary_pressed": "#abc4ed",
"interactive_secondary_disabled": "#4B545D",
"interactive_silent_hover": "#3A424B",
"content_default": "#FFFFFF",
"content_subtle": "#B7BBC3",
"content_silent": "#848B95",
Expand Down
4 changes: 3 additions & 1 deletion gui/style/json/Harmonic light.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,12 @@
"interactive_primary_hover": "#00427A",
"interactive_primary_pressed": "#003969",
"interactive_primary_disabled": "#92BEFC",
"interactive_primary_faint": "#C6D8F6",
"interactive_secondary_idle": "#0067B9",
"interactive_secondary_hover": "#00427A",
"interactive_secondary_pressed": "#003969",
"interactive_secondary_disabled": "#d5d7db",
"interactive_secondary_disabled": "#c1c3c7",
"interactive_silent_hover": "#D5D8DC",
"content_default": "#101820",
"content_subtle": "#5E6773",
"content_silent": "#9FA4AD",
Expand Down
2 changes: 2 additions & 0 deletions gui/style/json/Scopy.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,12 @@
"interactive_primary_hover": "#697EFF",
"interactive_primary_pressed": "#7084fa",
"interactive_primary_disabled": "#2E3874",
"interactive_primary_faint": "#00549A",
"interactive_secondary_idle": "#5b5b6b",
"interactive_secondary_hover": "#535361",
"interactive_secondary_pressed": "#4c4c59",
"interactive_secondary_disabled": "#35353d",
"interactive_silent_hover": "#3A424B",
"content_default": "#e1e1e3",
"content_subtle": "#bac2cc",
"content_silent": "#848491",
Expand Down
2 changes: 2 additions & 0 deletions plugins/admt/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
include/admt/scopy-admt_export.h
include/admt/scopy-admt_config.h
113 changes: 113 additions & 0 deletions plugins/admt/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
#
# Copyright (c) 2024 Analog Devices Inc.
#
# This file is part of Scopy
# (see https://www.github.com/analogdevicesinc/scopy).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
#

cmake_minimum_required(VERSION 3.9)

set(SCOPY_MODULE admt)

message(STATUS "building plugin: " ${SCOPY_MODULE})

project(scopy-${SCOPY_MODULE} VERSION 0.1 LANGUAGES CXX)

set(PLUGIN_DISPLAY_NAME "ADMT")
set(PLUGIN_DESCRIPTION "Plugin for ADMT Harmonic Calibration")

include(GenerateExportHeader)

# TODO: split stylesheet/resources and add here TODO: export header files correctly

set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

set(CMAKE_AUTOUIC_SEARCH_PATHS ${CMAKE_CURRENT_SOURCE_DIR}/ui)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)

set(CMAKE_INCLUDE_CURRENT_DIR ON)

set(CMAKE_CXX_VISIBILITY_PRESET hidden)
set(CMAKE_VISIBILITY_INLINES_HIDDEN TRUE)

file(
GLOB
SRC_LIST
src/*.cpp
src/*.cc
src/widgets/*.cpp
)
file(
GLOB
HEADER_LIST
include/${SCOPY_MODULE}/*.h
include/${SCOPY_MODULE}/*.hpp
include/${SCOPY_MODULE}/widgets/*.h
)

set(ENABLE_TESTING ON)
if(ENABLE_TESTING)
add_subdirectory(test)
endif()

set(PROJECT_SOURCES ${SRC_LIST} ${HEADER_LIST})
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS REQUIRED Widgets Core)

qt_add_resources(PROJECT_RESOURCES res/resources.qrc)

add_library(${PROJECT_NAME} SHARED ${PROJECT_SOURCES} ${PROJECT_RESOURCES})

generate_export_header(
${PROJECT_NAME} EXPORT_FILE_NAME ${CMAKE_CURRENT_SOURCE_DIR}/include/${SCOPY_MODULE}/${PROJECT_NAME}_export.h
)

include(ScopyStyle)
generate_style("--plugin" ${CMAKE_CURRENT_SOURCE_DIR}/style ${CMAKE_CURRENT_SOURCE_DIR}/include/admt)

set(INCLUDE_DIRECTORIES
${CMAKE_CURRENT_SOURCE_DIR}/include/${SCOPY_MODULE} ${CMAKE_CURRENT_SOURCE_DIR}/include/${SCOPY_MODULE}
${CMAKE_CURRENT_SOURCE_DIR}/include/${SCOPY_MODULE} ${CMAKE_CURRENT_SOURCE_DIR}/include/${SCOPY_MODULE}/widgets
)

configure_file(
include/${SCOPY_MODULE}/scopy-${SCOPY_MODULE}_config.h.cmakein
${CMAKE_CURRENT_SOURCE_DIR}/include/${SCOPY_MODULE}/scopy-${SCOPY_MODULE}_config.h @ONLY
)

target_include_directories(${PROJECT_NAME} INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/include)
target_include_directories(${PROJECT_NAME} PRIVATE ${INCLUDE_DIRECTORIES})

target_include_directories(${PROJECT_NAME} PUBLIC scopy-pluginbase scopy-gui)
target_include_directories(${PROJECT_NAME} PRIVATE ${IIO_INCLUDE_DIRS} scopy-gui scopy-iioutil)

target_link_libraries(
${PROJECT_NAME}
PUBLIC Qt::Widgets
Qt::Core
scopy-pluginbase
scopy-gui
scopy-iioutil
)

if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
set(INSTALLER_DESCRIPTION "${PLUGIN_DISPLAY_NAME} ${PLUGIN_DESCRIPTION}")
configureinstallersettings(${SCOPY_MODULE} ${INSTALLER_DESCRIPTION} TRUE)
endif()

set(ADMT_TARGET_NAME ${PROJECT_NAME} PARENT_SCOPE)
Loading