m-labs / artiq

A leading-edge control system for quantum information experiments
https://m-labs.hk/artiq
GNU Lesser General Public License v3.0
414 stars 192 forks source link

Make EFC firmware build from JSON, instead of CLI arguments #2415

Closed thomasfire closed 1 month ago

thomasfire commented 1 month ago

ARTIQ Pull Request

Description of Changes

Make EFC firmware build from JSON, instead of CLI arguments.

Related Issue

Closes #2405

Type of Changes

Type
:sparkles: New feature

Steps

Tested by building with python -m artiq.gateware.targets.efc efct.json. The efct.json file:

{
    "target": "efc",
    "min_artiq_version": "7.0",
    "variant": "shuttler_test",
    "hw_rev": "v1.1",
    "peripherals": []
}

All Pull Requests

Licensing

See copyright & licensing for more info. ARTIQ files that do not contain a license header are copyrighted by M-Labs Limited and are licensed under LGPLv3+.

sbourdeauducq commented 1 month ago

How does this fit into AFWS? Obviously the purpose of doing this is to support our customers with EFC/Shuttler firmware builds for their systems.

thomasfire commented 1 month ago

How does this fit into AFWS? Obviously the purpose of doing this is to support our customers with EFC/Shuttler firmware builds for their systems.

python -m artiq.gateware.targets.efc efct.json?

sbourdeauducq commented 1 month ago

The entries for shuttler are already in the JSON with another format, which just currently lacks the hardware revision and/or its handling. Whether they need to be handled in ARTIQ or AFWS is a question that should be explored. The current EFC build system does not really need JSON, command line arguments are enough.

sbourdeauducq commented 1 month ago

python -m artiq.gateware.targets.efc efct.json

AFWS is not currently capable of running this anyway.