@@ -545,6 +545,46 @@ def test_tlm_unknown(method)
545
545
expect ( vals [ 14 ] [ 1 ] ) . to eql "-100.000 C"
546
546
expect ( vals [ 14 ] [ 2 ] ) . to eql :RED_LOW
547
547
end
548
+
549
+ it "marks data as stale" do
550
+ packet = System . telemetry . packet ( 'INST' , 'HEALTH_STATUS' )
551
+ packet . received_time = Time . now . sys - 100
552
+ packet . stored = false
553
+ packet . check_limits
554
+ TelemetryDecomTopic . write_packet ( packet , scope : "DEFAULT" )
555
+ sleep ( 0.01 ) # Allow the write to happen
556
+
557
+ # Use the default stale_time of 30s
558
+ vals = @api . get_tlm_packet ( "INST" , "HEALTH_STATUS" )
559
+ # Spot check a few
560
+ expect ( vals [ 11 ] [ 0 ] ) . to eql "TEMP1"
561
+ expect ( vals [ 11 ] [ 1 ] ) . to eql ( -100.0 )
562
+ expect ( vals [ 11 ] [ 2 ] ) . to eql :STALE
563
+ expect ( vals [ 12 ] [ 0 ] ) . to eql "TEMP2"
564
+ expect ( vals [ 12 ] [ 1 ] ) . to eql ( -100.0 )
565
+ expect ( vals [ 12 ] [ 2 ] ) . to eql :STALE
566
+ expect ( vals [ 13 ] [ 0 ] ) . to eql "TEMP3"
567
+ expect ( vals [ 13 ] [ 1 ] ) . to eql ( -100.0 )
568
+ expect ( vals [ 13 ] [ 2 ] ) . to eql :STALE
569
+ expect ( vals [ 14 ] [ 0 ] ) . to eql "TEMP4"
570
+ expect ( vals [ 14 ] [ 1 ] ) . to eql ( -100.0 )
571
+ expect ( vals [ 14 ] [ 2 ] ) . to eql :STALE
572
+
573
+ vals = @api . get_tlm_packet ( "INST" , "HEALTH_STATUS" , stale_time : 101 )
574
+ # Verify it goes back to the limits setting and not STALE
575
+ expect ( vals [ 11 ] [ 0 ] ) . to eql "TEMP1"
576
+ expect ( vals [ 11 ] [ 1 ] ) . to eql ( -100.0 )
577
+ expect ( vals [ 11 ] [ 2 ] ) . to eql :RED_LOW
578
+ expect ( vals [ 12 ] [ 0 ] ) . to eql "TEMP2"
579
+ expect ( vals [ 12 ] [ 1 ] ) . to eql ( -100.0 )
580
+ expect ( vals [ 12 ] [ 2 ] ) . to eql :RED_LOW
581
+ expect ( vals [ 13 ] [ 0 ] ) . to eql "TEMP3"
582
+ expect ( vals [ 13 ] [ 1 ] ) . to eql ( -100.0 )
583
+ expect ( vals [ 13 ] [ 2 ] ) . to eql :RED_LOW
584
+ expect ( vals [ 14 ] [ 0 ] ) . to eql "TEMP4"
585
+ expect ( vals [ 14 ] [ 1 ] ) . to eql ( -100.0 )
586
+ expect ( vals [ 14 ] [ 2 ] ) . to eql :RED_LOW
587
+ end
548
588
end
549
589
550
590
describe "get_tlm_values" do
@@ -642,6 +682,46 @@ def test_tlm_unknown(method)
642
682
expect ( vals [ 2 ] [ 1 ] ) . to be_nil
643
683
expect ( vals [ 3 ] [ 1 ] ) . to be_nil
644
684
end
685
+
686
+ it "marks data as stale" do
687
+ packet = System . telemetry . packet ( 'INST' , 'HEALTH_STATUS' )
688
+ packet . received_time = Time . now . sys - 100
689
+ packet . stored = false
690
+ packet . check_limits
691
+ TelemetryDecomTopic . write_packet ( packet , scope : "DEFAULT" )
692
+ sleep ( 0.01 ) # Allow the write to happen
693
+
694
+ items = [ ]
695
+ items << 'INST__HEALTH_STATUS__TEMP1__CONVERTED'
696
+ items << 'INST__LATEST__TEMP2__CONVERTED'
697
+ items << 'INST__HEALTH_STATUS__TEMP3__CONVERTED'
698
+ items << 'INST__LATEST__TEMP4__CONVERTED'
699
+ items << 'INST__HEALTH_STATUS__DURATION__CONVERTED'
700
+ # Use the default stale_time of 30s
701
+ vals = @api . get_tlm_values ( items )
702
+ expect ( vals [ 0 ] [ 0 ] ) . to eql ( -100.0 )
703
+ expect ( vals [ 1 ] [ 0 ] ) . to eql ( -100.0 )
704
+ expect ( vals [ 2 ] [ 0 ] ) . to eql ( -100.0 )
705
+ expect ( vals [ 3 ] [ 0 ] ) . to eql ( -100.0 )
706
+ expect ( vals [ 4 ] [ 0 ] ) . to eql ( 0.0 )
707
+ expect ( vals [ 0 ] [ 1 ] ) . to eql :STALE
708
+ expect ( vals [ 1 ] [ 1 ] ) . to eql :STALE
709
+ expect ( vals [ 2 ] [ 1 ] ) . to eql :STALE
710
+ expect ( vals [ 3 ] [ 1 ] ) . to eql :STALE
711
+ expect ( vals [ 4 ] [ 1 ] ) . to eql :STALE
712
+
713
+ vals = @api . get_tlm_values ( items , stale_time : 101 )
714
+ expect ( vals [ 0 ] [ 0 ] ) . to eql ( -100.0 )
715
+ expect ( vals [ 1 ] [ 0 ] ) . to eql ( -100.0 )
716
+ expect ( vals [ 2 ] [ 0 ] ) . to eql ( -100.0 )
717
+ expect ( vals [ 3 ] [ 0 ] ) . to eql ( -100.0 )
718
+ expect ( vals [ 4 ] [ 0 ] ) . to eql ( 0.0 )
719
+ expect ( vals [ 0 ] [ 1 ] ) . to eql :RED_LOW
720
+ expect ( vals [ 1 ] [ 1 ] ) . to eql :RED_LOW
721
+ expect ( vals [ 2 ] [ 1 ] ) . to eql :RED_LOW
722
+ expect ( vals [ 3 ] [ 1 ] ) . to eql :RED_LOW
723
+ expect ( vals [ 4 ] [ 1 ] ) . to be_nil
724
+ end
645
725
end
646
726
647
727
describe "subscribe_packets, get_packets" do
0 commit comments