Skip to main content

Attributes

Attributes are input parameters that the user can set in diagram.json. You can also define a controls section in the .chip.json file to let the user edit these parameters interactively during the simulation. This is particularly useful for sensor inputs (e.g. temperature, humidity, etc.).

Naming​

When naming your attributes, please follow the following conventions:

  • Use camelCase for attribute names
  • Use American English spelling (e.g. color and not colour)

uint32_t attr_init(const char *name, uint32_t default_value)​

Defines a new integer attribute with the given name. The default_value will be used when the user does not define a value for the attribute in diagram.json (under the attrs section of the custom chip part).

The function returns a handle to the attribute, which can be accessed using attr_read().

warning

Note: attr_init can only be called from chip_init(). Do not call it at a later time.

uint32_t attr_init_float(const char *name, float default_value)​

Defines a new floating point attribute with the given name. See attr_init() for more info.

warning

Note: attr_init_float can only be called from chip_init(). Do not call it at a later time.

uint32_t attr_read(uint32_t attr)​

Returns the current value of the attribute. attr should be a valid attribute handle, previously returned by attr_init().

float attr_read_float(uint32_t attr)​

Returns the current value of the attribute. attr should be a valid attribute handle, previously returned by attr_init_float().

Simulator Examples​