2020-04-13 09:14:15 +00:00
|
|
|
public class DigitalInput {
|
|
|
|
private boolean value = false;
|
2020-04-16 06:56:08 +00:00
|
|
|
private LogicGate gt = null;
|
2020-04-13 09:14:15 +00:00
|
|
|
|
2020-04-13 12:36:06 +00:00
|
|
|
public DigitalInput(final boolean value) {
|
2020-04-13 10:56:58 +00:00
|
|
|
setValue(value);
|
|
|
|
}
|
|
|
|
|
2020-04-14 09:29:26 +00:00
|
|
|
public DigitalInput(final LogicGate gate) {
|
2020-04-13 10:56:58 +00:00
|
|
|
setValue(gate);
|
|
|
|
}
|
|
|
|
|
2020-04-13 12:36:06 +00:00
|
|
|
public DigitalInput(final int value) {
|
2020-04-13 10:56:58 +00:00
|
|
|
setValue(value);
|
|
|
|
}
|
|
|
|
|
2020-04-13 12:36:06 +00:00
|
|
|
public DigitalInput(final char value) {
|
2020-04-13 10:56:58 +00:00
|
|
|
setValue(value);
|
2020-04-13 09:14:15 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* default value is false!
|
|
|
|
*/
|
|
|
|
public DigitalInput() {
|
|
|
|
}
|
|
|
|
|
2020-04-13 10:56:58 +00:00
|
|
|
public boolean getValue() {
|
2020-04-16 06:56:08 +00:00
|
|
|
if (gt != null) {
|
|
|
|
return gt.getOutput(); // validate gate here
|
|
|
|
} else {
|
|
|
|
return value;
|
|
|
|
}
|
2020-04-13 10:56:58 +00:00
|
|
|
}
|
|
|
|
|
2020-04-13 09:14:15 +00:00
|
|
|
public void setValue(boolean value) {
|
|
|
|
this.value = value;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setValue(LogicGate gate) {
|
2020-04-16 06:56:08 +00:00
|
|
|
this.gt = gate;
|
2020-04-13 09:14:15 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public void setValue(int value) {
|
2020-04-13 10:48:15 +00:00
|
|
|
this.value = value > 0;
|
2020-04-13 09:14:15 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public void setValue(char value) {
|
2020-04-13 10:48:15 +00:00
|
|
|
this.value = value == 'H';
|
2020-04-13 09:14:15 +00:00
|
|
|
}
|
|
|
|
}
|