I2C_Drivers (ARM) 1.1
SMFSW collection of HAL I2C Drivers for ARM
Loading...
Searching...
No Matches
DRV2605L.h File Reference

DRV2605L Driver. More...

#include "sarmfsw.h"
#include "I2C_component.h"
#include "I2C_peripheral.h"
#include "DRV2605L_ex.h"
#include "DRV2605L_proc.h"
Include dependency graph for DRV2605L.h:
This graph shows which files directly or indirectly include this file:

Data Structures

union  uDRV_REG__STATUS
 DRV2605L STATUS register union. More...
 
union  uDRV_REG__MODE
 DRV2605L MODE register union. More...
 
union  uDRV_REG__LIBRARY_SELECTION
 DRV2605L LIBRARY SELECTION register union. More...
 
union  uDRV_REG__WAVEFORM_SEQUENCER
 DRV2605L WAVEFORM SEQUENCER register union. More...
 
union  uDRV_REG__GO
 DRV2605L GO register union. More...
 
union  uDRV_REG__ATV_CONTROL
 DRV2605L audio-to-vibe CONTROL register union. More...
 
union  uDRV_REG__FEEDBACK_CONTROL
 DRV2605L FEEDBACK CONTROL register union. More...
 
union  uDRV_REG__CONTROL_1
 DRV2605L CONTROL 1 register union. More...
 
union  uDRV_REG__CONTROL_2
 DRV2605L CONTROL 2 register union. More...
 
union  uDRV_REG__CONTROL_3
 DRV2605L CONTROL 3 register union. More...
 
union  uDRV_REG__CONTROL_4
 DRV2605L CONTROL 4 register union. More...
 
union  uDRV_REG__CONTROL_5
 DRV2605L CONTROL 5 register union. More...
 

Macros

#define DRV2605L_BASE_ADDR   0x5AU
 DRV2605L Base address.
 

Enumerations

enum  DRV2605L_reg {
  DRV__STATUS = 0U , DRV__MODE , DRV__RTP_INPUT , DRV__LIBRARY_SELECTION ,
  DRV__WAVEFORM_SEQUENCER_1 , DRV__WAVEFORM_SEQUENCER_2 , DRV__WAVEFORM_SEQUENCER_3 , DRV__WAVEFORM_SEQUENCER_4 ,
  DRV__WAVEFORM_SEQUENCER_5 , DRV__WAVEFORM_SEQUENCER_6 , DRV__WAVEFORM_SEQUENCER_7 , DRV__WAVEFORM_SEQUENCER_8 ,
  DRV__GO , DRV__OVERDRIVE_TIME_OFFSET , DRV__SUSTAIN_TIME_OFFSET_POS , DRV__SUSTAIN_TIME_OFFSET_NEG ,
  DRV__BRAKE_TIME_OFFSET , DRV__ATV_CONTROL , DRV__ATV_MIN_INPUT_LEVEL , DRV__ATV_MAX_INPUT_LEVEL ,
  DRV__ATV_MIN_OUTPUT_DRIVE , DRV__ATV_MAX_OUTPUT_DRIVE , DRV__RATED_VOLTAGE , DRV__OVERDRIVE_CLAMP_VOLTAGE ,
  DRV__AUTO_CALIB_COMPENSATION_RESULT , DRV__AUTO_CALIB_BACK_EMF_RESULT , DRV__FEEDBACK_CONTROL , DRV__CONTROL_1 ,
  DRV__CONTROL_2 , DRV__CONTROL_3 , DRV__CONTROL_4 , DRV__CONTROL_5 ,
  DRV__LRA_OPEN_LOOP_PERIOD , DRV__VBAT_VOLTAGE_MONITOR , DRV__LRA_RESONANCE_PERIOD
}
 Register map enum of DRV2605L. More...
 
enum  DRV2605L_lib {
  DRV__LIB_EMPTY = 0U , DRV__LIB_TS2200_LIBRARY_A , DRV__LIB_TS2200_LIBRARY_B , DRV__LIB_TS2200_LIBRARY_C ,
  DRV__LIB_TS2200_LIBRARY_D , DRV__LIB_TS2200_LIBRARY_E , DRV__LIB_LRA_LIBRARY , DRV__LIB_TS2200_LIBRARY_F
}
 Waveform library selection value. More...
 
enum  DRV2605L_mode {
  DRV__MODE_INTERNAL_TRIGGER = 0U , DRV__MODE_EXTERNAL_TRIGGER_EDGE , DRV__MODE_EXTERNAL_TRIGGER_LEVEL , DRV__MODE_PWM_ANA_INPUT ,
  DRV__MODE_AUDIO_TO_VIBE , DRV__MODE_REAL_TIME_PLAYBACK , DRV__MODE_DIAGNOSTICS , DRV__MODE_AUTO_CALIBRATION
}
 DRV2605L operating mode. More...
 
enum  DRV2605L_act { DRV__ACT_ERM = 0U , DRV__ACT_LRA }
 DRV2605L actuator. More...
 
