Commit Graph

195 Commits

Author SHA1 Message Date
David Nadlinger 292043a0a7 compiler: Raise AssertionErrors instead of abort()ing on all targets 2020-11-10 20:40:18 +01:00
Sebastien Bourdeauducq 840364cf0c RELEASE_NOTES: fix typo 2020-10-15 16:57:53 +08:00
Sebastien Bourdeauducq 24259523bb RELEASE_NOTES: link to issue consistently 2020-10-15 16:51:02 +08:00
Sebastien Bourdeauducq 0a37a3dbf7 RELEASE_NOTES: fix formatting 2020-10-15 16:45:17 +08:00
Sebastien Bourdeauducq 4027735a6d RELEASE_NOTES: fix formatting 2020-10-15 16:42:43 +08:00
Sebastien Bourdeauducq 4000adfb21 RELEASE_NOTES: update ARTIQ-6 section 2020-10-15 16:42:28 +08:00
Sebastien Bourdeauducq 6baf3b2198 RELEASE_NOTES: fix indentation 2020-10-07 19:24:34 +08:00
Astro 45ae6202c0 build_soc: add identifier_str override option
Signed-off-by: Stephan Maka <stephan@spaceboyz.net>
2020-08-31 11:48:58 +08:00
pca006132 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
Robert Jördens 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
Marius Weber 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
Marius Weber 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
Robert Jördens 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
Sébastien Bourdeauducq b7292f0195
RELEASE_NOTES: fix rst formatting further 2019-11-15 15:59:24 +08:00
Sébastien Bourdeauducq cf6a7f243f
RELEASE_NOTES: fix rst formatting 2019-11-15 15:56:17 +08:00
Sebastien Bourdeauducq 57979da59a RELEASE_NOTES: add ARTIQ-6 section 2019-11-15 13:49:54 +08:00
Sebastien Bourdeauducq eefc6ae80d update release notes 2019-11-15 13:07:16 +08:00
Sebastien Bourdeauducq e65303cfe9 RELEASE_NOTES: sipyco 2019-11-11 12:24:50 +08:00
Sebastien Bourdeauducq c96de7454d remove artiq_devtool 2019-10-30 21:27:24 +08:00
Sebastien Bourdeauducq 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
Astro 8fc5ce902f firmware: let kasli obtain default hardware_addr from i2c_eeprom 2019-08-17 09:15:26 +08:00
Sebastien Bourdeauducq 1a898c423a aqctl_corelog: filter log messages. Closes #1316 2019-06-13 18:17:52 +08:00
Sebastien Bourdeauducq 836dc9b927 RELEASE_NOTES: remove '5.0' section (#1326) 2019-06-13 18:15:50 +08:00
Sebastien Bourdeauducq 2ada5227f0 update documentation after moving controllers out-of-tree (#887) 2019-04-20 00:21:54 +08:00
Chris Ballance 8a5789d616 RELEASE_NOTES: mention methods to set experiment pipeline/priority/flush defaults 2019-03-12 10:54:15 +01:00
Sebastien Bourdeauducq 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
Sebastien Bourdeauducq bf50dcf76d conda: use misoc release 2018-11-20 17:15:53 +08:00
Sebastien Bourdeauducq 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
Sebastien Bourdeauducq 7f11411127 RELEASE_NOTES: 3.7 2018-11-03 20:17:28 +08:00
Sebastien Bourdeauducq 9793632282 enviromnment: rename 'save' in set_dataset to 'archive'. Closes #1171 2018-10-21 12:08:34 +08:00
Sebastien Bourdeauducq c172ec6de9 artiq_flash: target Kasli by default 2018-08-13 12:13:21 +08:00
Sebastien Bourdeauducq 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
Sebastien Bourdeauducq 3027951dd8 integrate new AD9914 driver
moninj, analyzer, docs, examples, tests.
2018-05-13 23:29:35 +08:00
Sebastien Bourdeauducq 28ccca412a doc: automatic artiq_flash proxy 2018-04-26 10:50:23 +08:00
Sebastien Bourdeauducq d6a63ad165 RELEASE_NOTES: formatting 2018-03-25 11:19:25 +08:00
Robert Jördens 22557294ac RELEASE_NOTES: ad53xx, zotino 2018-03-24 15:20:04 +01:00
Sebastien Bourdeauducq 9eb0218389 RELEASE_NOTES: add sections for major releases 2018-03-22 13:26:28 +08:00
Sebastien Bourdeauducq 06f24c6aa2 RELEASE_NOTES: update 2018-03-22 11:46:41 +08:00
Robert Jördens 1329e1a23e RELEASE_NOTES: add note about spi2 port 2018-03-01 11:19:18 +01:00
Sebastien Bourdeauducq be704b1533 RELEASE_NOTES: mention short options for artiq_flash 2018-02-22 01:32:12 +08:00
Sebastien Bourdeauducq 3231d8b235 RELEASE_NOTES: 3.3 2018-01-28 00:18:01 +08:00
Sebastien Bourdeauducq 25f3feeda8 refactor targets 2018-01-22 18:25:10 +08:00
Sebastien Bourdeauducq 5a79c9bc09 RELEASE_NOTES: add SED 2018-01-11 11:38:06 +08:00
Sebastien Bourdeauducq bd47a0371f RELEASE_NOTES: add 3.2 entry 2017-12-27 10:52:41 +08:00
Sebastien Bourdeauducq cbd69287a7 artiq_flash: select Sayma standalone variant by default 2017-12-22 16:54:06 +08:00
Sebastien Bourdeauducq e5d8314aa7 RELEASE_NOTES: 3.1 2017-12-07 13:23:11 +08:00
Chris Ballance 9a1adfe65c RELEASE_NOTES: master friendly name, dashboard config one-per-master 2017-11-28 08:56:04 +08:00
Sebastien Bourdeauducq 5803ac9998 gateware: add Zotino SPI to NIST CLOCK target 2017-10-23 15:04:30 +08:00
Sebastien Bourdeauducq 84f27330e3 RELEASE_NOTES: 2.5 2017-10-02 12:17:25 +08:00
Sebastien Bourdeauducq 4bafdecd47 RELEASE_NOTES: formatting 2017-09-30 01:10:10 +08:00
Sebastien Bourdeauducq c7cdd2016a doc: no more win32 packages 2017-09-30 00:30:22 +08:00
Sebastien Bourdeauducq e7594b540e RELEASE_NOTES: add 4.0 section 2017-09-30 00:29:54 +08:00
Sebastien Bourdeauducq 6d72329d45 RELEASE_NOTES: 3.0 2017-09-29 16:37:36 +08:00
Robert Jördens 7085c1cccb RELEASE_NOTES: clarify time/date 2017-08-03 13:56:15 +02:00
Robert Jördens dd6c48fed2 Merge branch 'master' into epoch_time 2017-08-03 12:55:01 +02:00
Chris Ballance cc289dd3a0 master: store run_time and start_time as doubles 2017-08-03 10:41:57 +01:00
Chris Ballance 810bb69989 master: rotate logs at midnight, rather than on log size 2017-08-03 00:31:04 +01:00
Robert Jördens 471605ec1e pdq: move to https://github.com/m-labs/pdq 2017-07-19 17:35:28 +02:00
Sebastien Bourdeauducq e3588c9e68 RELEASE_NOTES: 2.4 2017-06-22 00:38:49 +08:00
Robert Jördens c399bec8da RELEASE_NOTES: pipistrello discontinued by manufacturer 2017-06-20 06:18:34 +02:00
Sebastien Bourdeauducq a20f5392a9 add pdq2→pdq rename to release notes 2017-06-03 18:36:41 +08:00
Sebastien Bourdeauducq cf746cee5b fix documentation formatting problems 2017-05-22 19:08:20 +08:00
Sebastien Bourdeauducq e4a631a3d7 scheduler: consider the pipeline flushed if everything has a lower priority than us. Closes #640 2017-05-22 18:43:59 +08:00
Sebastien Bourdeauducq 6bdb76e9ea core device logging controller WIP (#691) 2017-05-22 16:48:00 +08:00
Sebastien Bourdeauducq 5ccca74a3f fold comm device into core device 2017-05-22 15:45:45 +08:00
Sebastien Bourdeauducq 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
Sebastien Bourdeauducq cd757c0f16 generate device database from executable python file 2017-05-18 23:14:55 +08:00
Sebastien Bourdeauducq c44f2da9fd RELEASE_NOTES: formatting 2017-05-18 23:14:55 +08:00
Sebastien Bourdeauducq 9ab63920e0 Remove Pipistrello support
Closes #658
Closes #381
2017-05-15 17:17:44 +08:00
Sebastien Bourdeauducq 99196986c0 conda: use conda-forge and depend on pyqtgraph 0.10.0 (#704) 2017-04-13 00:55:16 +08:00
Sebastien Bourdeauducq 7ec14f26c2 examples: fix after introduction of RangeScan 2017-03-31 16:54:07 +08:00
Chris Ballance 07c71bf020 language,gui: combine LinearScan and RandomScan into RangeScan. Closes #679 2017-03-31 16:48:39 +08:00
Sebastien Bourdeauducq 432c6b99e2 master: still save results when analyze fails. Closes #684 2017-03-27 17:57:02 +08:00
Sebastien Bourdeauducq b74d6fb9ba make collision and busy asynchronous errors, and simplify CPU/gateware handshake for output errors and reads 2017-03-27 16:32:23 +08:00
Sebastien Bourdeauducq 7d6ebabc1b reorganize core device communication code 2017-02-27 18:37:30 +08:00
Sebastien Bourdeauducq efd8eadf2c RELEASE_NOTES: 2.2 2017-02-02 18:09:19 +08:00
Sebastien Bourdeauducq 62274a6c0d RELEASE_NOTES: targets.kc705_dds 2017-01-18 15:28:56 -06:00
Sebastien Bourdeauducq ac792ec52b RELEASE_NOTES: 2.1 2016-12-12 13:12:18 +08:00
Robert Jördens d0a55e5c9b RELEASE_NOTES: int(a, width=b) removal, use int32/64 2016-11-24 14:32:51 +01:00
Sebastien Bourdeauducq ef971ef8ba RELEASE_NOTES: update 2016-11-21 23:51:39 +08:00
Sebastien Bourdeauducq 69d96b0158 master: archive input datasets. Closes #587 2016-10-18 17:11:07 +08:00
Robert Jördens fdadf550fb RELEASE_NOTES: 2.0 2016-09-24 18:53:36 +02:00
Robert Jördens e4d1d0a309 RELEASE_NOTES: 2.0rc2 2016-09-14 21:54:32 -04:00
Sebastien Bourdeauducq c7c8ad126f pc_rpc: raise AttributeError immediately for nonexistent RPC methods. Closes #534 2016-09-14 11:22:07 +08:00
Sebastien Bourdeauducq 73bbe2ae66 RELEASE_NOTES: clarify 2016-09-07 20:21:10 +08:00
Sebastien Bourdeauducq 5fbcdacec7 environment: call prepare for children by default, closes #545 2016-09-07 20:20:20 +08:00