File tree 1 file changed +11
-6
lines changed
1 file changed +11
-6
lines changed Original file line number Diff line number Diff line change @@ -776,12 +776,17 @@ def get_packet_delta(pkt_defn, packet):
776
776
delta , dntoeus = {}, {}
777
777
778
778
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
785
790
786
791
if field .dntoeu is not None or field .enum is not None or field .type .name in dtype .ComplexTypeMap .keys ():
787
792
try :
You can’t perform that action at this time.
0 commit comments