wip:
This commit is contained in:
@@ -52,10 +52,13 @@ void app_main(void)
|
|||||||
encoder_init_config.a_gpio_number = GPIO_NUM_27;
|
encoder_init_config.a_gpio_number = GPIO_NUM_27;
|
||||||
encoder_init_config.b_gpio_number = GPIO_NUM_26;
|
encoder_init_config.b_gpio_number = GPIO_NUM_26;
|
||||||
// encoder_init_config.encoder_min_value = -10; // Just for example.
|
// encoder_init_config.encoder_min_value = -10; // Just for example.
|
||||||
// encoder_init_config.encoder_max_value = 10; // Just for example.
|
// encoder_init_config.encoder_max_value = 20; // Just for example.
|
||||||
// encoder_init_config.encoder_step = 0.1; // Just for example.
|
// encoder_init_config.encoder_step = 0.1; // Just for example.
|
||||||
encoder_init_config.encoder_number = 1;
|
encoder_init_config.encoder_number = 1;
|
||||||
zh_encoder_init(&encoder_init_config, &encoder_handle);
|
zh_encoder_init(&encoder_init_config, &encoder_handle);
|
||||||
|
double position = 0;
|
||||||
|
zh_encoder_get(&encoder_handle, &position);
|
||||||
|
printf("Encoder position %0.2f.\n", position); // For ESP8266 first disable "Component config -> Newlib -> Enable ‘nano’ formatting options for printf/scanf family" via menuconfig.
|
||||||
// zh_encoder_set(&encoder_handle, 5); // Just for example.
|
// zh_encoder_set(&encoder_handle, 5); // Just for example.
|
||||||
// zh_encoder_reset(&encoder_handle); // Just for example.
|
// zh_encoder_reset(&encoder_handle); // Just for example.
|
||||||
}
|
}
|
||||||
@@ -63,6 +66,6 @@ void app_main(void)
|
|||||||
void zh_encoder_event_handler(void *arg, esp_event_base_t event_base, int32_t event_id, void *event_data)
|
void zh_encoder_event_handler(void *arg, esp_event_base_t event_base, int32_t event_id, void *event_data)
|
||||||
{
|
{
|
||||||
zh_encoder_event_on_isr_t *event = event_data;
|
zh_encoder_event_on_isr_t *event = event_data;
|
||||||
printf("Encoder number %d position %.2f.\n", event->encoder_number, event->encoder_position);
|
printf("Encoder number %d position %.2f.\n", event->encoder_number, event->encoder_position); // For ESP8266 first disable "Component config -> Newlib -> Enable ‘nano’ formatting options for printf/scanf family" via menuconfig.
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -83,6 +83,16 @@ extern "C"
|
|||||||
*/
|
*/
|
||||||
esp_err_t zh_encoder_set(zh_encoder_handle_t *handle, double position);
|
esp_err_t zh_encoder_set(zh_encoder_handle_t *handle, double position);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Get encoder position.
|
||||||
|
*
|
||||||
|
* @param[in] handle Pointer to unique encoder handle.
|
||||||
|
* @param[out] position Encoder position.
|
||||||
|
*
|
||||||
|
* @return ESP_OK if success or an error code otherwise.
|
||||||
|
*/
|
||||||
|
esp_err_t zh_encoder_get(const zh_encoder_handle_t *handle, double *position);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Reset encoder position.
|
* @brief Reset encoder position.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -80,6 +80,15 @@ esp_err_t zh_encoder_set(zh_encoder_handle_t *handle, double position)
|
|||||||
return ESP_OK;
|
return ESP_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
esp_err_t zh_encoder_get(const zh_encoder_handle_t *handle, double *position)
|
||||||
|
{
|
||||||
|
ZH_ENCODER_LOGI("Encoder get position started.");
|
||||||
|
ZH_ENCODER_CHECK(handle->is_initialized == true, ESP_FAIL, "Encoder get position failed. Encoder not initialized.");
|
||||||
|
*position = handle->encoder_position;
|
||||||
|
ZH_ENCODER_LOGI("Encoder get position completed successfully.");
|
||||||
|
return ESP_OK;
|
||||||
|
}
|
||||||
|
|
||||||
esp_err_t zh_encoder_reset(zh_encoder_handle_t *handle)
|
esp_err_t zh_encoder_reset(zh_encoder_handle_t *handle)
|
||||||
{
|
{
|
||||||
ZH_ENCODER_LOGI("Encoder reset started.");
|
ZH_ENCODER_LOGI("Encoder reset started.");
|
||||||
|
|||||||
Reference in New Issue
Block a user