enum  DRV2605L_go { DRV__STOP = 0U , DRV__START }
 DRV2605L Go mode. More...
 
enum  DRV2605L_peak { DRV__PEAK_10MS = 0U , DRV__PEAK_20MS , DRV__PEAK_30MS , DRV__PEAK_40MS }
 Peak detection time for the audio-to-vibe signal path. More...
 
enum  DRV2605L_filter { DRV__FILTER_100HZ = 0U , DRV__FILTER_125HZ , DRV__FILTER_150HZ , DRV__FILTER_200HZ }
 Low-pass filter frequency for the audio-to-vibe signal path. More...
 
enum  DRV2605L_loop { DRV__CLOSED_LOOP = 0U , DRV__OPEN_LOOP }
 DRV2605L loop mode. More...
 
enum  DRV2605L_input { DRV__IN_PWM = 0U , DRV__IN_ANALOG }
 DRV2605L input pin mode. More...
 
enum  DRV2605L_rtp_format { DRV__RTP_SIGNED = 0U , DRV__RTP_UNSIGNED }
 DRV2605L RTP format. More...
 
enum  DRV2605L_eff {
  DRV__EFF_STRONG_CLK_100 = 1U , DRV__EFF_STRONG_CLK_60 = 2U , DRV__EFF_STRONG_CLK_30 = 3U , DRV__EFF_SHARP_CLK_100 = 4U ,
  DRV__EFF_SHARP_CLK_60 = 5U , DRV__EFF_SHARP_CLK_30 = 6U , DRV__EFF_SOFT_BUMP_100 = 7U , DRV__EFF_SOFT_BUMP_60 = 8U ,
  DRV__EFF_SOFT_BUMP_30 = 9U , DRV__EFF_DBL_CLK_100 = 10U , DRV__EFF_DBL_CLK_60 = 11U , DRV__EFF_DBL_CLK_30 = 12U ,
  DRV__EFF_SOFT_FUZZ_60 = 13U , DRV__EFF_STRONG_BUZZ_100 = 14U , DRV__EFF_ALERT_750MS = 15U , DRV__EFF_ALERT_1000MS = 16U ,
  DRV__EFF_STRONG_CLK_1 = 17U , DRV__EFF_STRONG_CLK_2 = 18U , DRV__EFF_STRONG_CLK_3 = 19U , DRV__EFF_STRONG_CLK_4 = 20U ,
  DRV__EFF_MEDIUM_CLK_1 = 21U , DRV__EFF_MEDIUM_CLK_2 = 22U , DRV__EFF_MEDIUM_CLK_3 = 23U , DRV__EFF_SHARP_TICK_1 = 24U ,
  DRV__EFF_SHARP_TICK_2 = 25U , DRV__EFF_SHARP_TICK_3 = 26U , DRV__EFF_SHORT_DBL_CLK_STRONG_1 = 27U , DRV__EFF_SHORT_DBL_CLK_STRONG_2 = 28U ,
  DRV__EFF_SHORT_DBL_CLK_STRONG_3 = 29U , DRV__EFF_SHORT_DBL_CLK_STRONG_4 = 30U , DRV__EFF_SHORT_DBL_CLK_MEDIUM_1 = 31U , DRV__EFF_SHORT_DBL_CLK_MEDIUM_2 = 32U ,
  DRV__EFF_SHORT_DBL_CLK_MEDIUM_3 = 33U , DRV__EFF_SHORT_DBL_SHARP_TICK_1 = 34U , DRV__EFF_SHORT_DBL_SHARP_TICK_2 = 35U , DRV__EFF_SHORT_DBL_SHARP_TICK_3 = 36U ,
  DRV__EFF_LONG_DBL_CLK_STRONG_1 = 37U , DRV__EFF_LONG_DBL_CLK_STRONG_2 = 38U , DRV__EFF_LONG_DBL_CLK_STRONG_3 = 39U , DRV__EFF_LONG_DBL_CLK_STRONG_4 = 40U ,
  DRV__EFF_LONG_DBL_CLK_MEDIUM_1 = 41U , DRV__EFF_LONG_DBL_CLK_MEDIUM_2 = 42U , DRV__EFF_LONG_DBL_CLK_MEDIUM_3 = 43U , DRV__EFF_LONG_DBL_SHARP_TICK_1 = 44U ,
  DRV__EFF_LONG_DBL_SHARP_TICK_2 = 45U , DRV__EFF_LONG_DBL_SHARP_TICK_3 = 46U , DRV__EFF_BUZZ_1 = 47U , DRV__EFF_BUZZ_2 = 48U ,
  DRV__EFF_BUZZ_3 = 49U , DRV__EFF_BUZZ_4 = 50U , DRV__EFF_BUZZ_5 = 51U , DRV__EFF_PULSING_STRONG_1 = 52U ,
  DRV__EFF_PULSING_STRONG_2 = 53U , DRV__EFF_PULSING_MEDIUM_1 = 54U , DRV__EFF_PULSING_MEDIUM_2 = 55U , DRV__EFF_PULSING_SHARP_1 = 56U ,
  DRV__EFF_PULSING_SHARP_2 = 57U , DRV__EFF_TRANS_CLK_1 = 58U , DRV__EFF_TRANS_CLK_2 = 59U , DRV__EFF_TRANS_CLK_3 = 60U ,
  DRV__EFF_TRANS_CLK_4 = 61U , DRV__EFF_TRANS_CLK_5 = 62U , DRV__EFF_TRANS_CLK_6 = 63U , DRV__EFF_TRANS_HUM_1 = 64U ,
  DRV__EFF_TRANS_HUM_2 = 65U , DRV__EFF_TRANS_HUM_3 = 66U , DRV__EFF_TRANS_HUM_4 = 67U , DRV__EFF_TRANS_HUM_5 = 68U ,
  DRV__EFF_TRANS_HUM_6 = 69U , DRV__EFF_TRANS_RAMP_DWN_LONG_SMOOTH_1 = 70U , DRV__EFF_TRANS_RAMP_DWN_LONG_SMOOTH_2 = 71U , DRV__EFF_TRANS_RAMP_DWN_MEDIUM_SMOOTH_1 = 72U ,
  DRV__EFF_TRANS_RAMP_DWN_MEDIUM_SMOOTH_2 = 73U , DRV__EFF_TRANS_RAMP_DWN_SHORT_SMOOTH_1 = 74U , DRV__EFF_TRANS_RAMP_DWN_SHORT_SMOOTH_2 = 75U , DRV__EFF_TRANS_RAMP_DWN_LONG_SHARP_1 = 76U ,
  DRV__EFF_TRANS_RAMP_DWN_LONG_SHARP_2 = 77U , DRV__EFF_TRANS_RAMP_DWN_MEDIUM_SHARP_1 = 78U , DRV__EFF_TRANS_RAMP_DWN_MEDIUM_SHARP_2 = 79U , DRV__EFF_TRANS_RAMP_DWN_SHORT_SHARP_1 = 80U ,
  DRV__EFF_TRANS_RAMP_DWN_SHORT_SHARP_2 = 81U , DRV__EFF_TRANS_RAMP_UP_LONG_SMOOTH_1 = 82U , DRV__EFF_TRANS_RAMP_UP_LONG_SMOOTH_2 = 83U , DRV__EFF_TRANS_RAMP_UP_MEDIUM_SMOOTH_1 = 84U ,
  DRV__EFF_TRANS_RAMP_UP_MEDIUM_SMOOTH_2 = 85U , DRV__EFF_TRANS_RAMP_UP_SHORT_SMOOTH_1 = 86U , DRV__EFF_TRANS_RAMP_UP_SHORT_SMOOTH_2 = 87U , DRV__EFF_TRANS_RAMP_UP_LONG_SHARP_1 = 88U ,
  DRV__EFF_TRANS_RAMP_UP_LONG_SHARP_2 = 89U , DRV__EFF_TRANS_RAMP_UP_MEDIUM_SHARP_1 = 90U , DRV__EFF_TRANS_RAMP_UP_MEDIUM_SHARP_2 = 91U , DRV__EFF_TRANS_RAMP_UP_SHORT_SHARP_1 = 92U ,
  DRV__EFF_TRANS_RAMP_UP_SHORT_SHARP_2 = 93U , DRV__EFF_TRANS_RAMP_DWN_LONG_SMOOTH_1_LOW = 94U , DRV__EFF_TRANS_RAMP_DWN_LONG_SMOOTH_2_LOW = 95U , DRV__EFF_TRANS_RAMP_DWN_MEDIUM_SMOOTH_1_LOW = 96U ,
  DRV__EFF_TRANS_RAMP_DWN_MEDIUM_SMOOTH_2_LOW = 97U , DRV__EFF_TRANS_RAMP_DWN_SHORT_SMOOTH_1_LOW = 98U , DRV__EFF_TRANS_RAMP_DWN_SHORT_SMOOTH_2_LOW = 99U , DRV__EFF_TRANS_RAMP_DWN_LONG_SHARP_1_LOW = 100U ,
  DRV__EFF_TRANS_RAMP_DWN_LONG_SHARP_2_LOW = 101U , DRV__EFF_TRANS_RAMP_DWN_MEDIUM_SHARP_1_LOW = 102U , DRV__EFF_TRANS_RAMP_DWN_MEDIUM_SHARP_2_LOW = 103U , DRV__EFF_TRANS_RAMP_DWN_SHORT_SHARP_1_LOW = 104U ,
  DRV__EFF_TRANS_RAMP_DWN_SHORT_SHARP_2_LOW = 105U , DRV__EFF_TRANS_RAMP_UP_LONG_SMOOTH_1_LOW = 106U , DRV__EFF_TRANS_RAMP_UP_LONG_SMOOTH_2_LOW = 107U , DRV__EFF_TRANS_RAMP_UP_MEDIUM_SMOOTH_1_LOW = 108U ,
  DRV__EFF_TRANS_RAMP_UP_MEDIUM_SMOOTH_2_LOW = 109U , DRV__EFF_TRANS_RAMP_UP_SHORT_SMOOTH_1_LOW = 110U , DRV__EFF_TRANS_RAMP_UP_SHORT_SMOOTH_2_LOW = 111U , DRV__EFF_TRANS_RAMP_UP_LONG_SHARP_1_LOW = 112U ,
  DRV__EFF_TRANS_RAMP_UP_LONG_SHARP_2_LOW = 113U , DRV__EFF_TRANS_RAMP_UP_MEDIUM_SHARP_1_LOW = 114U , DRV__EFF_TRANS_RAMP_UP_MEDIUM_SHARP_2_LOW = 115U , DRV__EFF_TRANS_RAMP_UP_SHORT_SHARP_1_LOW = 116U ,
  DRV__EFF_TRANS_RAMP_UP_SHORT_SHARP_2_LOW = 117U , DRV__EFF_LONG_BUZZ = 118U , DRV__EFF_SMOOTH_HUM_1 = 119U , DRV__EFF_SMOOTH_HUM_2 = 120U ,
  DRV__EFF_SMOOTH_HUM_3 = 121U , DRV__EFF_SMOOTH_HUM_4 = 122U , DRV__EFF_SMOOTH_HUM_5 = 123U
}
 Waveform Library Effects List. More...
 

