cosmos 3.3.3 → 3.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (109) hide show
  1. checksums.yaml +4 -4
  2. data/.gitattributes +2 -0
  3. data/.travis.yml +2 -1
  4. data/Gemfile +4 -3
  5. data/Manifest.txt +22 -0
  6. data/autohotkey/tools/handbook_creator.ahk +9 -0
  7. data/autohotkey/tools/packet_viewer.ahk +4 -0
  8. data/bin/exchndl20-x64.dll +0 -0
  9. data/bin/exchndl20.dll +0 -0
  10. data/bin/exchndl21-x64.dll +0 -0
  11. data/bin/exchndl21.dll +0 -0
  12. data/bin/exchndl22-x64.dll +0 -0
  13. data/bin/exchndl22.dll +0 -0
  14. data/bin/mgwhelp-x64.dll +0 -0
  15. data/bin/mgwhelp.dll +0 -0
  16. data/cosmos.gemspec +1 -0
  17. data/data/crc.txt +30 -24
  18. data/demo/config/data/crc.txt +3 -3
  19. data/demo/config/tools/handbook_creator/templates/command_packets.html.erb +3 -1
  20. data/demo/config/tools/handbook_creator/templates/telemetry_packets.html.erb +3 -1
  21. data/demo/procedures/cosmos_api_test.rb +1 -1
  22. data/ext/cosmos/ext/low_fragmentation_array/low_fragmentation_array.c +4 -0
  23. data/ext/cosmos/ext/platform/platform.c +22 -2
  24. data/ext/cosmos/ext/structure/structure.c +631 -104
  25. data/ext/cosmos/ext/telemetry/telemetry.c +3 -2
  26. data/lib/cosmos/gui/line_graph/line_graph_drawing.rb +71 -92
  27. data/lib/cosmos/gui/line_graph/overview_graph.rb +1 -1
  28. data/lib/cosmos/gui/qt.rb +38 -24
  29. data/lib/cosmos/gui/text/ruby_editor.rb +1 -1
  30. data/lib/cosmos/packets/binary_accessor.rb +1 -288
  31. data/lib/cosmos/packets/telemetry.rb +2 -1
  32. data/lib/cosmos/script/cmd_tlm_server.rb +110 -0
  33. data/lib/cosmos/script/commands.rb +166 -0
  34. data/lib/cosmos/script/extract.rb +2 -2
  35. data/lib/cosmos/script/limits.rb +108 -0
  36. data/lib/cosmos/script/script.rb +28 -1487
  37. data/lib/cosmos/script/scripting.rb +889 -0
  38. data/lib/cosmos/script/telemetry.rb +174 -0
  39. data/lib/cosmos/script/tools.rb +138 -0
  40. data/lib/cosmos/streams/stream_protocol.rb +9 -6
  41. data/lib/cosmos/system/target.rb +55 -38
  42. data/lib/cosmos/tools/cmd_tlm_server/api.rb +6 -3
  43. data/lib/cosmos/tools/cmd_tlm_server/connections.rb +0 -1
  44. data/lib/cosmos/tools/cmd_tlm_server/gui/interfaces_tab.rb +17 -7
  45. data/lib/cosmos/tools/cmd_tlm_server/interface_thread.rb +15 -4
  46. data/lib/cosmos/tools/handbook_creator/handbook_creator.rb +15 -8
  47. data/lib/cosmos/tools/handbook_creator/handbook_creator_config.rb +41 -13
  48. data/lib/cosmos/tools/packet_viewer/packet_viewer.rb +18 -1
  49. data/lib/cosmos/tools/tlm_viewer/widgets/canvasline_widget.rb +1 -1
  50. data/lib/cosmos/tools/tlm_viewer/widgets/canvaslinevalue_widget.rb +1 -1
  51. data/lib/cosmos/tools/tlm_viewer/widgets/limitsbar_widget.rb +1 -1
  52. data/lib/cosmos/tools/tlm_viewer/widgets/rangebar_widget.rb +1 -1
  53. data/lib/cosmos/top_level.rb +1 -1
  54. data/lib/cosmos/utilities/ruby_lex_utils.rb +1 -1
  55. data/lib/cosmos/version.rb +5 -5
  56. data/spec/gui/line_graph/line_clip_spec.rb +6 -6
  57. data/spec/gui/qt_spec.rb +102 -0
  58. data/spec/interfaces/interface_spec.rb +9 -9
  59. data/spec/interfaces/linc_interface_spec.rb +72 -15
  60. data/spec/interfaces/serial_interface_spec.rb +9 -9
  61. data/spec/interfaces/simulated_target_interface_spec.rb +7 -7
  62. data/spec/interfaces/stream_interface_spec.rb +4 -4
  63. data/spec/interfaces/tcpip_client_interface_spec.rb +8 -8
  64. data/spec/interfaces/tcpip_server_interface_spec.rb +9 -9
  65. data/spec/interfaces/udp_interface_spec.rb +20 -20
  66. data/spec/io/json_drb_spec.rb +4 -4
  67. data/spec/io/raw_logger_pair_spec.rb +20 -20
  68. data/spec/io/raw_logger_spec.rb +3 -3
  69. data/spec/io/tcpip_server_spec.rb +9 -9
  70. data/spec/io/udp_sockets_spec.rb +2 -2
  71. data/spec/io/win32_serial_driver_spec.rb +2 -2
  72. data/spec/packets/binary_accessor_spec.rb +143 -6
  73. data/spec/packets/commands_spec.rb +5 -5
  74. data/spec/packets/limits_spec.rb +15 -15
  75. data/spec/packets/packet_config_spec.rb +19 -19
  76. data/spec/packets/packet_item_limits_spec.rb +3 -3
  77. data/spec/packets/packet_item_spec.rb +4 -4
  78. data/spec/packets/packet_spec.rb +33 -33
  79. data/spec/packets/structure_item_spec.rb +19 -19
  80. data/spec/packets/telemetry_spec.rb +6 -6
  81. data/spec/script/cmd_tlm_server_spec.rb +110 -0
  82. data/spec/script/commands_disconnect_spec.rb +270 -0
  83. data/spec/script/commands_spec.rb +288 -0
  84. data/spec/script/limits_spec.rb +153 -0
  85. data/spec/script/script_spec.rb +32 -696
  86. data/spec/script/scripting_spec.rb +436 -0
  87. data/spec/script/telemetry_spec.rb +130 -0
  88. data/spec/script/tools_spec.rb +117 -0
  89. data/spec/spec_helper.rb +10 -5
  90. data/spec/streams/preidentified_stream_protocol_spec.rb +4 -4
  91. data/spec/streams/serial_stream_spec.rb +8 -8
  92. data/spec/streams/stream_protocol_spec.rb +4 -4
  93. data/spec/streams/tcpip_client_stream_spec.rb +3 -3
  94. data/spec/streams/tcpip_socket_stream_spec.rb +7 -7
  95. data/spec/streams/template_stream_protocol_spec.rb +1 -1
  96. data/spec/system/system_spec.rb +6 -6
  97. data/spec/system/target_spec.rb +2 -0
  98. data/spec/tools/cmd_tlm_server/api_spec.rb +17 -17
  99. data/spec/tools/cmd_tlm_server/cmd_tlm_server_config_spec.rb +5 -5
  100. data/spec/tools/cmd_tlm_server/interface_thread_spec.rb +3 -3
  101. data/spec/top_level/top_level_spec.rb +8 -8
  102. data/spec/utilities/csv_spec.rb +3 -3
  103. data/spec/utilities/message_log_spec.rb +3 -3
  104. data/spec/utilities/ruby_lex_utils_spec.rb +7 -7
  105. data/test/performance/config/tools/launcher/launcher_threads.txt +8 -1
  106. data/test/performance/tools/CmdTlmServerMemProf +1 -1
  107. data/test/performance/tools/TlmGrapherMemProf +19 -0
  108. data/test/performance/tools/TlmGrapherMemProf.bat +59 -0
  109. metadata +38 -2
