openc3 5.13.0 → 5.14.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of openc3 might be problematic. Click here for more details.

Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -3
  3. data/bin/openc3cli +18 -15
  4. data/data/config/command_modifiers.yaml +53 -1
  5. data/lib/openc3/accessors/accessor.rb +42 -29
  6. data/lib/openc3/accessors/binary_accessor.rb +11 -1
  7. data/lib/openc3/accessors/form_accessor.rb +11 -1
  8. data/lib/openc3/accessors/http_accessor.rb +38 -0
  9. data/lib/openc3/accessors/json_accessor.rb +15 -3
  10. data/lib/openc3/accessors/template_accessor.rb +150 -0
  11. data/lib/openc3/accessors/xml_accessor.rb +11 -1
  12. data/lib/openc3/accessors.rb +1 -0
  13. data/lib/openc3/api/limits_api.rb +3 -3
  14. data/lib/openc3/api/tlm_api.rb +8 -8
  15. data/lib/openc3/interfaces/interface.rb +9 -7
  16. data/lib/openc3/interfaces/protocols/cmd_response_protocol.rb +116 -0
  17. data/lib/openc3/interfaces/tcpip_client_interface.rb +4 -0
  18. data/lib/openc3/interfaces/tcpip_server_interface.rb +5 -0
  19. data/lib/openc3/interfaces.rb +1 -1
  20. data/lib/openc3/microservices/decom_microservice.rb +5 -2
  21. data/lib/openc3/microservices/interface_microservice.rb +10 -1
  22. data/lib/openc3/microservices/log_microservice.rb +6 -1
  23. data/lib/openc3/microservices/microservice.rb +28 -0
  24. data/lib/openc3/models/cvt_model.rb +16 -12
  25. data/lib/openc3/models/gem_model.rb +20 -3
  26. data/lib/openc3/models/microservice_model.rb +6 -2
  27. data/lib/openc3/models/plugin_model.rb +6 -2
  28. data/lib/openc3/models/target_model.rb +105 -12
  29. data/lib/openc3/operators/microservice_operator.rb +23 -21
  30. data/lib/openc3/packets/commands.rb +4 -0
  31. data/lib/openc3/packets/packet.rb +92 -4
  32. data/lib/openc3/packets/packet_config.rb +62 -8
  33. data/lib/openc3/packets/telemetry.rb +4 -0
  34. data/lib/openc3/script/api_shared.rb +11 -0
  35. data/lib/openc3/script/script.rb +6 -12
  36. data/lib/openc3/streams/tcpip_socket_stream.rb +19 -0
  37. data/lib/openc3/system/system.rb +43 -1
  38. data/lib/openc3/utilities/cli_generator.rb +15 -1
  39. data/lib/openc3/utilities/local_mode.rb +1 -1
  40. data/lib/openc3/utilities/store_queued.rb +126 -0
  41. data/lib/openc3/version.rb +6 -6
  42. data/templates/plugin/plugin.gemspec +2 -2
  43. data/templates/target/targets/TARGET/public/README.txt +1 -0
  44. data/templates/tool_angular/package.json +15 -15
  45. data/templates/tool_angular/yarn.lock +184 -78
  46. data/templates/tool_react/package.json +10 -10
  47. data/templates/tool_react/yarn.lock +236 -374
  48. data/templates/tool_svelte/package.json +13 -13
  49. data/templates/tool_svelte/yarn.lock +246 -235
  50. data/templates/tool_vue/package.json +12 -12
  51. data/templates/tool_vue/yarn.lock +63 -55
  52. data/templates/widget/package.json +11 -11
  53. data/templates/widget/yarn.lock +54 -46
  54. metadata +144 -154
  55. data/lib/openc3/io/openc3_snmp.rb +0 -61
@@ -1,61 +0,0 @@
1
- # encoding: ascii-8bit
2
-
3
- # Copyright 2022 Ball Aerospace & Technologies Corp.
4
- # All Rights Reserved.
5
- #
6
- # This program is free software; you can modify and/or redistribute it
7
- # under the terms of the GNU Affero General Public License
8
- # as published by the Free Software Foundation; version 3 with
9
- # attribution addendums as found in the LICENSE.txt
10
- #
11
- # This program is distributed in the hope that it will be useful,
12
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
- # GNU Affero General Public License for more details.
15
-
16
- # Modified by OpenC3, Inc.
17
- # All changes Copyright 2022, OpenC3, Inc.
18
- # All Rights Reserved
19
- #
20
- # This file may also be used under the terms of a commercial license
21
- # if purchased from OpenC3, Inc.
22
-
23
- # This file updates the Ruby SNMP gem for non-blocking sockets
24
- # to work around potential process lockups.
25
- #
26
- # Known to work with SNMP Version 1.0.2
27
-
28
- # Note requires SNMP Ruby Gem - gem install snmp
29
- require 'snmp'
30
-
31
- old_verbose = $VERBOSE; $VERBOSE = nil
32
- module SNMP
33
- class UDPTransport
34
- def recv(max_bytes)
35
- # Implement blocking using recvfrom_nonblock to prevent potential
36
- # ruby thread deadlock
37
-
38
- data, host_info = @socket.recvfrom_nonblock(max_bytes)
39
- return data
40
- rescue Errno::EAGAIN, Errno::EWOULDBLOCK
41
- IO.fast_select([@socket])
42
- retry
43
- end
44
- end
45
-
46
- class UDPServerTransport
47
- def recvfrom(max_bytes)
48
- # Implement blocking using recvfrom_nonblock to prevent potential
49
- # ruby thread deadlock
50
- begin
51
- data, host_info = @socket.recvfrom_nonblock(max_bytes)
52
- rescue Errno::EAGAIN, Errno::EWOULDBLOCK
53
- IO.fast_select([@socket])
54
- retry
55
- end
56
- flags, host_port, host_name, host_ip = host_info
57
- return data, host_ip, host_port
58
- end
59
- end
60
- end
61
- $VERBOSE = old_verbose