SavvyCAN playback stop on matched rx frame

I’m wondering if there is a way to stop playback when receiving a certain frame for example stopping playback when receiving “id-07E8 data-03 7F 36 78” then start the playback again when receiving “id-07E8 data-01 76”?

If you mean in general then no, not at the moment. If you’re truly talking about playback of an existing capture then sort of. The “Flow View” window has the option to pause its playback when a certain byte sequence is found on the frame ID you’re currently viewing. So, if the frame ID was really the same as in your example then, yes, you could pause playback when the first byte sequence is seen. But, it won’t auto resume when the second sequence is seen. So, I’m guessing you’re actually looking for a way for the main capture system to pause and resume automatically given certain criteria. And, that’s not possible at the moment.

I mean truly sending frames to the bus via playback, what I would like to be able to do is pause the playback/sending of frames when a message comes in matching something that I defined, then basically pausing the play back until another defined message comes in. id-07E8 data-03 7F 36 78 is the engine computer saying its processing frames received, id-07E8 data-01 76 is the engine computer saying its done and is ready for more.

  1. Perform Procedure 1 and then send a block of data using mode 36 and verify the $76 positive response.
  2. If it takes more than P2C ms to write the block of data sent in step 1 of this procedure, verify that the node sends a $7F $36 $78 within the P2C ms required time, followed by a $76 positive response.
  3. Repeat step 1 (and 2) as necessary to transfer all data necessary to complete the download of the module or programming of the node and verify the $76 positive response after each subsequent block transfer and the final mode $36 message.
  4. If it takes more than P2C ms to write any data block, the node shall send a $7F $36 $78 within the P2C ms required time after each transfer of a block of data, followed by a $76 response when the node has completed writing the block of data.

In that case you might use the scripting system. You could write javascript code that interfaces with the CAN bus and does what you want. There are included examples and there’s help for the scripting system here:

and here:

http://www.savvycan.com/docs/