Functions

FctERR DRV2605L_Init (void)
 Initialization for DRV2605L peripheral.
 
FctERR DRV2605L_Write (const uint8_t *data, const uint16_t addr, const uint16_t nb)
 I2C Write function for DRV2605L.
 
FctERR DRV2605L_Read (uint8_t *data, const uint16_t addr, const uint16_t nb)
 I2C Read function for DRV2605L.
 

Detailed Description

DRV2605L Driver.

DRV2605L Driver extensions.

Author
SMFSW

DRV2605L: 2 to 5.2V Haptic Driver for LRA and ERM With Effect Library and Smart-Loop Architecture

Macro Definition Documentation

◆ DRV2605L_BASE_ADDR

#define DRV2605L_BASE_ADDR   0x5AU

DRV2605L Base address.

Note
Define DRV2605L_BASE_ADDR to change default device base address

Enumeration Type Documentation

◆ DRV2605L_act

DRV2605L actuator.

Enumerator
DRV__ACT_ERM 

Eccentric Rotating Mass actuator.

DRV__ACT_LRA 

Linear Resonant Actuators actuator.

◆ DRV2605L_eff

Waveform Library Effects List.

Enumerator
DRV__EFF_STRONG_CLK_100 

Strong Click - 100%.

DRV__EFF_STRONG_CLK_60 

