Commit Graph

6749 Commits

Author SHA1 Message Date
12649720f1 browser: read artiq_version from HDF5 as string
Signed-off-by: Egor Savkin <es@m-labs.hk>
2022-12-07 16:39:19 +08:00
454ae39c5d
firmware: fix crash on exception with host message (#2017) 2022-12-07 10:41:43 +08:00
David Nadlinger
3c7a394eff runtime/rtio_clocking: Deduplicate/document input selection [nfc] 2022-12-04 04:21:44 +00:00
David Nadlinger
740543d4e2 firmware: Fix Kasli v2 runtime rtio_clock selection
SI5324_EXT_REF now only controls the (deprecated) fallbacks
for when the rtio_clock option is not set.
2022-12-04 02:23:38 +00:00
b2b559e73b
browser: tolerate missing HDF5 metadata 2022-12-02 16:30:58 +08:00
1852491102
add channel names to RTIO errors 2022-12-02 16:27:03 +08:00
c591e7e305
sampler: fix reference voltage of recent hardware 2022-12-02 10:45:40 +08:00
David Nadlinger
261dc6b933 firmware/runtime: Fix Ext0_Synth0_*to125 log messages 2022-12-02 01:37:56 +00:00
David Nadlinger
1abedba6dc coredevice/fastino: Fix stray punctuation [nfc] 2022-12-01 12:11:35 +00:00
aa2febca53
browser: fix dummy device creation failure on analyze 2022-12-01 17:45:02 +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
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
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
ad000609ce simplify tsc with no rtio/sys clk distinction 2022-11-01 08:12:54 +08:00
af0b94bb34 rtio_clock: remove 150MHz support 2022-11-01 08:12:54 +08:00
5cd57e8688 rtio_clocking: switch clocks and reboot 2022-11-01 08:12:54 +08:00
f8eb695c0f dma test: no more rsys or rtio domains 2022-11-01 08:12:54 +08:00
458bd8a927 kasli_generic: remove rtio clockdomain reference 2022-11-01 08:12:54 +08:00
a6856a5e4a rtio: remove rtio clock, use sys instead 2022-11-01 08:12:54 +08:00
1eb87164be kasli: remove rtiocrg, use rtio/sys merge 2022-11-01 08:12:54 +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
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
192cab887f afws_client: update 2022-10-07 11:39:36 +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
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
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
616ed3dcc2 moninj: dds inj: extract shared code
detect urukul already init in more than one way
detect ad9912 channel already init
2022-09-19 10:19:54 +08:00
aedcf205c7 miqro: docs 2022-09-16 12:15:13 +00:00
14ab1d4bbc miqro format change: encode len, not end 2022-09-15 11:02:59 +00:00
a028b5c9f7 afws_client: update 2022-09-15 09:15:38 +08:00
af28bf3550 simplify dt reset 2022-09-08 08:39:48 +02:00
4df880faf6 clean up docs 2022-09-08 08:38:26 +02:00
857fb4ecec spelling 2022-09-06 20:44:47 +00:00
a91836e5fe easier fix for dt 2022-09-06 20:26:50 +00:00
c5c5c30617 add set_window(), clean up api 2022-09-06 16:05:10 +00:00
27e3c044ed fix dt computation 2022-09-06 14:32:57 +00:00
c26fa5eb90 err out on tune_fifo_offset 2022-09-05 20:48:15 +00:00
1cc57e2345 fix len 2022-09-04 21:00:24 +00:00
263c2751b3 add profile_mu 2022-09-04 20:43:28 +00:00
876f26ee30 add some docs 2022-09-04 19:56:52 +00:00
fa3678f8a3 mem auto increment 2022-09-04 12:03:44 +00:00
f4d325112c reset and elaborate, si functions 2022-09-04 11:19:38 +00:00
b6586cd7e4 add window data delay 2022-09-02 20:45:13 +00:00
3809ac5470 fix type, clean clear 2022-09-02 19:47:06 +00:00
b9727fdfce refactor for 32 bit mem access 2022-09-02 16:38:53 +00:00
d6d0c2c866 miqro: name register constants 2022-09-02 15:55:28 +00:00
0df2cadcd3 fixes 2022-09-02 15:29:36 +00:00
25c0dc4688 whitespace 2022-09-02 14:54:18 +00:00
cf48232a90 fixes 2022-09-02 14:38:38 +00:00
a20087848d differentiate phaser modes 2022-09-02 11:03:23 +00:00
31663556b8 phaser: add miqro mode 2022-09-02 09:32:06 +00:00
47f90a58cc add miqro phy 2022-09-02 09:32:06 +00:00
Mikołaj Sowiński
3c7ab498d1 Added DDS selection for Kasli tester variant
Signed-off-by: Mikołaj Sowiński <msowinski@technosystem.com.pl>
2022-09-02 17:14:23 +08:00
Deepskyhunter
7c306d5609
GUI log: Apply level and text filter to existing log messages (#1950) 2022-08-29 15:20:44 +08:00
kk1050
3c72b8d646
dashboard: use break_realtime instead of reset for Urukul set freq (#1940) 2022-08-16 14:02:01 +08:00
27397625ba dashboard: improve moninj logging 2022-08-12 13:41:05 +08:00
3535d0f1ae
kasli: relocate the SatelliteBase Error LED code (#1955) 2022-08-12 12:41:50 +08:00
cc78078
185c91f522
kasli: add Error LED to MasterBase and SatelliteBase 2022-08-11 15:06:58 +08:00
Deepskyhunter
f31279411e
dashboard/moninj: make arguments a dict for DDS setters 2022-08-02 17:09:56 +08:00
Alex Wong Tat Hang
a3ae82502c
gtx_7series: fix IBUFGS_GTE2 buffer parameters
Co-authored-by: topquark12 <aw@m-labs.hk>
2022-08-01 10:21:28 +08:00
Deepskyhunter
0cdb06fdf5
language/environment: support no argument manager
unbreak tests
2022-07-28 17:55:25 +08:00
Deepskyhunter
2a7a72b27a
language.environment: error out if unknown arguments are passed (#1927)
Closes #1641
2022-07-26 10:42:03 +08:00
kk1050
748e28be38
artiq_flash: bail out if scan chain is wrong
Due to OpenOCD limitations, there currently doesn't seem to be a better way of doing it. Upstream patch may be coming.
2022-07-26 09:49:48 +08:00
4b1715c80b typo 2022-07-21 11:58:25 +08:00
d2dacc6433 Merge branch 'master' into nk/phaser-servo-clean
* master: (25 commits)
  flake: update rpi-1 host key
  aqctl_moninj_proxy: clear listeners on disconnect
  Add method to check if termination is requested (#811, #1932)
  moninj: fix underflows by order of operation fix channel toggle
  moninj: fix underflows for urukul freq set
  Urukul monitoring (#1142, #1921)
  moninj: make receive_task private again
  moninj,corelog: fix/cleanup exception handling (#1897)
  aqctl_corelog: enable keepalive, terminate on connection failure
  Modify log for matching the style
  Add log message when dashboard connected to proxy
  Public receive_task for the use in proxy
  applets.simple: Actually forward dataset_prefixes when using IPC
  master: Fixup 32db6ff978 (argument_ui support)
  Revert "add pull.yml (#1918)"
  add pull.yml (#1918)
  Allow experiments to specify a custom argument editor UI (#1916)
  dashboard: Add submit/close hooks for custom argument editors
  dashboard: Plumb through datasets client to ExperimentManager
  dashboard: Add cmdline option to load plugins on startup
  ...
2022-07-07 15:56:30 +02:00
Deepskyhunter
c7394802bd
aqctl_moninj_proxy: clear listeners on disconnect 2022-07-07 17:20:08 +08:00
kk1050
7aa6104872
Add method to check if termination is requested (#811, #1932)
Co-authored-by: kk105 <kkl@m-kabs.hk>
2022-07-07 17:01:34 +08:00
46f2842d38 moninj: fix underflows by order of operation
fix channel toggle
2022-07-07 12:37:10 +08:00
c9fb7b410f moninj: fix underflows for urukul freq set 2022-07-07 12:37:10 +08:00
8be945d5c7
Urukul monitoring (#1142, #1921) 2022-07-07 10:52:53 +08:00
SingularitySurfer
9c8ffa54b2 reverse to servo enable. hopefully adapted all comments etc. 2022-07-06 14:33:46 +00:00
d17675e9b5 moninj: make receive_task private again 2022-07-02 17:58:24 +08:00
388b81af19 moninj,corelog: fix/cleanup exception handling (#1897) 2022-07-02 17:48:18 +08:00
Deepskyhunter
02b086c9e5
aqctl_corelog: enable keepalive, terminate on connection failure 2022-07-02 17:33:58 +08:00
SingularitySurfer
953dd899fd refine docu 2022-06-23 15:46:15 +00:00
SingularitySurfer
689a2ef8ba refine note 2022-06-23 15:23:00 +00:00
SingularitySurfer
d8cfe22501 add note about setpoint resolution 2022-06-23 15:18:55 +00:00
b4f24dd326 Modify log for matching the style 2022-06-23 19:16:36 +08:00
da6d35e7c6 Add log message when dashboard connected to proxy 2022-06-23 19:16:36 +08:00
745f440597 Public receive_task for the use in proxy
Notify proxy and terminate after receive_task end
2022-06-23 19:16:36 +08:00
SingularitySurfer
2e834cf406 unflip logic.. 2022-06-23 10:20:38 +00:00
SingularitySurfer
3f8a221c76 flip logic of enable bit to bypass bit and update some comments 2022-06-23 10:08:34 +00:00
SingularitySurfer
ab097b8ef9 add offset to coefficients as data 2022-06-23 09:37:37 +00:00
SingularitySurfer
24b4ec46bd more documentation 2022-06-23 08:48:28 +00:00
Norman Krackow
56c59e38f0
Update artiq/coredevice/phaser.py
Co-authored-by: Robert Jördens <rj@quartiq.de>
2022-06-23 09:15:50 +02:00
SingularitySurfer
c0581178d6 impl offsets. to be tested 2022-06-22 16:20:59 +00:00
SingularitySurfer
43c94577ce impl set_iir. untested 2022-06-22 15:35:49 +00:00
SingularitySurfer
ce4055db3b force hold on bypass and use names in set_servo() in init 2022-06-21 10:11:49 +00:00
SingularitySurfer
b67a70392d rename to coeff base and shorter write16 2022-06-21 09:59:40 +00:00
SingularitySurfer
57176fedb2 add servo docu 2022-06-21 09:29:42 +00:00
SingularitySurfer
8bea821f93 just &1 to stay in field 2022-06-21 08:43:55 +00:00
SingularitySurfer
0388161754 disable servo in init 2022-06-21 07:49:29 +00:00
SingularitySurfer
751af3144e fix old line that I forgot 2022-06-21 07:43:28 +00:00
SingularitySurfer
5df766e6da fix ors 2022-06-21 07:36:59 +00:00
David Nadlinger
e1f9feae8b applets.simple: Actually forward dataset_prefixes when using IPC
Turns out I had inadvertently only tested 2d6fc154d using the
socket interface.
2022-06-19 18:08:25 +01:00
David Nadlinger
dd928fc014 master: Fixup 32db6ff978 (argument_ui support)
This was lost in the ndscan diff upstreaming process
due to other Oxford-local changes in artiq.master.worker.
2022-06-19 11:33:40 +01:00
David Nadlinger
32db6ff978
Allow experiments to specify a custom argument editor UI (#1916)
On the master/EnvExperiment side, the only addition is an optional
property `argument_ui` that is made accessible to the dashboard, e.g.

    class Example(EnvExperiment):
        argument_ui = "ndscan"
        def build(self):
           …

Clients – primarily artiq_dashboard, but in principle e.g. a
command-line UI could do the same – can then compare the value to a
list of well-known names and prefer any matching custom UI handlers.

On the dashboard side, this commit adds the mechanism to register
a custom argument editor for a given argument_ui string, i.e. the
widget that displays the parameter values within the wider
experiment UI shell with the submit button, pipeline parameters, and
so on. The registry remains empty by default and would be filled by
out-of-tree plugins such as ndscan.

The UI state readback is implemented somewhat defensively to avoid
needless disruptions to users when upgrading.
2022-06-18 15:55:13 +08:00
David Nadlinger
dbc87f08ff dashboard: Add submit/close hooks for custom argument editors
These are used by ndscan, as re-serialising the entire ndscan
parameter metadata tree, which can grow to be quite extensive,
on every single Qt change event is a bit excessive (and would
probably cause a bit of lag while typing for big experiments
on low-end machines).
2022-06-18 15:51:39 +08:00
David Nadlinger
c4068e6896 dashboard: Plumb through datasets client to ExperimentManager
This is analogous to the explist/schedule subscribers, and allows
custom argument editors (such as ndscan) to provide hints/defaults/…
from datasets once available.
2022-06-18 15:50:05 +08:00
David Nadlinger
85895ab89b dashboard: Add cmdline option to load plugins on startup
Together with m-labs/artiq#1916, this allows the user to integrate
multiple argument UIs implemented in external libraries.
2022-06-18 15:48:32 +08:00
kk1050
46fb8916bb
update SEEN_ASYNC_ERRORS in destination_survey 2022-06-18 15:46:49 +08:00
David Nadlinger
2d6fc154db applets: Allow wildcard subscription to all datasets matching prefix via IPC
This allows ndscan v0.3+ to use the IPC interface for efficiency;
previously, the non-upstreamed RID dataset namespace feature allowed
the applets to somewhat efficient subscribe directly to the master
process via the socket interface.
2022-06-18 15:45:57 +08:00
David Nadlinger
4c42f65909 applets: Add ${server}, ${port_control}, ${port_notify} command substitutions
This facilitates applets that connect back to the master
(e.g. to update datasets on user request, as used by ndscan).
2022-06-18 15:19:35 +08:00
David Nadlinger
f4d639242d units: Add nW (nanowatts)
We found this quite useful/common for laser beams.
2022-06-18 15:11:05 +08:00
SingularitySurfer
d09153411f adress some review comments 2022-06-17 13:03:21 +00:00
Norman Krackow
dc49372d57
Update artiq/coredevice/phaser.py
Co-authored-by: Robert Jördens <rj@quartiq.de>
2022-06-17 14:40:07 +02:00
Norman Krackow
2044dc3ae5
Update artiq/coredevice/phaser.py
Co-authored-by: Robert Jördens <rj@quartiq.de>
2022-06-17 14:39:37 +02:00
SingularitySurfer
ae3f1c1c71 adapt servo functions. Todo: docu 2022-06-17 11:47:45 +00:00
SingularitySurfer
1bddadc6e2 cleanup and comments 2022-06-15 17:32:11 +00:00
SingularitySurfer
b0f9fd9c4c implement main driver functions 2022-06-15 12:40:21 +00:00
69c4026d2b Fix returning tuples of lists of arrays from RPCs
When serialising a list of objects `_send_rpc_value` makes a copy of the
upcoming tags to pass repeatedly to the recursive call. Then uses
`_skip_rpc_value` to skip over the tags that should have been processed.
This didn't handle numpy arrays so, after processing a list of arrays it
got out of sync and failed.

Signed-off-by: Michael Birtwell <michael.birtwell@oxionics.com>
2022-06-15 00:08:49 +08:00
e47834d82e Bugfix: Add missing item inside state to solve KeyError
KeyError raised when trying to load default_state()
due to missing Key "seed" in "RangeScan" and "CenterScan" in
state. Add {"seed": None} to resolve the bug.
2022-06-14 11:41:55 +08:00
4ede14b14d
dashboard: add DDS quick set-frequency feature 2022-06-09 12:01:06 +08:00
kk1050
4ddd2739ee
add log_tuples function (#1896)
Co-authored-by: kk105 <kkl@m-kabs.hk>
2022-06-06 18:41:46 +08:00
f79f7db3a2 dyld: handle rebind on symbols relocated by CALL_PLT 2022-06-01 12:44:33 +08:00
872f8f039f dyld: support additional RV32 reloc types
The support of LO12 type requires the runtime linker to find the corresponding HI20 symbol. resolve_rela needs the entire relocation section for that.
2022-06-01 12:44:33 +08:00
50495097e5 dyld: rename pltrel to jmprel
nac3ld will not generate PLT & its relocation section. There might not be a pltrel in that case.
On the other hand, rebinding will not be limited to the symbols in the PLT when linked with nac3ld.
Thus the renaming.
2022-06-01 12:44:33 +08:00
ca614a3eea use asyncio get/new_event_loop as recommended 2022-05-31 23:06:54 +08:00
6d46c886d7 ld.lld: translate TARGET2 reloc to relative 2022-05-31 18:26:06 +08:00
667f36a2e7 gui: fix Python 3.10 PyQt float/int issues. Closes #1887 2022-05-29 08:43:25 +08:00
7cff63e539 frontend: use sipyco SignalHandler (#1063) 2022-05-27 15:17:33 +08:00
cf8e583847 comm_mgmt: expect error on config_read 2022-05-19 16:48:59 +08:00
d24a36a02a comm_mgmt: fix read_expect 2022-05-19 16:48:59 +08:00
4bdb4c8e11 config: error instead of empty value if key not found 2022-05-19 16:48:59 +08:00
9896d78e07 afws_client: update 2022-05-18 19:04:13 +08:00
kk1050
70503bee6f
dashboard: add dataset rename feature (#1893)
Co-authored-by: kk105 <kkl@m-kabs.hk>
2022-05-18 17:07:43 +08:00
16393efa7c fix issue #1890: make dashboard use moninj port from device_db
Signed-off-by: Laurent Stephenson <laurent.stephenson@nist.gov>
2022-05-13 06:23:59 +08:00
David Nadlinger
8a7af3f75c compiler: Fix "nowrite" miscompilation for sret functions
This affected e.g. rtio_input_timestamped_data().
2022-05-07 21:43:55 +01:00
35f30ddf05
Expose TTLClockGen for Kasli JSONs (#1886) 2022-05-06 13:33:42 +08:00
50dbda4f43 Use new ip_addr_storage module instead of net_settings
Necessary to avoid needing the alloc only trait impls in net_settings
when compiling the bootloader.
2022-04-24 10:10:43 +08:00
95378cf9c9 Centralise all uses of the IPv4 index in net_settings.rs 2022-04-24 10:10:43 +08:00
671453938b Require explicitly closing TcpStreams
Instead of automatically closing and draining the TcpStream in the Drop
implementation instead expect the user to call TcpStream::close.
Add close called to all users of TcpStream.
Document the requirement to call close on TcpListener::accept, this seems
to be the only way to get a new TcpStream at the moment.
2022-04-24 10:10:43 +08:00
1fe59d27dc Use an Ipv4AddrConfig enum instead of the USE_DHCP constant 2022-04-24 10:10:43 +08:00
73082d116f Ensure that pending data is sent when closing sockets
This is only necessary if close hasn't been called on the socket
but that's not always done. e.g. by the core analyzer server.
2022-04-24 10:10:43 +08:00
596b9a265c Prefer DHCP to the built-in static IPs
Signed-off-by: Michael Birtwell <michael.birtwell@oxionics.com>
2022-04-24 10:10:42 +08:00
6ffb1f83ee DHCP support for core device firmware
DHCP is enabled by setting the `ip` config entry to "use_dhcp". Reusing this
config field rather than creating a new one means that there is no ambiguity
over which config field takes precedence.

Adds a thread to configure the interface based on DHCP events
Adds a `Dhcpv4Socket` as a wrapper around smoltcp's version
Formalises the storage of the IP addresses so that we can update one in
another module.

There's also a workaround for the first DHCP discover packet frequently
going missing.

Signed-off-by: Michael Birtwell <michael.birtwell@oxionics.com>
2022-04-24 10:10:14 +08:00
c60de48a30 Upgrade smoltcp 0.6.0 -> 0.8.0
Main changes:
Deal with interfaces now being generic over mediums, update interface name
and initialisation.
Interfaces now own their sockets. So we store a reference to the Interface
instead of the SocketSet in Scheduler and IO.
Sockets are no longer reference counted. We never called the function to
increase the socket's reference count, so now we just remove it where it
was previously released. This will result in the socket being dropped at
a different time, but I think that should be fine.

Tested firmware upload to the bootloader and spamming artiq_coremgmt log
calls to download the log from the firmware.

Signed-off-by: Michael Birtwell <michael.birtwell@oxionics.com>
2022-04-24 10:09:27 +08:00
Suthep Pomjaksilp
06ad76b6ab
applets: add progress bar applet
Signed-off-by: Suthep Pomjaksilp <pomjaksi@physik.uni-kl.de>
2022-04-22 09:27:28 +08:00
David Nadlinger
b2b84b1fd6 test: Fixup 6b5c390d4 typo 2022-04-22 00:29:03 +01:00
David Nadlinger
6b5c390d48 compiler: Fix #1871 (array() breaks math functions)
GitHub: Fixes #1871.
2022-04-22 00:12:20 +01:00
cab9d90d01 Use sipyco.keepalive
Remove the implementation of setting keepalive settings on sockets and use
the implementation from sipyco instead.

Signed-off-by: Michael Birtwell <michael.birtwell@oxionics.com>
2022-04-12 08:53:35 +08:00
Leon Riesebos
386391e3f9 browser: support datasets that use h5 group notation
Signed-off-by: Leon Riesebos <leon.riesebos@duke.edu>
2022-04-07 18:18:13 +08:00
Leon Riesebos
b5dc9fd640 browser: cleanup datasets panel for empty h5 files
this fix makes sure the datasets panel is cleared if an h5 file is empty or the datasets and archive groups are empty
2022-04-07 18:18:05 +08:00
c82c358f3a runtime: provide/fix more libc mem functions 2022-03-28 13:33:57 +08:00
723f41c78b runtime: fix EXCEPTION_ID_LOOKUP 2022-03-26 20:10:24 +08:00
866a83796a firmware: add UnwrapNoneError exception 2022-03-26 15:28:13 +08:00
Timothy Ballance
f91e106586 llvm_ir: fixed broken code in previous patch 2022-03-22 18:50:58 +08:00
Timothy Ballance
a289d69883 llvm_ir: fixed stack leak on ffi call 2022-03-22 09:00:40 +08:00
f89275b02a master: fix compiler access to source code with submit-by-content 2022-03-20 18:08:04 +08:00
65d2dd0173 fix compilation warning 2022-03-20 16:15:01 +08:00
80d412a8bf support submitting experiments by content 2022-03-20 12:58:55 +08:00
922d2b1619 drop support for big-endian moninj 2022-03-19 22:58:31 +08:00
ec1efd7af9 dashboard: connect to moninj via proxy 2022-03-19 22:50:36 +08:00
735133a2b4 artiq_dashboard: remove references to core device in moninj 2022-03-19 22:36:07 +08:00
207717c740 artiq_dashboard: fix handling of moninj comment 2022-03-19 22:33:31 +08:00
6d92e539b1 artiq_ddb_template: add aqctl_moninj_proxy 2022-03-19 22:33:03 +08:00
df1513f0e9 add aqctl_moninj_proxy to device dbs 2022-03-19 19:25:21 +08:00
d3073022ac aqctl_moninj_proxy: fix all major bugs 2022-03-19 19:06:12 +08:00
bbb2c75194 add aqctl_moninj_proxy 2022-03-18 17:02:50 +08:00
aff569b2c3 firmware: support 64-bit moninj probes 2022-03-17 19:56:07 +08:00
a159ef642d drtio: demote default routing table message to info 2022-03-16 21:22:35 +08:00
1a26eb8cf2 coredevice: only print version mismatch warning when relevant 2022-03-16 21:21:43 +08:00
e5e4d55f84 mgmt: fix config write error message 2022-03-16 08:28:31 +08:00
ebfeb1869f firmware: use &CSlice for lists 2022-03-10 16:30:22 +08:00
eb6817c8f1 compiler/transforms/llvm_ir_generator: changed list representation
The representation of TList(T) is changed from `{T*, u32}` to
`{T*, u32}*`. The old representation forbids changing the length of a
list when the list is passed as a parameter into functions, as the
length is passed by value. The representation now matches with nac3.
2022-03-10 16:30:22 +08:00
8415151866 update copyright year 2022-03-10 11:56:16 +08:00
ciciwu
9a96387dfe
phaser: fix docstring formatting (#1866) 2022-03-08 19:03:30 +08:00
b02abc2bf4 remove legacy versioning files 2022-03-06 18:30:08 +08:00
ac55da81d8 core: support precompilation of kernels 2022-03-06 18:25:18 +08:00
232f28c0e8 kern_hw: fix return type 2022-03-04 15:16:14 +08:00
51fa1b5e5e drtio: fix i2c switch 2022-03-04 15:16:14 +08:00