@@ -324,22 +324,22 @@ module Cosmos
324
324
 
325
325
  it "returns true if the command overall is hazardous" do
326
326
  hazardous, description = @cmd.cmd_hazardous?("TGT1","PKT1")
327
- expect(hazardous).to be_falsey
327
+ expect(hazardous).to be false
328
328
  expect(description).to be_nil
329
329
  hazardous, description = @cmd.cmd_hazardous?("tgt2","pkt3")
330
- expect(hazardous).to be_truthy
330
+ expect(hazardous).to be true
331
331
  expect(description).to eql "Hazardous"
332
332
  end
333
333
 
334
334
  it "returns true if a command parameter is hazardous" do
335
335
  hazardous, description = @cmd.cmd_hazardous?("TGT1","PKT2",{"ITEM2"=>0})
336
- expect(hazardous).to be_truthy
336
+ expect(hazardous).to be true
337
337
  expect(description).to eql "Hazardous"
338
338
  hazardous, description = @cmd.cmd_hazardous?("TGT1","PKT2",{"ITEM2"=>1})
339
- expect(hazardous).to be_truthy
339
+ expect(hazardous).to be true
340
340
  expect(description).to eql ""
341
341
  hazardous, description = @cmd.cmd_hazardous?("TGT1","PKT2",{"ITEM2"=>2})
