ls7366r - Driver for LSI LS7366R quadrature counter¶
- group ls7366r
ESP-IDF driver for LS7366R Quadrature Encoder Counter.
Datasheet: https://lsicsi.com/datasheets/LS7366R.pdf
Copyright (c) 2021 Joshua Kallus joshk.kallus3@gmail.com
MIT Licensed as described in the file LICENSE
Defines
-
LS7366R_MAX_CLOCK_SPEED_HZ¶
Enums
-
enum ls7366r_count_type_t¶
Counter type.
Values:
-
enumerator LS7366R_NON_QUAD¶
-
enumerator LS7366R_1x_QUAD¶
-
enumerator LS7366R_2x_QUAD¶
-
enumerator LS7366R_4X_QUAD¶
-
enumerator LS7366R_NON_QUAD¶
-
enum ls7366r_count_mode_t¶
Count mode.
Values:
-
enumerator LS7366R_FREE_RUN¶
-
enumerator LS7366R_SINGLE_COUNT¶
-
enumerator LS7366R_RANGE_LIMIT¶
-
enumerator LS7366R_N_MODULO¶
-
enumerator LS7366R_FREE_RUN¶
-
enum ls7366r_index_mode_t¶
Index mode.
Values:
-
enumerator LS7366R_INDEX_DISABLED¶
-
enumerator LS7366R_INDEX_LOAD_CNTR¶
-
enumerator LS7366R_INDEX_RESET_CNTR¶
-
enumerator LS7366R_INDEX_LOAD_OTR¶
-
enumerator LS7366R_INDEX_DISABLED¶
-
enum ls7366r_index_sync_t¶
Index sync or async.
Values:
-
enumerator LS7366R_INDEX_SYNCHRONOUS¶
-
enumerator LS7366R_INDEX_ASYNCHRONOUS¶
-
enumerator LS7366R_INDEX_SYNCHRONOUS¶
-
enum ls7366r_counter_bits_t¶
Counter bits.
Values:
-
enumerator LS7366R_8_BIT¶
-
enumerator LS7366R_16_BIT¶
-
enumerator LS7366R_24_BIT¶
-
enumerator LS7366R_32_BIT¶
-
enumerator LS7366R_8_BIT¶
-
enum ls7366r_filter_clock_divider_t¶
Counter clock divider.
Values:
-
enumerator LS7366R_FILTER_CLK_1¶
-
enumerator LS7366R_FILTER_CLK_2¶
-
enumerator LS7366R_FILTER_CLK_1¶
-
enum ls7366r_counter_enable_t¶
Counter enable.
Values:
-
enumerator LS7366R_COUNTER_ENABLE¶
-
enumerator LS7366R_COUNTER_DISABLE¶
-
enumerator LS7366R_COUNTER_ENABLE¶
-
enum ls7366r_flag_carry_mode_t¶
Counter flag carry mode.
Values:
-
enumerator LS7366R_FLAG_CARRY_ENABLE¶
-
enumerator LS7366R_FLAG_CARRY_DISABLE¶
-
enumerator LS7366R_FLAG_CARRY_ENABLE¶
-
enum ls7366r_flag_borrow_mode_t¶
Counter flag borrow mode.
Values:
-
enumerator LS7366R_FLAG_BORROW_ENABLE¶
-
enumerator LS7366R_FLAG_BORROW_DISABLE¶
-
enumerator LS7366R_FLAG_BORROW_ENABLE¶
Functions
-
esp_err_t ls7366r_init_desc(ls7366r_t *dev, spi_host_device_t host, uint32_t clock_speed_hz, gpio_num_t cs_pin)¶
Initialize device descriptor.
- Parameters
dev – Device descriptor
host – SPI host
clock_speed_hz – SPI clock speed, Hz
cs_pin – CS GPIO number
- Returns
ESP_OK
on success
-
esp_err_t ls7366r_free_desc(ls7366r_t *dev)¶
Free device descriptor.
- Parameters
dev – Device descriptor
- Returns
ESP_OK
on success
-
esp_err_t ls7366r_set_config(ls7366r_t *dev, const ls7366r_config_t *config)¶
Configure device.
- Parameters
dev – Device descriptor
config – Configuration
- Returns
ESP_OK
on success
-
esp_err_t ls7366r_get_count(ls7366r_t *dev, int32_t *count)¶
Get current count.
- Parameters
dev – Device descriptor
count – Count variable
- Returns
ESP_OK
on success
-
esp_err_t ls7366r_set_compare_val(ls7366r_t *dev, int32_t cmp)¶
set value for compare
- Parameters
dev – Device descriptor
cmp – Compare value
- Returns
ESP_OK
on success
Variables
-
ls7366r_flag_borrow_mode_t borrow¶
-
ls7366r_flag_compare_enable_t compare¶
-
spi_device_interface_config_t spi_cfg¶
-
spi_device_handle_t spi_dev¶
-
ls7366r_flag_mode_t flag_mode¶
-
ls7366r_counter_enable_t counter_enable¶
-
ls7366r_counter_bits_t counter_bits¶
-
ls7366r_filter_clock_divider_t filter_clock_divider¶
-
ls7366r_index_sync_t index_sync¶
-
ls7366r_index_mode_t index_mode¶
-
ls7366r_count_type_t count_type¶
-
struct ls7366r_flag_mode_t¶
- #include <ls7366r.h>
-
struct ls7366r_t¶
- #include <ls7366r.h>
Device descriptor.
-
struct ls7366r_config_t¶
- #include <ls7366r.h>
Device configuration.
-
LS7366R_MAX_CLOCK_SPEED_HZ¶