Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Graphing a telemetry member whose name includes brackets fails #1031

keck-in-space opened this issue Jul 31, 2019 · 1 comment · Fixed by #1059

Graphing a telemetry member whose name includes brackets fails #1031

keck-in-space opened this issue Jul 31, 2019 · 1 comment · Fixed by #1059


Copy link

@keck-in-space keck-in-space commented Jul 31, 2019

Describe the bug
When viewing a telemetry member whose name contains a bracket in a screen, if you right click the member and choose "Graph: MyArray[0]", the telemetry grapher attempts to run, but fails.

To Reproduce

  1. Add a telemetry item that has brackets for example: MyArray[0]
  2. Make a screen that shows this telemetry value
  3. Right click on the value and choose "Graph MyArray[0]"
  4. The telemetry grapher will attempt to load and will fail.

Expected behavior
The telemetry grapher should open and graph the appropriate member.

Error Log
Note: The packet item is misnamed in the error log. It should be MY_ARRAY[0]

2019/07/31 14:07:58.427  FATAL: Fatal Exception! Exiting...
2019/07/31 14:07:58.427  FATAL: RuntimeError : Packet item 'MY_ARRAY' does not exist
C:/COSMOS/Vendor/Ruby/lib/ruby/gems/2.5.0/gems/cosmos-4.3.0/lib/cosmos/packets/packet.rb:473:in `rescue in get_item'
C:/COSMOS/Vendor/Ruby/lib/ruby/gems/2.5.0/gems/cosmos-4.3.0/lib/cosmos/packets/packet.rb:470:in `get_item'
C:/COSMOS/Vendor/Ruby/lib/ruby/gems/2.5.0/gems/cosmos-4.3.0/lib/cosmos/tools/tlm_grapher/data_objects/housekeeping_data_object.rb:431:in `packet_and_item'
C:/COSMOS/Vendor/Ruby/lib/ruby/gems/2.5.0/gems/cosmos-4.3.0/lib/cosmos/tools/tlm_grapher/data_objects/housekeeping_data_object.rb:431:in `set_item'
C:/COSMOS/Vendor/Ruby/lib/ruby/gems/2.5.0/gems/cosmos-4.3.0/lib/cosmos/tools/tlm_grapher/tlm_grapher.rb:94:in `block in handle_items'
C:/COSMOS/Vendor/Ruby/lib/ruby/gems/2.5.0/gems/cosmos-4.3.0/lib/cosmos/tools/tlm_grapher/tlm_grapher.rb:76:in `each'
C:/COSMOS/Vendor/Ruby/lib/ruby/gems/2.5.0/gems/cosmos-4.3.0/lib/cosmos/tools/tlm_grapher/tlm_grapher.rb:76:in `handle_items'
C:/COSMOS/Vendor/Ruby/lib/ruby/gems/2.5.0/gems/cosmos-4.3.0/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_tool.rb:325:in `load_configuration'
C:/COSMOS/Vendor/Ruby/lib/ruby/gems/2.5.0/gems/cosmos-4.3.0/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_tool.rb:82:in `block (2 levels) in initialize'
C:/COSMOS/Vendor/Ruby/lib/ruby/gems/2.5.0/gems/qtbindings- `block in execute_in_main_thread'
C:/COSMOS/Vendor/Ruby/lib/ruby/gems/2.5.0/gems/qtbindings- `callback_timeout'
C:/COSMOS/Vendor/Ruby/lib/ruby/gems/2.5.0/gems/qtbindings- `qt_metacall'
C:/COSMOS/Vendor/Ruby/lib/ruby/gems/2.5.0/gems/qtbindings- `method_missing'
C:/COSMOS/Vendor/Ruby/lib/ruby/gems/2.5.0/gems/qtbindings- `exec'
C:/COSMOS/Vendor/Ruby/lib/ruby/gems/2.5.0/gems/cosmos-4.3.0/lib/cosmos/gui/qt_tool.rb:304:in `block in run'
C:/COSMOS/Vendor/Ruby/lib/ruby/gems/2.5.0/gems/cosmos-4.3.0/lib/cosmos/top_level.rb:730:in `set_working_dir'
C:/COSMOS/Vendor/Ruby/lib/ruby/gems/2.5.0/gems/cosmos-4.3.0/lib/cosmos/gui/qt_tool.rb:285:in `run'
C:/COSMOS/Vendor/Ruby/lib/ruby/gems/2.5.0/gems/cosmos-4.3.0/lib/cosmos/tools/tlm_grapher/tlm_grapher.rb:65:in `block in run'
C:/COSMOS/Vendor/Ruby/lib/ruby/gems/2.5.0/gems/cosmos-4.3.0/lib/cosmos/top_level.rb:545:in `catch_fatal_exception'
C:/COSMOS/Vendor/Ruby/lib/ruby/gems/2.5.0/gems/cosmos-4.3.0/lib/cosmos/tools/tlm_grapher/tlm_grapher.rb:28:in `run'
tools/TlmGrapher:15:in `block in <main>'
C:/Users/user/Documents/gitProjects/project.git/COSMOS/project/tools/tool_launch.rb:16:in `tool_launch'
tools/TlmGrapher:13:in `<main>'
2019/07/31 14:08:16.741  FATAL: Fatal Exception! Exiting...

Environment (please complete the following information):

  • OS: Windows 10
  • COSMOS Version 4.3.0 (also tested on 4.4.0)
@jmthomas jmthomas self-assigned this Oct 10, 2019
@jmthomas jmthomas added the bug label Oct 10, 2019

This comment has been minimized.

Copy link

@jmthomas jmthomas commented Oct 10, 2019

I investigated this and it's due to the fact that TlmGrapher supports graphing an individual ARRAY_ITEM. So for example in the demo we have an ARRAY_ITEM called ARY defined in the INST HEALTH_STATUS packet. You can graph one of the items by doing this:

ruby demo/tools/TlmGrapher -i "INST HEALTH_STATUS ARY[0]"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
3 participants
You can’t perform that action at this time.