342
- expect(hazardous).to be_falsey
342
+ expect(hazardous).to be false
343
343
  expect(description).to be_nil
344
344
  end
345
345
  end
@@ -193,11 +193,11 @@ module Cosmos
193
193
  it "enables limits for all items in the group" do
194
194
  @limits.enable_group("group1")
195
195
  pkt = @tlm.packet("TGT1","PKT1")
196
- expect(pkt.get_item("ITEM1").limits.enabled).to be_truthy
197
- expect(pkt.get_item("ITEM2").limits.enabled).to be_truthy
198
- expect(pkt.get_item("ITEM3").limits.enabled).to be_truthy
199
- expect(pkt.get_item("ITEM4").limits.enabled).to be_truthy
200
- expect(pkt.get_item("ITEM5").limits.enabled).to be_falsey
196
+ expect(pkt.get_item("ITEM1").limits.enabled).to be true
197
+ expect(pkt.get_item("ITEM2").limits.enabled).to be true
198
+ expect(pkt.get_item("ITEM3").limits.enabled).to be true
199
+ expect(pkt.get_item("ITEM4").limits.enabled).to be true
200
+ expect(pkt.get_item("ITEM5").limits.enabled).to be false
201
201
  end
202
202
  end
203
203
 
@@ -210,12 +210,12 @@ module Cosmos
210
210
  pkt = @tlm.packet("TGT1","PKT1")
211
211
  pkt.enable_limits("ITEM1")
212
212
  pkt.enable_limits("ITEM2")
213
- expect(pkt.get_item("ITEM1").limits.enabled).to be_truthy
214
- expect(pkt.get_item("ITEM2").limits.enabled).to be_truthy
213
+ expect(pkt.get_item("ITEM1").limits.enabled).to be true
214
+ expect(pkt.get_item("ITEM2").limits.enabled).to be true
215
215
 
216
216
  @limits.disable_group("group1")
217
- expect(pkt.get_item("ITEM1").limits.enabled).to be_falsey
218
- expect(pkt.get_item("ITEM2").limits.enabled).to be_falsey
217
+ expect(pkt.get_item("ITEM1").limits.enabled).to be false
218
+ expect(pkt.get_item("ITEM2").limits.enabled).to be false
219
219
  end
220
220
  end
221
221
 
@@ -234,9 +234,9 @@ module Cosmos
234
234
 
235
235
  it "returns whether limits are enable for an item" do
236
236
  pkt = @tlm.packet("TGT1","PKT1")
237
- expect(@limits.enabled?("TGT1","PKT1","ITEM5")).to be_falsey
237
+ expect(@limits.enabled?("TGT1","PKT1","ITEM5")).to be false
238
238
  pkt.enable_limits("ITEM5")
239
- expect(@limits.enabled?("TGT1","PKT1","ITEM5")).to be_truthy
239
+ expect(@limits.enabled?("TGT1","PKT1","ITEM5")).to be true
240
240
  end
241
241
  end
242
242
 
@@ -255,9 +255,9 @@ module Cosmos
255
255
 
256
256
  it "enables limits for an item" do
257
257
  pkt = @tlm.packet("TGT1","PKT1")
258
- expect(@limits.enabled?("TGT1","PKT1","ITEM5")).to be_falsey
258
+ expect(@limits.enabled?("TGT1","PKT1","ITEM5")).to be false
259
259
  @limits.enable("TGT1","PKT1","ITEM5")
260
- expect(@limits.enabled?("TGT1","PKT1","ITEM5")).to be_truthy
260
+ expect(@limits.enabled?("TGT1","PKT1","ITEM5")).to be true
261
261
  end
262
262
  end
263
263
 
@@ -277,9 +277,9 @@ module Cosmos
277
277
  it "disables limits for an item" do
278
278
  pkt = @tlm.packet("TGT1","PKT1")
279
279
  @limits.enable("TGT1","PKT1","ITEM1")
280
- expect(@limits.enabled?("TGT1","PKT1","ITEM1")).to be_truthy
280
+ expect(@limits.enabled?("TGT1","PKT1","ITEM1")).to be true
281
281
  @limits.disable("TGT1","PKT1","ITEM1")
282
- expect(@limits.enabled?("TGT1","PKT1","ITEM1")).to be_falsey
282
+ expect(@limits.enabled?("TGT1","PKT1","ITEM1")).to be false
283
283
  end
284
284
  end
285
285
 
