EDIT: fixed dead link.
My take is a bit different-- as most of my takes seem to be. :
A Client folder called “Flash”. This folder contains a tag called RootValue, which is updated by a Client Timer script running at 125ms:
value=system.tag.read("[Client]Flash/RootValue").value + 1
if value > 15:
value = 0
system.tag.write("[Client]Flash/RootValue", value)
Then, added four more tags, each extracting a different bit from RootValue.
Now I have four different bits with four different rates.
Here is a complete project to illustrate.
Flasher_2018-10-13_1117.proj (18.4 KB)