Commit Graph

8834 Commits

Author SHA1 Message Date
Sebastien Bourdeauducq f3655aa084 flake: update nac3 2023-11-04 13:44:23 +08:00
Sebastien Bourdeauducq c1574ef7fe flake: update nixpkgs 2023-11-01 17:43:16 +08:00
David Mak 4784a42030 test_analyzer: Enable test_ttl_pulse test case
Now that the issue is fixed.

Signed-off-by: David Mak <csdavidmak@ust.hk>
2023-11-01 15:47:51 +08:00
David Mak c0d79a0ce2 embedding_map: Update exception list to match NAC3
Signed-off-by: David Mak <csdavidmak@ust.hk>
2023-11-01 13:29:47 +08:00
David Mak e60d5cab05 artiq_sinara_tester: Fix NAC3 compilation failures
- Fix incorrect types for bin-op/function call
- Explicitly invoke exception constructor for raise statement

Signed-off-by: David Mak <csdavidmak@ust.hk>
2023-10-30 08:15:36 +01:00
David Mak d0a3ba2bc0 artiq_sinara_tester: Refactor Almazny to AlmaznyLegacy
The class was renamed in 45cd438fb8.

Signed-off-by: David Mak <csdavidmak@ust.hk>
2023-10-30 08:15:36 +01:00
Florian Agbuya 92391c4763 flake: fix and upgrade wavedrom (closes #2266)
Signed-off-by: Florian Agbuya <fa@m-labs.ph>
2023-10-30 07:29:41 +01:00
Sebastien Bourdeauducq 700a20ad08 flake: update dependencies 2023-10-28 03:50:03 +08:00
David Mak fa5666fb0d docs: Add instructions to run with custom NAC3
Signed-off-by: David Mak <csdavidmak@ust.hk>
2023-10-16 09:07:27 +02:00
Sebastien Bourdeauducq 313449f2bd Merge branch 'master' into nac3 2023-10-06 15:15:27 +08:00
Sebastien Bourdeauducq 1fb5ecf7ed flake: update dependencies 2023-10-06 14:56:57 +08:00
Sebastien Bourdeauducq 0131a8bef2 shuttler: cleanup 2023-10-06 14:55:51 +08:00
Sebastien Bourdeauducq d96dc11b25 shuttler: use scheduler 2023-10-06 14:41:26 +08:00
Sebastien Bourdeauducq 24c3a2fd0a shuttler: port to NAC3 2023-10-06 14:40:53 +08:00
mwojcik e63e2a2897 artiq_ddb_template: better satellite formatting 2023-10-06 13:01:57 +08:00
Sebastien Bourdeauducq fc082b62de Merge branch 'master' into nac3 2023-10-06 12:17:19 +08:00
Sebastien Bourdeauducq f89f775c91 flake: update dependencies 2023-10-05 18:03:34 +08:00
Simon Renblad 47fc640f75 applets: rename 'ctl' attribute to 'req' 2023-10-05 12:32:01 +08:00
Simon Renblad bb7caacb5f RELEASE_NOTES: applet API extensions 2023-10-05 12:32:01 +08:00
Simon Renblad da9f7cb58a applet extensions documentation 2023-10-05 12:32:01 +08:00
occheung 43926574da shuttler: remove sdm constants 2023-10-05 07:40:00 +08:00
Simon Renblad 4f3e58db52 gui.applets: add EntryArea 2023-10-04 15:35:52 +08:00
Simon Renblad 13271cea64
gui: remove copies of _WheelFilter and refactor with parameter 2023-10-04 13:35:01 +08:00
occheung 0e8fa8933f shuttler: init sigma-delta modulator 2023-09-30 11:51:43 +08:00
David Nadlinger 2eb89cb168 dashboard: Fix occasional "unexpected action" applet errors on startup
This turned out to be a race between the dashboard's dataset db
subscriber being initialised and the applet "embed" request, with
artiq.applet.simple not being able to handle the unexpected "mod"
message. We were only handling the other ordering outcome of this
race before.
2023-09-30 00:27:25 +01:00
occheung a772dee1cc shuttler: change 0th order accumulator width
It now truncates the LSBs instead of the MSBs.
2023-09-29 10:09:39 +08:00
Simon Renblad bafb85a274 custom_applet: change constructor, data_changed signatures 2023-09-28 10:35:14 +01:00
mwojcik 0e8aa33979 core: separate master target from compilation 2023-09-28 10:41:55 +08:00
mwojcik fcf6c90ba2 ddb_template: support different satellite targets 2023-09-28 10:41:55 +08:00
linuswck 0c1b572872 Shuttler: Correct spelling and grammar in docs 2023-09-27 17:29:16 +08:00
linuswck ab0d4c41c3 Shuttler: pdq, efc->shuttler pdq_words->coef_words 2023-09-27 17:29:16 +08:00
Jonathan Coates 6eb81494c5 Allow using Python types in type annotations
This maps basic Python types (float, str, bool, np.int32, np.int64) as well as
some generics (list, tuple) to ARTIQ's own type instances.

Signed-off-by: Jonathan Coates <jonathan.coates@oxionics.com>
2023-09-26 23:46:43 +01:00
Jonathan Coates 586d97c6cb Fix type annotations with mixed tuples
The type checker/inferer visits every node in an AST tree, including
function return annotations. This means for a function definition like

    def f() -> TTuple([TInt32, TBool]):
      ...

We attempt to type check the list [TInt32, TBool], which generates the
unification constraint builtins.TBool ~ builtins.TInt. This causes an
internal error due to compiler weirdness.

We can avoid this by just nulling-out the return annotation in the
embedding stage. The return type isn't actually used anywhere (it's
extracted via the inspect module instead), so this is entirely safe.