@@ -355,8 +355,8 @@ module Cosmos
355
355
  tf.puts 'TELEMETRY tgt1 pkt2 LITTLE_ENDIAN "Description"'
356
356
  tf.close
357
357
  @pc.process_file(tf.path, "TGT1")
358
- expect(@pc.telemetry["TGT1"]["PKT1"].short_buffer_allowed).to be_truthy
359
- expect(@pc.telemetry["TGT1"]["PKT2"].short_buffer_allowed).to be_falsey
358
+ expect(@pc.telemetry["TGT1"]["PKT1"].short_buffer_allowed).to be true
359
+ expect(@pc.telemetry["TGT1"]["PKT2"].short_buffer_allowed).to be false
360
360
  tf.unlink
361
361
  end
362
362
  end
@@ -384,8 +384,8 @@ module Cosmos
384
384
  tf.puts 'COMMAND tgt1 pkt2 LITTLE_ENDIAN "Description"'
385
385
  tf.close
386
386
  @pc.process_file(tf.path, "TGT1")
387
- expect(@pc.commands["TGT1"]["PKT1"].messages_disabled).to be_truthy
388
- expect(@pc.commands["TGT1"]["PKT2"].messages_disabled).to be_falsey
387
+ expect(@pc.commands["TGT1"]["PKT1"].messages_disabled).to be true
388
+ expect(@pc.commands["TGT1"]["PKT2"].messages_disabled).to be false
389
389
  tf.unlink
390
390
  end
391
391
  end
@@ -398,10 +398,10 @@ module Cosmos
398
398
  tf.puts 'COMMAND tgt1 pkt2 LITTLE_ENDIAN "Description"'
399
399
  tf.close
400
400
  @pc.process_file(tf.path, "TGT1")
401
- expect(@pc.commands["TGT1"]["PKT1"].hidden).to be_truthy
402
- expect(@pc.commands["TGT1"]["PKT1"].disabled).to be_falsey
403
- expect(@pc.commands["TGT1"]["PKT2"].hidden).to be_falsey
404
- expect(@pc.commands["TGT1"]["PKT2"].disabled).to be_falsey
401
+ expect(@pc.commands["TGT1"]["PKT1"].hidden).to be true
402
+ expect(@pc.commands["TGT1"]["PKT1"].disabled).to be false
403
+ expect(@pc.commands["TGT1"]["PKT2"].hidden).to be false
404
+ expect(@pc.commands["TGT1"]["PKT2"].disabled).to be false
405
405
  tf.unlink
406
406
  end
407
407
  end
@@ -414,10 +414,10 @@ module Cosmos
414
414
  tf.puts 'COMMAND tgt1 pkt2 LITTLE_ENDIAN "Description"'
415
415
  tf.close
416
416
  @pc.process_file(tf.path, "TGT1")
417
- expect(@pc.commands["TGT1"]["PKT1"].hidden).to be_truthy
418
- expect(@pc.commands["TGT1"]["PKT1"].disabled).to be_truthy
419
- expect(@pc.commands["TGT1"]["PKT2"].hidden).to be_falsey
420
- expect(@pc.commands["TGT1"]["PKT2"].disabled).to be_falsey
417
+ expect(@pc.commands["TGT1"]["PKT1"].hidden).to be true
418
+ expect(@pc.commands["TGT1"]["PKT1"].disabled).to be true
419
+ expect(@pc.commands["TGT1"]["PKT2"].hidden).to be false
420
+ expect(@pc.commands["TGT1"]["PKT2"].disabled).to be false
421
421
  tf.unlink
422
422
  end
423
423
  end
@@ -433,10 +433,10 @@ module Cosmos
433
433
  tf.puts 'COMMAND tgt2 pkt2 LITTLE_ENDIAN "Description"'
434
434
  tf.close
435
435
  @pc.process_file(tf.path, "SYSTEM")
436
- expect(@pc.telemetry["TGT1"]["PKT1"].hazardous).to be_truthy
437
- expect(@pc.telemetry["TGT1"]["PKT2"].hazardous).to be_falsey
438
- expect(@pc.commands["TGT2"]["PKT1"].hazardous).to be_truthy
439
- expect(@pc.commands["TGT2"]["PKT2"].hazardous).to be_falsey
436
+ expect(@pc.telemetry["TGT1"]["PKT1"].hazardous).to be true
437
+ expect(@pc.telemetry["TGT1"]["PKT2"].hazardous).to be false
438
+ expect(@pc.commands["TGT2"]["PKT1"].hazardous).to be true
439
+ expect(@pc.commands["TGT2"]["PKT2"].hazardous).to be false
440
440
  tf.unlink
