wip:
This commit is contained in:
		| @@ -23,6 +23,33 @@ extern "C" | ||||
| { | ||||
| #endif | ||||
|  | ||||
|     typedef int32_t rotary_encoder_position_t; | ||||
|  | ||||
|     // /** | ||||
|     //  * @brief Enum representing the direction of rotation. | ||||
|     //  */ | ||||
|     typedef enum | ||||
|     { | ||||
|         ROTARY_ENCODER_DIRECTION_NOT_SET = 0, ///< Direction not yet known (stationary since reset) | ||||
|         ROTARY_ENCODER_DIRECTION_CLOCKWISE, | ||||
|         ROTARY_ENCODER_DIRECTION_COUNTER_CLOCKWISE, | ||||
|     } rotary_encoder_direction_t; | ||||
|  | ||||
| // // Used internally | ||||
| // ///@cond INTERNAL | ||||
| #define TABLE_COLS 4 | ||||
|     typedef uint8_t table_row_t[TABLE_COLS]; | ||||
|     // ///@endcond | ||||
|  | ||||
|     // /** | ||||
|     //  * @brief Struct represents the current state of the device in terms of incremental position and direction of last movement | ||||
|     //  */ | ||||
|     typedef struct | ||||
|     { | ||||
|         rotary_encoder_position_t position;   ///< Numerical position since reset. This value increments on clockwise rotation, and decrements on counter-clockewise rotation. Counts full or half steps depending on mode. Set to zero on reset. | ||||
|         rotary_encoder_direction_t direction; ///< Direction of last movement. Set to NOT_SET on reset. | ||||
|     } rotary_encoder_state_t; | ||||
|  | ||||
|     typedef struct // Structure for initial initialization of encoder. | ||||
|     { | ||||
|         uint8_t task_priority;     // Task priority for the encoder isr processing. @note It is not recommended to set a value less than 10. | ||||
| @@ -47,6 +74,9 @@ extern "C" | ||||
|         uint8_t encoder_number;    // Encoder unique number. | ||||
|         bool is_initialized;       // Encoder initialization flag. | ||||
|  | ||||
|         const table_row_t *table;              ///< Pointer to active state transition table | ||||
|         uint8_t table_state;                   ///< Internal state | ||||
|         volatile rotary_encoder_state_t state; ///< Device state | ||||
|     } zh_encoder_handle_t; | ||||
|  | ||||
|     ESP_EVENT_DECLARE_BASE(ZH_ENCODER); | ||||
| @@ -115,9 +145,9 @@ extern "C" | ||||
|  | ||||
| // typedef int32_t rotary_encoder_position_t; | ||||
|  | ||||
| // /** | ||||
| //  * @brief Enum representing the direction of rotation. | ||||
| //  */ | ||||
| // // /** | ||||
| // //  * @brief Enum representing the direction of rotation. | ||||
| // //  */ | ||||
| // typedef enum | ||||
| // { | ||||
| //     ROTARY_ENCODER_DIRECTION_NOT_SET = 0,        ///< Direction not yet known (stationary since reset) | ||||
| @@ -125,15 +155,15 @@ extern "C" | ||||
| //     ROTARY_ENCODER_DIRECTION_COUNTER_CLOCKWISE, | ||||
| // } rotary_encoder_direction_t; | ||||
|  | ||||
| // // Used internally | ||||
| // ///@cond INTERNAL | ||||
| // // // Used internally | ||||
| // // ///@cond INTERNAL | ||||
| // #define TABLE_COLS 4 | ||||
| // typedef uint8_t table_row_t[TABLE_COLS]; | ||||
| // ///@endcond | ||||
| // // ///@endcond | ||||
|  | ||||
| // /** | ||||
| //  * @brief Struct represents the current state of the device in terms of incremental position and direction of last movement | ||||
| //  */ | ||||
| // // /** | ||||
| // //  * @brief Struct represents the current state of the device in terms of incremental position and direction of last movement | ||||
| // //  */ | ||||
| // typedef struct | ||||
| // { | ||||
| //     rotary_encoder_position_t position;    ///< Numerical position since reset. This value increments on clockwise rotation, and decrements on counter-clockewise rotation. Counts full or half steps depending on mode. Set to zero on reset. | ||||
|   | ||||
		Reference in New Issue
	
	Block a user