Skip to content

nRF52 syscfg.restrictions bug #3273

@Uks2

Description

@Uks2

The nRF52 syscfg (mcu/nordic/nrf52xxx/syscfg.yml) has a load of restrictions on it serial peripherals, e.g. "!I2C_0 || (I2C_0_PIN_SCL && I2C_0_PIN_SDA)", aiming, presumably, the make sure that any enabled peripheral has it required pins configured.

It seems though that the settings are being evaluated numerically, i.e. the default empty string is true, but a value of 0 is false. This means that this setting passes through fine:

syscfg.vals:
    I2C_0: 1
    # I2C_0_PIN_SCL: "" (default)
    # I2C_0_PIN_SDA: "" (default)

but this will generate an error:

syscfg.vals:
    I2C_0: 1
    I2C_0_PIN_SCL: 0
    I2C_0_PIN_SDA: 1

I've tried changing the conditions to "... I2C_0_PIN_SCL != \"\" ..." with various different quote characters / methods of escaping, but couldn't find anything that tested the condition properly. So someone who knows a bit more about newt internals might have to take a look at it.

Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions