Commit Graph

8225 Commits

Author SHA1 Message Date
6d179b2bf5 flake: nixos 22.11 2022-11-30 21:36:36 +08:00
275b00bfc2 flake: fix libcrypt.so.1 not found by vivado 2022-11-30 11:26:23 +08:00
b8b6ce14cc Update smoltcp to 0.8.2
This fixes an issue where TCP issues are not retransmitted when only
some packets in a burst are acknowledged. This causes smoltcp to never
make progress and hang.

Signed-off-by: Jonathan Coates <jonathan.coates@oxionics.com>
2022-11-28 22:10:23 +08:00
Nico Pulido
88c5109627 language: check_unprocessed_arguments after constructing experiment
Signed-off-by: Nico Pulido-Mateo <pulido@iqo.uni-hannover.de>
2022-11-27 02:29:57 +00:00
David Nadlinger
dee154b35b compiler: Add missing sections to kernel linker script
This caused sporadic LoadFaults with LLD 14 and above, as they
happened to lay out the (not otherwise mentioned) GOT/PLT such
that they would overlap with the stack guard page.

LLD does support the --orphan-handling=error option, which
would be useful to avoid similar problems in the future, but
then we'd need to mention all the other misc sections
(symbol table, comments) in the linker script as well.

GitHub: Fixes #1975.
2022-11-24 16:57:31 +00:00
David Nadlinger
950b9ac4d6 firmware: More explicit panic message if stack guard is tripped
This should give even only mildly technical users a
chance to figure out what's going on, which empirically
is not the case for a plain Exception(LoadFault) without
further context.
2022-11-24 16:54:49 +00:00
6c47aac760
dashboard: merge create dataset and edit dataset features 2022-11-23 18:22:53 +08:00
f2c1e663a7 regenerate suservo_coherent patch with var_urukul base 2022-11-23 17:22:26 +08:00
f7f027001e
compiler: insert new lines into long synthesized code (#1986) 2022-11-23 12:10:32 +08:00
David Nadlinger
0b3c232819 language: Clarify error message for unprocessed arguments
"Unexpected argument(s)" would be another less ambiguous,
shorter phrasing.
2022-11-22 11:26:07 +00:00
d45f9b6950 ddb_template: propagate fastino log2_width setting
Signed-off-by: Etienne Wodey <etienne.wodey@aqt.eu>
2022-11-17 10:54:37 +08:00
2fe02cee6f doc: MSYS2 packages 2022-11-15 19:32:06 +08:00
404f24af6b compiler: set lld emulation explicitly 2022-11-15 11:20:06 +08:00
David Nadlinger
3d25092cbd firmware/rpc_proto: Remove unnecessary cast [nfc] 2022-11-14 22:50:38 +00:00
David Nadlinger
dbbe8e8ed4 firmware/rpc_proto: Fix typo breaking receiving of arrays
This was introduced in 8740ec3dd5.
2022-11-14 22:49:45 +00:00
David Nadlinger
8740ec3dd5 firmware/rpc_proto: Fix size/alignment calculation for structs with tail padding
Also factors out duplicate code for (de)serializing
elements of lists and ndarrays, and replaces the rounding
calculations by the well-known, much faster power-of-two-only
bit-twiddling version.

GitHub: Fixes #1934.
2022-11-14 11:37:45 +08:00
David Nadlinger
6caa779c74 firmware/ksupport: Include .gcc_except_table (LSDA)
For whatever reason, no language-specific unwind data
was generated for ksupport code so far, but rustc does
emit it for an upcoming refactoring.
2022-11-14 11:37:45 +08:00
David Nadlinger
4819016a3c firmware/ksupport: Document rpc_recv alignment requirements [nfc] 2022-11-14 11:37:45 +08:00
David Nadlinger
00a27b105a compiler: Extract maximum alignment from target data layout
In particular, i64/double are actually supposed to be aligned
to their size on RISC-V (at least according to the ELF psABI),
though it is unclear to me whether this actually caused any
issues.
2022-11-14 11:37:45 +08:00
David Nadlinger
beff15de5e compiler/targets: Fix refactoring leftover for native (host) target
It's unclear whether this actually caused any issues, or why this
wasn't done before (instead just setting the now-removed endianness
flag).
2022-11-14 11:37:45 +08:00
火焚 富良
defc69d9c3
compiler: fix const str/bytes handling (#1990) 2022-11-11 13:15:50 +08:00
火焚 富良
e2178f6c86
Fix GUI log issues introduced by #1950 2022-11-09 16:55:17 +08:00
f3f068036a use maintained fork of python-Levenshtein 2022-11-03 21:24:49 +08:00
f75ddf78b0 dashboard: restore connection/version message 2022-10-21 19:17:00 +08:00
e0b1098bc0 dashboard: remove incorrect moninj proxy message 2022-10-21 19:13:47 +08:00
e5c621751f
Merge pull request #1962 from quartiq/miqro
Support MIQRO mode for Phaser
2022-10-19 16:56:02 +02:00
07db770423 phaser: fix tester 2022-10-19 16:54:00 +02:00
eb7a0714b3 literal copy paste error 2022-10-19 16:44:44 +02:00
e15b5b50d8 phaser: tweak docs, relax slack 2022-10-19 16:42:03 +02:00
1820e1f715 phaser: cleanup 2022-10-19 16:25:33 +02:00
118b7aca1d
Merge pull request #1980 from FabianSchwartau/fix_phaser_init_delays
Fixed two too low delay values in Phaser init
2022-10-19 15:55:11 +02:00
Fabian Schwartau
d5e267fadf Fixed two too low delay values in Phaser init
Signed-off-by: Fabian Schwartau <fabian@opencode.eu>
2022-10-19 15:45:45 +02:00
286f151d9a flake: switch to upstream llvmlite 2022-10-19 13:05:51 +08:00
19b8d28a2e flake: update dependencies 2022-10-10 17:58:20 +08:00
3ffbc5681e flake: update dependencies, enable misoc tests 2022-10-08 13:31:52 +08:00
192cab887f afws_client: update 2022-10-07 11:39:36 +08:00
wlph17
9846ee653c
flake: set Nix Qt environment variables in development shell
allows applets to run standalone via ``python -m ...`` without requiring the Nix Qt wrapper
2022-10-07 11:31:43 +08:00
fanmingyu212
56e6b1428c llvm: change addr2line to symbolizer
`llvm-addr2line` is not included as part of the llvm binary package for Windows. This causes ARTIQ python compilations issues when conda is not used (so the `llvm-tools` conda package is not installed, which provides `llvm-addr2line` currently).
2022-10-04 09:35:56 +08:00
b895846322 Improve exception reports when exception can't be reconstructed
Artiq assumes that all exceptions raised by the kernel can be constructed with
a single string argument. This isn't always the case. Especially for
exceptions that originated in python and were propagated to the kernel over
rpc.

With out this change a mosek solver failure looks like:
```
ERROR    root:logging_tools.py:41 Terminating with exception (TypeError: __init__() missing 1 required positional argument: 'msg')
Traceback (most recent call last):
  File "/home/mb/.cache/pypoetry/virtualenvs/ion-transport-1-b41LI0-py3.8/lib/python3.8/site-packages/artiq/master/worker_impl.py", line 540, in main
    exp_inst.run()
  File "/home/mb/.cache/pypoetry/virtualenvs/ion-transport-1-b41LI0-py3.8/lib/python3.8/site-packages/artiq/test_tools/experiment.py", line 82, in wrapper
    meth()
  File "/home/mb/.cache/pypoetry/virtualenvs/ion-transport-1-b41LI0-py3.8/lib/python3.8/site-packages/artiq/language/core.py", line 54, in run_on_core
    return getattr(self, arg).run(run_on_core, ((self,) + k_args), k_kwargs)
  File "/home/mb/.cache/pypoetry/virtualenvs/ion-transport-1-b41LI0-py3.8/lib/python3.8/site-packages/artiq/coredevice/core.py", line 152, in run
    self.comm.serve(embedding_map, symbolizer, demangler)
  File "/home/mb/.cache/pypoetry/virtualenvs/ion-transport-1-b41LI0-py3.8/lib/python3.8/site-packages/artiq/coredevice/comm_kernel.py", line 720, in serve
    self._serve_exception(embedding_map, symbolizer, demangler)
  File "/home/mb/.cache/pypoetry/virtualenvs/ion-transport-1-b41LI0-py3.8/lib/python3.8/site-packages/artiq/coredevice/comm_kernel.py", line 699, in _serve_exception
    python_exn = python_exn_type(
TypeError: __init__() missing 1 required positional argument: 'msg'
```

With this change we get:
```
ERROR    root:logging_tools.py:41 Terminating with exception (RuntimeError: Exception type=<class 'mosek.Error'>, which couldn't be reconstructed (__init__() missing 1 required positional argument: 'msg'))
Core Device Traceback:
Traceback (most recent call first):
  File "/home/mb/oxionics/ion-transport/tests/test_end_to_end.py", line 280, in get_transport
    return self.seq.solve()
  File "/home/mb/oxionics/ion-transport/tests/test_end_to_end.py", line 288, in artiq_worker_test_end_to_end.TransportTestScan.run(..., ...) (RA=+0x2e4)
    self.seq.record(self.get_transport(1e-6 + 1e-7 * x))
mosek.Error(27): rescode.err_license_expired(1001): The license has expired.

End of Core Device Traceback
Traceback (most recent call last):
  File "/home/mb/oxionics/artiq/artiq/master/worker_impl.py", line 540, in main
    exp_inst.run()
  File "/home/mb/oxionics/artiq/artiq/test_tools/experiment.py", line 82, in wrapper
    meth()
  File "/home/mb/oxionics/artiq/artiq/language/core.py", line 54, in run_on_core
    return getattr(self, arg).run(run_on_core, ((self,) + k_args), k_kwargs)
  File "/home/mb/oxionics/artiq/artiq/coredevice/core.py", line 152, in run
    self.comm.serve(embedding_map, symbolizer, demangler)
  File "/home/mb/oxionics/artiq/artiq/coredevice/comm_kernel.py", line 732, in serve
    self._serve_exception(embedding_map, symbolizer, demangler)
  File "/home/mb/oxionics/artiq/artiq/coredevice/comm_kernel.py", line 714, in _serve_exception
    raise python_exn
RuntimeError: Exception type=<class 'mosek.Error'>, which couldn't be reconstructed (__init__() missing 1 required positional argument: 'msg')
```

Signed-off-by: Michael Birtwell <michael.birtwell@oxionics.com>
2022-09-26 20:25:13 +08:00
a1a4545ed4 docs: fix syntax 2022-09-23 16:22:21 +02:00
a0053f7a2b add release note 2022-09-23 15:57:43 +02:00
740f3d220b refine/fixes 2022-09-23 13:39:49 +00:00
513f9f00f3 miqro: document coredevice driver 2022-09-23 12:59:21 +00:00
5cfa8d9a42 add tester support, refactor gateware mode 2022-09-23 11:54:40 +00:00
0e4a87826c return pulse support 2022-09-20 14:35:06 +00:00
1709cf9717 afws_client: update 2022-09-19 16:58:41 +08:00
4266beeb9c experimental-features: rename patches to be compatible with AFWS server sanitize() 2022-09-19 16:57:53 +08:00
c955ac15ed dashboard moninj: add tooltip for off button 2022-09-19 10:19:54 +08:00
81ef484864 dashboard moninj: check if ad9910 was init 2022-09-19 10:19:54 +08:00
f2c3f95040 moninj: fix ad9914 behavior, comment cleanup 2022-09-19 10:19:54 +08:00