441
441
  end
442
442
 
@@ -446,7 +446,7 @@ module Cosmos
446
446
  tf.puts 'HAZARDOUS "Hazardous description"'
447
447
  tf.close
448
448
  @pc.process_file(tf.path, "TGT1")
449
- expect(@pc.commands["TGT1"]["PKT1"].hazardous).to be_truthy
449
+ expect(@pc.commands["TGT1"]["PKT1"].hazardous).to be true
450
450
  expect(@pc.commands["TGT1"]["PKT1"].hazardous_description).to eql "Hazardous description"
451
451
  tf.unlink
452
452
  end
@@ -735,8 +735,8 @@ module Cosmos
735
735
  tf.puts ' PARAMETER item2 0 8 UINT 0 1 1'
736
736
  tf.close
737
737
  @pc.process_file(tf.path, "TGT1")
738
- expect(@pc.commands["TGT1"]["PKT1"].items["ITEM1"].required).to be_truthy
739
- expect(@pc.commands["TGT1"]["PKT1"].items["ITEM2"].required).to be_falsey
738
+ expect(@pc.commands["TGT1"]["PKT1"].items["ITEM1"].required).to be true
739
+ expect(@pc.commands["TGT1"]["PKT1"].items["ITEM2"].required).to be false
740
740
  tf.unlink
741
741
  end
742
742
  end
@@ -63,7 +63,7 @@ module Cosmos
63
63
  it "accepts LimitsResponse instances" do
64
64
  r = LimitsResponse.new()
65
65
  @l.response = r
66
- expect(LimitsResponse === @l.response).to be_truthy
66
+ expect(LimitsResponse === @l.response).to be true
67
67
  end
68
68
 
69
69
  it "sets the response to nil" do
@@ -132,7 +132,7 @@ module Cosmos
132
132
  hash = @l.to_hash
133
133
  expect(hash.keys.length).to eql 6
134
134
  expect(hash.keys).to include('values','enabled','state','response','persistence_setting','persistence_count')
135
- expect(hash["enabled"]).to be_truthy
135
+ expect(hash["enabled"]).to be true
136
136
  expect(hash["values"]).to include(:DEFAULT => [0,1,2,3,4,5])
137
137
  expect(hash["state"]).to eql :RED_LOW
138
138
  expect(hash["response"]).to match "LimitsResponse"
@@ -148,7 +148,7 @@ module Cosmos
148
148
  @l.persistence_count = 2
149
149
 
150
150
  hash = @l.to_hash
151
- expect(hash["enabled"]).to be_truthy
151
+ expect(hash["enabled"]).to be true
152
152
  expect(hash["values"]).to include(:DEFAULT => [0,1,2,3,4,5])
153
153
  expect(hash["state"]).to eql :RED_LOW
154
154
  expect(hash["response"]).to be_nil
@@ -46,7 +46,7 @@ module Cosmos
46
46
  it "accepts Conversion instances" do
47
47
  c = GenericConversion.new("value / 2")
48
48
  @pi.read_conversion = c
49
- expect(@pi.read_conversion.to_s == c.to_s).to be_truthy
49
+ expect(@pi.read_conversion.to_s == c.to_s).to be true
50
50
  end
51
51
 
52
52
  it "sets the read_conversion to nil" do
@@ -63,7 +63,7 @@ module Cosmos
63
63
  it "accepts Conversion instances" do
64
64
  c = GenericConversion.new("value / 2")
65
65
  @pi.write_conversion = c
66
- expect(@pi.write_conversion.to_s == c.to_s).to be_truthy
66
+ expect(@pi.write_conversion.to_s == c.to_s).to be true
67
67
  end
68
68
 
69
69
  it "sets the write_conversion to nil" do
@@ -324,7 +324,7 @@ module Cosmos
324
324
  describe "clone" do
325
325
  it "duplicates the entire PacketItem" do
326
326
  pi2 = @pi.clone
327
- expect(@pi == pi2).to be_truthy
327
+ expect(@pi == pi2).to be true
328
328
  end
329
329
  end
330
330
 
@@ -368,7 +368,7 @@ module Cosmos
368
368
  expect(hash["units"]).to eql "C"
369
369
  expect(hash["default"]).to eql 0
370
370
  expect(hash["range"]).to eql (0..100)
371
- expect(hash["required"]).to be_truthy
371
+ expect(hash["required"]).to be true
372
372
  expect(hash["hazardous"]).to include("TRUE"=>nil,"FALSE"=>"NO!")
373
373
  expect(hash["state_colors"]).to include("TRUE"=>:GREEN,"FALSE"=>:RED)
