This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DRV2604: DRV2604 Stopping Waveform Playback

Part Number: DRV2604

What would be the recommended way to immediately stop a DRV2604 waveform executing from RAM, or to at least verify that no waveform is currently running, in order to update the program data? I've tried clearing the GO bit, but this doesn't seem to stop the currently executing waveform.

As would be expected, if I update the program data while a waveform is executing, strange things happen.

Thanks!

  • Hi, Marcus,

    Welcome to E2E and thank you for your interest in our products!

    The waveform sequence begins at register address 0x04 when the user asserts the GO bit (register 0x0C). The GO bit remains high until the playback of the haptic waveform sequence is complete, so you may monitor the activity of the waveform sequencer with the help of this bit.

    When the GO bit is cleared, the selected function should be stopped immediately. Have you tested this operation with a connected actuator? I mean, in closed-loop mode you could see a breaking signal once you clear the GO bit. So, the actuator should be stopped and there could be still a waveform executing.

    Please let me know if you have quesitons or comments on this.

    Best regards,
    Luis Fernando Rodríguez S.

  • I've tested clearing the GO bit by executing a single waveform that simply consists of a constant voltage for 6 seconds. Clearing the GO bit seems to have no effect on the execution of this waveform; I've only been able to stop execution by setting DEV_RESET. As I understand it, the GO bit seems to affect sequence execution, but the current step in the sequence will still run to completion. Is this correct?

    Thanks

    Marcus

  • Hi, Marcus,

    Yes, this is correct. The current waveform step or voltage/time pair must finish in order to take effect. Do you have this behavior in your application? I mean, if you clear the GO bit at the middle of the whole sequence, does the rest of the voltage/time pairs are interrupted?

    Best regards,
    Luis Fernando Rodríguez S.

  • Thanks Fernando,

    The GO bit sequencing behavior doesn't matter to me right now. I'm more concerned about individual longer-running waveforms continuing to run when I expect them to be completed, and the GO bit reads 0. Is resetting the device with DEV_RESET the best action to take in this case, or is there another recommended procedure to ensure nothing is running?

    Marcus

  • Marcus,

    Could you try writing the STANDBY bit in register 0x01? This bit should force the device to stop immediately.

    Please let me know how it results.

    Best regards,
    Luis Fernando Rodríguez S.