Skip to content

Commit d079fd2

Browse files
authored
Merge pull request #199 from NASA-AMMOS/issue-198
Issue #198 - Address stagnant DN to EU value issue
2 parents 6b8449a + 7aea97a commit d079fd2

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

ait/gui/__init__.py

+11-6
Original file line numberDiff line numberDiff line change
@@ -776,12 +776,17 @@ def get_packet_delta(pkt_defn, packet):
776776
delta, dntoeus = {}, {}
777777

778778
for field in pkt_defn.fields:
779-
new_value = getattr(ait_pkt.raw, field.name)
780-
last_value = packet_states[pkt_defn.name]['raw'][field.name]
781-
782-
if new_value != last_value:
783-
delta[field.name] = new_value
784-
packet_states[pkt_defn.name]['raw'][field.name] = new_value
779+
new_raw = getattr(ait_pkt.raw, field.name)
780+
last_raw = packet_states[pkt_defn.name]['raw'][field.name]
781+
782+
# A field update needs sent when the raw value has changed or if a
783+
# DN to EU is defined on the field. DN to EUs can take multiple
784+
# telemetry points as input or may rely on other means to determine
785+
# a value. We can't be sure that they won't change so we should
786+
# always calculate them.
787+
if new_raw != last_raw or field.dntoeu is not None:
788+
delta[field.name] = new_raw
789+
packet_states[pkt_defn.name]['raw'][field.name] = new_raw
785790

786791
if field.dntoeu is not None or field.enum is not None or field.type.name in dtype.ComplexTypeMap.keys():
787792
try:

0 commit comments

Comments
 (0)