374
374
  expect(hash["limits"]).to eql PacketItemLimits.new.to_hash
@@ -731,9 +731,9 @@ module Cosmos
731
731
  p.append_item("item1",8,:UINT)
732
732
  p.append_item("item2",16,:UINT,nil,:BIG_ENDIAN,:ERROR,nil,nil,nil,5)
733
733
  p.append_item("item3",32,:UINT)
734
- expect(p.identify?("\x00\x00\x05\x01\x02\x03\x04")).to be_truthy
735
- expect(p.identify?("\x00\x00\x04\x01\x02\x03\x04")).to be_falsey
736
- expect(p.identify?("\x00")).to be_falsey
734
+ expect(p.identify?("\x00\x00\x05\x01\x02\x03\x04")).to be true
735
+ expect(p.identify?("\x00\x00\x04\x01\x02\x03\x04")).to be false
736
+ expect(p.identify?("\x00")).to be false
737
737
  end
738
738
 
739
739
  it "identifies if the buffer is too short" do
@@ -741,7 +741,7 @@ module Cosmos
741
741
  p.append_item("item1",8,:UINT)
742
742
  p.append_item("item2",16,:UINT,nil,:BIG_ENDIAN,:ERROR,nil,nil,nil,5)
743
743
  p.append_item("item3",32,:UINT)
744
- expect(p.identify?("\x00\x00\x05\x01\x02\x03")).to be_truthy
744
+ expect(p.identify?("\x00\x00\x05\x01\x02\x03")).to be true
745
745
  end
746
746
 
747
747
  it "identifies if the buffer is too long" do
@@ -749,15 +749,15 @@ module Cosmos
749
749
  p.append_item("item1",8,:UINT)
750
750
  p.append_item("item2",16,:UINT,nil,:BIG_ENDIAN,:ERROR,nil,nil,nil,5)
751
751
  p.append_item("item3",32,:UINT)
752
- expect(p.identify?("\x00\x00\x05\x01\x02\x03\x04\x05")).to be_truthy
752
+ expect(p.identify?("\x00\x00\x05\x01\x02\x03\x04\x05")).to be true
753
753
  end
754
754
  end
755
755
 
756
756
  describe "identified?" do
757
757
  it "returns true if the target name and packet name are set" do
758
- expect(Packet.new('TGT',nil).identified?).to be_falsey
759
- expect(Packet.new(nil,'PKT').identified?).to be_falsey
760
- expect(Packet.new('TGT','PKT').identified?).to be_truthy
758
+ expect(Packet.new('TGT',nil).identified?).to be false
759
+ expect(Packet.new(nil,'PKT').identified?).to be false
760
+ expect(Packet.new('TGT','PKT').identified?).to be true
761
761
  end
762
762
  end
763
763
 
@@ -789,14 +789,14 @@ module Cosmos
789
789
  p = Packet.new("tgt","pkt")
790
790
  p.append_item("test1", 8, :UINT, 16)
791
791
  p.append_item("test2", 16, :UINT)
792
- expect(p.get_item("TEST1").limits.enabled).to be_falsey
793
- expect(p.get_item("TEST2").limits.enabled).to be_falsey
792
+ expect(p.get_item("TEST1").limits.enabled).to be false
793
+ expect(p.get_item("TEST2").limits.enabled).to be false
794
794
  p.enable_limits("TEST1")
795
- expect(p.get_item("TEST1").limits.enabled).to be_truthy
796
- expect(p.get_item("TEST2").limits.enabled).to be_falsey
795
+ expect(p.get_item("TEST1").limits.enabled).to be true
796
+ expect(p.get_item("TEST2").limits.enabled).to be false
797
797
  p.enable_limits("TEST2")
798
- expect(p.get_item("TEST1").limits.enabled).to be_truthy
799
- expect(p.get_item("TEST2").limits.enabled).to be_truthy
798
+ expect(p.get_item("TEST1").limits.enabled).to be true
799
+ expect(p.get_item("TEST2").limits.enabled).to be true
800
800
  end
801
801
  end
802
802
 
@@ -807,14 +807,14 @@ module Cosmos
807
807
  p.append_item("test2", 16, :UINT)
808
808
  p.enable_limits("TEST1")
809
809
  p.enable_limits("TEST2")
810
- expect(p.get_item("TEST1").limits.enabled).to be_truthy
811
- expect(p.get_item("TEST2").limits.enabled).to be_truthy
810
+ expect(p.get_item("TEST1").limits.enabled).to be true
811
+ expect(p.get_item("TEST2").limits.enabled).to be true
812
812
  p.disable_limits("TEST1")
