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
a61bbf5618
Shuttler: Replace ddb with json for the example
2023-09-26 12:20:26 +08:00
occheung
b7b8f0efa2
Generate coredevice entries for Shuttler ( #2216 )
...
* ddb: generate shuttler coredevice entries
* ddb: split-off all DRTIO-over-EEM peripherals
Only EFC uses DRTIO-over-EEM at this moment. It will be relevant to phaser-DRTIO in the future.
* ddb: generalize efc processing into drtio-over-eem peripherals
* ddb: check DRTIO role validity before processing
2023-09-26 09:44:21 +08:00
occheung
b52f253dbd
Simplify OOB reset by clock division ( #2217 )
...
* oob: simply logic by dividing into clk100
* replace clk100 clk ctrl with clk200 async reset
* fix comment (singular/plural)
* oob reset: invoke platform commands locally
* cleanup
* oob reset: add async reset import
* fix duplicated comment
2023-09-26 08:02:49 +08:00
occheung
73ab71f443
shuttler: add documentation
2023-09-25 17:47:47 +08:00
ab8247b3d7
Shuttler: Add coredevice example code for Shuttler
...
This example code:
- Demonstrates the init flow for Shuttler
- Blinks LED L0, L1
- Demonstrates the real-time control of relay
- Includes example fns for configuring the PDQ Output Channel in mu
2023-09-25 14:56:47 +08:00
36b3678853
satman: fix ddma reporting wrong destination
2023-09-22 10:25:37 +08:00
af77885dfc
rtio_mgt: fix drtio reset on standalone
2023-09-22 09:46:40 +08:00
eb57b3b393
drtio: async messages become synchronous
...
They are now a reply for DestinationStatusRequest.
This prevents gateware errors and lost packets if the receiver is busy.
2023-09-21 16:30:00 +08:00
40ac2e03ab
set_argument_value in applets
2023-09-21 16:26:11 +08:00
a2fbcb8bfd
pre-dac gain/offsets: detect overflow & underflow
...
And output maximum / minimum DAC code when over/underflow
2023-09-19 18:49:20 +08:00
5c64eac8d2
relay: fix naming
2023-09-19 18:49:20 +08:00
477a7b693c
remove debug for converter
2023-09-19 18:49:20 +08:00
f2694f25eb
re-impl ADC using general access methods
2023-09-19 18:49:20 +08:00
9e1447d104
adc: implement standby & power-down/up
2023-09-19 18:49:20 +08:00
870020bc9f
adc: use a generous upper bound
2023-09-19 18:49:20 +08:00
c2d136f669
shuttler: reorg SPI constants
2023-09-19 18:49:20 +08:00
06426e0ed9
shuttler: impl general reg access
2023-09-19 18:49:20 +08:00
e443e06e62
shuttler: remove adc calibrate debug lines
2023-09-19 18:49:20 +08:00
55150ebdbb
shuttler: fix calibration channel target
2023-09-19 18:49:20 +08:00
eb08c55abe
shuttler: add AFE drivers
2023-09-19 18:49:20 +08:00
67b6588d95
shuttler: implement gain & offset register access
2023-09-19 18:49:20 +08:00
1bb7e9ceef
shuttler: support pre-DAC gain & offset
2023-09-19 18:49:20 +08:00
c02a14ba37
compiler: fix lit tests numpy.transpose error ( #2190 )
2023-09-18 22:11:46 +08:00
1f3b2ef645
dashboard.datasets: fix numpy objects in CreateEditDialog
2023-09-18 14:07:26 +08:00
372008cb66
Firmware: AD9117 Add check presence of clk comment
2023-09-18 13:04:51 +08:00
85abb1da2c
Firmware: Set DACs RETIMER-CLK to Phase 1 Shuttler
...
- Intend to maintain the same pipeline latency across all DACs on Shuttler
- Force the RETIMER-CLK to be PHASE 1 on all DACs
- See Issue #2200 for details
2023-09-18 12:52:21 +08:00
David Nadlinger
9e5b62a6b1
gateware/targets/kasli: Only set DRTIO_ROLE in *Base classes [nfc]
...
kasli_generic uses the drtio_role setting to select the particular
*Generic class to use anyway.
2023-09-17 10:24:51 +08:00
David Nadlinger
22ab62324c
gateware/targets/kasli: Set DRTIO_ROLE in {Master, Satellite}Base
...
These were introduced in 82bd913f63
, and for Kasli only set from
the JSON description in the *Generic subclasses. Not all firmware
is built through that API, however, e.g. the CI system at the
University of Oxford. The missing attribute breaks artiq.build_soc.
2023-09-17 00:48:42 +01:00
David Nadlinger
fc74b78a45
dashboard: Make Ctrl-Alt-W close non-docked applets only
...
I had introduced this in f11aef74b
as a means of quickly cleaning up
after e.g. an exploratory session where a lot of transient applets were
opened from ndscan, or for a dashboard that has been running for a while
with CCBs enabled but without anybody actually working there.
It turns out that one usually wants the few docked applets to stay open,
as they were necessarily arranged manually at some prior point. And as a
corollary to the latter, if one did want to close them as well, doing so
manually would not be too onerous either.
2023-09-16 23:47:23 +01:00
f01e654b9c
gui.entries: fix RangeScan SpinBox size layouts
2023-09-16 16:06:45 +08:00
6df85478e4
scan: fix deprecated shuffle parameter in python 3.11
2023-09-13 12:24:44 +08:00
5c85cef0c2
Allow indexing tuples in kernel code
...
This only allows for indexing with a constant value (e.g. x[0]).
While slices would be possible to implement, it's not clear how to
preserve type inference here. The current typing rule is:
Γ ⊢ x : τ Γ ⊢ a : Int Γ ⊢ b : Int
------------------------------------
Γ ⊢ x[a:b] : τ
However, tuples would require a different typing rule, and so we'd need
to defer type inference if τ is a tyvar. I'm not confident that this
won't change behaviour, so we leave as-is for now.
Signed-off-by: Jonathan Coates <jonathan.coates@oxionics.com>
2023-09-12 14:43:38 +01:00
ccb140a929
Firmware: Add AD9117 DAC Startup Seq for shuttler
2023-09-11 15:07:47 +08:00
7c8073c1ce
Shuttler: Add DAC Data Interface Gateware
...
- Add Parallel DDR Data Interface for DAC
- Add MMCM to generate phase shifted DDR Clk(45 degree phase shift by default)
- Connect dac_interface to Shuttler Module
2023-09-11 11:37:13 +08:00
b49fb841ce
Firmware: EFC enables error led when going panic
2023-09-06 15:54:35 +08:00
a619c9f3c2
almazny: fix minor doc formatting
2023-09-06 14:12:09 +08:00
0188f31f3a
i2c: fix doc formatting
2023-09-05 17:00:27 +08:00
4e770509db
almazny: fix doc formatting
2023-09-05 17:00:27 +08:00
7f63bb322d
disable DRTIO-over-EEM OSERDES until clock is stable
...
This asserts OOB reset on EFC.
2023-09-05 16:59:01 +08:00
5e5d671f4c
kasli: add invoke order comments
2023-09-04 12:05:45 +08:00
98904ef4c3
kasli: construct DRTIO-EEM modules before adding RTIO
2023-09-04 12:05:45 +08:00
occheung
838cc80922
EFC: Implement OOB reset
2023-09-03 10:25:08 +08:00
Simon Renblad
904afe1632
tools: remove trim param
2023-09-01 20:06:19 +08:00
Simon Renblad
01d777c977
dashboard/datasets: fix CreateEditDialog datatype cast ( #2176 )
2023-09-01 13:59:17 +08:00
occheung
df99450faa
shuttler: add pdq-based waveform generator
2023-08-30 23:38:39 +08:00
ddb2b5e3a1
efc: add shuttler DAC parallel data interface pads
2023-08-30 10:25:39 +08:00
b56f7e429a
drtio: rename drtio_transceiver to gt_drtio
2023-08-28 04:50:46 +00:00