snu-quiqcl / iquip

Ion trap Quantum computing User Interface Project
GNU General Public License v3.0
7 stars 0 forks source link

`DeviceMonitorApp` #152

Closed BECATRUE closed 1 year ago

BECATRUE commented 1 year ago

(updated)

Feature you want to implement

To monitor and control several ARTIQ hardwares, e.g., TTL, DDS, DAC, I will develop DeviceMonitorApp in the following issues.

~~NOTE: As discussed with @kangz12345, for the first step, I will implement only a simple TTL controller, not showing the value. This will be updated as soon as it materializes.~~

TTL controller

In DeviceMonitorApp, TTLControllerFrame will be implemented, which controls ALL TTLs described in config.json. This frame consists of 1. a group of TTLControllerWidgets which control A TTL and 2. a button for overriding. The TTLControllerWidget has several widgets, i.e., a level button.

DAC controller

Similar to TTL controller, DACControllerFrame will be implemented, which controls ALL DACs described in config.json. This frame consists of a group of DACControllerWidgets which control A DAC. The DACControllerWidget has several widgets, i.e., a voltage slider.

DDS controller

Similar to DAC controller, DDSControllerFrame will be implemented, which controls ALL DDSs described in config.json. This frame consists of a group of DDSControllerWidgets which control A DDS. The DDSControllerWidget has several widgets, i.e., a frequency spin box.

How the feature is implemented

TTL controller

  1. Single TTL controller: TTLControllerWidget

    153

  2. Frame with all TTL controllers: TTLControllerFrame

    154

  3. Add functions to run actually: DeviceMonitorApp

    159

  4. Update TTL controllers: Use TTL device name instead of channel number

    169

DAC controller

  1. Single DAC controller: DACControllerWidget

    162

  2. Frame with all DAC controllrs: DACControllerFrame

    163

  3. Add functions in terms of DAC to DeviceMonitorApp

    167

DDS controller

  1. Single DDS controller: DDSControllerWidget

    173

  2. Frame with all DDS controllrs: DDSControllerFrame

    174

  3. Add functions in terms of DDS to DeviceMonitorApp

    175

BECATRUE commented 1 year ago

This is the first version, so I planned to distinguish the states of overriding and level through only the status of its toggle button, not changing background color or border width of each TTL widget.

Is it okay? @kangz12345

kangz12345 commented 1 year ago

No problem, checkable buttons must be enough (QPushButton with setCheckable(True), for example).

BECATRUE commented 1 year ago

All sub-issues are completed😃