813
- expect(p.get_item("TEST1").limits.enabled).to be_falsey
814
- expect(p.get_item("TEST2").limits.enabled).to be_truthy
813
+ expect(p.get_item("TEST1").limits.enabled).to be false
814
+ expect(p.get_item("TEST2").limits.enabled).to be true
815
815
  p.disable_limits("TEST2")
816
- expect(p.get_item("TEST1").limits.enabled).to be_falsey
817
- expect(p.get_item("TEST2").limits.enabled).to be_falsey
816
+ expect(p.get_item("TEST1").limits.enabled).to be false
817
+ expect(p.get_item("TEST2").limits.enabled).to be false
818
818
  end
819
819
 
820
820
  it "calls the limits_change_callback for all non STALE items" do
@@ -839,8 +839,8 @@ module Cosmos
839
839
  p.check_limits
840
840
  p.disable_limits("TEST1")
841
841
  p.disable_limits("TEST2")
842
- expect(p.get_item("TEST1").limits.enabled).to be_falsey
843
- expect(p.get_item("TEST2").limits.enabled).to be_falsey
842
+ expect(p.get_item("TEST1").limits.enabled).to be false
843
+ expect(p.get_item("TEST2").limits.enabled).to be false
844
844
  end
845
845
  end
846
846
 
@@ -922,14 +922,14 @@ module Cosmos
922
922
  end
923
923
 
924
924
  it "sets clear the stale flag" do
925
- expect(@p.stale).to be_truthy
925
+ expect(@p.stale).to be true
926
926
  @p.check_limits
927
- expect(@p.stale).to be_falsey
927
+ expect(@p.stale).to be false
928
928
  end
929
929
 
930
930
  it "does not call the limits_change_callback if limits are disabled" do
931
- expect(@p.get_item("TEST1").limits.enabled).to be_falsey
932
- expect(@p.get_item("TEST2").limits.enabled).to be_falsey
931
+ expect(@p.get_item("TEST1").limits.enabled).to be false
932
+ expect(@p.get_item("TEST2").limits.enabled).to be false
933
933
  callback = double("callback")
934
934
  allow(callback).to receive(:call)
935
935
  @p.limits_change_callback = callback
@@ -940,14 +940,14 @@ module Cosmos
940
940
  context "with states" do
941
941
  it "calls the limits_change_callback" do
942
942
  test1 = @p.get_item("TEST1")
943
- expect(test1.limits.enabled).to be_falsey
943
+ expect(test1.limits.enabled).to be false
944
944
  test1.states = {"TRUE"=>1,"FALSE"=>0}
945
945
  test1.state_colors = {"TRUE"=>:GREEN,"FALSE"=>:RED}
946
946
  @p.update_limits_items_cache(test1)
947
947
  @p.write("TEST1", 0)
948
948
  @p.enable_limits("TEST1")
949
949
  test2 = @p.get_item("TEST2")
950
- expect(test2.limits.enabled).to be_falsey
950
+ expect(test2.limits.enabled).to be false
951
951
  test2.states = {"TRUE"=>1,"FALSE"=>0}
952
952
  test2.state_colors = {"TRUE"=>:RED,"FALSE"=>:GREEN}
953
953
  @p.write("TEST2", 0)
@@ -978,19 +978,19 @@ module Cosmos
978
978
  context "with values" do
979
979
  before(:each) do
980
980
  @test1 = @p.get_item("TEST1")
981
- expect(@test1.limits.enabled).to be_falsey
981
+ expect(@test1.limits.enabled).to be false
982
982
  @test1.limits.values = {:DEFAULT=>[1,2,4,5]} # red yellow
983
983
  @p.update_limits_items_cache(@test1)
984
984
  @p.enable_limits("TEST1")
985
985
 
986
986
  @test2 = @p.get_item("TEST2")
987
- expect(@test2.limits.enabled).to be_falsey
987
+ expect(@test2.limits.enabled).to be false
988
988
  @test2.limits.values = {:DEFAULT=>[1,2,6,7,3,5]} # red yellow and blue
989
989
  @p.update_limits_items_cache(@test2)
990
990
  @p.enable_limits("TEST2")
991
991
 
992
992
  @test3 = @p.get_item("TEST3")
993
- expect(@test3.limits.enabled).to be_falsey
993
+ expect(@test3.limits.enabled).to be false
994
994
  @test3.limits.values = {:DEFAULT=>[1,1.5,2.5,3]} # red yellow
995
995
  @p.update_limits_items_cache(@test3)
996
996
  @p.enable_limits("TEST3")
@@ -1254,12 +1254,12 @@ module Cosmos
1254
1254
  p.enable_limits("TEST2")
