Zephyr Project API 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches

Header file providing the API for the CS40L5x haptic driver. More...

Go to the source code of this file.

Data Structures

struct  cs40l5x_pwle_section
 PWLE section definition. More...

Enumerations

enum  cs40l5x_attenuation {
  CS40L5X_ATTENUATION_7DB = -7 , CS40L5X_ATTENUATION_6DB , CS40L5X_ATTENUATION_5DB , CS40L5X_ATTENUATION_4DB ,
  CS40L5X_ATTENUATION_3DB , CS40L5X_ATTENUATION_2DB , CS40L5X_ATTENUATION_1DB , CS40L5X_ATTENUATION_0DB
}
 Attenuation options for triggered haptic effects. More...
enum  cs40l5x_source { CS40L5X_SOURCE_BUZ = HAPTICS_SOURCE_PRIV_START , CS40L5X_SOURCE_RTH }
 Wavetable sources for haptic effects. More...
enum  cs40l5x_trigger_edge { CS40L5X_RISING_EDGE , CS40L5X_FALLING_EDGE }
 Options for edge-triggered haptics effects. More...

Functions

int cs40l5x_configure_buzz (const struct device *const dev, const uint32_t frequency, const uint8_t level, const uint32_t duration)
 Configure ROM buzz for haptic playback.
int cs40l5x_configure_trigger (const struct device *const dev, const struct gpio_dt_spec *const gpio, const enum haptics_source src, const union haptics_config *const cfg, const enum cs40l5x_attenuation attenuation, const enum cs40l5x_trigger_edge edge)
 Configure edge-triggered haptic effect.
int cs40l5x_upload_pcm (const struct device *const dev, const int index, const uint16_t redc, const uint16_t f0, const int8_t *const samples, const uint16_t num_samples)
 Upload PCM effect to the specified index.
int cs40l5x_upload_pwle (const struct device *const dev, const int index, const struct cs40l5x_pwle_section *const sections, const uint8_t num_sections)
 Upload PWLE effect to the specified index.

Detailed Description

Header file providing the API for the CS40L5x haptic driver.