Skip to main content

Module codes

Module codes 

Source
Expand description

The stable diagnostic codes this slice can reach, one per message.

The ranges are reserved by stage (see the crate docs). A new message gets a new entry here; the numbers are the legacy ones, never renumbered.

Codes are data: the human renderer does not print them.

Constants§

ALL
Every code defined in this module, in declaration order.
COMPONENT_INVALID
A recipe component that cannot be built (the recipe’s default code). Legacy component codes stop at E0614; this one is free.
COMPONENT_INVALID_BUTTON
A <button> that cannot be built.
COMPONENT_INVALID_ENV
A password="env:NAME" whose variable name is not an identifier.
COMPONENT_INVALID_ID
A bus component id that cannot become a Rust identifier.
COMPONENT_INVALID_LED
An <led> that cannot be built.
COMPONENT_INVALID_PASSWORD
A password that is required but missing, or outside 8..=63 characters.
COMPONENT_INVALID_SSID
An ssid that is empty or longer than 32 bytes.
COMPONENT_INVALID_WIFI
A <wifi_station> that cannot be built (missing or invalid attribute).
COMPONENT_OPEN_WITH_PASSWORD
auth="open" written together with a password.
COMPONENT_RESERVED_ID
An id the generated code already binds (devices, ctx, __x).
COMPONENT_UNKNOWN_GPIO
An <led> referencing a gpio id that does not exist.
COMPONENT_UNKNOWN_WIFI
A <wifi_station wifi> reference to a radio that does not exist.
COMPONENT_UNSUPPORTED
A component tag no element implements.
COMPONENT_WIFI_RADIO_USED
A second <wifi_station> on one <wifi> radio.
COMPONENT_WRONG_DIRECTION
A led on an input pin.
CONFLICT_DIRECTION
One element needs an input and the other an output.
CONFLICT_I2C_ADDRESS
Two devices on one <i2c> bus sharing an address.
CONFLICT_I2C_WIRING
An <i2c> that puts sda and scl on one pin.
CONFLICT_PERIPHERAL
Two elements naming the same hardware peripheral (UART1).
CONFLICT_PIN
Two elements of different kinds on one pin.
CONFLICT_PIN_USED
A pin claimed by two elements of the same kind.
CONFLICT_RUNTIME_HELD
A peripheral the generated runtime already holds (UART0).
CONFLICT_SPI_WIRING
An <spi> that puts two of its pins on one GPIO.
CONFLICT_UART_WIRING
A <uart> that puts tx and rx on one pin.
CORE_CHIP_WITHOUT_TYPE
<chip> without a type attribute.
CORE_CONSOLE_WITHOUT_TYPE
<console> without a type attribute.
CORE_DUPLICATE_ELEMENT
The same element is written twice in # espforge.
CORE_INCOMPLETE
# espforge lacks <project>, <chip> or <runtime>.
CORE_RUNTIME_WITHOUT_TYPE
<runtime> without a type attribute.
CORE_UNKNOWN_CHIP
A chip name the catalog does not know.
CORE_UNKNOWN_CONSOLE
A console name the catalog does not know.
CORE_UNKNOWN_ELEMENT
An element the # espforge schema does not know.
CORE_UNKNOWN_RUNTIME
A runtime name the catalog does not know.
DEVICE_BUS_MODE_CONFLICT
A blocking-only and an async-only driver bound to one bus.
DEVICE_INVALID
A device that cannot be built: a missing or invalid attribute.
DEVICE_INVALID_ID
A device id that cannot become a Rust identifier.
DEVICE_REQUIRES_BLOCKING
A blocking-only display declared under the embassy runtime.
DEVICE_RESERVED_ID
A device id the generated code already binds (devices, ctx, …).
DEVICE_UNKNOWN_COMPONENT
A device’s bus reference to a component that does not exist.
DEVICE_UNKNOWN_GPIO
A device’s auxiliary pin reference to a <gpio> that does not exist.
DEVICE_UNSUPPORTED
A device tag no element implements.
DEVICE_WRONG_DIRECTION
A device’s auxiliary pin on a GPIO declared as an input.
GPIO_INVALID_DIRECTION
<gpio direction> outside input/output.
GPIO_INVALID_PIN
<gpio pin> that is not a number.
GPIO_NOT_ON_CHIP
A pin number larger than the chip has.
GPIO_NOT_OUTPUT_CAPABLE
An output claim on an input-only pin.
GPIO_RESERVED_FLASH
A claim on a pin wired to the SPI flash or PSRAM bus.
GPIO_STRAPPING
A claim on a strapping pin: the level at boot selects a boot mode.
I2C_INVALID_FREQUENCY
An <i2c frequency> that is not 100kHz-shaped.
I2C_INVALID_ID
An <i2c> id that is not i2c0, i2c1 or i2c2.
I2C_INVALID_PIN
An <i2c> pin that is not a GPIO number.
OPTION_DERIVED
An option value that cannot be set in <options>.
OPTION_INVALID_VALUE
An option value outside its declared choices.
OPTION_MUTUALLY_EXCLUSIVE
Two options in one selection group are on together.
OPTION_NO_CONSOLE
The selected console does not exist on the chip.
OPTION_REQUIRES
An option that needs another option that is off.
OPTION_UNAVAILABLE
An option that the selected chip cannot provide.
OPTION_UNKNOWN
An option name that is not in the schema.
PERIPHERAL_UNSUPPORTED
A peripheral tag no element implements.
PIN_CAPS_MISSING
A chip with no pin capability table.
SERVICE_BUFFER_TOO_SMALL
A service buffer below the minimum its protocol needs.
SERVICE_INSECURE_WARNING
<https_client insecure="true">: certificates will not be validated.
SERVICE_INVALID
A service that cannot be built: a bad id or a missing attribute.
SERVICE_REQUIRES_EMBASSY
A network service declared under the blocking runtime.
SERVICE_RESERVED_ID
A service id the generated code already binds (services, ctx, …).
SERVICE_UNKNOWN_NETWORK
A service network= reference to an interface that does not exist.
SERVICE_UNSUPPORTED
A service tag no element implements.
SPI_INVALID_FREQUENCY
An <spi frequency> that is not 100kHz-shaped.
SPI_INVALID_ID
An <spi> id other than spi2.
SPI_INVALID_MODE
An <spi mode> outside 0..=3.
SPI_INVALID_PIN
An <spi> pin that is not a GPIO number.
STRUCTURE_DUPLICATE_SECTION
Two # section blocks with the same name.
STRUCTURE_MISSING_SECTION
A required # section block is absent.
STRUCTURE_UNKNOWN_SECTION
A section outside the four-section grammar.
SYNTAX_NODE_LINE
A parser-junk line that is not a node.
SYNTAX_SECTION_HEADER
A line that should have been a # section header.
UART_INVALID_BAUD
<uart baud_rate="0">.
UART_INVALID_ID
A <uart> id that is not uart0..uart3.
UART_INVALID_PERIPHERAL
A <uart uart=> value outside UART0..UART3.
UART_INVALID_PIN
A <uart> pin that is not a GPIO number.
VALUE_KEY_KIND
A key used both as a plain value and as an object.
VALUE_MISSING_ATTRIBUTE
A required attribute is absent.
VALUE_NOT_BOOLEAN
A value that should be a boolean.
VALUE_NOT_NUMBER
A value that should be an unsigned number.
VALUE_WRONG_TYPE
An attribute value with the wrong type.
WIFI_INVALID_ID
A <wifi> whose id is missing or malformed.
WIFI_NO_RADIO
A <wifi> on a chip with no Wi-Fi radio.