cosmos 3.3.3 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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