Skip to content

Clarify thread_safe metadata for encoder component #9

@cleishm

Description

@cleishm

The .eil.yml for the encoder component has thread_safe: yes, but the API doesn't appear to be thread-safe in the traditional sense.

Functions like rotary_encoder_enable_acceleration() and rotary_encoder_disable_acceleration() mutate encoder state that is also read by the timer callback, without any synchronization. This has been the case since before the recent refactoring.

Should thread_safe be changed to no, or should synchronization be added to the public API functions? Happy to submit a PR either way.

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions