AW86225
October 2021 V1.9
www.awinic.com
16 Copyright © 2020 SHANGHAI AWINIC TECHNOLOGY CO., LTD
Ram Mode
To playback haptic data with RAM mode, the waveform ID must first be configured into the waveform playback
queue and then the waveform can be played by writing GO bit register.
WAVSEQ1
WAVSEQ2
WAVSEQ3
WAVSEQ4
GO
Waveform 1
Waveform 2
Waveform 3
Waveform N
Waveform library
PLAYBACK QUEUE
WAVSEQ5
WAVSEQ6
WAVSEQ7
WAVSEQ8
.
.
.
Figure 16 RAM mode playback
The waveform playback queue defines waveform IDs in waveform library for playback. Eight WAVSEQx
registers queue up to eight library waveforms for sequential playback. A waveform ID is an integer value
referring to the index of a waveform in the waveform library. Playback begins at WAVSEQ1 when the user
triggers the waveform playback queue. When playback of that waveform ends, the waveform queue plays the
next waveform ID held in WAVSEQ2 (if non-zero). The waveform queue continues in this way until the queue
reaches an ID value of zero or until all eight IDs are played whichever comes first.
The waveform ID is a 7-bit number. The MSB of each ID register can be used to implement a delay between
queue waveforms. When the MSB is high, bits 6-0 indicate the length of the wait time. The wait time for that
step then becomes WAVSEQ[6:0] × wait_time unit. Wait_time unit can be configuration of WAITSLOT register.
The device allows for looping of individual waveforms by using the SEQxLOOP registers. When used, the state
machine will loop the particular waveform the number of times specified in the associated SEQxLOOP register
before moving to the next waveform. The device allows for looping of the entire playback sequence by using
the MAIN_LOOP register. The waveform-looping feature is useful for long, custom haptic playbacks, such as
a haptic ringtone.
Playback steps:
Waveform library must be initialized before playback;
Set PLAY_MODE bit to 0 in register 0x08;
Set playback queue registers (0x0A ~ 0x11) as desired;
Set playback loop registers (0x12~ 0x16) as desired;
Set GO bit to 1 in register 0x09 to trigger waveform playback;
Device will be switched to STANDBY mode after haptic waveform playback finished.
awinic Confidential