Strong Click - 60%.

DRV__EFF_STRONG_CLK_30 

Strong Click - 30%.

DRV__EFF_SHARP_CLK_100 

Sharp Click - 100%.

DRV__EFF_SHARP_CLK_60 

Sharp Click - 60%.

DRV__EFF_SHARP_CLK_30 

Sharp Click - 30%.

DRV__EFF_SOFT_BUMP_100 

Soft Bump - 100%.

DRV__EFF_SOFT_BUMP_60 

Soft Bump - 60%.

DRV__EFF_SOFT_BUMP_30 

Soft Bump - 30%.

DRV__EFF_DBL_CLK_100 

Double Click - 100%.

DRV__EFF_DBL_CLK_60 

Double Click - 60%.

DRV__EFF_DBL_CLK_30 

Triple Click - 100%.

DRV__EFF_SOFT_FUZZ_60 

Soft Fuzz - 60%.

DRV__EFF_STRONG_BUZZ_100 

Strong Buzz - 100%.

DRV__EFF_ALERT_750MS 

750ms Alert 100%

DRV__EFF_ALERT_1000MS 

1000ms Alert 100%

DRV__EFF_STRONG_CLK_1 

Strong Click 1 - 100%.

DRV__EFF_STRONG_CLK_2 

Strong Click 2 - 80%.

DRV__EFF_STRONG_CLK_3 

Strong Click 3 - 60%.

DRV__EFF_STRONG_CLK_4 

Strong Click 4 - 30%.

DRV__EFF_MEDIUM_CLK_1 

Medium Click 1 - 100%.

DRV__EFF_MEDIUM_CLK_2 

Medium Click 2 - 80%.

DRV__EFF_MEDIUM_CLK_3 

Medium Click 3 - 60%.

DRV__EFF_SHARP_TICK_1 

Sharp Tick 1 - 100%.

DRV__EFF_SHARP_TICK_2 

Sharp Tick 2 - 80%.

DRV__EFF_SHARP_TICK_3 

Sharp Tick 3 - 60%.

DRV__EFF_SHORT_DBL_CLK_STRONG_1 

Short Double Click Strong 1 - 100%.

DRV__EFF_SHORT_DBL_CLK_STRONG_2 

