use of org.diirt.vtype.Alarm in project yamcs-studio by yamcs.
the class AbstractVNumberVNumberToVNumberFormulaFunction method calculate.
@Override
public final Object calculate(List<Object> args) {
Object arg1 = args.get(0);
Object arg2 = args.get(1);
if (arg1 == null || arg2 == null) {
return null;
}
Alarm alarm = highestSeverityOf(args, false);
Time time = latestValidTimeOrNowOf(args);
if (time == null) {
time = ValueFactory.timeNow();
}
return ValueFactory.newVDouble(calculate(((VNumber) args.get(0)).getValue().doubleValue(), ((VNumber) args.get(1)).getValue().doubleValue()), alarm, time, ValueFactory.displayNone());
}
use of org.diirt.vtype.Alarm in project yamcs-studio by yamcs.
the class QualifiedHostnameChannelHandler method createValue.
@Override
protected Object createValue() {
String hostname;
Alarm alarm;
try {
hostname = InetAddress.getLocalHost().getCanonicalHostName();
alarm = alarmNone();
} catch (UnknownHostException ex) {
hostname = "Unknown host";
alarm = newAlarm(AlarmSeverity.INVALID, "Undefined");
}
if (!Objects.equals(hostname, previousValue)) {
previousValue = hostname;
return newVString(hostname, alarm, timeNow());
} else {
return null;
}
}
use of org.diirt.vtype.Alarm in project yamcs-studio by yamcs.
the class VStringOfFunction method readValue.
@Override
public VString readValue() {
VType value = argument.readValue();
if (forward != null) {
forward.writeValue(value);
}
if (value == null) {
return null;
}
String string = format.format(value);
Alarm alarm = ValueUtil.alarmOf(value);
if (alarm == null) {
alarm = ValueFactory.alarmNone();
}
Time time = ValueUtil.timeOf(value);
if (time == null) {
time = ValueFactory.timeNow();
}
return ValueFactory.newVString(string, alarm, time);
}
use of org.diirt.vtype.Alarm in project yamcs-studio by yamcs.
the class AlarmOfFunction method calculate.
@Override
public Object calculate(List<Object> args) {
if (NullUtils.containsNull(args)) {
return null;
}
Object arg = args.get(0);
Alarm alarm = ValueUtil.alarmOf(arg);
return newVEnum(alarm.getAlarmSeverity().ordinal(), AlarmSeverity.labels(), alarm, latestValidTimeOrNowOf(args));
}
use of org.diirt.vtype.Alarm in project yamcs-studio by yamcs.
the class HighestSeverityFunction method calculate.
@Override
public Object calculate(final List<Object> args) {
Alarm alarm = highestSeverityOf(args, true);
Time time = ValueUtil.timeOf(alarm);
if (time == null) {
time = ValueFactory.timeNow();
}
return ValueFactory.newVEnum(alarm.getAlarmSeverity().ordinal(), AlarmSeverity.labels(), alarm, time);
}
Aggregations