Commit Graph

6410 Commits (release-4)

Author SHA1 Message Date
Sebastien Bourdeauducq 351a682ebd ad9912: fix ftw width docstring 2020-02-27 02:11:56 +08:00
Sebastien Bourdeauducq abd3c2a0db firmware: expose fmod to kernels. Closes #1417 2020-01-10 14:33:32 +08:00
Robert Jördens b0661ec055 comm_analyzer: don't assume every message has data
close #1377
2019-10-28 15:36:45 +01:00
Sebastien Bourdeauducq c60ea58e8d examples/kc705: fix dds_test 2019-10-17 07:37:29 +08:00
Sebastien Bourdeauducq aeb114adfb coreanalyzer: AD9914 fixes (#1376) 2019-10-17 07:37:25 +08:00
Charles Baynham 80c0aa5bfa pyon: Handle inf in decoding 2019-09-12 09:46:58 +08:00
Sebastien Bourdeauducq 8c88ce8169 artiq_run: fix expid class_name inconsistency 2019-09-09 15:17:02 +08:00
Sebastien Bourdeauducq 7cf25f8539 artiq_client: python 3.7 compatibility 2019-08-05 13:44:24 +08:00
Sebastien Bourdeauducq dd78c0e53d support overriding versioneer 2019-08-05 13:36:09 +08:00
Sebastien Bourdeauducq 23832ca445 add MAJOR_VERSION 2019-08-05 13:35:43 +08:00
Sebastien Bourdeauducq 5fe37cad30 dashboard: work around disappearing TTL/DDS panel bug. Closes #1307 2019-06-14 11:33:04 +08:00
David Nadlinger 2183c06154 firmware: Fix kernel RPC handling of zero-size values (e.g. empty arrays) 2019-04-11 11:29:58 +08:00
David Nadlinger 8b69babe8a firmware: Make "unexpected reply from kernel CPU" log messages unique
This makes it easier to localize issues based on the log output.
2019-04-11 11:29:51 +08:00
David Nadlinger 3e49da3d39 coredevice: Add test for recent kernel RPC fixes
This covers all three (de)serialisation fixes.
2019-04-11 11:29:45 +08:00
David Nadlinger ff1eb4858a compiler: Fix crash in escape analysis for assigning string literals 2019-04-11 11:29:39 +08:00
David Nadlinger 56e14bfac7 compiler: Fix comparison of tuples of lists 2019-04-11 11:29:34 +08:00
David Nadlinger 2cbb2b970c compiler: Fix comparison of nested lists 2019-04-11 11:29:27 +08:00
David Nadlinger debf64d1c2 firmware: Fix kernel RPC strings size (memory corruption)
Test case to follow.
2019-04-11 11:29:21 +08:00
David Nadlinger cb326aca70 firmware: Fix kernel RPC tuple size calculation (memory corruption)
Test case to follow.
2019-04-11 11:29:16 +08:00
David Nadlinger b89a67ef9d coredevice: Fix host-side serialization of (nested) lists
Test case to follow.
2019-04-11 11:29:09 +08:00
David Nadlinger 0c5fa373d5 compiler: Quote tuples as TTuple values
Previously, they would end up being TInstances,
rendering them useless.
2019-04-11 11:29:05 +08:00
David Nadlinger 01213e2381 gui: Fix crash when quickly opening/closing applets
Quickly closing/reopening applets (e.g. quickly clicking the checkbox
on an entire folder of applets) would previously lead to an occasional
KeyError on the self.dock_to_item access in on_dock_closed, as close()
would be invoked more than once.

The geometry/checked state handling can potentially be cleaned up
further, but at least this avoid the crash.
2019-03-11 20:39:22 +08:00
Sebastien Bourdeauducq 6113ecb199 kasli: add nrc variant 2019-03-11 16:27:52 +08:00
Astro 9bead085c7 manual: fix wavedrom extension json syntax
The leading empty line seems to be required by Sphinx 1.8.3.

The arguments must be strict JSON when prerendering for a target that is
not "html". Browser JSON parsing may have been more lenient.

Signed-off-by: Stephan Maka <stephan@spaceboyz.net>
2019-02-21 11:28:11 +08:00
Robert Jördens b53d874c6a dashboard: reconnect to core moninj
* handle disconnects like core device address changes and do a
  disconnect/connect iteration
* after connection failure wait 10 seconds and try again
* this addresses the slight regression from release-2
  to release-3 where the moninj protocol was made stateful
  (#838 and #1125)
* it would be much better to fix smoltcp/runtime to no loose the
  connection under pressure (#1125)
* the crashes reported in #838 look more like a race condition
* master disconnects still require dashboard restarts

Signed-off-by: Robert Jördens <rj@quartiq.de>
2019-02-20 10:06:32 +01:00
whitequark 61f6619cb0 compiler: monomorphize casts first, but more carefully.
This reverts 425cd7851, which broke the use of casts to define
integer width.

Instead of it, two steps are taken:
  * First, literals are monomorphized, leading to predictable result.
  * Second, casts are monomorphized, in a top-bottom way. I.e.
    consider the expression `int64(round(x))`. If round() was visited
    first, the intermediate precision would be 32-bit, which is
    clearly undesirable. Therefore, contextual rules should take
    priority over non-contextual ones.

Fixes #1252.
2019-02-07 20:57:44 +08:00
David Nadlinger 04952cb230 conda: Require recent aiohttp
artiq_influxdb doesn't work with aiohttp 0.17 (anymore), as the
ClientSession API changed. I have not looked up precisely which
is the first version that works, but 3.x has been out for almost
a year and is available on the Anaconda/conda-forge channels.
2019-02-07 10:41:48 +08:00
Robert Jördens 162ce813ea ad53xx: ignore F3 (reserved)
Signed-off-by: Robert Jördens <rj@quartiq.de>
2019-01-24 15:50:25 +01:00
Sebastien Bourdeauducq 1555fcf4ab ad9912: fix imports 2019-01-23 19:09:51 +08:00
Sebastien Bourdeauducq bcff533899 kasli_tester: fix grabber test 2019-01-23 17:59:58 +08:00
Sebastien Bourdeauducq 139e87de36 firmware: fix compilation error with more than 1 Grabber 2019-01-22 19:47:17 +08:00
Robert Jördens 51ee9122f2 ad9912: add some slack after init 2019-01-21 18:12:12 +01:00
Sebastien Bourdeauducq 76f63b29ba ad9910: add precision about tune_io_update_delay/tune_sync_delay order 2019-01-21 19:38:03 +08:00
Sebastien Bourdeauducq 222825d3a8 urukul: fix typos 2019-01-21 19:37:33 +08:00
Sebastien Bourdeauducq 9bbb67c340 kasli_tester: skip Zotino test when no Zotino is present 2019-01-21 18:12:03 +08:00
Sebastien Bourdeauducq 715dac5798 kasli: add Berkeley variant 2019-01-21 17:45:42 +08:00
Sebastien Bourdeauducq f0e4862d16 kasli_tester: skip Grabber test when no Grabber is present 2019-01-21 17:45:38 +08:00
David Nadlinger 4933686dd0 master/scheduler: Fix misleading indentation [nfc] 2019-01-21 10:25:01 +08:00
David Nadlinger 6969c889d8 manual: Minor grammar fixes 2019-01-21 10:24:11 +08:00
Robert Jördens 4f5f0538b7 doc/installing: cleanup and fixes
* fix broken and old URLs to anaconda/miniconda
* append conda-forge, do not prepend it (consistent with conda-forge
  instructions and does not blindly prefer packages in conda-forge over
  packages in defaults)
* shorten m-labs repo
2019-01-16 12:44:12 +01:00
Sebastien Bourdeauducq ea39160006 monkey_patches: disable for Python >= 3.6.7
3.6 >=7 are fixed
3.7.0 is incompatible with the monkey patches and they do more harm than good
3.7 >=1 are fixed
2019-01-15 20:34:31 +08:00
whitequark 56315203a9 compiler: first monomorphize ints, then casts.
Fixes #1242.
2019-01-13 11:53:58 +08:00
whitequark ed6d927f6c Improve Python 3.7 compatibility.
async is now a full (non-contextual) keyword.

There are two more instances:
   - artiq/frontend/artiq_client.py
   - artiq/devices/thorlabs_tcube/driver.py

It is not immediately clear how to fix those, so they are left for
later work.
2019-01-13 11:53:58 +08:00
David Nadlinger cc811429f4 coredevice.ad9910: Fix phase tracking ref_time passing
This is difficult to test without hardware mocks or some
form of phase readback, but the symptom was that e.g.
`self.dds.set(…, ref_time=now_mu() - 1)` would fail
periodically, that is, whenever bit 32 of the timestamp
would be set (which would be turned into the sign bit).

This is a fairly sinister issue, and is probably a compiler
bug of some sort (either accepts-invalid or wrong type inference).
2019-01-12 17:24:03 +00:00
Robert Jördens 5b2e7cb7f3 test_ad9910: relax tests
* tune_sync_delay: the opposite IO_UPDATE to SYNC_CLK alignment may not be perfectly
mis-aligned
* set_mu_speed: seems to be slower on the buildbot

Signed-off-by: Robert Jördens <rj@quartiq.de>
2019-01-09 18:34:33 +01:00
Robert Jördens 41a816fd16 ad9910: fix RTIO fine timestamp nudging
Previously the TSC was truncated to an even coarse RTIO periods before doing
the setting SPI xfer. Afterwards the the IO update pulse would introduce
at least one but less than two RTIO cycles. Ultimately the RTIO TSC was
truncated again to even. If the SPI xfer takes an odd number of RTIO
periods, then a subsequent xfer would collide.

close #1229

Signed-off-by: Robert Jördens <rj@quartiq.de>
2019-01-09 18:34:20 +01:00
Robert Jördens 51239ebdb6 ad9910: add more slack in tune_sync_delay
close #1235

Signed-off-by: Robert Jördens <rj@quartiq.de>
2019-01-09 18:34:03 +01:00
Sebastien Bourdeauducq 0303267d7e satman: wait for CPLL/QPLL lock after setting drtio_transceiver::stable_clkin 2019-01-07 17:09:35 +08:00
Sebastien Bourdeauducq 0ec01790fe firmware: fix not(has_spiflash) build 2019-01-05 23:41:50 +08:00
Sebastien Bourdeauducq f23d4e2762 update copyright year 2019-01-05 15:03:30 +08:00