Short Double Click Strong 2 - 80%.

DRV__EFF_SHORT_DBL_CLK_STRONG_3 

Short Double Click Strong 3 - 60%.

DRV__EFF_SHORT_DBL_CLK_STRONG_4 

Short Double Click Strong 4 - 30%.

DRV__EFF_SHORT_DBL_CLK_MEDIUM_1 

Short Double Click Medium 1 - 100%.

DRV__EFF_SHORT_DBL_CLK_MEDIUM_2 

Short Double Click Medium 2 - 80%.

DRV__EFF_SHORT_DBL_CLK_MEDIUM_3 

Short Double Click Medium 3 - 60%.

DRV__EFF_SHORT_DBL_SHARP_TICK_1 

Short Double Sharp Tick 1 - 100%.

DRV__EFF_SHORT_DBL_SHARP_TICK_2 

Short Double Sharp Tick 2 - 80%.

DRV__EFF_SHORT_DBL_SHARP_TICK_3 

Short Double Sharp Tick 3 - 60%.

DRV__EFF_LONG_DBL_CLK_STRONG_1 

Long Double Sharp Click Strong 1 - 100%.

DRV__EFF_LONG_DBL_CLK_STRONG_2 

Long Double Sharp Click Strong 2 - 80%.

DRV__EFF_LONG_DBL_CLK_STRONG_3 

Long Double Sharp Click Strong 3 - 60%.

DRV__EFF_LONG_DBL_CLK_STRONG_4 

Long Double Sharp Click Strong 4 - 30%.

DRV__EFF_LONG_DBL_CLK_MEDIUM_1 

Long Double Sharp Click Medium 1 - 100%.

DRV__EFF_LONG_DBL_CLK_MEDIUM_2 

Long Double Sharp Click Medium 2 - 80%.

DRV__EFF_LONG_DBL_CLK_MEDIUM_3 

Long Double Sharp Click Medium 3 - 60%.

DRV__EFF_LONG_DBL_SHARP_TICK_1 

Long Double Sharp Tick 1 - 100%.

DRV__EFF_LONG_DBL_SHARP_TICK_2 

Long Double Sharp Tick 2 - 80%.

DRV__EFF_LONG_DBL_SHARP_TICK_3 

Long Double Sharp Tick 3 - 60%.

DRV__EFF_BUZZ_1 

Buzz 1 - 100%.

DRV__EFF_BUZZ_2 

Buzz 2 - 80%.

DRV__EFF_BUZZ_3 

Buzz 3 - 60%.

DRV__EFF_BUZZ_4 

Buzz 4 - 40%.

DRV__EFF_BUZZ_5 

Buzz 5 - 20%.

DRV__EFF_PULSING_STRONG_1 

Pulsing Strong 1 - 100%.

DRV__EFF_PULSING_STRONG_2 

Pulsing Strong 2 - 60%.

DRV__EFF_PULSING_MEDIUM_1 

Pulsing Medium 1 - 100%.

DRV__EFF_PULSING_MEDIUM_2 

Pulsing Medium 2 - 60%.

DRV__EFF_PULSING_SHARP_1 

Pulsing Sharp 1 - 100%.

DRV__EFF_PULSING_SHARP_2 

Pulsing Sharp 2 - 60%.

DRV__EFF_TRANS_CLK_1 

Transition Click 1 - 100%.

DRV__EFF_TRANS_CLK_2 

Transition Click 2 - 80%.

DRV__EFF_TRANS_CLK_3 

Transition Click 3 - 60%.

DRV__EFF_TRANS_CLK_4 

Transition Click 4 - 40%.

DRV__EFF_TRANS_CLK_5 

Transition Click 5 - 20%.

DRV__EFF_TRANS_CLK_6 

Transition Click 6 - 10%.

DRV__EFF_TRANS_HUM_1 

Transition Hum 1 - 100%.

DRV__EFF_TRANS_HUM_2 

Transition Hum 2 - 80%.

DRV__EFF_TRANS_HUM_3 

Transition Hum 3 - 60%.

DRV__EFF_TRANS_HUM_4 

Transition Hum 4 - 40%.

DRV__EFF_TRANS_HUM_5 

Transition Hum 5 - 20%.

DRV__EFF_TRANS_HUM_6 

Transition Hum 6 - 10%.

DRV__EFF_TRANS_RAMP_DWN_LONG_SMOOTH_1 

Transition Ramp Down Long Smooth 1 - 100 to 0%.

DRV__EFF_TRANS_RAMP_DWN_LONG_SMOOTH_2 

Transition Ramp Down Long Smooth 2 - 100 to 0%.

DRV__EFF_TRANS_RAMP_DWN_MEDIUM_SMOOTH_1 

Transition Ramp Down Medium Smooth 1 - 100 to 0%.

DRV__EFF_TRANS_RAMP_DWN_MEDIUM_SMOOTH_2 

Transition Ramp Down Medium Smooth 2 - 100 to 0%.

DRV__EFF_TRANS_RAMP_DWN_SHORT_SMOOTH_1 

