I was thinking that at the beginning of the sequence you could put the length and the period just before the data. The entire sequence would have to be the same speed, but it saves a bunch of EEPROM.
Code:
ZigZag
DATA 12, 100 ; length, speed
DATA Word %0000
DATA Word %0001
DATA Word %0010
DATA Word %0100
DATA Word %1000
DATA Word %0000
DATA Word %1000
DATA Word %0100
DATA Word %0010
DATA Word %0001
DATA Word %0000
DATA Word %0000
Then you do 12 loops with a PAUSE 100 in each loop.
May be more limiting than what you have though.
P.S. You can store the sequences in Flash memory instead of EEPROM, and you'll have a lot more room. (not much more with a 16F687 though)
Bookmarks