What To Do When Value Doesn't Propagate

For general discussion related FlowStone
Post Reply
Perfect Human Interface
Posts: 643
Joined: Sun Mar 10, 2013 7:32 pm

What To Do When Value Doesn't Propagate

Post by Perfect Human Interface »

Definitely one of the most frustrating problems I've run into while working in Flowstone is when a value doesn't propagate correctly through a schematic. It will seemingly get stuck at a specific point where the next node doesn't receive the correct value unless you manually click on it, even though everything connected before it has updated correctly. It of course doesn't appear to make any sense, but there does seem to be a solution.

When you find the point at which the value looks to be stuck, place a trigger blocker in the connection between it and the previous node. Then, wire a "trigger pass" (a module that contains only an input wired to an output with both nodes set to trigger) from the beginning of that block of code (e.g. the input of the module you're working in) to the node after the trigger blocker. Make sure this trigger link is connected last.

Cross your fingers and test your schematic again, and hopefully things will be working without a hitch now.

My hope is that if anyone else is finding themselves frustrated with this sort of issue they'll find this post!
User avatar
JB_AU
Posts: 171
Joined: Tue May 21, 2013 11:01 pm

Re: What To Do When Value Doesn't Propagate

Post by JB_AU »

Thankyou! :D
"Two things are infinite: the universe and human stupidity; and I'm not sure about the the universe."

Albert Einstein
User avatar
tiffy
Posts: 400
Joined: Wed May 08, 2013 12:14 pm

deleted by uploader

Post by tiffy »

deleted
Last edited by tiffy on Mon Aug 24, 2015 7:51 pm, edited 1 time in total.
Perfect Human Interface
Posts: 643
Joined: Sun Mar 10, 2013 7:32 pm

Re: What To Do When Value Doesn't Propagate

Post by Perfect Human Interface »

The trigger blocker is useful for when you want to control when something updates or limit triggers. Basically, you'd feed triggers from somewhere else. That way the value updates from the "somewhere else" triggers rather than passing the triggers you've blocked. A common example would be when redrawing GUI elements; because redraws are expensive and you might be sending 500 triggers in a second to a redraw even though your monitor can't refresh faster than 60 times a second, it's much better to just block the triggers and then feed more controlled triggers from a ticker instead.
billv
Posts: 1165
Joined: Tue Aug 31, 2010 3:34 pm
Location: Australia
Contact:

Re: What To Do When Value Doesn't Propagate

Post by billv »

tiffy wrote:I still don't understand the logic behind the need for a trigger blocker in any schematic

Trigger blocker is awesome.... combined with a s+hold you can easily control
how your circuits behave.
Trog's Trigger Tutorial is a must read....explains it all really well..he even breaks down the trigger order
with pictures so you can see how the signal moves..
http://synthmaker.co.uk/forum/download/file.php?id=6297&sid=e1d16e22338a5329b1b59032efbcae75
Post Reply