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
-
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