Commit Graph

7080 Commits

Author SHA1 Message Date
a21805598a dashboard fix moninj, analyzer clients 2024-02-27 11:25:43 +08:00
c151f0c3ce waveform: remove unused setTimescale 2024-02-27 11:24:33 +08:00
c794e51c1c waveform: fix log msg display 2024-02-27 11:24:07 +08:00
bafa69098a style/doc fixes (NFC) 2024-02-27 11:10:32 +08:00
b2ba087acd dashboard: do not use float64. Closes #2347 2024-02-27 11:09:37 +08:00
a8a5fc213b worker_impl: style fixes (NFC) 2024-02-27 10:39:37 +08:00
7688f380b1 environment, artiq_run: introduce interactive arguments 2024-02-26 19:30:31 +08:00
0a24d72b9f dashboard: change analyzer proxy client 2024-02-26 16:55:55 +08:00
716d0f556d grabber: timeout fixes 2024-02-26 11:03:59 +08:00
Charles Baynham
20d7604f87 grabber: Add optional timeout for getting grabber data
Signed-off-by: Charles Baynham <c.baynham@imperial.ac.uk>
2024-02-26 11:02:02 +08:00
4c142ec3f1 waveform: add reset zoom button 2024-02-23 10:56:37 +08:00
c49600a2fc docs: fix sampler, waveform 2024-02-23 10:56:19 +08:00
cda758ef53 docs: fix waveform imports 2024-02-22 17:04:37 +08:00
bd9e8b3977 waveform: simplify AddChannelDialog 2024-02-20 16:30:26 +08:00
779b7704ed waveform, comm_analyzer add cursor label unit 2024-02-20 15:53:01 +08:00
edd23977f8 waveform: delete all waveforms confirm dialog 2024-02-19 17:37:08 +08:00
f460af3a6a waveform: remove vertical grids 2024-02-19 17:37:08 +08:00
1b0fd2e2d3 comm_analyzer: remove interval, timestamp 2024-02-19 17:37:08 +08:00
652bcc22c6 waveform: remove empty waveform error msg 2024-02-19 17:37:08 +08:00
de539a4d33 waveform: remove None cursor label 2024-02-19 17:37:08 +08:00
1749fa661f waveform: reset cursor onDataChange 2024-02-16 15:54:25 +08:00
6ed6fb0bce waveform: fix log messages 2024-02-16 15:24:39 +08:00
fc282d4e17 artiq_ddb_template: fix clk_div config
remove clk_div default in jsonschema
set CLK IN divided by 1 as default when bypassing PLL
2024-02-16 15:23:55 +08:00
795b8ae4c6 add analyzer proxy magic 2024-02-16 14:48:49 +08:00
21b77567f2 waveform: add timeout to reconnect_cr 2024-02-16 14:48:49 +08:00
d085c1e4a4 waveform, analyzer proxy fix connect errors 2024-02-16 14:48:49 +08:00
720cbb4490 comm_analyzer, waveform add ndecimals 2024-02-15 15:46:12 +08:00
efb8aaf9f9 comm_analyzer: fix stopped_x 2024-02-15 15:32:00 +08:00
7f43c5c31a waveform: add cursor 2024-02-08 12:59:22 +08:00
40cea30285 waveform: add open, save channel list 2024-02-02 17:23:52 +08:00
8b503c3b4f waveform: add remove, clear waveform actions 2024-02-02 11:18:03 +08:00
1e9070a2af testing: add coreanalyzer_proxy smoke test 2024-02-02 10:21:22 +08:00
dcf1bba8c6 waveform: implement _create_waveform 2024-02-01 19:02:09 +08:00
a7b045a478 waveform: misc fixes 2024-02-01 19:02:09 +08:00
b64c75fd71 subkernel: warn on kernel finish w/ pending msgs 2024-02-01 18:56:07 +08:00
392533f8ee subkernel lit tests: fix timeouts to no-timeouts 2024-02-01 18:56:07 +08:00
7fee68ede0 subkernel messages: check for send/recv pairs 2024-02-01 18:56:07 +08:00
849b77fbf2 compiler: fix send_message after stackrestore 2024-02-01 18:56:07 +08:00
502204cab2 subkernel: fix DMA return control to wrong master 2024-02-01 18:56:07 +08:00
d1ee0ffb83 subkernel: fix passing arguments 2024-02-01 18:56:07 +08:00
cbe7ac1cfd waveform: add AnalogWaveform 2024-01-31 17:26:22 +08:00
2d8de3ed93 waveform: add BitVectorWaveform 2024-01-31 16:59:12 +08:00
5f3126f393 waveform: add BitWaveform 2024-01-31 15:51:34 +08:00
09462442f7 subkernel: allow negative timeouts for no timeout 2024-01-31 11:46:07 +08:00
726cb092ca tests: add message passing tests 2024-01-31 11:46:07 +08:00
0ba0330b53 compiler: support free subkernel message passing 2024-01-31 11:46:07 +08:00
7d3bcc7cac satman: support free subkernel message passing 2024-01-31 11:46:07 +08:00
171c7a6e11 runtime: use the destination passed by kernel 2024-01-31 11:46:07 +08:00
c087a47e45 waveform: add _BaseWaveform 2024-01-31 11:41:35 +08:00
28dfe1f9c6 waveform: add _WaveformView 2024-01-30 09:45:29 +08:00
3861d58749 dndwidgets: change splitter to use signal 2024-01-30 09:45:29 +08:00
6c9f1cbf7c waveform: add save_vcd 2024-01-25 15:06:21 +08:00
06b908fd18 waveform: fix in _AddChannelDialog 2024-01-25 14:49:55 +08:00
e72f37eb4e waveform: add _WaveformModel 2024-01-25 14:49:55 +08:00
847b4ee2a3 waveform: add save_trace 2024-01-25 14:49:16 +08:00
863daca2da waveform: remove punctuation in log msgs 2024-01-25 14:01:25 +08:00
fcaf4a8af0 gui.tools: add get_save_file_name helper 2024-01-25 12:32:06 +08:00
466d865e58 waveform: add _AddChannelDialog 2024-01-22 15:39:46 +08:00
5036230ff3 waveform: change log channel update 2024-01-22 15:39:11 +08:00
12a44fad3c comm_analyzer: change usage of logs field 2024-01-22 15:39:11 +08:00
096664c1ba dndwidgets: add drag drop helper widgets 2024-01-22 15:37:57 +08:00
8a9b6a449b artiq_dashboard: start proxy clients, device_sub 2024-01-22 15:37:10 +08:00
73be2257d3 waveform: add proxy clients 2024-01-22 15:37:10 +08:00
9088ffa2ca artiq_dashboard: add WaveformDock 2024-01-22 13:59:31 +08:00
d44f55c6d9 waveform: add WaveformDock 2024-01-22 13:59:31 +08:00
e393b3ab37 comm_analyzer: add set_end_time call 2024-01-15 13:39:06 +08:00
3af4c9d517 comm_analyzer: add get_channel_list 2024-01-13 00:07:42 +08:00
64567bc26f comm_analyzer: add AnalyzerProxyReceiver 2024-01-13 00:06:14 +08:00
Charles Baynham
669edf17c5
scheduler: resolve git references into revisions on submission (#2296)
Signed-off-by: Charles Baynham <c.baynham@imperial.ac.uk>
2024-01-10 16:05:26 +08:00
b215df2d25 comm_analyzer: add WaveformManager, WaveformChannel 2024-01-10 16:02:04 +08:00
6c0ff9a912 satman: fix targets without drtio routing 2024-01-09 10:41:22 +08:00
c9e3771cd5 subkernels: add support for (d)dma 2024-01-09 08:44:45 +08:00
c876acd5a5 docs: subkernels can call other subkernels now 2024-01-09 08:44:45 +08:00
4363cdf9fa master: make use of the async message ready flag 2024-01-09 08:44:45 +08:00
95b92a178b satman: make use of the async flag 2024-01-09 08:44:45 +08:00
1cc7398bc0 drtio: add sat -> mst async notif packet 2024-01-09 08:44:45 +08:00
4956fac861 satman: allow subkernels start subkernels 2024-01-09 08:44:45 +08:00
9bc66e5c14 support routing packets between satellites and master 2024-01-09 08:44:45 +08:00
4495f6035e master: support source parameters 2024-01-09 08:44:45 +08:00
e556c29b40 drtioaux: add source to relevant drtio packets 2024-01-09 08:44:45 +08:00
76fba538b1 artiq_ddb_template: fixed missing separator 2023-12-18 13:23:39 +08:00
8dd8cfa6b0 master: implement devarg_override 2023-12-18 12:11:40 +08:00
5df0721811 dashboard,client: add device argument overrides to expid 2023-12-17 19:43:41 +08:00
44a95b5dda dashboard: add repository revision clear button 2023-12-17 16:37:02 +08:00
858f0479ba aqctl_coreanalyzer_proxy: permissions and shebang 2023-12-17 13:27:38 +08:00
413d33c3d1 core: document analyzer proxy options 2023-12-13 14:29:33 +08:00
c2b53ecb43 core: add option to trigger analyzer proxy at run end 2023-12-13 14:27:48 +08:00
ede0b37c6e devices: introduce notify_run_end API 2023-12-13 14:27:04 +08:00
795c4372fa DeviceManager: fix close exception error message 2023-12-13 14:06:53 +08:00
402a5d3376 core: connect lazily to analyzer proxy
Otherwise artiq_compile and other uses of Core that does not access hardware/network may fail.
2023-12-13 13:46:47 +08:00
85850ad9e8 wavesynth: remove 2023-12-13 13:36:21 +08:00
7a863b4f5e core: add trigger_analyzer_proxy API 2023-12-13 13:08:54 +08:00
a26cee6ca7 coreanalyzer_proxy: cleanups/renames 2023-12-13 13:07:35 +08:00
be08862606 logo: text to path 2023-12-08 19:34:47 +08:00
05a9422e67 aqctl_coreanalyzer_proxy: cleanup 2023-12-08 18:56:10 +08:00
b09a39c82e
add aqctl_coreanalyzer_proxy 2023-12-08 18:55:07 +08:00
49267671f9 core: fix precompile 2023-12-04 12:10:11 +08:00
9f4b8db2de repeater: fix setting tsc 2023-12-01 16:43:48 +08:00
1a28069aa2 support for pre-compiling subkernels 2023-11-23 16:49:02 +08:00
56418e342e take into account VERSIONEER_REV in artiq._version.get_rev 2023-11-22 20:51:02 +08:00
77c6553725 always provide artiq._version.get_rev 2023-11-14 14:14:47 +08:00
e81e8f28cf gateware: merge kasli_generic into kasli. Closes #2279 2023-11-14 14:01:17 +08:00
de10e584f6 support .tar flashed idle/startup kernels 2023-11-13 18:14:35 +08:00
363afb5fc9 artiq_ddb_template: add support for user LEDs
Add support for additional user LEDs.
2023-11-08 10:51:39 +08:00
e7af219505 kasli_generic: add support for user LEDs
Add additional LED RTIO devices.
2023-11-08 10:51:39 +08:00
ec2b86b08d kc705: fix gtx clock path durnig init 2023-11-07 18:36:48 +08:00
8f7d138dbd gtx: Always enable IBUFDS_GTE2, add clk_path_ready
- Set clk_path_ready to High to start Initialization of GTP TX and RX
2023-11-07 18:36:48 +08:00
c0a6252e77 afws_client: improve compatibility with older versions of prettytable. Closes #2264 2023-11-07 14:06:31 +08:00
6640bf0e82 drtioaux/subkernel/ddma: introduce proper errors, more robust 2023-11-07 13:42:04 +08:00
b3c0d084d4 drtio: better control state of bigger payloads 2023-11-07 13:42:04 +08:00
bb0b8a6c00 kasli: Correct the GTP TX clock path during init
- TXOUT must be fed back into TXUSRCLK during initialization
- Now, MMCM Clock Input is switched before GTP TX Init is started instead of after GTP TX Init is done
- Reset in Sys Clock domain is kept asserted when clock is switched and GTP TX Init is NOT done
2023-11-07 13:40:32 +08:00
jfniedermeyer
9c68451cae Add hotkeys to organize experiments in dashboard
Signed-off-by: jfniedermeyer <justin.niedermeyer@colorado.edu>
2023-10-27 21:47:30 +02:00
93c9d8bcdf artiq_ddb_template:set default Shuttler drtio_dest
- remove default Shuttler "drtio_destination" value in jsonschema
- set the default Shuttler "drtio_destination" value according to
    board "target" and "hw_rev"
2023-10-27 21:46:02 +02:00
e480bbe8d8 artiq_ddb_template: move satellite_cpu_target to core 2023-10-27 21:45:12 +02:00
b168f0bb4b subkernel: separate tags and data 2023-10-17 12:18:03 +02:00
5f445f6b92 ad53xx: fix load() references in documentation 2023-10-16 13:54:38 +08:00
363f7327f1 io_expander: initialize before service 2023-10-15 07:45:20 +08:00
de41bd6655 eem_7series: pass through kwargs for shuttler 2023-10-11 12:15:06 +08:00
96941d7c04 big_number: fix metadata scaling, add unit label 2023-10-09 15:35:14 +08:00
f3c79e71e1 firmware: merge runtime and satman linker scripts 2023-10-09 15:33:29 +08:00
333b81f789 set_argument_value warning in browser 2023-10-09 10:38:17 +08:00
9c90f923d2 test: check return value of subprocesses in test_compile 2023-10-09 10:07:04 +08:00
e23e4d39d7 artiq_compile: ignore subkernel_arg_types 2023-10-09 10:03:43 +08:00
David Nadlinger
08eea09d44 compiler: Catch escaping numpy.{array, full, transpose}() results
Function calls in general can still be used to hide escaping
allocations from the compiler (issue #1497), but these calls in
particular always allocate, so we can easily and accurately handle
them.
2023-10-09 09:00:26 +08:00
973fd88b27 core: compile and upload subkernels 2023-10-08 17:11:51 +08:00
8d7194941e tests: add lit tests for subkernels 2023-10-08 17:11:51 +08:00
0a750c77e8 compiler: support subkernels 2023-10-08 17:11:51 +08:00
1a0fc317df satman: support subkernels 2023-10-08 17:11:32 +08:00
e05be2f8e4 runtime: support subkernels 2023-10-08 17:11:32 +08:00
6f4b8c641e drtioaux_proto: use better payload names 2023-10-08 17:11:32 +08:00
b42816582e ksupport: support subkernels 2023-10-08 17:11:32 +08:00
0131a8bef2 shuttler: cleanup 2023-10-06 14:55:51 +08:00
e63e2a2897 artiq_ddb_template: better satellite formatting 2023-10-06 13:01:57 +08:00
47fc640f75 applets: rename 'ctl' attribute to 'req' 2023-10-05 12:32:01 +08:00
da9f7cb58a applet extensions documentation 2023-10-05 12:32:01 +08:00
43926574da shuttler: remove sdm constants 2023-10-05 07:40:00 +08:00
4f3e58db52 gui.applets: add EntryArea 2023-10-04 15:35:52 +08:00
13271cea64
gui: remove copies of _WheelFilter and refactor with parameter 2023-10-04 13:35:01 +08:00
0e8fa8933f shuttler: init sigma-delta modulator 2023-09-30 11:51:43 +08:00
David Nadlinger
2eb89cb168 dashboard: Fix occasional "unexpected action" applet errors on startup
This turned out to be a race between the dashboard's dataset db
subscriber being initialised and the applet "embed" request, with
artiq.applet.simple not being able to handle the unexpected "mod"
message. We were only handling the other ordering outcome of this
race before.
2023-09-30 00:27:25 +01:00
a772dee1cc shuttler: change 0th order accumulator width
It now truncates the LSBs instead of the MSBs.
2023-09-29 10:09:39 +08:00
bafb85a274 custom_applet: change constructor, data_changed signatures 2023-09-28 10:35:14 +01:00
0e8aa33979 core: separate master target from compilation 2023-09-28 10:41:55 +08:00
fcf6c90ba2 ddb_template: support different satellite targets 2023-09-28 10:41:55 +08:00
0c1b572872 Shuttler: Correct spelling and grammar in docs 2023-09-27 17:29:16 +08:00
ab0d4c41c3 Shuttler: pdq, efc->shuttler pdq_words->coef_words 2023-09-27 17:29:16 +08:00
6eb81494c5 Allow using Python types in type annotations
This maps basic Python types (float, str, bool, np.int32, np.int64) as well as
some generics (list, tuple) to ARTIQ's own type instances.

Signed-off-by: Jonathan Coates <jonathan.coates@oxionics.com>
2023-09-26 23:46:43 +01:00
586d97c6cb Fix type annotations with mixed tuples
The type checker/inferer visits every node in an AST tree, including
function return annotations. This means for a function definition like

    def f() -> TTuple([TInt32, TBool]):
      ...

We attempt to type check the list [TInt32, TBool], which generates the
unification constraint builtins.TBool ~ builtins.TInt. This causes an
internal error due to compiler weirdness.

We can avoid this by just nulling-out the return annotation in the
embedding stage. The return type isn't actually used anywhere (it's
extracted via the inspect module instead), so this is entirely safe.

Arguments aren't affected by this, as we already nulled out the
annotation (see visit_arg in embedding.py).

Signed-off-by: Jonathan Coates <jonathan.coates@oxionics.com>
2023-09-26 23:43:01 +01:00
David Nadlinger
892b0eaca2 compiler: Fix crash on multiple types with the same name
The original fix in 21574bdfa9
was incomplete, as it only addressed the TInstance types, but
not their linked (typ.constructor) TConstructor instances.

This would (potentially among other issues) cause assertion
errors in llvm_ir_generator due to the wrong associated globals
being referenced; see added test case for an example that
previously caused such a crash.

Also modified the name collision detection from O(len(type_map))
(so quadratic overall in the number of custom types) to cache
names in sets for O(1) lookup.
2023-09-26 23:31:21 +01:00
eedac7cf71 Shuttler: Patch ddb entries in the example code 2023-09-26 12:20:26 +08:00