1255
1255
  expect(p.out_of_limits).to eql []
1256
1256
 
1257
- expect(p.stale).to be_truthy
1257
+ expect(p.stale).to be true
1258
1258
  expect(p.get_item("TEST1").limits.state).to eql :STALE
1259
1259
  expect(p.get_item("TEST2").limits.state).to eql :STALE
1260
1260
  # Update the limits
1261
1261
  p.check_limits
1262
- expect(p.stale).to be_falsey
1262
+ expect(p.stale).to be false
1263
1263
  expect(p.get_item("TEST1").limits.state).not_to eql :STALE
1264
1264
  expect(p.get_item("TEST2").limits.state).not_to eql :STALE
1265
1265
  # set them all back to stale
@@ -126,44 +126,44 @@ module Cosmos
126
126
  it "sorts items according to positive bit offset" do
127
127
  si1 = StructureItem.new("si1", 0, 8, :UINT, :BIG_ENDIAN, nil)
128
128
  si2 = StructureItem.new("si2", 8, 8, :UINT, :BIG_ENDIAN, nil)
129
- expect(si1 < si2).to be_truthy
130
- expect(si1 == si2).to be_falsey
131
- expect(si1 > si2).to be_falsey
129
+ expect(si1 < si2).to be true
130
+ expect(si1 == si2).to be false
131
+ expect(si1 > si2).to be false
132
132
 
133
133
  si2 = StructureItem.new("si2", 0, 8, :UINT, :BIG_ENDIAN, nil)
134
- expect(si1 < si2).to be_falsey
135
- expect(si1 == si2).to be_truthy
136
- expect(si1 > si2).to be_falsey
134
+ expect(si1 < si2).to be false
135
+ expect(si1 == si2).to be true
136
+ expect(si1 > si2).to be false
137
137
  end
138
138
 
139
139
  it "sorts items with 0 bit offset according to bit size" do
140
140
  si1 = StructureItem.new("si1", 0, 8, :UINT, :BIG_ENDIAN, nil)
141
141
  si2 = StructureItem.new("si2", 0, 0, :BLOCK, :BIG_ENDIAN, nil)
142
- expect(si1 < si2).to be_falsey
143
- expect(si1 == si2).to be_falsey
144
- expect(si1 > si2).to be_truthy
142
+ expect(si1 < si2).to be false
143
+ expect(si1 == si2).to be false
144
+ expect(si1 > si2).to be true
145
145
  end
146
146
 
147
147
  it "sorts items according to negative bit offset" do
148
148
  si1 = StructureItem.new("si1", -8, 8, :UINT, :BIG_ENDIAN, nil)
149
149
  si2 = StructureItem.new("si2", -16, 8, :UINT, :BIG_ENDIAN, nil)
150
- expect(si1 < si2).to be_falsey
151
- expect(si1 == si2).to be_falsey
152
- expect(si1 > si2).to be_truthy
150
+ expect(si1 < si2).to be false
151
+ expect(si1 == si2).to be false
152
+ expect(si1 > si2).to be true
153
153
 
154
154
  si2 = StructureItem.new("si2", -8, 8, :UINT, :BIG_ENDIAN, nil)
155
- expect(si1 < si2).to be_falsey
155
+ expect(si1 < si2).to be false
156
156
  # si1 == si2 even though they have different names and sizes
157
- expect(si1 == si2).to be_truthy
158
- expect(si1 > si2).to be_falsey
157
+ expect(si1 == si2).to be true
158
+ expect(si1 > si2).to be false
159
159
  end
160
160
 
161
161
  it "sorts items according to mixed bit offset" do
162
162
  si1 = StructureItem.new("si1", 16, 8, :UINT, :BIG_ENDIAN, nil)
163
163
  si2 = StructureItem.new("si2", -8, 8, :UINT, :BIG_ENDIAN, nil)
164
- expect(si1 < si2).to be_truthy
165
- expect(si1 == si2).to be_falsey
166
- expect(si1 > si2).to be_falsey
164
+ expect(si1 < si2).to be true
165
+ expect(si1 == si2).to be false
166
+ expect(si1 > si2).to be false
167
167
  end
168
168
  end
169
169
 
@@ -171,7 +171,7 @@ module Cosmos
171
171
  it "duplicates the entire structure item " do
172
172
  si1 = StructureItem.new("si1", -8, 1, :UINT, :LITTLE_ENDIAN, nil)
173
173
  si2 = si1.clone
174
- expect(si1 == si2).to be_truthy
174
+ expect(si1 == si2).to be true
175
175
  end
176
176
  end
177
177