Commit Graph

8837 Commits

Author SHA1 Message Date
5bbac04bef coredevice: use new nac3 binary shift typing rules 2023-11-11 11:08:52 +08:00
42a9cc725b flake: update dependencies 2023-11-08 17:30:55 +08:00
4fa0419c82 core: Add legacy_parallel
Signed-off-by: David Mak <csdavidmak@ust.hk>
2023-11-04 13:44:51 +08:00
f3655aa084 flake: update nac3 2023-11-04 13:44:23 +08:00
c1574ef7fe flake: update nixpkgs 2023-11-01 17:43:16 +08:00
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
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
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
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
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
700a20ad08 flake: update dependencies 2023-10-28 03:50:03 +08:00
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
313449f2bd Merge branch 'master' into nac3 2023-10-06 15:15:27 +08:00
1fb5ecf7ed flake: update dependencies 2023-10-06 14:56:57 +08:00
0131a8bef2 shuttler: cleanup 2023-10-06 14:55:51 +08:00
d96dc11b25 shuttler: use scheduler 2023-10-06 14:41:26 +08:00
24c3a2fd0a shuttler: port to NAC3 2023-10-06 14:40:53 +08:00
e63e2a2897 artiq_ddb_template: better satellite formatting 2023-10-06 13:01:57 +08:00
fc082b62de Merge branch 'master' into nac3 2023-10-06 12:17:19 +08:00
f89f775c91 flake: update dependencies 2023-10-05 18:03:34 +08:00
47fc640f75 applets: rename 'ctl' attribute to 'req' 2023-10-05 12:32:01 +08:00
bb7caacb5f RELEASE_NOTES: applet API extensions 2023-10-05 12:32:01 +08:00
da9f7cb58a applet extensions documentation 2023-10-05 12:32:01 +08:00
43926574da shuttler: remove sdm constants 2023-10-05 07:40:00 +08:00
4f3e58db52 gui.applets: add EntryArea 2023-10-04 15:35:52 +08:00
13271cea64
gui: remove copies of _WheelFilter and refactor with parameter 2023-10-04 13:35:01 +08:00
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
a772dee1cc shuttler: change 0th order accumulator width
It now truncates the LSBs instead of the MSBs.
2023-09-29 10:09:39 +08:00
bafb85a274 custom_applet: change constructor, data_changed signatures 2023-09-28 10:35:14 +01:00
0e8aa33979 core: separate master target from compilation 2023-09-28 10:41:55 +08:00
fcf6c90ba2 ddb_template: support different satellite targets 2023-09-28 10:41:55 +08:00
0c1b572872 Shuttler: Correct spelling and grammar in docs 2023-09-27 17:29:16 +08:00
ab0d4c41c3 Shuttler: pdq, efc->shuttler pdq_words->coef_words 2023-09-27 17:29:16 +08:00
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
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
eedac7cf71 Shuttler: Patch ddb entries in the example code 2023-09-26 12:20:26 +08:00
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
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
36b3678853 satman: fix ddma reporting wrong destination 2023-09-22 10:25:37 +08:00
af77885dfc rtio_mgt: fix drtio reset on standalone 2023-09-22 09:46:40 +08:00
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
40ac2e03ab set_argument_value in applets 2023-09-21 16:26:11 +08:00
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
5c64eac8d2 relay: fix naming 2023-09-19 18:49:20 +08:00
477a7b693c remove debug for converter 2023-09-19 18:49:20 +08:00