Sebastien Bourdeauducq
c2b53ecb43
core: add option to trigger analyzer proxy at run end
2023-12-13 14:27:48 +08:00
Sebastien Bourdeauducq
ede0b37c6e
devices: introduce notify_run_end API
2023-12-13 14:27:04 +08:00
Sebastien Bourdeauducq
795c4372fa
DeviceManager: fix close exception error message
2023-12-13 14:06:53 +08:00
Sebastien Bourdeauducq
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
Sebastien Bourdeauducq
85850ad9e8
wavesynth: remove
2023-12-13 13:36:21 +08:00
Sebastien Bourdeauducq
7a863b4f5e
core: add trigger_analyzer_proxy API
2023-12-13 13:08:54 +08:00
Sebastien Bourdeauducq
a26cee6ca7
coreanalyzer_proxy: cleanups/renames
2023-12-13 13:07:35 +08:00
Sebastien Bourdeauducq
be08862606
logo: text to path
2023-12-08 19:34:47 +08:00
Sebastien Bourdeauducq
05a9422e67
aqctl_coreanalyzer_proxy: cleanup
2023-12-08 18:56:10 +08:00
Simon Renblad
b09a39c82e
add aqctl_coreanalyzer_proxy
2023-12-08 18:55:07 +08:00
mwojcik
49267671f9
core: fix precompile
2023-12-04 12:10:11 +08:00
mwojcik
9f4b8db2de
repeater: fix setting tsc
2023-12-01 16:43:48 +08:00
mwojcik
1a28069aa2
support for pre-compiling subkernels
2023-11-23 16:49:02 +08:00
Sebastien Bourdeauducq
56418e342e
take into account VERSIONEER_REV in artiq._version.get_rev
2023-11-22 20:51:02 +08:00
Sebastien Bourdeauducq
77c6553725
always provide artiq._version.get_rev
2023-11-14 14:14:47 +08:00
Sebastien Bourdeauducq
e81e8f28cf
gateware: merge kasli_generic into kasli. Closes #2279
2023-11-14 14:01:17 +08:00
mwojcik
de10e584f6
support .tar flashed idle/startup kernels
2023-11-13 18:14:35 +08:00
Simon Renblad
363afb5fc9
artiq_ddb_template: add support for user LEDs
...
Add support for additional user LEDs.
2023-11-08 10:51:39 +08:00
Simon Renblad
e7af219505
kasli_generic: add support for user LEDs
...
Add additional LED RTIO devices.
2023-11-08 10:51:39 +08:00
linuswck
ec2b86b08d
kc705: fix gtx clock path durnig init
2023-11-07 18:36:48 +08:00
linuswck
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
Sebastien Bourdeauducq
c0a6252e77
afws_client: improve compatibility with older versions of prettytable. Closes #2264
2023-11-07 14:06:31 +08:00
mwojcik
6640bf0e82
drtioaux/subkernel/ddma: introduce proper errors, more robust
2023-11-07 13:42:04 +08:00
mwojcik
b3c0d084d4
drtio: better control state of bigger payloads
2023-11-07 13:42:04 +08:00
linuswck
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
linuswck
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
mwojcik
e480bbe8d8
artiq_ddb_template: move satellite_cpu_target to core
2023-10-27 21:45:12 +02:00
mwojcik
b168f0bb4b
subkernel: separate tags and data
2023-10-17 12:18:03 +02:00
mwojcik
5f445f6b92
ad53xx: fix `load()` references in documentation
2023-10-16 13:54:38 +08:00
occheung
363f7327f1
io_expander: initialize before service
2023-10-15 07:45:20 +08:00
linuswck
de41bd6655
eem_7series: pass through kwargs for shuttler
2023-10-11 12:15:06 +08:00
Simon Renblad
96941d7c04
big_number: fix metadata scaling, add unit label
2023-10-09 15:35:14 +08:00
mwojcik
f3c79e71e1
firmware: merge runtime and satman linker scripts
2023-10-09 15:33:29 +08:00
Simon Renblad
333b81f789
set_argument_value warning in browser
2023-10-09 10:38:17 +08:00
Sebastien Bourdeauducq
9c90f923d2
test: check return value of subprocesses in test_compile
2023-10-09 10:07:04 +08:00
Sebastien Bourdeauducq
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
mwojcik
973fd88b27
core: compile and upload subkernels
2023-10-08 17:11:51 +08:00
mwojcik
8d7194941e
tests: add lit tests for subkernels
2023-10-08 17:11:51 +08:00
mwojcik
0a750c77e8
compiler: support subkernels
2023-10-08 17:11:51 +08:00
mwojcik
1a0fc317df
satman: support subkernels
2023-10-08 17:11:32 +08:00
mwojcik
e05be2f8e4
runtime: support subkernels
2023-10-08 17:11:32 +08:00
mwojcik
6f4b8c641e
drtioaux_proto: use better payload names
2023-10-08 17:11:32 +08:00
mwojcik
b42816582e
ksupport: support subkernels
2023-10-08 17:11:32 +08:00
Sebastien Bourdeauducq
0131a8bef2
shuttler: cleanup
2023-10-06 14:55:51 +08:00
mwojcik
e63e2a2897
artiq_ddb_template: better satellite formatting
2023-10-06 13:01:57 +08:00
Simon Renblad
47fc640f75
applets: rename 'ctl' attribute to 'req'
2023-10-05 12:32:01 +08:00
Simon Renblad
da9f7cb58a
applet extensions documentation
2023-10-05 12:32:01 +08:00
occheung
43926574da
shuttler: remove sdm constants
2023-10-05 07:40:00 +08:00
Simon Renblad
4f3e58db52
gui.applets: add EntryArea
2023-10-04 15:35:52 +08:00
Simon Renblad
13271cea64
gui: remove copies of _WheelFilter and refactor with parameter
2023-10-04 13:35:01 +08:00
occheung
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
occheung
a772dee1cc
shuttler: change 0th order accumulator width
...
It now truncates the LSBs instead of the MSBs.
2023-09-29 10:09:39 +08:00
Simon Renblad
bafb85a274
custom_applet: change constructor, data_changed signatures
2023-09-28 10:35:14 +01:00
mwojcik
0e8aa33979
core: separate master target from compilation
2023-09-28 10:41:55 +08:00
mwojcik
fcf6c90ba2
ddb_template: support different satellite targets
2023-09-28 10:41:55 +08:00
linuswck
0c1b572872
Shuttler: Correct spelling and grammar in docs
2023-09-27 17:29:16 +08:00
linuswck
ab0d4c41c3
Shuttler: pdq, efc->shuttler pdq_words->coef_words
2023-09-27 17:29:16 +08:00
Jonathan Coates
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
Jonathan Coates
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
linuswck
eedac7cf71
Shuttler: Patch ddb entries in the example code
2023-09-26 12:20:26 +08:00
linuswck
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
linuswck
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
mwojcik
36b3678853
satman: fix ddma reporting wrong destination
2023-09-22 10:25:37 +08:00
mwojcik
af77885dfc
rtio_mgt: fix drtio reset on standalone
2023-09-22 09:46:40 +08:00
mwojcik
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
Simon Renblad
40ac2e03ab
set_argument_value in applets
2023-09-21 16:26:11 +08:00
occheung
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
occheung
5c64eac8d2
relay: fix naming
2023-09-19 18:49:20 +08:00
occheung
477a7b693c
remove debug for converter
2023-09-19 18:49:20 +08:00
occheung
f2694f25eb
re-impl ADC using general access methods
2023-09-19 18:49:20 +08:00
occheung
9e1447d104
adc: implement standby & power-down/up
2023-09-19 18:49:20 +08:00
occheung
870020bc9f
adc: use a generous upper bound
2023-09-19 18:49:20 +08:00
occheung
c2d136f669
shuttler: reorg SPI constants
2023-09-19 18:49:20 +08:00
occheung
06426e0ed9
shuttler: impl general reg access
2023-09-19 18:49:20 +08:00
occheung
e443e06e62
shuttler: remove adc calibrate debug lines
2023-09-19 18:49:20 +08:00
occheung
55150ebdbb
shuttler: fix calibration channel target
2023-09-19 18:49:20 +08:00
occheung
eb08c55abe
shuttler: add AFE drivers
2023-09-19 18:49:20 +08:00
occheung
67b6588d95
shuttler: implement gain & offset register access
2023-09-19 18:49:20 +08:00
occheung
1bb7e9ceef
shuttler: support pre-DAC gain & offset
2023-09-19 18:49:20 +08:00
Florian Agbuya
c02a14ba37
compiler: fix lit tests numpy.transpose error ( #2190 )
2023-09-18 22:11:46 +08:00
Simon Renblad
1f3b2ef645
dashboard.datasets: fix numpy objects in CreateEditDialog
2023-09-18 14:07:26 +08:00
linuswck
372008cb66
Firmware: AD9117 Add check presence of clk comment
2023-09-18 13:04:51 +08:00
linuswck
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
Simon Renblad
f01e654b9c
gui.entries: fix RangeScan SpinBox size layouts
2023-09-16 16:06:45 +08:00
Florian Agbuya
6df85478e4
scan: fix deprecated shuffle parameter in python 3.11
2023-09-13 12:24:44 +08:00
Jonathan Coates
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
linuswck
ccb140a929
Firmware: Add AD9117 DAC Startup Seq for shuttler
2023-09-11 15:07:47 +08:00
linuswck
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
linuswck
b49fb841ce
Firmware: EFC enables error led when going panic
2023-09-06 15:54:35 +08:00
Florian Agbuya
a619c9f3c2
almazny: fix minor doc formatting
2023-09-06 14:12:09 +08:00
Florian Agbuya
0188f31f3a
i2c: fix doc formatting
2023-09-05 17:00:27 +08:00
Florian Agbuya
4e770509db
almazny: fix doc formatting
2023-09-05 17:00:27 +08:00
occheung
7f63bb322d
disable DRTIO-over-EEM OSERDES until clock is stable
...
This asserts OOB reset on EFC.
2023-09-05 16:59:01 +08:00
occheung
5e5d671f4c
kasli: add invoke order comments
2023-09-04 12:05:45 +08:00
occheung
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
linuswck
ddb2b5e3a1
efc: add shuttler DAC parallel data interface pads
2023-08-30 10:25:39 +08:00
linuswck
b56f7e429a
drtio: rename drtio_transceiver to gt_drtio
2023-08-28 04:50:46 +00:00
Sebastien Bourdeauducq
3452d0c423
efc: use variant (expected everywhere else)
2023-08-25 15:52:40 +08:00
Sebastien Bourdeauducq
2139456f80
firmware: skip clock switch for efc
2023-08-25 15:06:42 +08:00
Sebastien Bourdeauducq
a2a780a3f2
firmware: fix compilation warning
2023-08-25 15:06:02 +08:00
Sebastien Bourdeauducq
f5cbca9c29
kasli: implement DRTIO-over-EEM
2023-08-25 12:47:33 +08:00
linuswck
737ff79ae7
eem: add efc
2023-08-25 12:01:17 +08:00
linuswck
dc97d3aee6
drtio-eem: CONFIG_EEM_TRANSCEIVERS -> CONFIG_EEM_DRTIO_COUNT
2023-08-25 11:49:39 +08:00
Sebastien Bourdeauducq
5d38db19d0
drtio-eem: remove unnecessary rtio_rx clock domain
2023-08-25 11:32:28 +08:00
linuswck
cd22e42cb4
efc: add DRTIO virtual LEDs
...
- EFC Gateware: Add virtual_leds to rtio
- EFC Firmware: io_expander is kept being serviced to update
virtual_leds after init
2023-08-23 06:21:14 +00:00
linuswck
b7bac8c9d8
EFC: Add SPI Gateware for Shuttler DAC
...
- Verified by a functional test reading back the rev register
2023-08-23 09:04:16 +08:00
mwojcik
e8818c812c
satman: fix non-eem satellites failing to build
2023-08-22 16:32:59 +08:00
occheung
68dd0e029f
targets: add efc target
2023-08-10 00:02:01 +00:00
occheung
64d3f867a0
add DRTIO-over-EEM PHY
...
for EFC and perhaps Phaser
2023-08-09 23:59:40 +00:00
Sebastien Bourdeauducq
df662c4262
flake: update llvmlite
2023-08-07 23:02:23 +08:00
David Nadlinger
efbae51f9d
runtime: Validate ksupport ELF against hard-coded address ranges
...
This would have caught the reduction in header padding with LLD 14.
In theory, we could just get rid of the hard-coded kernel CPU address
ranges altogether and use ksupport.elf as the one source of truth; the
code already exists in dyld. The actual base address of the file would
still need to be forwarded to the kernel-side libunwind glue, though,
as there doesn't seem to be a clean way to get the equivalent of
KSUPPORT_HEADER_SIZE through the linker script. I have left this as-is
with the hard-coded KERNELCPU_… constants for now.
2023-08-07 10:10:38 +00:00
David Nadlinger
8acfa82586
ksupport: Remove unused sections from linker script [nfc]
...
We no longer build ksupport.ld in a position-independent fashion, and
the reference to the ld.bfd _GLOBAL_OFFSET_TABLE issue was just a
distraction
2023-08-07 10:10:38 +00:00
David Nadlinger
4d636ea593
Upgrade to LLD 14
...
Previous linker versions had inserted some zero padding bytes
between the ELF headers and the first section, but LLD 14 does
not anymore.
Hard-coding the offset of the first section in ksupport.elf
manually isn't ideal; we should probably parse the ELF program
headers instead when first setting up the kernel CPU.
2023-08-07 10:10:38 +00:00
Simon Renblad
c4259dab18
applets.simple: add kwargs to AppletControlRPC ( #2155 )
...
Co-authored-by: Simon Renblad <srenblad@m-labs.hk>
2023-08-05 11:38:07 +08:00
mwojcik
c46ac6f87d
spi2: update set_config_mu doc
2023-08-04 09:22:57 +00:00
linuswck
758b97426a
Bootloader: SDRAM patch for EFC
...
- Modification of the CFG flag ensure EFC to initialize DDRPHY correctly
Note that Kasli and EFC share the same model of SDRAM
2023-08-02 02:18:45 +00:00
linuswck
c206e92f29
Bootloader: Remove kusddrphy support for SDRAM
...
- Delete all the kusddrphy cfg flags and related code
2023-08-02 02:18:20 +00:00
linuswck
cb547c8a46
efc: turn on power of FMC peripheral
...
- Add efc's io expander method
- Enable VADJ, P3V3_FMC in satman main during startup
2023-08-01 00:29:45 +00:00
linuswck
72a5231493
artiq_flash: add EEM FMC Carrier Board Support
...
- The code is derived from PR #2134 936f24f6bd
2023-07-25 11:14:19 +08:00
Denis Ovchinnikov
07714be8a7
jsonschema: add kasli_soc HW revision v1.1
2023-07-24 16:32:13 +08:00
Simon Renblad
361088ae72
tools: add trim argument to format funcs
2023-07-21 08:38:49 +00:00
Simon Renblad
6592b6ea1d
artiq_client: change set_dataset with units
2023-07-21 08:15:39 +00:00
Simon Renblad
2fb085f1a2
datasets: change dataset value entry with units
2023-07-21 08:15:39 +00:00
Simon Renblad
a7569a0b2d
tools: add scale_from_metadata helper func
2023-07-21 08:15:39 +00:00
Simon Renblad
4fbff1648c
scientific_spinbox: rename precision to sig_figs
2023-07-19 07:01:24 +00:00
Simon Renblad
8f4c8387f9
entries: rename setPrecision to setSigFigs
2023-07-19 07:01:24 +00:00
Simon Renblad
59ad873831
examples: rename ndecimals to precision
2023-07-18 08:02:42 +00:00
Simon Renblad
8589da0723
test_arguments: rename ndecimals to precision
2023-07-18 08:02:42 +00:00
Simon Renblad
94e076e976
scan: rename ndecimals to precison
2023-07-18 08:02:42 +00:00
Simon Renblad
a0094aafbb
entries: rename ndecimals to precision
2023-07-18 08:02:42 +00:00
Simon Renblad
0befadee96
environment: rename ndecimals to precision
2023-07-18 08:02:42 +00:00
sven-oxionics
b3dc199e6a
Fix panic when receiving empty strings in rpc calls
...
Receiving an empty string in an RPC call currently panics.
When `length` is zero, a call to the `alloc` function (as implemented in `artiq/firmware/runtime/session.rs`) returns a null pointer. Constructing a `CMutSlice` from a null pointer panics.
A `CMutSlice` consists of a pointer and the length. Rust's documentation of the `core::ptr` module states: "The canonical way to obtain a pointer that is valid for zero-sized accesses is `NonNull::dangling`."
This commits adds a check for the length of a string received in an RPC call. Only for lengths greater than zero a memory allocation is performed. For zero-length strings, a dangling pointer is used.
Test plan:
Invoke the following experiment, which returns an empty string over RPC:
```
class ReturnEmptyString(artiq.experiment.EnvExperiment):
def build(self):
self.core: Core = self.get_device("core")
@kernel
def run(self):
x = self.do_rpc()
print(x)
@rpc
def do_rpc(self) -> TStr:
return ""
```
Signed-off-by: Sven Over (Oxford Ionics) <sven.over@oxionics.com>
2023-07-18 04:00:32 +00:00
Florian Agbuya
d73889fb27
gui/experiments: cast Qt timestamp to int preventing float type error
2023-07-14 08:33:27 +00:00
Simon Renblad
068a2d1663
progress_bar: refactor data_changed
2023-07-12 08:28:28 +00:00
Simon Renblad
6c588b83d7
plot_xy_hist: refactor data_changed
2023-07-12 08:28:28 +00:00
Simon Renblad
c17f69a51b
plot_xy: refactor data_changed
2023-07-12 08:28:28 +00:00
Simon Renblad
ac504069d2
plot_hist: refactor data_changed
2023-07-12 08:28:28 +00:00
Simon Renblad
b6a83904b5
image: refactor data_changed
2023-07-12 08:28:28 +00:00
Simon Renblad
25959d0cd6
big_number: refactor data_changed
2023-07-12 08:28:28 +00:00
Simon Renblad
5695e9f77e
simple: refactor TitleApplet data_changed signature
2023-07-12 08:28:28 +00:00
Simon Renblad
fe0f6d8a2c
simple: refactor SimpleApplet data_changed signature
2023-07-12 08:28:28 +00:00
Simon Renblad
d1f2727126
simple: refactor RPC client set_dataset
2023-07-12 08:28:28 +00:00
Simon Renblad
16a3ce274f
applets: add metadata param to set_dataset
2023-07-12 08:28:28 +00:00
Simon Renblad
af7622d7ab
simple: refactor IPC set_dataset
2023-07-12 08:28:28 +00:00
Jonathan Coates
9a84575649
eem_7series: fix typo in 77293d5
...
Signed-off-by: Jonathan Coates <jonathan.coates@oxionics.com>
2023-07-11 23:09:15 +00:00
Simon Renblad
faf85e815a
datasets: add metadata to CreateEditDialog
2023-07-10 06:50:41 +00:00
Simon Renblad
3663a6b8e8
artiq_client: refactor set_dataset, show_datasets
2023-07-10 04:50:54 +00:00
Simon Renblad
91442e2914
browser: refactor upload_clicked for dataset metadata
2023-07-10 04:26:08 +00:00
Simon Renblad
50a6dac178
files: read dataset metadata from HDF5
2023-07-10 04:26:08 +00:00
Simon Renblad
5292a8de82
browser: add metadata param to short_format
2023-07-10 04:26:08 +00:00
Sebastien Bourdeauducq
48bc8a2ecc
gtx_7series_init: GTH -> GTX (NFC)
2023-07-10 11:26:07 +08:00
Denis Ovchinnikov
93882eb3ce
kasli-soc: fix of SYS CLK switch failure
...
Change initialization behaviour of GTX transceivers
--
Modify the config parms CPLL of GTX transceiver for PLL to lock correctly
Modify the enabling requirement of GTX input clock buffer IBUFDS_GTE2 so
that it depends on GTX PLL locked signal instead of TX Init Done
Modify the GTX Init FSM so that BruteForceClock Aligner can reset GTX
transceiver without resetting the GTX transceiver PLL
kasli-soc: fix of SYS CLK switch failure
Changed initialization of GTX transceivers.
Successful SYS CLK switching requires IBUFDS_GTE2 to be properly enabled and not disabled during GTX transceiver initialization.
For this reason, CPLL is not reset during GTX initialization and clock alignment.
kasli-soc: refractor fix of SYS CLK switch failure
Remove gtXxreset & cpllreset assertion and deassertion
The removed code does not affect the fix
2023-07-10 03:24:28 +00:00
Simon Renblad
373fe3dbe7
test_datasets: add metadata tests
2023-07-10 02:33:59 +00:00
Simon Renblad
1af98727b7
test_scheduler: refactor dataset metadata support
2023-07-10 02:33:59 +00:00
Simon Renblad
376f36c965
datasets: add metadata format param
2023-07-10 02:33:59 +00:00
Simon Renblad
e710d4badd
databases: read and save metadata in lmdb
2023-07-10 02:33:59 +00:00
Simon Renblad
bfbe13e51b
worker_db: write hdf5 dataset metadata
2023-07-10 02:33:59 +00:00
Simon Renblad
bf38fc8b0f
tools: refactor short_format with metadata
2023-07-10 02:33:59 +00:00
Simon Renblad
337273acb6
environment: add get_dataset_metadata
2023-07-10 02:33:59 +00:00
Simon Renblad
748707e157
environment: add unit feature
2023-07-10 02:33:59 +00:00
Leon Riesebos
833fd8760e
artiq_ddb_template: use the clk_div field
...
this field exists in the json schema but was not used.
Signed-off-by: Leon Riesebos <28567817+lriesebos@users.noreply.github.com>
2023-06-29 03:29:18 +00:00
Sebastien Bourdeauducq
77293d53e3
json: use schema defaults when applicable
2023-06-16 16:59:08 +08:00
Sebastien Bourdeauducq
a792bc5456
json: factor handling of deprecated 'base'
2023-06-16 16:32:42 +08:00
Sebastien Bourdeauducq
20d4712815
json: base -> drtio_role
2023-06-16 16:17:31 +08:00
Spaqin
82bd913f63
satellites: add kernel cpu
2023-06-16 15:44:31 +08:00
Sebastien Bourdeauducq
115415d120
Revert "flake: update to LLVM 14 and llvmlite 0.40.0+master"
...
This reverts commit c25c0bd55a
.
2023-06-14 18:54:33 +08:00
Florian Agbuya
d140c960bb
applets: implement dataset modification feature in big number applet
2023-06-12 17:52:46 +08:00
Egor Savkin
c25c0bd55a
flake: update to LLVM 14 and llvmlite 0.40.0+master
2023-06-09 13:25:08 +08:00
Egor Savkin
30ef8d8cb4
compiler: skip demangling list of empty names
2023-06-09 13:24:10 +08:00
Florian Agbuya
7ad32d903a
browser: add update method to dataset controller
2023-06-06 11:07:08 +00:00
Florian Agbuya
bf46ce4a92
applets.simple: add mutate_dataset feature
2023-06-05 12:30:14 +00:00
Florian Agbuya
150d325fc1
applets.simple: add append_to_dataset feature
2023-06-02 14:56:00 +00:00
Florian Agbuya
c298ec4c2e
applets: add update_dataset for dataset mods
2023-06-02 14:56:00 +00:00
mwojcik
29cb7e785d
fix missing DIFF_TERM for Sampler and Mirny inputs
2023-06-02 17:21:00 +08:00
Sebastien Bourdeauducq
b97f6a9e44
bootloader: fix compilation warning without Ethernet
2023-06-02 10:48:55 +08:00
Sebastien Bourdeauducq
e0ebc1b21d
applets: fix some asyncio problems
2023-05-31 22:56:48 +08:00
Sebastien Bourdeauducq
c6ddd3af17
applets: add controller and set_dataset API
2023-05-31 22:51:48 +08:00
Florian Agbuya
e12219e803
gui: add handler for applet set_dataset
2023-05-31 14:08:14 +00:00
Sebastien Bourdeauducq
c8dc2cbf09
browser: decouple dataset controller from dataset dock
2023-05-31 21:57:54 +08:00
Sebastien Bourdeauducq
c6b29b30fb
Revert "flake: update to LLVM 14 and llvmlite 40"
...
This reverts commit 748969c21e
.
2023-05-31 19:36:43 +08:00
Sebastien Bourdeauducq
d103cbea31
libboard_misoc: fix clang STB_WEAK warning
2023-05-31 18:59:51 +08:00
Egor Savkin
748969c21e
flake: update to LLVM 14 and llvmlite 40
...
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-05-30 16:47:59 +08:00
Sebastien Bourdeauducq
953a8a9555
master: merge master_config and master_terminate
2023-05-30 15:55:19 +08:00
Sebastien Bourdeauducq
444bab2186
gui: datasets_sub -> dataset_sub (nfc)
2023-05-30 15:44:30 +08:00
Denis Ovchinnikov
22e2514ce6
update configuration of IBUFDS_GTE2
...
Input clock is terminated internally with 50 Ohm on each leg and to 4/5 MGTAVCC.
2023-05-30 11:42:51 +08:00
mwojcik
a4895b591a
analyzer: fix satellite behavior
2023-05-29 13:13:24 +08:00