artiq/artiq
David Nadlinger 32db6ff978
Allow experiments to specify a custom argument editor UI (#1916)
On the master/EnvExperiment side, the only addition is an optional
property `argument_ui` that is made accessible to the dashboard, e.g.

    class Example(EnvExperiment):
        argument_ui = "ndscan"
        def build(self):
           …

Clients – primarily artiq_dashboard, but in principle e.g. a
command-line UI could do the same – can then compare the value to a
list of well-known names and prefer any matching custom UI handlers.

On the dashboard side, this commit adds the mechanism to register
a custom argument editor for a given argument_ui string, i.e. the
widget that displays the parameter values within the wider
experiment UI shell with the submit button, pipeline parameters, and
so on. The registry remains empty by default and would be filled by
out-of-tree plugins such as ndscan.

The UI state readback is implemented somewhat defensively to avoid
needless disruptions to users when upgrading.
2022-06-18 15:55:13 +08:00
..
applets applets: Allow wildcard subscription to all datasets matching prefix via IPC 2022-06-18 15:45:57 +08:00
browser gui: fix Python 3.10 PyQt float/int issues. Closes #1887 2022-05-29 08:43:25 +08:00
compiler ld.lld: translate TARGET2 reloc to relative 2022-05-31 18:26:06 +08:00
coredevice Fix returning tuples of lists of arrays from RPCs 2022-06-15 00:08:49 +08:00
dashboard Allow experiments to specify a custom argument editor UI (#1916) 2022-06-18 15:55:13 +08:00
examples add aqctl_moninj_proxy to device dbs 2022-03-19 19:25:21 +08:00
firmware update SEEN_ASYNC_ERRORS in destination_survey 2022-06-18 15:46:49 +08:00
frontend dashboard: Plumb through datasets client to ExperimentManager 2022-06-18 15:50:05 +08:00
gateware Expose TTLClockGen for Kasli JSONs (#1886) 2022-05-06 13:33:42 +08:00
gui applets: Allow wildcard subscription to all datasets matching prefix via IPC 2022-06-18 15:45:57 +08:00
language units: Add nW (nanowatts) 2022-06-18 15:11:05 +08:00
master Allow experiments to specify a custom argument editor UI (#1916) 2022-06-18 15:55:13 +08:00
sim ttl: Add target RTIO time argument to timestamp/count functions 2018-11-03 20:33:19 +08:00
test add log_tuples function (#1896) 2022-06-06 18:41:46 +08:00
wavesynth wavesynth: np.int is deprecated 2021-09-13 07:02:35 +08:00
__init__.py simplify versioneer 2020-07-30 00:54:07 +08:00
_version.py remove legacy versioning files 2022-03-06 18:30:08 +08:00
afws.pem add AFWS client 2022-02-07 14:28:00 +08:00
appdirs.py add appdirs 2016-07-18 16:40:18 +02:00
build_soc.py build_soc: build VexRiscv_G if not kasli v1.x 2021-11-08 16:59:08 +08:00
experiment.py artiq.experiment: merge language and coredevice namespaces 2016-01-25 17:24:00 -07:00
remoting.py artiq_flash: wrap paramiko commands in bash login shell 2021-05-27 21:44:10 +08:00
tools.py tools: fix importlib issue 2021-12-21 13:20:11 +08:00