I think I've been misinterpreting the delay-option in a Memory Flag... According to the description, it is "Delay input, by x cycles, to the output". Suppose I have a memory flag A with delay 0 and a flag B with delay 1, both connected to some analogue value V (edit: V is an analog output).
I thought that at any point, the value A reflects the current value of V, and the value B reflects the value in the previous cycle, but it appears that if V does not change, neither does B. As such, the description "by x cycles" is NOT machine cycles (as I thought) but rather "value changes of V"...
I tried to explain it in a table, suppose V varies as shown in the second row.
cycle | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
V | 5 | 5 | 6 | 7 | 8 | 8 | 8 | 9 | 9 |
A exepected | 5 | 5 | 6 | 7 | 8 | 8 | 8 | 9 | 9 |
B exepected | - | 5 | 5 | 6 | 7 | 8 | 8 | 8 | 9 |
A observed | 5 | 5 | 6 | 7 | 8 | 8 | 8 | 9 | 9 |
B observed | - | 5 | 5 | 6 | 7 | 7 | 7 | 8 | 8 |
I hadn't used those delays much, but started to use them and was struggling...
Do I now have the correct interpretation of how the delay works?
Thanks!
EDIT: I'm unable to reproduce this behaviour, the observed output is the expected output.
Jörg
Kommentar