Commit Graph

8381 Commits

Author SHA1 Message Date
Michael Birtwell 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
Michael Birtwell 1fe59d27dc Use an Ipv4AddrConfig enum instead of the USE_DHCP constant 2022-04-24 10:10:43 +08:00
Michael Birtwell 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
Michael Birtwell 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
Michael Birtwell 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
Michael Birtwell 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
mwojcik 86142db56b artiq_sinara_tester: fix urukul rf switch 2022-04-22 11:03:57 +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
David Nadlinger 2cb08814e8 flake: Add compiler test prerequisites to devShell
Useful while working on the legacy compiler.
2022-04-21 23:47:23 +01:00
Sebastien Bourdeauducq 58b59b99ff flake: update dependencies 2022-04-19 11:04:49 +08:00
Sebastien Bourdeauducq 4e7b1c76cc flake: nix2.5 metadata 2022-04-19 00:10:39 +08:00
Sebastien Bourdeauducq 09f8f9f8bf flake: update NAC3 2022-04-19 00:04:33 +08:00
Sebastien Bourdeauducq efea248b69 flake: use NAC3 PGO build 2022-04-19 00:04:21 +08:00
Sebastien Bourdeauducq dd57fdc530 flake: update NAC3 2022-04-18 18:53:54 +08:00
Sebastien Bourdeauducq 89aa3a3d9d sim/devices: port to NAC3 2022-04-12 16:01:56 +08:00
Sebastien Bourdeauducq 125572b553 language: reimplement sim 2022-04-12 16:01:39 +08:00
Sebastien Bourdeauducq 83676927b5 examples/simple_simulation: fix 2022-04-12 15:59:20 +08:00
Sebastien Bourdeauducq c171deec51 sim: improve formatting 2022-04-12 15:58:54 +08:00
Sebastien Bourdeauducq 0978cd0e35 Merge branch 'master' into nac3 2022-04-12 09:19:59 +08:00
Sebastien Bourdeauducq 5041e5f6bd flake: update dependencies 2022-04-12 09:15:48 +08:00
Sebastien Bourdeauducq fa3ee8ad23 flake: update sipyco 2022-04-12 08:54:58 +08:00
Michael Birtwell 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
Sebastien Bourdeauducq dc00f811e2 flake: update dependencies 2022-04-10 08:34:54 +08:00
Sebastien Bourdeauducq 0a029748ee flake: update dependencies 2022-04-09 17:24:44 +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
Sebastien Bourdeauducq 9b910679f8 doc: MSYS2 2022-04-05 18:22:59 +08:00
Sebastien Bourdeauducq 176490a083 windows: fix more setuptools problems 2022-04-05 18:04:49 +08:00
Sebastien Bourdeauducq f704f3daa4 update sipyco 2022-04-05 17:35:58 +08:00
Sebastien Bourdeauducq 13e38913ea windows: work around cretinous setuptools problems (3) 2022-04-05 17:23:52 +08:00
Sebastien Bourdeauducq d75f41f8d2 windows: work around cretinous setuptools problems (2) 2022-04-05 17:13:28 +08:00
Sebastien Bourdeauducq a700c2c4e4 windows: depend on artiq-comtools 2022-04-05 17:10:57 +08:00
Sebastien Bourdeauducq ae5c64619a windows: work around cretinous setuptools problems 2022-04-05 17:07:26 +08:00
Sebastien Bourdeauducq 29c8e3958d windows: depend on qasync 2022-04-05 17:02:26 +08:00
Sebastien Bourdeauducq 113a36a9c0 windows: package qasync 2022-04-05 16:38:04 +08:00
Sebastien Bourdeauducq 64b56077cd windows: package pyqtgraph 2022-04-05 16:26:08 +08:00
Sebastien Bourdeauducq dfb2908d09 windows: clean up easy-install pollution 2022-04-05 11:32:00 +08:00
Sebastien Bourdeauducq 5bc2cf6cc2 windows: add NAC3 to MSYS2 repos 2022-04-05 10:55:52 +08:00
Sebastien Bourdeauducq 0f09bfc3c2 flake: add msys2-repos to hydra 2022-04-05 10:48:36 +08:00
Sebastien Bourdeauducq 73edc01fc6 windows: create msys2 repos 2022-04-05 10:40:52 +08:00
Sebastien Bourdeauducq 546c0ed2c5 windows: set package dependencies 2022-04-05 10:27:47 +08:00
Sebastien Bourdeauducq a4bdc6c9cb build MSYS2 packages 2022-04-05 10:12:29 +08:00
Sebastien Bourdeauducq 724fc62925 setup.py: stop checking for dependencies 2022-04-05 10:12:15 +08:00
Sebastien Bourdeauducq 34f3862558 update NAC3 2022-03-30 08:43:08 +08:00
Sebastien Bourdeauducq b1cfd343eb update NAC3 2022-03-29 08:49:43 +08:00
Sebastien Bourdeauducq 69cda517f6 Merge branch 'master' into nac3 2022-03-28 13:41:17 +08:00
Sebastien Bourdeauducq c82c358f3a runtime: provide/fix more libc mem functions 2022-03-28 13:33:57 +08:00
Sebastien Bourdeauducq 1a3607564b urukul: support dds_reset and sync options 2022-03-27 18:02:36 +08:00