Transition Ramp Down Short Smooth 1 - 100 to 0%.

DRV__EFF_TRANS_RAMP_DWN_SHORT_SMOOTH_2 

Transition Ramp Down Short Smooth 2 - 100 to 0%.

DRV__EFF_TRANS_RAMP_DWN_LONG_SHARP_1 

Transition Ramp Down Long Sharp 1 - 100 t0 0%.

DRV__EFF_TRANS_RAMP_DWN_LONG_SHARP_2 

Transition Ramp Down Long Sharp 2 - 100 to 0%.

DRV__EFF_TRANS_RAMP_DWN_MEDIUM_SHARP_1 

Transition Ramp Down Medium Sharp 1 - 100 to 0%.

DRV__EFF_TRANS_RAMP_DWN_MEDIUM_SHARP_2 

Transition Ramp Down Medium Sharp 2 - 100 to 0%.

DRV__EFF_TRANS_RAMP_DWN_SHORT_SHARP_1 

Transition Ramp Down Short Sharp 1 - 100 to 0%.

DRV__EFF_TRANS_RAMP_DWN_SHORT_SHARP_2 

Transition Ramp Down Short Sharp 2 - 100 to 0%.

DRV__EFF_TRANS_RAMP_UP_LONG_SMOOTH_1 

Transition Ramp Up Long Smooth 1 - 0 to 100%.

DRV__EFF_TRANS_RAMP_UP_LONG_SMOOTH_2 

Transition Ramp Up Long Smooth 2 - 0 to 100%.

DRV__EFF_TRANS_RAMP_UP_MEDIUM_SMOOTH_1 

Transition Ramp Up Medium Smooth 1 - 0 to 100%.

DRV__EFF_TRANS_RAMP_UP_MEDIUM_SMOOTH_2 

Transition Ramp Up Medium Smooth 2 - 0 to 100%.

DRV__EFF_TRANS_RAMP_UP_SHORT_SMOOTH_1 

Transition Ramp Up Short Smooth 1 - 0 to 100%.

DRV__EFF_TRANS_RAMP_UP_SHORT_SMOOTH_2 

Transition Ramp Up Short Smooth 2 - 0 to 100%.

DRV__EFF_TRANS_RAMP_UP_LONG_SHARP_1 

Transition Ramp Up Long Sharp 1 - 0 to 100%.

DRV__EFF_TRANS_RAMP_UP_LONG_SHARP_2 

Transition Ramp Up Long Sharp 2 - 0 to 100%.

DRV__EFF_TRANS_RAMP_UP_MEDIUM_SHARP_1 

Transition Ramp Up Medium Sharp 1 - 0 to 100%.

DRV__EFF_TRANS_RAMP_UP_MEDIUM_SHARP_2 

Transition Ramp Up Medium Sharp 2 - 0 to 100%.

DRV__EFF_TRANS_RAMP_UP_SHORT_SHARP_1 

Transition Ramp Up Short Sharp 1 - 0 to 100%.

DRV__EFF_TRANS_RAMP_UP_SHORT_SHARP_2 

Transition Ramp Up Short Sharp 2 - 0 to 100%.

DRV__EFF_TRANS_RAMP_DWN_LONG_SMOOTH_1_LOW 

Transition Ramp Down Long Smooth 1 - 50 to 0%.

DRV__EFF_TRANS_RAMP_DWN_LONG_SMOOTH_2_LOW 

Transition Ramp Down Long Smooth 2 - 50 to 0%.

DRV__EFF_TRANS_RAMP_DWN_MEDIUM_SMOOTH_1_LOW 

Transition Ramp Down Medium Smooth 1 - 50 to 0%.

DRV__EFF_TRANS_RAMP_DWN_MEDIUM_SMOOTH_2_LOW 

Transition Ramp Down Medium Smooth 2 - 50 to 0%.

DRV__EFF_TRANS_RAMP_DWN_SHORT_SMOOTH_1_LOW 

Transition Ramp Down Short Smooth 1 - 50 to 0%.

DRV__EFF_TRANS_RAMP_DWN_SHORT_SMOOTH_2_LOW 

Transition Ramp Down Short Smooth 2 - 50 to 0%.

DRV__EFF_TRANS_RAMP_DWN_LONG_SHARP_1_LOW 

Transition Ramp Down Long Sharp 1 - 50 to 0%.

DRV__EFF_TRANS_RAMP_DWN_LONG_SHARP_2_LOW 

Transition Ramp Down Long Sharp 2 - 50 to 0%.

DRV__EFF_TRANS_RAMP_DWN_MEDIUM_SHARP_1_LOW 

Transition Ramp Down Medium Sharp 1 - 50 to 0%.

DRV__EFF_TRANS_RAMP_DWN_MEDIUM_SHARP_2_LOW 

Transition Ramp Down Medium Sharp 2 - 50 to 0%.

DRV__EFF_TRANS_RAMP_DWN_SHORT_SHARP_1_LOW 