Arguments aren't affected by this, as we already nulled out the
annotation (see visit_arg in embedding.py).

Signed-off-by: Jonathan Coates <jonathan.coates@oxionics.com>
2023-09-26 23:43:01 +01:00
David Nadlinger 892b0eaca2 compiler: Fix crash on multiple types with the same name
The original fix in 21574bdfa9
was incomplete, as it only addressed the TInstance types, but
not their linked (typ.constructor) TConstructor instances.

This would (potentially among other issues) cause assertion
errors in llvm_ir_generator due to the wrong associated globals
being referenced; see added test case for an example that
previously caused such a crash.

Also modified the name collision detection from O(len(type_map))
(so quadratic overall in the number of custom types) to cache
names in sets for O(1) lookup.
2023-09-26 23:31:21 +01:00
linuswck eedac7cf71 Shuttler: Patch ddb entries in the example code 2023-09-26 12:20:26 +08:00
linuswck a61bbf5618 Shuttler: Replace ddb with json for the example 2023-09-26 12:20:26 +08:00
occheung b7b8f0efa2
Generate coredevice entries for Shuttler (#2216)
* ddb: generate shuttler coredevice entries

* ddb: split-off all DRTIO-over-EEM peripherals

Only EFC uses DRTIO-over-EEM at this moment. It will be relevant to phaser-DRTIO in the future.

* ddb: generalize efc processing into drtio-over-eem peripherals

* ddb: check DRTIO role validity before processing
2023-09-26 09:44:21 +08:00
occheung b52f253dbd
Simplify OOB reset by clock division (#2217)
* oob: simply logic by dividing into clk100

* replace clk100 clk ctrl with clk200 async reset

* fix comment (singular/plural)

* oob reset: invoke platform commands locally

* cleanup

* oob reset: add async reset import

* fix duplicated comment
2023-09-26 08:02:49 +08:00
occheung 73ab71f443
shuttler: add documentation 2023-09-25 17:47:47 +08:00
linuswck ab8247b3d7 Shuttler: Add coredevice example code for Shuttler
This example code:
    - Demonstrates the init flow for Shuttler
    - Blinks LED L0, L1
    - Demonstrates the real-time control of relay
    - Includes example fns for configuring the PDQ Output Channel in mu
2023-09-25 14:56:47 +08:00
mwojcik 36b3678853 satman: fix ddma reporting wrong destination 2023-09-22 10:25:37 +08:00
mwojcik af77885dfc rtio_mgt: fix drtio reset on standalone 2023-09-22 09:46:40 +08:00
mwojcik eb57b3b393 drtio: async messages become synchronous
They are now a reply for DestinationStatusRequest.
This prevents gateware errors and lost packets if the receiver is busy.
2023-09-21 16:30:00 +08:00
Simon Renblad 40ac2e03ab set_argument_value in applets 2023-09-21 16:26:11 +08:00
occheung a2fbcb8bfd pre-dac gain/offsets: detect overflow & underflow
And output maximum / minimum DAC code when over/underflow
2023-09-19 18:49:20 +08:00
occheung 5c64eac8d2 relay: fix naming 2023-09-19 18:49:20 +08:00
occheung 477a7b693c remove debug for converter 2023-09-19 18:49:20 +08:00
occheung f2694f25eb re-impl ADC using general access methods 2023-09-19 18:49:20 +08:00
occheung 9e1447d104 adc: implement standby & power-down/up 2023-09-19 18:49:20 +08:00
occheung 870020bc9f adc: use a generous upper bound 2023-09-19 18:49:20 +08:00