Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide JSON list of supported targets via CLI command #101

Open
navnavnav opened this issue Feb 12, 2024 · 2 comments
Open

Provide JSON list of supported targets via CLI command #101

navnavnav opened this issue Feb 12, 2024 · 2 comments
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@navnavnav
Copy link
Member

Given all the changes I've made to Bloom's TDF format and the way TDFs are handled, we can now easily present a list of all supported targets and their respective configuration values, in a machine readable format.

This should work similar to the --version-machine CLI command.

I'm going to implement this in the RISC-V branch (as that's where the TDF changes currently reside).

This is a small change, so it will likely be included in v1.1.0.

@navnavnav navnavnav added the enhancement New feature or request label Feb 12, 2024
@navnavnav navnavnav added this to the v1.1.0 milestone Feb 12, 2024
@navnavnav navnavnav self-assigned this Feb 12, 2024
@navnavnav
Copy link
Member Author

This is pretty much done. The new --target-list-machine command will list all targets supported by the Bloom binary:

$ bloom --target-list-machine
[
    {
        "configurationValue": "at90can128",
        "family": "AVR8",
        "name": "AT90CAN128"
    },
    {
        "configurationValue": "at90can32",
        "family": "AVR8",
        "name": "AT90CAN32"
    },
    {
        "configurationValue": "at90can64",
        "family": "AVR8",
        "name": "AT90CAN64"
    },
    {
        "configurationValue": "at90usb82",
        "family": "AVR8",
        "name": "AT90USB82"
    },
    {
        "configurationValue": "atmega128",
        "family": "AVR8",
        "name": "ATmega128"
    },
    {
        "configurationValue": "atmega1280",
        "family": "AVR8",
        "name": "ATmega1280"
    },
    {
        "configurationValue": "atmega1281",
        "family": "AVR8",
        "name": "ATmega1281"
    } ...
]

Still need to do some testing before I can close this.

@navnavnav
Copy link
Member Author

navnavnav commented Feb 12, 2024

Changed the command to --capabilities-machine, so that I can extend with other capabilities when necessary.

Also added the insight boolean flag to indicate whether the build includes the Insight GUI.

$ bloom --capabilities-machine
{
    "insight": false,
    "targets": [
        {
            "configurationValue": "at90can128",
            "family": "AVR8",
            "name": "AT90CAN128"
        },
        {
            "configurationValue": "at90can32",
            "family": "AVR8",
            "name": "AT90CAN32"
        },
        {
            "configurationValue": "at90can64",
            "family": "AVR8",
            "name": "AT90CAN64"
        },
        {
            "configurationValue": "atmega165pa",
            "family": "AVR8",
            "name": "ATmega165PA"
        },
        {
            "configurationValue": "atmega168",
            "family": "AVR8",
            "name": "ATmega168"
        },
        {
            "configurationValue": "atmega168a",
            "family": "AVR8",
            "name": "ATmega168A"
        },
        {
            "configurationValue": "atmega168p",
            "family": "AVR8",
            "name": "ATmega168P"
        },
        {
            "configurationValue": "atmega168pa",
            "family": "AVR8",
            "name": "ATmega168PA"
        },
        {
            "configurationValue": "atmega168pb",
            "family": "AVR8",
            "name": "ATmega168PB"
        },
        {
            "configurationValue": "atmega169a",
            "family": "AVR8",
            "name": "ATmega169A"
        },
        {
            "configurationValue": "atmega169p",
            "family": "AVR8",
            "name": "ATmega169P"
        }
        ...
    ]
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Development

No branches or pull requests

1 participant