2
0
mirror of https://github.com/m-labs/artiq.git synced 2024-12-27 04:08:27 +08:00
Commit Graph

214 Commits

Author SHA1 Message Date
2204fd2b22 adf5356: add delay to sync()
Signed-off-by: Oi Chee Cheung <dc@m-labs.hk>
2021-07-08 10:03:20 +08:00
29fd58e34b RELEASE_NOTES: update and fix formatting 2021-07-05 21:22:34 +08:00
0257ecc332 update release notes 2021-07-02 17:01:31 +08:00
Etienne Wodey
8bedf278f0 set_dataset: pass HDF5 options as a dict, not as loose kwargs
Signed-off-by: Etienne Wodey <wodey@iqo.uni-hannover.de>
2021-06-17 16:43:05 +02:00
Etienne Wodey
d8b1e59538 datasets: allow passing options to HDF5 backend (e.g. compression)
This breaks the internal dataset representation used by applets
and when saving to disk (``dataset_db.pyon``).

See ``test/test_dataset_db.py`` and ``test/test_datasets.py``
for examples.

Signed-off-by: Etienne Wodey <wodey@iqo.uni-hannover.de>
2021-06-17 12:04:16 +02:00
fb6fad7c64 update release notes
Signed-off-by: Marius Weber <marius.weber@physics.ox.ac.uk>
2021-05-08 15:04:56 +01:00
Leon Riesebos
d04bcd8754 add get_*() functions to ad9910, ad9912, and urukul. closes #1616
Signed-off-by: Leon Riesebos <leon.riesebos@duke.edu>
2021-03-15 13:06:24 +08:00
8deb269b9a update major version 2021-02-17 16:18:05 +08:00
489f950406 RELEASE_NOTES: update ARTIQ-6 section 2021-02-17 15:52:08 +08:00
Etienne Wodey
3cd96a951a master: refactor experiments enumeration, use tools.get_experiment
Signed-off-by: Etienne Wodey <wodey@iqo.uni-hannover.de>
2021-02-13 10:06:12 +08:00
461199b903 kasli_generic: warn if min_artiq_version is not met 2021-02-10 15:26:15 +08:00
Etienne Wodey
6f8e788620 coredevice/mirny: support human readable clk_sel
In init(), read hw_rev to derive clk_sel code from user string.