Transition Ramp Down Short Sharp 1 - 50 to 0%.

DRV__EFF_TRANS_RAMP_DWN_SHORT_SHARP_2_LOW 

Transition Ramp Down Short Sharp 2 - 50 to 0%.

DRV__EFF_TRANS_RAMP_UP_LONG_SMOOTH_1_LOW 

Transition Ramp Up Long Smooth 1 - 0 to 50%.

DRV__EFF_TRANS_RAMP_UP_LONG_SMOOTH_2_LOW 

Transition Ramp Up Long Smooth 2 - 0 to 50%.

DRV__EFF_TRANS_RAMP_UP_MEDIUM_SMOOTH_1_LOW 

Transition Ramp Up Medium Smooth 1 - 0 to 50%.

DRV__EFF_TRANS_RAMP_UP_MEDIUM_SMOOTH_2_LOW 

Transition Ramp Up Medium Smooth 2 - 0 to 50%.

DRV__EFF_TRANS_RAMP_UP_SHORT_SMOOTH_1_LOW 

Transition Ramp Up Short Smooth 1 - 0 to 50%.

DRV__EFF_TRANS_RAMP_UP_SHORT_SMOOTH_2_LOW 

Transition Ramp Up Short Smooth 2 - 0 to 50%.

DRV__EFF_TRANS_RAMP_UP_LONG_SHARP_1_LOW 

Transition Ramp Up Long Sharp 1 - 0 to 50%.

DRV__EFF_TRANS_RAMP_UP_LONG_SHARP_2_LOW 

Transition Ramp Up Long Sharp 2 - 0 to 50%.

DRV__EFF_TRANS_RAMP_UP_MEDIUM_SHARP_1_LOW 

Transition Ramp Up Medium Sharp 1 - 0 to 50%.

DRV__EFF_TRANS_RAMP_UP_MEDIUM_SHARP_2_LOW 

Transition Ramp Up Medium Sharp 2 - 0 to 50%.

DRV__EFF_TRANS_RAMP_UP_SHORT_SHARP_1_LOW 

Transition Ramp Up Short Sharp 1 - 0 to 50%.

DRV__EFF_TRANS_RAMP_UP_SHORT_SHARP_2_LOW 

Transition Ramp Up Short Sharp 2 - 0 to 50%.

DRV__EFF_LONG_BUZZ 

Long buzz for programmatic stopping - 100%.

DRV__EFF_SMOOTH_HUM_1 

Smooth Hum 1 (No kick or brake pulse) - 50%.

DRV__EFF_SMOOTH_HUM_2 

Smooth Hum 2 (No kick or brake pulse) - 40%.

DRV__EFF_SMOOTH_HUM_3 

Smooth Hum 3 (No kick or brake pulse) - 30%.

DRV__EFF_SMOOTH_HUM_4 

Smooth Hum 4 (No kick or brake pulse) - 20%.

DRV__EFF_SMOOTH_HUM_5 

Smooth Hum 5 (No kick or brake pulse) - 10%.

◆ DRV2605L_filter

Low-pass filter frequency for the audio-to-vibe signal path.

Enumerator
DRV__FILTER_100HZ 

100Hz low-pass filter

DRV__FILTER_125HZ 

125Hz low-pass filter

DRV__FILTER_150HZ 

150Hz low-pass filter

DRV__FILTER_200HZ 

200Hz low-pass filter

◆ DRV2605L_go

DRV2605L Go mode.

Enumerator
DRV__STOP 

Start haptic.

DRV__START 

Stop haptic.

◆ DRV2605L_input

DRV2605L input pin mode.

Enumerator
DRV__IN_PWM 

PWM input.

DRV__IN_ANALOG 

Analog input.

◆ DRV2605L_lib

Waveform library selection value.

Enumerator
DRV__LIB_EMPTY 

Empty.

DRV__LIB_TS2200_LIBRARY_A 

TS2200 Library A.

DRV__LIB_TS2200_LIBRARY_B 

TS2200 Library B.

DRV__LIB_TS2200_LIBRARY_C 

TS2200 Library C.

DRV__LIB_TS2200_LIBRARY_D 

TS2200 Library D.

DRV__LIB_TS2200_LIBRARY_E 

TS2200 Library E.

DRV__LIB_LRA_LIBRARY 

LRA Library.

DRV__LIB_TS2200_LIBRARY_F 

TS2200 Library F.

◆ DRV2605L_loop

DRV2605L loop mode.

Enumerator
DRV__CLOSED_LOOP 

ERM: Close Loop / LRA: Auto resonance.

DRV__OPEN_LOOP 

Open Loop.

◆ DRV2605L_mode

DRV2605L operating mode.

Enumerator
DRV__MODE_INTERNAL_TRIGGER 

Internal trigger.

DRV__MODE_EXTERNAL_TRIGGER_EDGE 

External trigger (edge mode)

DRV__MODE_EXTERNAL_TRIGGER_LEVEL 

External trigger (level mode)

