mirror of
https://github.com/hneemann/Digital.git
synced 2025-09-17 00:44:40 -04:00
Fixes an error in the new counter that occurred when the counter value
was changed by the measured value dialog.
This commit is contained in:
parent
3e839a54ec
commit
b86462e2ea
@ -99,14 +99,17 @@ public class CounterPreset extends Node implements Element {
|
||||
counter = in.getValue();
|
||||
}
|
||||
|
||||
if (dir)
|
||||
ovfOut = (counter == 0) && enable;
|
||||
else
|
||||
ovfOut = (counter == maxValue) && enable;
|
||||
|
||||
ovfOut = getOvfValue(counter, dir, enable);
|
||||
lastClock = clock;
|
||||
}
|
||||
|
||||
private boolean getOvfValue(long counter, boolean dir, boolean enable) {
|
||||
if (dir)
|
||||
return (counter == 0) && enable;
|
||||
else
|
||||
return (counter == maxValue) && enable;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeOutputs() throws NodeException {
|
||||
ovf.setBool(ovfOut);
|
||||
@ -135,7 +138,7 @@ public class CounterPreset extends Node implements Element {
|
||||
if (probe)
|
||||
model.addSignal(new Signal(label, out, (v, z) -> {
|
||||
counter = v;
|
||||
boolean o = (counter == maxValue) && enable.getBool();
|
||||
boolean o = getOvfValue(counter, dir.getBool(), enable.getBool());
|
||||
out.setValue(counter);
|
||||
ovf.setBool(o);
|
||||
}));
|
||||
|
@ -528,7 +528,7 @@
|
||||
<string name="elem_Counter_pin_en">Der Zähler zählt nur, wenn dieser Eingang auf 1 gesetzt ist.</string>
|
||||
|
||||
<string name="elem_CounterPreset">Zähler, beschreibbar</string>
|
||||
<string name="elem_CounterPreset_tt">Zähler, dessen Wert gesetzt werden kann.</string>
|
||||
<string name="elem_CounterPreset_tt">Zähler, dessen Wert gesetzt werden kann. Zudem kann ein Maximalwert und eine Zählrichtung vorgegeben werden.</string>
|
||||
<string name="elem_CounterPreset_short">Zähler</string>
|
||||
<string name="elem_CounterPreset_pin_out">Gibt den gezählten Wert aus.</string>
|
||||
<string name="elem_CounterPreset_pin_ovf">Overflow Ausgang. Wird auf 1 gesetzt, der 'en' Eingang auf 1 gesetzt ist
|
||||
|
@ -531,7 +531,7 @@
|
||||
<string name="elem_Counter_pin_en">If set to 1 the counter is enabled!</string>
|
||||
|
||||
<string name="elem_CounterPreset">Counter with preset</string>
|
||||
<string name="elem_CounterPreset_tt">Counter with preset.</string>
|
||||
<string name="elem_CounterPreset_tt">A counter whose value can be set. In addition, a maximum value and a counting direction can be specified.</string>
|
||||
<string name="elem_CounterPreset_short">Counter</string>
|
||||
<string name="elem_CounterPreset_pin_out">Returns the counted value.</string>
|
||||
<string name="elem_CounterPreset_pin_ovf">Overflow output. It is set to 1 if the 'en' input is set to 1 and if the
|
||||
|
Loading…
x
Reference in New Issue
Block a user