Signed-off-by: Etienne Wodey <wodey@iqo.uni-hannover.de>
2021-01-29 18:46:47 +01:00
8148fdb8a7
use device endian for core device protocols (#1591) 2021-01-22 16:33:21 +08:00
David Nadlinger
f11aef74b4 gui: Add context menu entry to close all applets
This is occasionally very useful if a large number of
applets were left open (e.g. spawned via CCB).
2021-01-17 11:56:03 +01:00
de5f9cd49f RELEASE_NOTES: add JSON schema 2021-01-16 10:35:23 +08:00
5b5db1433b Revert "compiler: enabled vectorize option"
This reverts commit 636898c302.
2021-01-11 19:43:12 +08:00
636898c302 compiler: enabled vectorize option 2021-01-11 16:31:24 +08:00
4b10273a2d gui: quamash -> qasync 2020-12-12 21:59:25 +08:00
David Nadlinger
fcf4763ae7 RELEASE_NOTES: Expand information on ndarrays 2020-11-10 20:40:18 +01:00
David Nadlinger
292043a0a7 compiler: Raise AssertionErrors instead of abort()ing on all targets 2020-11-10 20:40:18 +01:00
840364cf0c RELEASE_NOTES: fix typo 2020-10-15 16:57:53 +08:00
24259523bb RELEASE_NOTES: link to issue consistently 2020-10-15 16:51:02 +08:00
0a37a3dbf7 RELEASE_NOTES: fix formatting 2020-10-15 16:45:17 +08:00
4027735a6d RELEASE_NOTES: fix formatting 2020-10-15 16:42:43 +08:00
4000adfb21 RELEASE_NOTES: update ARTIQ-6 section 2020-10-15 16:42:28 +08:00
6baf3b2198 RELEASE_NOTES: fix indentation 2020-10-07 19:24:34 +08:00
45ae6202c0 build_soc: add identifier_str override option
Signed-off-by: Stephan Maka <stephan@spaceboyz.net>
2020-08-31 11:48:58 +08:00
26bc5d2405 Updated release notes 2020-08-26 14:17:06 +08:00
David Nadlinger
ae999db8f6 compiler: Revert function call lifetime tracking fix
This reverts commits f8d1506922
and cf19c9512d.

While the commit just fixes a clear typo in the implementation,
it turns out the original algorithm isn't flexible enough to
capture functions that transitively return references to
long-lived data. For instance, while cache_get() is special-cased
in the compiler to be recognised as returning a value of Global()
lifetime, a function just forwarding to it (as seen in the
embedding tests) isn't anymore.

A separate issue is also that this makes implementing functions
that take lists and return references to global data in user code
impossible, which central parts of the Oxford codebase rely on.

Just reverting for now to unblock master; a fix is easily designed,
but needs testing.
2020-07-30 16:40:39 +01:00
David Nadlinger
cf19c9512d RELEASE_NOTES: Add entry for compiler lifetime tracking fix
I contemplated putting this in the "Breaking changes" section,
as it might break user code that has avoided being hit by
memory corruption from the use-after free by chance (even
though it was always an accepts-illegal bug).
2020-07-28 00:54:20 +01:00
Charles Baynham
9b44ec7bc6 parameters: Allow forcing a NumberValue to return a float
Signed-off-by: Charles Baynham <charles.baynham@npl.co.uk>
2020-07-27 12:25:51 +08:00
David Nadlinger
3f0cf6e683 runtime: Stop kernel CPU before restarting comms CPU on panic
Before, the system would enter a boot loop when a panic occurred
while the kernel CPU was active (and panic_reset == 1), as
kernel::start() for the startup kernel would panic.
2020-07-01 17:29:05 +08:00
David Nadlinger
f36692638c dashboard: Add "Quick Open" dialog for experiments on global shortcut
This is similar to functionality in Sublime Text, VS Code, etc.
2020-06-26 10:11:33 +08:00
David Nadlinger
7955b63b00 master: Always write results to HDF5 once run stage is reached
Previously, a significant risk of losing experimental results would
be associated with long-running experiments, as any stray exceptions
while run()ing the experiment – for instance, due to infrequent
network glitches or hardware reliability issue – would cause no
HDF5 file to be written. This was especially troublesome as long
experiments would suffer from a higher probability of unanticipated
failures, while at the same time being more costly to re-take in
terms of wall-clock time.

Unanticipated uncaught exceptions like that were enough of an issue
that several Oxford codebases had come up with their own half-baked
mitigation strategies, from swallowing all exceptions in run() by
convention, to always broadcasting all results to uniquely named
datasets such that the partial results could be recovered and written
to HDF5 by manually run recovery experiments.

This commit addresses the problem at its source, changing the worker
behaviour such that an HDF5 file is always written as soon as run()
starts.
2020-06-18 17:47:26 +01:00
9822b88d9b
ad9910: fix asf range (#1450)
* ad9910: fix asf range

The ASF is a 14-bit word. The highest possible value is 0x3fff, not
0x3ffe. `int(round(1.0 * 0x3fff)) == 0x3fff`.

I don't remember and understand why this was 0x3ffe since the beginning.
0x3fff was already used as a default in `set_mu()`

Signed-off-by: Robert Jördens <rj@quartiq.de>

* RELEASE_NOTES: ad9910 asf scale change

Co-authored-by: David Nadlinger <code@klickverbot.at>
2020-05-29 11:13:26 +02:00
Charles Baynham
5db2afc7a7 dashboard: Release notes for #1453 2020-05-26 18:16:35 +08:00
2538840756
Coredevice Input Validation (#1447)
* Input validation and masking of SI -> mu conversions (close #1446)

Signed-off-by: Marius Weber <marius.weber@physics.ox.ac.uk>

* Update RELEASE_NOTES

Signed-off-by: Marius Weber <marius.weber@physics.ox.ac.uk>

Co-authored-by: Robert Jördens <rj@quartiq.de>
2020-05-17 15:09:11 +02:00
b3b6cb8efe
ad53xx improvements (#1445)
* ad53xx: voltage_to_mu() validation & documentation (closes #1443, #1444)
The voltage input (float) is checked for validity. If we need more
speed, we may want to check the DAC-code for over/underflow instead.

Signed-off-by: Marius Weber <marius.weber@physics.ox.ac.uk>

* ad53xx documentation: voltage_to_mu is only valid for 16-bit DACs

Signed-off-by: Marius Weber <marius.weber@physics.ox.ac.uk>

* AD53xx: add voltage_to_mu method (closes #1341)

Signed-off-by: Marius Weber <marius.weber@physics.ox.ac.uk>

* ad53xx: improve voltage_to_mu performance
Interger comparison is faster than floating point math.

Signed-off-by: Marius Weber <marius.weber@physics.ox.ac.uk>

* AD53xx: voltage_to_mu method now uses attribute values

Signed-off-by: Marius Weber <marius.weber@physics.ox.ac.uk>

* Fixup RELEASE_NOTES.rst

Signed-off-by: Marius Weber <marius.weber@physics.ox.ac.uk>

* ad53xx: documentation improvements

voltage_to_mu return value
14-bit DAC support

Signed-off-by: Marius Weber <marius.weber@physics.ox.ac.uk>
2020-05-08 19:23:43 +02:00
ea79ba4622 ttl_serdes: detect edges on short pulses
Edges on pulses shorter than the RTIO period were missed because the
reference sample and the last sample of the serdes word are the same.

This change enables detection of edges on pulses as short as the
serdes UI (and shorter as long as the pulse still hits a serdes sample
aperture).

In any RTIO period, only the leading event corresponding to the first
edge with slope according to sensitivity is registerd. If the channel is
sensitive to both rising and falling edges and if the pulse is contained
within an RTIO period, or if it is sensitive only to one edge slope and
there are multiple pulses in an RTIO period, only the leading event is
seen. Thus this possibility of lost events is still there. Only the
conditions under which loss occurs are reduced.

In testing with the kasli-ptb6 variant, this also improves resource
usage (a couple hundred LUT) and timing (0.1 ns WNS).
2020-04-13 13:21:03 +02:00
b7292f0195
RELEASE_NOTES: fix rst formatting further 2019-11-15 15:59:24 +08:00
cf6a7f243f
RELEASE_NOTES: fix rst formatting 2019-11-15 15:56:17 +08:00
57979da59a RELEASE_NOTES: add ARTIQ-6 section 2019-11-15 13:49:54 +08:00
eefc6ae80d update release notes 2019-11-15 13:07:16 +08:00
e65303cfe9 RELEASE_NOTES: sipyco 2019-11-11 12:24:50 +08:00
c96de7454d remove artiq_devtool 2019-10-30 21:27:24 +08:00
98caaebade consistent use of 'class name' terminology to select a class within an experiment file. Closes #1348 2019-09-09 15:16:33 +08:00
8fc5ce902f firmware: let kasli obtain default hardware_addr from i2c_eeprom 2019-08-17 09:15:26 +08:00
1a898c423a aqctl_corelog: filter log messages. Closes #1316 2019-06-13 18:17:52 +08:00
836dc9b927 RELEASE_NOTES: remove '5.0' section (#1326) 2019-06-13 18:15:50 +08:00
2ada5227f0 update documentation after moving controllers out-of-tree (#887) 2019-04-20 00:21:54 +08:00
8a5789d616 RELEASE_NOTES: mention methods to set experiment pipeline/priority/flush defaults 2019-03-12 10:54:15 +01:00
b219f8b5c7 artiq_flash: autodetect variant 2019-03-08 19:47:24 +08:00
David Nadlinger
bf84226c7d language: Support appending to datasets 2019-02-09 20:50:38 +00:00
David Nadlinger
ef934ad958 Add test/release notes for command-less controllers
See eaa1b44b00 for the actual change.
2019-02-07 21:51:15 +00:00
David Nadlinger
05f6dafb2c RELEASE_NOTES: Mention new edge counter RTIO PHY 2019-01-15 10:55:07 +00:00
David Nadlinger
6c52359e59 coredevice: Add _mu suffix to AD991x ref_time arguments
GitHub: Fixes #1243.
2019-01-12 17:34:35 +00:00
Drew
f2c1d32e54 frontend: add --version flag to cmd line args (#1181) 2019-01-12 09:47:47 +08:00
bf50dcf76d conda: use misoc release 2018-11-20 17:15:53 +08:00
8f9858be4c ad9914: remove automatic continuous phase compensation (like Urukul) 2018-11-19 22:00:20 +08:00
David Nadlinger
abad916383 RELEASE_NOTES: Fix typo 2018-11-03 20:33:19 +08:00
David Nadlinger
8b5df9c151 RELEASE_NOTES: TTL timeline cursor API changes 2018-11-03 20:33:19 +08:00
7f11411127 RELEASE_NOTES: 3.7 2018-11-03 20:17:28 +08:00
9793632282 enviromnment: rename 'save' in set_dataset to 'archive'. Closes #1171 2018-10-21 12:08:34 +08:00
c172ec6de9 artiq_flash: target Kasli by default 2018-08-13 12:13:21 +08:00
b10d3ee4b4 make RTIO clock switch optional and simplify
Kasli no longer has an internal RTIO clock.
Switching clocks dynamically is no longer supported.
2018-05-18 17:41:34 +08:00
3027951dd8 integrate new AD9914 driver
moninj, analyzer, docs, examples, tests.
2018-05-13 23:29:35 +08:00
28ccca412a doc: automatic artiq_flash proxy 2018-04-26 10:50:23 +08:00
d6a63ad165 RELEASE_NOTES: formatting 2018-03-25 11:19:25 +08:00
22557294ac RELEASE_NOTES: ad53xx, zotino 2018-03-24 15:20:04 +01:00
9eb0218389 RELEASE_NOTES: add sections for major releases 2018-03-22 13:26:28 +08:00
06f24c6aa2 RELEASE_NOTES: update 2018-03-22 11:46:41 +08:00
1329e1a23e RELEASE_NOTES: add note about spi2 port 2018-03-01 11:19:18 +01:00
be704b1533 RELEASE_NOTES: mention short options for artiq_flash 2018-02-22 01:32:12 +08:00
3231d8b235 RELEASE_NOTES: 3.3 2018-01-28 00:18:01 +08:00
25f3feeda8 refactor targets 2018-01-22 18:25:10 +08:00
5a79c9bc09 RELEASE_NOTES: add SED 2018-01-11 11:38:06 +08:00
bd47a0371f RELEASE_NOTES: add 3.2 entry 2017-12-27 10:52:41 +08:00
cbd69287a7 artiq_flash: select Sayma standalone variant by default 2017-12-22 16:54:06 +08:00
e5d8314aa7 RELEASE_NOTES: 3.1 2017-12-07 13:23:11 +08:00
9a1adfe65c RELEASE_NOTES: master friendly name, dashboard config one-per-master 2017-11-28 08:56:04 +08:00
5803ac9998 gateware: add Zotino SPI to NIST CLOCK target 2017-10-23 15:04:30 +08:00
84f27330e3 RELEASE_NOTES: 2.5 2017-10-02 12:17:25 +08:00
4bafdecd47 RELEASE_NOTES: formatting 2017-09-30 01:10:10 +08:00
c7cdd2016a doc: no more win32 packages 2017-09-30 00:30:22 +08:00
e7594b540e RELEASE_NOTES: add 4.0 section 2017-09-30 00:29:54 +08:00
6d72329d45 RELEASE_NOTES: 3.0 2017-09-29 16:37:36 +08:00
7085c1cccb RELEASE_NOTES: clarify time/date 2017-08-03 13:56:15 +02:00
dd6c48fed2 Merge branch 'master' into epoch_time 2017-08-03 12:55:01 +02:00
cc289dd3a0 master: store run_time and start_time as doubles 2017-08-03 10:41:57 +01:00
810bb69989 master: rotate logs at midnight, rather than on log size 2017-08-03 00:31:04 +01:00
471605ec1e pdq: move to https://github.com/m-labs/pdq 2017-07-19 17:35:28 +02:00
e3588c9e68 RELEASE_NOTES: 2.4 2017-06-22 00:38:49 +08:00
c399bec8da RELEASE_NOTES: pipistrello discontinued by manufacturer 2017-06-20 06:18:34 +02:00
a20f5392a9 add pdq2→pdq rename to release notes 2017-06-03 18:36:41 +08:00
cf746cee5b fix documentation formatting problems 2017-05-22 19:08:20 +08:00
e4a631a3d7 scheduler: consider the pipeline flushed if everything has a lower priority than us. Closes #640 2017-05-22 18:43:59 +08:00
6bdb76e9ea core device logging controller WIP (#691) 2017-05-22 16:48:00 +08:00
5ccca74a3f fold comm device into core device 2017-05-22 15:45:45 +08:00
3ed70afaa1 Use commandline prefix for controllers
This keeps them better organized and consistent with the artiq_* naming scheme.
Tab completion from aqctl_ also lists all the controllers installed on a machine.
2017-05-22 00:22:10 +08:00
cd757c0f16 generate device database from executable python file 2017-05-18 23:14:55 +08:00