DRV__MODE_PWM_ANA_INPUT 

PWM input and analog input.

DRV__MODE_AUDIO_TO_VIBE 

Audio-to-vibe.

DRV__MODE_REAL_TIME_PLAYBACK 

Real-time playback (RTP mode)

DRV__MODE_DIAGNOSTICS 

Diagnostics.

DRV__MODE_AUTO_CALIBRATION 

Auto calibration.

◆ DRV2605L_peak

Peak detection time for the audio-to-vibe signal path.

Enumerator
DRV__PEAK_10MS 

10ms peak time

DRV__PEAK_20MS 

20ms peak time

DRV__PEAK_30MS 

30ms peak time

DRV__PEAK_40MS 

40ms peak time

◆ DRV2605L_reg

Register map enum of DRV2605L.

Enumerator
DRV__STATUS 

Status register.

DRV__MODE 

Mode register.

DRV__RTP_INPUT 

Real Time Playback Input register.

DRV__LIBRARY_SELECTION 

Library Selection register.

DRV__WAVEFORM_SEQUENCER_1 

Waveform Sequencer 1 register.

DRV__WAVEFORM_SEQUENCER_2 

Waveform Sequencer 2 register.

DRV__WAVEFORM_SEQUENCER_3 

Waveform Sequencer 3 register.

DRV__WAVEFORM_SEQUENCER_4 

Waveform Sequencer 4 register.

DRV__WAVEFORM_SEQUENCER_5 

Waveform Sequencer 5 register.

DRV__WAVEFORM_SEQUENCER_6 

Waveform Sequencer 6 register.

DRV__WAVEFORM_SEQUENCER_7 

Waveform Sequencer 7 register.

DRV__WAVEFORM_SEQUENCER_8 

Waveform Sequencer 8 register.

DRV__GO 

Go register.

DRV__OVERDRIVE_TIME_OFFSET 

Overdrive Time Offset register.

DRV__SUSTAIN_TIME_OFFSET_POS 

Sustain Time Offset positive register.

DRV__SUSTAIN_TIME_OFFSET_NEG 

Sustain Time Offset negative register.

DRV__BRAKE_TIME_OFFSET 

Brake Time Offset register.

DRV__ATV_CONTROL 

Audio-To-Vibe Control register.

DRV__ATV_MIN_INPUT_LEVEL 

Audio-To-Vibe Minimum Input Level register.

DRV__ATV_MAX_INPUT_LEVEL 

Audio-To-Vibe Maximum Input Level register.

DRV__ATV_MIN_OUTPUT_DRIVE 

Audio-To-Vibe Minimum Output Drive Level register.

DRV__ATV_MAX_OUTPUT_DRIVE 

Audio-To-Vibe Maximum Output Drive Level register.

DRV__RATED_VOLTAGE 

Rated Voltage register.

DRV__OVERDRIVE_CLAMP_VOLTAGE 

Overdrive Clamp Voltage register.

DRV__AUTO_CALIB_COMPENSATION_RESULT 

Auto-Calibration Compensation Result register.

DRV__AUTO_CALIB_BACK_EMF_RESULT 

Auto-Calibration Back EMF Result register.

DRV__FEEDBACK_CONTROL 

Feedback Control register.

DRV__CONTROL_1 

Control 1 register.

DRV__CONTROL_2 

Control 2 register.

DRV__CONTROL_3 

Control 3 register.

DRV__CONTROL_4 

Control 4 register.

DRV__CONTROL_5 

Control 5 register.

DRV__LRA_OPEN_LOOP_PERIOD 

LRA Open Loop Period register.

DRV__VBAT_VOLTAGE_MONITOR 

VBAT Voltage Monitor register.

DRV__LRA_RESONANCE_PERIOD 

LRA Resonance Period register.

◆ DRV2605L_rtp_format

DRV2605L RTP format.

Enumerator
DRV__RTP_SIGNED 

RTP signed format.

DRV__RTP_UNSIGNED 

RTP unsigned format.

Function Documentation

◆ DRV2605L_Init()

FctERR DRV2605L_Init ( void )

Initialization for DRV2605L peripheral.

Weak Functions
DRV2605L Base address may be changed if user implemented
Returns
FctERR - error code
Here is the call graph for this function:

◆ DRV2605L_Read()

FctERR DRV2605L_Read ( uint8_t * data,
const uint16_t addr,
const uint16_t nb )

I2C Read function for DRV2605L.

Parameters
[in,out]data- pointer to read to
[in]addr- Address to read from
[in]nb- Number of bytes to read
Returns
FctERR - error code
Here is the call graph for this function:
Here is the caller graph for this function:

◆ DRV2605L_Write()

FctERR DRV2605L_Write ( const uint8_t * data,
const uint16_t addr,
const uint16_t nb )

I2C Write function for DRV2605L.

Parameters
[in]data- pointer to write from
[in]addr- Address to write to
[in]nb- Number of bytes to write
Returns
FctERR - error code
Here is the call graph for this function:
Here is the caller graph for this function: