openc3-cosmos-tool-docs 5.12.0 → 5.14.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (841) hide show
  1. checksums.yaml +4 -4
  2. data/plugin.txt +3 -3
  3. data/tools/staticdocs/404.html +13 -0
  4. data/tools/staticdocs/assets/css/styles.dd31dbff.css +1 -0
  5. data/tools/staticdocs/assets/images/add_component-883814db1de410921a1d46247be60a87a51f1c51eb98d4a7f499875c83225294.png +0 -0
  6. data/tools/staticdocs/assets/images/add_item-4e7c51e0d6a7304260097ccfe8a64d7f2d2b428dba9758070a618ca0dcc89457.png +0 -0
  7. data/tools/staticdocs/assets/images/add_packet-74322c89982856286103da2c91c4246a4a8aa319c216bc1c169515ab28381cd6.png +0 -0
  8. data/tools/staticdocs/assets/images/add_target-f1f0d16faf5f3c1ecdfe3daa90d44d082053845d5f7a59e988d90ff0b5ba00ff.png +0 -0
  9. data/tools/staticdocs/assets/images/autonomic-a2118149a079f587f8f373d61f65d4d6d5e4b3df41ec5446362a449a3b51a1b3.png +0 -0
  10. data/tools/staticdocs/assets/images/blank_calendar-70e605942120937b862bd7039348229bab9af1f9c93d356ddbf401a3e8543c74.png +0 -0
  11. data/tools/staticdocs/assets/images/bucket_explorer-ba88a20121198c3441a6af5302ab1a6ad62a171661037e9e3bfd312ca8bdb5ef.png +0 -0
  12. data/tools/staticdocs/assets/images/calendar-dacbcbb05175c76f3406b4aaade0465444c20b72e93366c79fed1f6eec018c42.png +0 -0
  13. data/tools/staticdocs/assets/images/change_limits_set-b72da282ea28d783bd7e1d0cd48db72486dacb4e76e1cd46d52c7999028d9c0d.png +0 -0
  14. data/tools/staticdocs/assets/images/checks_rb-89f400098ff47774008ea420860c665c15ebf06819c3ee7050bed301ea0a9f46.png +0 -0
  15. data/tools/staticdocs/assets/images/cmd_packets-160c7b28230a14f05433d063cdccc63958bb5d90f4e6b80492cd9568b0761a75.png +0 -0
  16. data/tools/staticdocs/assets/images/cmd_raw-28307ac400b66050ada7ecc8b7701deffe8fb7f01129b63ec35a54857cb886b7.png +0 -0
  17. data/tools/staticdocs/assets/images/cmd_tlm_server-727ea478568988b10e4be4a3ba7255dd48ec56f6ab6444c6c1e32497fe478681.png +0 -0
  18. data/tools/staticdocs/assets/images/collect_states-565ae4b6d02449850585afd7ce35982711d4d677f5a04c1332b2c176f1ec3a25.png +0 -0
  19. data/tools/staticdocs/assets/images/command_sender-bb1543bde21fc1963405de5251d16a80a0c3a1bf5adb5fb78145d4995e2fe541.png +0 -0
  20. data/tools/staticdocs/assets/images/connecting-0f804651a891ef6112a51ba8b2e4d8dcb46e3462dcbc94e7b3c75bff20fc04e7.png +0 -0
  21. data/tools/staticdocs/assets/images/create_activity1-c05ffc03af2df852aeb3ad246f53f259af504e0e6c64cdac21f9126947c49f95.png +0 -0
  22. data/tools/staticdocs/assets/images/create_activity2-58c7da6f79dd510701148c0c54fae02c830b9ca4af662a7b132987ed3410a8f7.png +0 -0
  23. data/tools/staticdocs/assets/images/create_metadata1-a331ba8f0bd19bf5f8d7f2e083c3c7164e9b7b9936f5a7f83c4141c62a6c46f6.png +0 -0
  24. data/tools/staticdocs/assets/images/create_metadata2-c57b5420d5469b48289030ed7c64758539c2319dc742159caa0d4c8fe35050a8.png +0 -0
  25. data/tools/staticdocs/assets/images/create_note1-472b93e8e0e3e66a2e6198e0d4573cdc38cc356df87be66163f990f18137f6c0.png +0 -0
  26. data/tools/staticdocs/assets/images/create_note2-770501a149ef4aabae24d0b636f46ed61fbdcfda9537c61637c07c60257e9228.png +0 -0
  27. data/tools/staticdocs/assets/images/create_reaction1-a07e04677c269cb3eb5edd13bc7504ed6ba4c94f6a60d2b14a33680470d376fe.png +0 -0
  28. data/tools/staticdocs/assets/images/create_reaction2-63e4e9ddf06a2e8bc9911395162b5a05772f0756e8b0998bcecae64cf86c398e.png +0 -0
  29. data/tools/staticdocs/assets/images/create_reaction3-bae25e33640193d3dbbfbbfce6691479ccde16f73dbb3f0dc3023b7006259baa.png +0 -0
  30. data/tools/staticdocs/assets/images/create_trigger1-5e2f7ecf9ec2b7590aaa65503f48cd73549fea64f52e6c103370a408528538f6.png +0 -0
  31. data/tools/staticdocs/assets/images/create_trigger2-edf2c2e6aa78a2e317e07e1cdec560dfcbbd147934630459507695c71d539f3b.png +0 -0
  32. data/tools/staticdocs/assets/images/create_trigger3-e63629173ae73bbfd78b53062061336db8ea92ba4542b9a93412d8ac6ed19e7a.png +0 -0
  33. data/tools/staticdocs/assets/images/data_extractor-e0cd7006244f50f7d1811ee3f287b300aa3ccfb09f4716e1dd9990d1cc38a510.png +0 -0
  34. data/tools/staticdocs/assets/images/data_viewer-9eb6ce20988554325e15a6e404da9fef35b06c23548d5d136b4420f444ef94f7.png +0 -0
  35. data/tools/staticdocs/assets/images/debug-3103972d64395b50fff5808661fb846ae2de7d5934548ca5b88032f1ae12c541.png +0 -0
  36. data/tools/staticdocs/assets/images/delete_all_mouseover-e45ea88fcc088c18c88e03ddad5ad6fa9fa3869f67c1548bdfb3da447eceb228.png +0 -0
  37. data/tools/staticdocs/assets/images/delete_modified-ecf9beabf5e6cc6b8cc9d249ba9e313bd18d51c671ebc36029b4cebd729fa2d0.png +0 -0
  38. data/tools/staticdocs/assets/images/disable_trigger-f5bb46fbc488bd4afcb27b21888de16816485d3e4fdbd4106b874ff06042f85b.png +0 -0
  39. data/tools/staticdocs/assets/images/display_settings-726614b4eda5f74fc563e4d3b1798eb3893e152a15b9420a6053f6a2e0980944.png +0 -0
  40. data/tools/staticdocs/assets/images/edit_all_items-1de8be31edb8443427b834f03efea4ac5bceb722e5da0c0b38b2d006ff4364a7.png +0 -0
  41. data/tools/staticdocs/assets/images/edit_graph-9618076f837e0d358ea0bfbf503d43b377805d818370405536f5a1c049209e99.png +0 -0
  42. data/tools/staticdocs/assets/images/edit_screen-c655c75fe90429c0425b61cccf23835b6882975abaa56de21d58c9a4b19a4773.png +0 -0
  43. data/tools/staticdocs/assets/images/edit_temp1-545919bb22c6882d3b02cd4a4d8b9410b69e410c958b4472b8a643f48889f434.png +0 -0
  44. data/tools/staticdocs/assets/images/enabled_trigger-86ce16c7294d4b954ec8b68ff344694093ed5f451fc5974f855f438557148518.png +0 -0
  45. data/tools/staticdocs/assets/images/file_menu-1c05cfc08f9d07b3f7122d2fe1ad98ed428dc563d2c5d2edddbed71f46779eb8.png +0 -0
  46. data/tools/staticdocs/assets/images/file_menu-368e6f03ad620e01bf83fb991aace23312d45629bfcef2d3fbccd4dd9e4dbdbd.png +0 -0
  47. data/tools/staticdocs/assets/images/file_menu-470589e527d9e82ce40e0c7d4a865e33d19b42350c2429dba97186d168137b6d.png +0 -0
  48. data/tools/staticdocs/assets/images/file_menu-7880f656c65d1c95d94f11d85f83f1fb2cf1e743397022902485e1330467bdb4.png +0 -0
  49. data/tools/staticdocs/assets/images/file_menu-8a0c6243e35822617229a729a598ace78e401b6c29f66eb5e07035d77d9be1aa.png +0 -0
  50. data/tools/staticdocs/assets/images/file_menu-953e2fc0c1a5b30c90d6f748add6ee28f8b42f30fc33d0b3c8709d6c85f06585.png +0 -0
  51. data/tools/staticdocs/assets/images/file_menu-d672c1f8064e5f847a2464397c1e75ee423452f1ba4a7d0861319bc7c7891196.png +0 -0
  52. data/tools/staticdocs/assets/images/file_menu-d9ac5efbe78e58f024666452b9f28af72c6d09a3460fc7c0737c2bb74e4ea409.png +0 -0
  53. data/tools/staticdocs/assets/images/file_open-a5bc9e5ef73c12913ea4882498ceb52f93c73afaf5bb0c1083c4c1ee402f571d.png +0 -0
  54. data/tools/staticdocs/assets/images/float_minimize-a27fc649e517b279db5d2435fbd4f1de81418b9ef5f47fc83a9443bba0b1a7e0.png +0 -0
  55. data/tools/staticdocs/assets/images/four_graphs-1aa5a7cb9ce51cec815fc9d8740b40e113bd171c4977711d47ef1e6daf02719e.png +0 -0
  56. data/tools/staticdocs/assets/images/graph_menu-289cbbb168622f661c1c98a7bd2c1b43f888e9c3560ba4e1d435ab62d0aad6de.png +0 -0
  57. data/tools/staticdocs/assets/images/graph_min_max-75be4a19a7e13a1b9b7a18a9b898b170c8ded7768b01ce6c6effd566ac8e071a.png +0 -0
  58. data/tools/staticdocs/assets/images/graph_temp1-028d8660c779136ff017b0b8a9fadb294e9ff478a65d7bd73032c3c2ed4f03d0.png +0 -0
  59. data/tools/staticdocs/assets/images/graph_temp1_temp2-ad650da0ddf1fb5c6e9764b737bfab3027f5abcb935ad86d9716dfdf13032dca.png +0 -0
  60. data/tools/staticdocs/assets/images/graph_temp1_time-53c18518755d1d1c816db7f0a67e26c5408aba32b644fda519b5ecf7a7ee9b27.png +0 -0
  61. data/tools/staticdocs/assets/images/handbooks-948da6f5aad7a4175441235f2aac82668f9233c60412e412439b2e2af0bd1a45.png +0 -0
  62. data/tools/staticdocs/assets/images/history-2391436f9edc3e00104a7375f88f5de72b0967f9eb154dfecc346c0a70af4389.png +0 -0
  63. data/tools/staticdocs/assets/images/ignored-0917bd9f41f4e93704daa45cc0a7b70809bdbba03615d6de254336141b598992.png +0 -0
  64. data/tools/staticdocs/assets/images/initial_reaction-ce5d498a90cdd5a11e24471d277ed7fcb4eecc5dcaaf05220102a3178db0805e.png +0 -0
  65. data/tools/staticdocs/assets/images/inst_clear-2d5f985c879e8b917fedacdb8c6552bbd383231bf5c8ab8e560e77df4e050026.png +0 -0
  66. data/tools/staticdocs/assets/images/inst_collect-81bc422b3b33c5ebcbe4c2f489c730b32ab0d6ea6c7f81cc79d9f6bc03e9db15.png +0 -0
  67. data/tools/staticdocs/assets/images/inst_collect_hazardous-a8fb19ea296354a0cd276da1e0ad82f74479eea4e7e204fcf64b779596f2c092.png +0 -0
  68. data/tools/staticdocs/assets/images/interfaces-0fe2a4a02d9b8a16bbf178f0d4ee393a79ca606e8cf27ff7d8508bd2cb9b0643.png +0 -0
  69. data/tools/staticdocs/assets/images/limits_monitor-34ca441e5a7198b4dc57a27b2e6fcb973dddad5eaaa5e9bf0d60738f4143c73a.png +0 -0
  70. data/tools/staticdocs/assets/images/list_view-2f36ce06962e67d5a4f1f060956e5089b3f13c8ab57f33103c3781687611e7a9.png +0 -0
  71. data/tools/staticdocs/assets/images/log-6cf3276d9e6b7dc30573b2b6a5989c6c5defc658e2c0ae4c2150a5fd11fd49d3.png +0 -0
  72. data/tools/staticdocs/assets/images/log_messages-6dd20c27f64fc00c8e61ee1062193fd6cb31efa4701130385c9853abfeed8495.png +0 -0
  73. data/tools/staticdocs/assets/images/log_messages-a934181ef59dc82d2624d052faf1023ef8ff2548f074ba9d67abdb6ebfd728d4.png +0 -0
  74. data/tools/staticdocs/assets/images/logs-bfc2ef93f6e60cb3bdf409aaaf0b4315b6e98dc1b9c17bdc171e67b416d884cc.png +0 -0
  75. data/tools/staticdocs/assets/images/minimized-47ddb9b9b68b47aae3d0a12cb39ab767adf446acbe213c0b5565c1bfaf8a463f.png +0 -0
  76. data/tools/staticdocs/assets/images/mode_menu-9c112084937db5bbff02c18a5681ad038caa0838fc88438628b134a6f6823a09.png +0 -0
  77. data/tools/staticdocs/assets/images/mode_menu-9ff9a2c1b2cae1eb15a7bd95c0d2bd939cf8f183a083edfcb2b70748dd1bbfe1.png +0 -0
  78. data/tools/staticdocs/assets/images/new_screen-0d9bea0538e91fa2332346f1ff73b1dda2e418d295dcd7d6a13ba240cf32187e.png +0 -0
  79. data/tools/staticdocs/assets/images/packet_viewer-505c517c9a838a41d6fe668ff7ca2efb1b89ced4b75df638cd11a45484bc6533.png +0 -0
  80. data/tools/staticdocs/assets/images/plugin_variables-6904e1d9003a6c8c530bd1f738f7966217beca7d3064b40670e7a4ab7e200927.png +0 -0
  81. data/tools/staticdocs/assets/images/processing-25c56ec1beef6f8df3db085378c31d2dd44289280414497d87ce8d12b4beebb9.png +0 -0
  82. data/tools/staticdocs/assets/images/processing_done-1d74097c066b6067e07a73735626dbff19f3102599c548b3874eb4f52ad5335d.png +0 -0
  83. data/tools/staticdocs/assets/images/project-c521374330008c1292b4da1b9a1c8af6647ab59f1617b470f26e76a521fe8059.png +0 -0
  84. data/tools/staticdocs/assets/images/raw_tlm_logs-b293435cebbd5d4f04ab8a469ce2b4eb66f4cfd046d7b18ee417893336816b85.png +0 -0
  85. data/tools/staticdocs/assets/images/reload_file-056b240b1d48539a9fecfe2ad1bac0c27d83f5dddcd29af6cf719986869406ee.png +0 -0
  86. data/tools/staticdocs/assets/images/reloaded-516bc4c257f9b7f6ce3714f5a06eeef8ad47a8461e21613ba26989d5e56260ec.png +0 -0
  87. data/tools/staticdocs/assets/images/running_scripts-694a1b310d42791acf64cf76ea370bb273084954107d5e6e2caf15f4fb50e634.png +0 -0
  88. data/tools/staticdocs/assets/images/script_error-2061222e00f5e5190a4407be1f8999200badca9b3137659de007e27cf1708dc0.png +0 -0
  89. data/tools/staticdocs/assets/images/script_menu-5a10df89d9806a59b41ef990fc1181c46c7ffa00496021efceb22c0f31dcc9cc.png +0 -0
  90. data/tools/staticdocs/assets/images/script_messages-5c30dab8202ae3d18fa1f12cdd43f409967b1d4ac84a4a0e96bf027041ab9a07.png +0 -0
  91. data/tools/staticdocs/assets/images/script_runner-31f6bfcb631b788ff0bf792ac21da30aaa503ca926b10a22d4337114effc28f0.png +0 -0
  92. data/tools/staticdocs/assets/images/script_suite-16647c3b3de01a8749f1b5c4ab2f8b452630df8c0470e5be38652acacfc98b5d.png +0 -0
  93. data/tools/staticdocs/assets/images/simple_screen-e3de1ad836c0661d73a0ba970f991c64df8ecc7e23f9e944b6508a9a43fbc33c.png +0 -0
  94. data/tools/staticdocs/assets/images/snoozed_reaction-75ef2acab11a71f5827fbc0a1be95cf0fd6bd5b24b76f9ae6ebaf43fb293ba81.png +0 -0
  95. data/tools/staticdocs/assets/images/status-8ba274306305afaa5642162904c234b69086870b56e1048b1fdffa481aa0e96b.png +0 -0
  96. data/tools/staticdocs/assets/images/suite_checkboxes-af8452153dbc2143718fefcfc7d441e05f42c241b3c10d4f41200ae576f68063.png +0 -0
  97. data/tools/staticdocs/assets/images/table_manager-816d7a683e6883cb8049e5ec8ffef3076b37a489edcc0e5331bc5d81ab506da2.png +0 -0
  98. data/tools/staticdocs/assets/images/targets-77cde238fd55b2ed0a180ac2b906f6c1fe4677b22da718c455d61ac17c8a888f.png +0 -0
  99. data/tools/staticdocs/assets/images/telemetry_grapher-3a37c074a25b7912a76d96fd46a1431d27202d71374f78c829f273e5cb342233.png +0 -0
  100. data/tools/staticdocs/assets/images/telemetry_viewer-e4ac466930993a640f95aea4b01bb9a415eec77dfbfaa184f767cb59940ba943.png +0 -0
  101. data/tools/staticdocs/assets/images/temp1_details-4c4bbe7c2d60e636f0304ee8ac7237af8db2bdba8666c9ae2dc0a105eca248f2.png +0 -0
  102. data/tools/staticdocs/assets/images/tlm_packets-0b02f1f3799948a8278e90f11e7d7f283d9686d3dac18c68b41d25ef49568d22.png +0 -0
  103. data/tools/staticdocs/assets/images/tlm_raw-cc2223b25e8fc732557856168fd7fa04e7b3459bbd163825639fb6235a8e6180.png +0 -0
  104. data/tools/staticdocs/assets/images/trigger_groups-6d9ccc6962029baa456f2d12de0fd3d03e1dbafdbf069cea65886296d2b2bde0.png +0 -0
  105. data/tools/staticdocs/assets/images/two_full_height-ccba2940b80345f3569ea47b7ddd3390c08195de91559f5586f85e36e411afd6.png +0 -0
  106. data/tools/staticdocs/assets/images/two_full_width-0116adbf994500a24d4717e002d32098f8d6197bcece510b84b90400f23feade.png +0 -0
  107. data/tools/staticdocs/assets/images/view_menu-a02cfbd5e6fafa5d3b4f1ae76bfbd63f49388939b4732bf91709f48e44498d19.png +0 -0
  108. data/tools/staticdocs/assets/js/019369f3.d8613c30.js +1 -0
  109. data/tools/staticdocs/assets/js/058ffc22.acfac831.js +1 -0
  110. data/tools/staticdocs/assets/js/0686a885.b4118c45.js +1 -0
  111. data/tools/staticdocs/assets/js/07876b9c.990c8af0.js +1 -0
  112. data/tools/staticdocs/assets/js/078dbab0.d34d0a8f.js +1 -0
  113. data/tools/staticdocs/assets/js/0f5d161c.d4d5d4dc.js +1 -0
  114. data/tools/staticdocs/assets/js/0ff569c9.f11f548e.js +1 -0
  115. data/tools/staticdocs/assets/js/103cc3be.53ec680c.js +1 -0
  116. data/tools/staticdocs/assets/js/12.afe230eb.js +1 -0
  117. data/tools/staticdocs/assets/js/13196248.1b40932b.js +1 -0
  118. data/tools/staticdocs/assets/js/13c1b4e4.a9ce7463.js +1 -0
  119. data/tools/staticdocs/assets/js/1670.3df3e214.js +1 -0
  120. data/tools/staticdocs/assets/js/1b2b4b61.b662e271.js +1 -0
  121. data/tools/staticdocs/assets/js/2047b354.cf71ed85.js +1 -0
  122. data/tools/staticdocs/assets/js/22b3ac48.10ffd4c3.js +1 -0
  123. data/tools/staticdocs/assets/js/2624.ae6ba6f0.js +1 -0
  124. data/tools/staticdocs/assets/js/26b8abb2.98364dbd.js +1 -0
  125. data/tools/staticdocs/assets/js/2bb7bf90.41136655.js +1 -0
  126. data/tools/staticdocs/assets/js/3dd7ef3b.5133eebe.js +1 -0
  127. data/tools/staticdocs/assets/js/3df159b4.6c6b5f85.js +1 -0
  128. data/tools/staticdocs/assets/js/40365d27.b31cf9ac.js +1 -0
  129. data/tools/staticdocs/assets/js/411898ad.fb3b44cb.js +1 -0
  130. data/tools/staticdocs/assets/js/42170351.99726677.js +1 -0
  131. data/tools/staticdocs/assets/js/43652efd.f9ce2508.js +1 -0
  132. data/tools/staticdocs/assets/js/4657.780d60d2.js +2 -0
  133. data/tools/staticdocs/assets/js/53ca7c5b.5ba66d69.js +1 -0
  134. data/tools/staticdocs/assets/js/54d0d530.29eb7035.js +1 -0
  135. data/tools/staticdocs/assets/js/55cdbca5.9562da85.js +1 -0
  136. data/tools/staticdocs/assets/js/5b233ba7.37e9a690.js +1 -0
  137. data/tools/staticdocs/assets/js/5bc719f6.80666891.js +1 -0
  138. data/tools/staticdocs/assets/js/5c6ce5ec.3cb1b75a.js +1 -0
  139. data/tools/staticdocs/assets/js/5e3ed378.c40da631.js +1 -0
  140. data/tools/staticdocs/assets/js/5fe211ef.9938cdb0.js +1 -0
  141. data/tools/staticdocs/assets/js/64630c4f.d3aaa17e.js +1 -0
  142. data/tools/staticdocs/assets/js/6831b732.176e2062.js +1 -0
  143. data/tools/staticdocs/assets/js/696b4199.68411c90.js +1 -0
  144. data/tools/staticdocs/assets/js/6b210247.0db8db18.js +1 -0
  145. data/tools/staticdocs/assets/js/6b65133b.3b600a13.js +1 -0
  146. data/tools/staticdocs/assets/js/6f92e431.0e99b0f7.js +1 -0
  147. data/tools/staticdocs/assets/js/72c6d8a8.41b091e3.js +1 -0
  148. data/tools/staticdocs/assets/js/75373ac0.f2ff00fb.js +1 -0
  149. data/tools/staticdocs/assets/js/75e64983.6078b2bb.js +1 -0
  150. data/tools/staticdocs/assets/js/867640d5.7d9b46cc.js +1 -0
  151. data/tools/staticdocs/assets/js/89e76475.76286adb.js +1 -0
  152. data/tools/staticdocs/assets/js/8f7843ee.7aaf5f45.js +1 -0
  153. data/tools/staticdocs/assets/js/9424f0b3.d0685f0f.js +1 -0
  154. data/tools/staticdocs/assets/js/97535711.7354a61a.js +1 -0
  155. data/tools/staticdocs/assets/js/99581c43.9077ef97.js +1 -0
  156. data/tools/staticdocs/assets/js/99b59eea.56ab3bff.js +1 -0
  157. data/tools/staticdocs/assets/js/9d6e81d0.48e17a84.js +1 -0
  158. data/tools/staticdocs/assets/js/9fb6059a.709498de.js +1 -0
  159. data/tools/staticdocs/assets/js/a507c363.b04cc959.js +1 -0
  160. data/tools/staticdocs/assets/js/a677c089.759b7b09.js +1 -0
  161. data/tools/staticdocs/assets/js/a9987364.a33207e6.js +1 -0
  162. data/tools/staticdocs/assets/js/aa6b6c1b.c81fb740.js +1 -0
  163. data/tools/staticdocs/assets/js/b4596165.0d43540a.js +1 -0
  164. data/tools/staticdocs/assets/js/b6d70f94.67e3cf1e.js +1 -0
  165. data/tools/staticdocs/assets/js/b9f60ba6.4f87cb90.js +1 -0
  166. data/tools/staticdocs/assets/js/bd0034eb.caedd00a.js +1 -0
  167. data/tools/staticdocs/assets/js/c24eae19.541e6a95.js +1 -0
  168. data/tools/staticdocs/assets/js/cb8c3f08.bd7af12d.js +1 -0
  169. data/tools/staticdocs/assets/js/cd879be4.5d8c0503.js +1 -0
  170. data/tools/staticdocs/assets/js/d1b923aa.2c753a51.js +1 -0
  171. data/tools/staticdocs/assets/js/d1bfc316.3ba6fac4.js +1 -0
  172. data/tools/staticdocs/assets/js/d24bf9b6.a8d698fc.js +1 -0
  173. data/tools/staticdocs/assets/js/d57a4b5d.743b976b.js +1 -0
  174. data/tools/staticdocs/assets/js/d5d77c37.cd2d8652.js +1 -0
  175. data/tools/staticdocs/assets/js/d8ca4191.abd56e6c.js +1 -0
  176. data/tools/staticdocs/assets/js/d9b92eba.d632d375.js +1 -0
  177. data/tools/staticdocs/assets/js/db8fa1d0.b9ed5eb0.js +1 -0
  178. data/tools/staticdocs/assets/js/dc5f7beb.002b1519.js +1 -0
  179. data/tools/staticdocs/assets/js/e501b0d1.21aadf25.js +1 -0
  180. data/tools/staticdocs/assets/js/ebec1ccb.4fc9c662.js +1 -0
  181. data/tools/staticdocs/assets/js/f15615f1.0d1e925a.js +1 -0
  182. data/tools/staticdocs/assets/js/fd886806.823bd757.js +1 -0
  183. data/tools/staticdocs/assets/js/main.f5f96e22.js +2 -0
  184. data/tools/staticdocs/assets/js/main.f5f96e22.js.LICENSE.txt +71 -0
  185. data/tools/staticdocs/assets/js/runtime~main.023a2c4f.js +1 -0
  186. data/tools/staticdocs/docs/configuration/command.html +240 -0
  187. data/tools/staticdocs/docs/configuration/format.html +51 -0
  188. data/tools/staticdocs/docs/configuration/interfaces.html +72 -0
  189. data/tools/staticdocs/docs/configuration/plugins.html +338 -0
  190. data/tools/staticdocs/docs/configuration/protocols.html +118 -0
  191. data/tools/staticdocs/docs/configuration/ssl-tls.html +97 -0
  192. data/tools/staticdocs/docs/configuration/table.html +165 -0
  193. data/tools/staticdocs/docs/configuration/target.html +60 -0
  194. data/tools/staticdocs/docs/configuration/telemetry-screens.html +526 -0
  195. data/tools/staticdocs/docs/configuration/telemetry.html +198 -0
  196. data/tools/staticdocs/docs/configuration.html +13 -0
  197. data/tools/staticdocs/docs/development/curl.html +30 -0
  198. data/tools/staticdocs/docs/development/developing.html +111 -0
  199. data/tools/staticdocs/docs/development/host-install.html +38 -0
  200. data/tools/staticdocs/docs/development/json-api.html +59 -0
  201. data/tools/staticdocs/docs/development/log-structure.html +38 -0
  202. data/tools/staticdocs/docs/development/roadmap.html +15 -0
  203. data/tools/staticdocs/docs/development/streaming-api.html +37 -0
  204. data/tools/staticdocs/docs/development/testing.html +60 -0
  205. data/tools/staticdocs/docs/development.html +13 -0
  206. data/tools/staticdocs/docs/getting-started/generators.html +64 -0
  207. data/tools/staticdocs/docs/getting-started/gettingstarted.html +128 -0
  208. data/tools/staticdocs/docs/getting-started/installation.html +66 -0
  209. data/tools/staticdocs/docs/getting-started/key_concepts.html +45 -0
  210. data/tools/staticdocs/docs/getting-started/podman.html +95 -0
  211. data/tools/staticdocs/docs/getting-started/requirements.html +84 -0
  212. data/tools/staticdocs/docs/getting-started/upgrading.html +47 -0
  213. data/tools/staticdocs/docs/getting-started.html +13 -0
  214. data/tools/staticdocs/docs/guides/bridges.html +63 -0
  215. data/tools/staticdocs/docs/guides/cfs.html +112 -0
  216. data/tools/staticdocs/docs/guides/custom-widgets.html +30 -0
  217. data/tools/staticdocs/docs/guides/little-endian-bitfields.html +31 -0
  218. data/tools/staticdocs/docs/guides/local-mode.html +34 -0
  219. data/tools/staticdocs/docs/guides/logging.html +27 -0
  220. data/tools/staticdocs/docs/guides/monitoring.html +52 -0
  221. data/tools/staticdocs/docs/guides/performance.html +59 -0
  222. data/tools/staticdocs/docs/guides/raspberrypi.html +81 -0
  223. data/tools/staticdocs/docs/guides/script-writing.html +258 -0
  224. data/tools/staticdocs/docs/guides/scripting-api.html +1073 -0
  225. data/tools/staticdocs/docs/guides.html +13 -0
  226. data/tools/staticdocs/docs/meta/contributing.html +52 -0
  227. data/tools/staticdocs/docs/meta/licenses.html +89 -0
  228. data/tools/staticdocs/docs/meta/philosophy.html +39 -0
  229. data/tools/staticdocs/docs/meta/xtce.html +110 -0
  230. data/tools/staticdocs/docs/meta.html +13 -0
  231. data/tools/staticdocs/docs/privacy.html +68 -0
  232. data/tools/staticdocs/docs/tools/autonomic.html +44 -0
  233. data/tools/staticdocs/docs/tools/bucket-explorer.html +24 -0
  234. data/tools/staticdocs/docs/tools/calendar.html +44 -0
  235. data/tools/staticdocs/docs/tools/cmd-sender.html +37 -0
  236. data/tools/staticdocs/docs/tools/cmd-tlm-server.html +45 -0
  237. data/tools/staticdocs/docs/tools/data-extractor.html +63 -0
  238. data/tools/staticdocs/docs/tools/data-viewer.html +32 -0
  239. data/tools/staticdocs/docs/tools/handbooks.html +16 -0
  240. data/tools/staticdocs/docs/tools/limits-monitor.html +44 -0
  241. data/tools/staticdocs/docs/tools/packet-viewer.html +40 -0
  242. data/tools/staticdocs/docs/tools/script-runner.html +97 -0
  243. data/tools/staticdocs/docs/tools/table-manager.html +34 -0
  244. data/tools/staticdocs/docs/tools/tlm-grapher.html +60 -0
  245. data/tools/staticdocs/docs/tools/tlm-viewer.html +45 -0
  246. data/tools/staticdocs/docs/tools.html +13 -0
  247. data/tools/staticdocs/docs/v5/bridges/index.html +11 -0
  248. data/tools/staticdocs/docs/v5/bucket-explorer/index.html +11 -0
  249. data/tools/staticdocs/docs/v5/calendar/index.html +11 -0
  250. data/tools/staticdocs/docs/v5/cfs/index.html +11 -0
  251. data/tools/staticdocs/docs/v5/cmd-sender/index.html +11 -0
  252. data/tools/staticdocs/docs/v5/cmd-tlm-server/index.html +11 -0
  253. data/tools/staticdocs/docs/v5/command/index.html +11 -0
  254. data/tools/staticdocs/docs/v5/contributing/index.html +11 -0
  255. data/tools/staticdocs/docs/v5/custom-widgets/index.html +11 -0
  256. data/tools/staticdocs/docs/v5/data-extractor/index.html +11 -0
  257. data/tools/staticdocs/docs/v5/data-viewer/index.html +11 -0
  258. data/tools/staticdocs/docs/v5/development/index.html +11 -0
  259. data/tools/staticdocs/docs/v5/format/index.html +11 -0
  260. data/tools/staticdocs/docs/v5/gettingstarted/index.html +11 -0
  261. data/tools/staticdocs/docs/v5/handbooks/index.html +11 -0
  262. data/tools/staticdocs/docs/v5/host-install/index.html +11 -0
  263. data/tools/staticdocs/docs/v5/index.html +11 -0
  264. data/tools/staticdocs/docs/v5/installation/index.html +11 -0
  265. data/tools/staticdocs/docs/v5/interfaces/index.html +11 -0
  266. data/tools/staticdocs/docs/v5/json-api/index.html +11 -0
  267. data/tools/staticdocs/docs/v5/limits-monitor/index.html +11 -0
  268. data/tools/staticdocs/docs/v5/little-endian-bitfields/index.html +11 -0
  269. data/tools/staticdocs/docs/v5/local-mode/index.html +11 -0
  270. data/tools/staticdocs/docs/v5/log-structure/index.html +11 -0
  271. data/tools/staticdocs/docs/v5/logging/index.html +11 -0
  272. data/tools/staticdocs/docs/v5/monitoring/index.html +11 -0
  273. data/tools/staticdocs/docs/v5/packet-viewer/index.html +11 -0
  274. data/tools/staticdocs/docs/v5/performance/index.html +11 -0
  275. data/tools/staticdocs/docs/v5/philosophy/index.html +11 -0
  276. data/tools/staticdocs/docs/v5/plugins/index.html +11 -0
  277. data/tools/staticdocs/docs/v5/podman/index.html +11 -0
  278. data/tools/staticdocs/docs/v5/protocols/index.html +11 -0
  279. data/tools/staticdocs/docs/v5/raspberrypi/index.html +11 -0
  280. data/tools/staticdocs/docs/v5/requirements/index.html +11 -0
  281. data/tools/staticdocs/docs/v5/roadmap/index.html +11 -0
  282. data/tools/staticdocs/docs/v5/script-runner/index.html +11 -0
  283. data/tools/staticdocs/docs/v5/script-writing/index.html +11 -0
  284. data/tools/staticdocs/docs/v5/scripting-api/index.html +11 -0
  285. data/tools/staticdocs/docs/v5/ssl-tls/index.html +11 -0
  286. data/tools/staticdocs/docs/v5/streaming-api/index.html +11 -0
  287. data/tools/staticdocs/docs/v5/table/index.html +11 -0
  288. data/tools/staticdocs/docs/v5/table-manager/index.html +11 -0
  289. data/tools/staticdocs/docs/v5/target/index.html +11 -0
  290. data/tools/staticdocs/docs/v5/telemetry/index.html +11 -0
  291. data/tools/staticdocs/docs/v5/telemetry-screens/index.html +11 -0
  292. data/tools/staticdocs/docs/v5/testing/index.html +11 -0
  293. data/tools/staticdocs/docs/v5/tlm-grapher/index.html +11 -0
  294. data/tools/staticdocs/docs/v5/tlm-viewer/index.html +11 -0
  295. data/tools/staticdocs/docs/v5/tools/index.html +11 -0
  296. data/tools/staticdocs/docs/v5/upgrading/index.html +11 -0
  297. data/tools/staticdocs/docs/v5/xtce/index.html +11 -0
  298. data/tools/staticdocs/docs.html +34 -0
  299. data/tools/staticdocs/img/autonomic/autonomic.png +0 -0
  300. data/tools/staticdocs/img/autonomic/create_reaction1.png +0 -0
  301. data/tools/staticdocs/img/autonomic/create_reaction2.png +0 -0
  302. data/tools/staticdocs/img/autonomic/create_reaction3.png +0 -0
  303. data/tools/staticdocs/img/autonomic/create_trigger1.png +0 -0
  304. data/tools/staticdocs/img/autonomic/create_trigger2.png +0 -0
  305. data/tools/staticdocs/img/autonomic/create_trigger3.png +0 -0
  306. data/tools/staticdocs/img/autonomic/disable_trigger.png +0 -0
  307. data/tools/staticdocs/img/autonomic/enabled_trigger.png +0 -0
  308. data/tools/staticdocs/img/autonomic/initial_reaction.png +0 -0
  309. data/tools/staticdocs/img/autonomic/snoozed_reaction.png +0 -0
  310. data/tools/staticdocs/img/autonomic/trigger_groups.png +0 -0
  311. data/tools/staticdocs/img/bucket_explorer/bucket_explorer.png +0 -0
  312. data/tools/staticdocs/img/calendar/blank_calendar.png +0 -0
  313. data/tools/staticdocs/img/calendar/calendar.png +0 -0
  314. data/tools/staticdocs/img/calendar/create_activity1.png +0 -0
  315. data/tools/staticdocs/img/calendar/create_activity2.png +0 -0
  316. data/tools/staticdocs/img/calendar/create_metadata1.png +0 -0
  317. data/tools/staticdocs/img/calendar/create_metadata2.png +0 -0
  318. data/tools/staticdocs/img/calendar/create_note1.png +0 -0
  319. data/tools/staticdocs/img/calendar/create_note2.png +0 -0
  320. data/tools/staticdocs/img/calendar/list_view.png +0 -0
  321. data/tools/staticdocs/img/cmd_tlm_server/cmd_packets.png +0 -0
  322. data/tools/staticdocs/img/cmd_tlm_server/cmd_raw.png +0 -0
  323. data/tools/staticdocs/img/cmd_tlm_server/cmd_tlm_server.png +0 -0
  324. data/tools/staticdocs/img/cmd_tlm_server/file_menu.png +0 -0
  325. data/tools/staticdocs/img/cmd_tlm_server/interfaces.png +0 -0
  326. data/tools/staticdocs/img/cmd_tlm_server/log_messages.png +0 -0
  327. data/tools/staticdocs/img/cmd_tlm_server/routers.png +0 -0
  328. data/tools/staticdocs/img/cmd_tlm_server/status.png +0 -0
  329. data/tools/staticdocs/img/cmd_tlm_server/targets.png +0 -0
  330. data/tools/staticdocs/img/cmd_tlm_server/tlm_packets.png +0 -0
  331. data/tools/staticdocs/img/cmd_tlm_server/tlm_raw.png +0 -0
  332. data/tools/staticdocs/img/command_sender/collect_states.png +0 -0
  333. data/tools/staticdocs/img/command_sender/command_sender.png +0 -0
  334. data/tools/staticdocs/img/command_sender/history.png +0 -0
  335. data/tools/staticdocs/img/command_sender/inst_clear.png +0 -0
  336. data/tools/staticdocs/img/command_sender/inst_collect.png +0 -0
  337. data/tools/staticdocs/img/command_sender/inst_collect_hazardous.png +0 -0
  338. data/tools/staticdocs/img/command_sender/mode_menu.png +0 -0
  339. data/tools/staticdocs/img/data_extractor/add_item.png +0 -0
  340. data/tools/staticdocs/img/data_extractor/add_packet.png +0 -0
  341. data/tools/staticdocs/img/data_extractor/add_target.png +0 -0
  342. data/tools/staticdocs/img/data_extractor/data_extractor.png +0 -0
  343. data/tools/staticdocs/img/data_extractor/delete_all_mouseover.png +0 -0
  344. data/tools/staticdocs/img/data_extractor/edit_all_items.png +0 -0
  345. data/tools/staticdocs/img/data_extractor/edit_all_mouseover.png +0 -0
  346. data/tools/staticdocs/img/data_extractor/edit_temp1.png +0 -0
  347. data/tools/staticdocs/img/data_extractor/file_menu.png +0 -0
  348. data/tools/staticdocs/img/data_extractor/mode_menu.png +0 -0
  349. data/tools/staticdocs/img/data_extractor/processing.png +0 -0
  350. data/tools/staticdocs/img/data_extractor/processing_done.png +0 -0
  351. data/tools/staticdocs/img/data_viewer/add_component.png +0 -0
  352. data/tools/staticdocs/img/data_viewer/data_viewer.png +0 -0
  353. data/tools/staticdocs/img/data_viewer/display_settings.png +0 -0
  354. data/tools/staticdocs/img/data_viewer/file_menu.png +0 -0
  355. data/tools/staticdocs/img/generator/plugin_files.png +0 -0
  356. data/tools/staticdocs/img/generator/target_files.png +0 -0
  357. data/tools/staticdocs/img/guides/local_mode/delete_modified.png +0 -0
  358. data/tools/staticdocs/img/guides/local_mode/project.png +0 -0
  359. data/tools/staticdocs/img/guides/local_mode/reload_file.png +0 -0
  360. data/tools/staticdocs/img/guides/local_mode/reloaded.png +0 -0
  361. data/tools/staticdocs/img/guides/logging/log_messages.png +0 -0
  362. data/tools/staticdocs/img/guides/logging/logs.png +0 -0
  363. data/tools/staticdocs/img/guides/logging/raw_tlm_logs.png +0 -0
  364. data/tools/staticdocs/img/guides/logging/script_messages.png +0 -0
  365. data/tools/staticdocs/img/guides/plugin_variables.png +0 -0
  366. data/tools/staticdocs/img/guides/simple_screen.png +0 -0
  367. data/tools/staticdocs/img/handbooks/handbooks.png +0 -0
  368. data/tools/staticdocs/img/limits_monitor/change_limits_set.png +0 -0
  369. data/tools/staticdocs/img/limits_monitor/file_menu.png +0 -0
  370. data/tools/staticdocs/img/limits_monitor/ignored.png +0 -0
  371. data/tools/staticdocs/img/limits_monitor/limits_monitor.png +0 -0
  372. data/tools/staticdocs/img/limits_monitor/log.png +0 -0
  373. data/tools/staticdocs/img/packet_viewer/file_menu.png +0 -0
  374. data/tools/staticdocs/img/packet_viewer/packet_viewer.png +0 -0
  375. data/tools/staticdocs/img/packet_viewer/temp1_details.png +0 -0
  376. data/tools/staticdocs/img/packet_viewer/view_menu.png +0 -0
  377. data/tools/staticdocs/img/script_runner/checks_rb.png +0 -0
  378. data/tools/staticdocs/img/script_runner/connecting.png +0 -0
  379. data/tools/staticdocs/img/script_runner/debug.png +0 -0
  380. data/tools/staticdocs/img/script_runner/edit_menu.png +0 -0
  381. data/tools/staticdocs/img/script_runner/file_menu.png +0 -0
  382. data/tools/staticdocs/img/script_runner/file_open.png +0 -0
  383. data/tools/staticdocs/img/script_runner/running_scripts.png +0 -0
  384. data/tools/staticdocs/img/script_runner/script_error.png +0 -0
  385. data/tools/staticdocs/img/script_runner/script_menu.png +0 -0
  386. data/tools/staticdocs/img/script_runner/script_runner.png +0 -0
  387. data/tools/staticdocs/img/script_runner/script_suite.png +0 -0
  388. data/tools/staticdocs/img/script_runner/suite_checkboxes.png +0 -0
  389. data/tools/staticdocs/img/table_manager/file_menu.png +0 -0
  390. data/tools/staticdocs/img/table_manager/table_manager.png +0 -0
  391. data/tools/staticdocs/img/telemetry_grapher/edit_graph.png +0 -0
  392. data/tools/staticdocs/img/telemetry_grapher/file_menu.png +0 -0
  393. data/tools/staticdocs/img/telemetry_grapher/four_graphs.png +0 -0
  394. data/tools/staticdocs/img/telemetry_grapher/graph_menu.png +0 -0
  395. data/tools/staticdocs/img/telemetry_grapher/graph_min_max.png +0 -0
  396. data/tools/staticdocs/img/telemetry_grapher/graph_temp1.png +0 -0
  397. data/tools/staticdocs/img/telemetry_grapher/graph_temp1_temp2.png +0 -0
  398. data/tools/staticdocs/img/telemetry_grapher/graph_temp1_time.png +0 -0
  399. data/tools/staticdocs/img/telemetry_grapher/minimized.png +0 -0
  400. data/tools/staticdocs/img/telemetry_grapher/telemetry_grapher.png +0 -0
  401. data/tools/staticdocs/img/telemetry_grapher/two_full_height.png +0 -0
  402. data/tools/staticdocs/img/telemetry_grapher/two_full_width.png +0 -0
  403. data/tools/staticdocs/img/telemetry_viewer/edit_screen.png +0 -0
  404. data/tools/staticdocs/img/telemetry_viewer/file_menu.png +0 -0
  405. data/tools/staticdocs/img/telemetry_viewer/float_minimize.png +0 -0
  406. data/tools/staticdocs/img/telemetry_viewer/new_screen.png +0 -0
  407. data/tools/staticdocs/img/telemetry_viewer/telemetry_viewer.png +0 -0
  408. data/tools/staticdocs/index.html +13 -0
  409. data/tools/staticdocs/lunr-index-1705623764307.json +1 -0
  410. data/tools/staticdocs/lunr-index.json +1 -0
  411. data/tools/staticdocs/markdown-page.html +14 -0
  412. data/tools/staticdocs/search-doc-1705623764307.json +1 -0
  413. data/tools/staticdocs/search-doc.json +1 -0
  414. data/tools/staticdocs/sitemap.xml +1 -0
  415. metadata +449 -429
  416. data/tools/docs/404.html +0 -16
  417. data/tools/docs/assets/css/styles.7bc79028.css +0 -1
  418. data/tools/docs/assets/images/add_packet-f318d0e92e8a13bd56331350aa341c88c8b12f2c54a4424f6e287817f22fb327.png +0 -0
  419. data/tools/docs/assets/images/autonomic-3d6d152f700c8fc1878d0f952d013ace31fccd7872d28587dc761610a0959e9c.png +0 -0
  420. data/tools/docs/assets/images/bucket_explorer-983c087ee3bdcf8626219e782620b6c580fd82bfe2e8b0c662a0f90cdca43838.png +0 -0
  421. data/tools/docs/assets/images/calendar-9fbd635cf3df1ba684bb0c1ebc4f6ad34991efc582e9fd07820c8b74cbb66aa1.png +0 -0
  422. data/tools/docs/assets/images/checks_rb-a6049cdd99613cea2ee12d76fcfe798ff05270e39d208e93d37da7347049b2b3.png +0 -0
  423. data/tools/docs/assets/images/cmd_tlm_server-313e3f64afc0e374d9d28b46364235d7b793001f84690fc0ae90e1eefdd9142d.png +0 -0
  424. data/tools/docs/assets/images/command_sender-a0b113b65368263529d0f8f2d93276a0a44ed81af0d0100f56379346ba592928.png +0 -0
  425. data/tools/docs/assets/images/commands-3608d5c856fd34e771d1f9e69f9f449f52929249bdf4f0e7feed0aa2bd2d9fd7.png +0 -0
  426. data/tools/docs/assets/images/connecting-6e453f3d99800d4cb8fdc78f5b8fce1e8cf1bb04840a29dec7c5caefd07c004f.png +0 -0
  427. data/tools/docs/assets/images/data_extractor-62c5b1743ba9dfdff2e393bcbdf863c36effc5ef5319d845cfd17186bd757bca.png +0 -0
  428. data/tools/docs/assets/images/data_viewer-8c547cb5ad2ebd179aac5e46c2f4c147889ebad53a5359a5e6b6c580de7184fe.png +0 -0
  429. data/tools/docs/assets/images/date_chooser-10f7b740b9acc76604e5dc86fe409b6b777abe0fb3fa5ebf8f47cb1ac58b9676.png +0 -0
  430. data/tools/docs/assets/images/debug-04088348cc04bb8e1a1063fc44920dc8e39616840ef4b09a36c823f185c28669.png +0 -0
  431. data/tools/docs/assets/images/delete_all_mouseover-06083f3d3d712d39f21bc5eda45adbfff449732a2061e53cb1a0baf6c5f5d4b8.png +0 -0
  432. data/tools/docs/assets/images/delete_modified-a7ec0ceb61c37398d57fcecf11ebe2453ebd0110be6cfc960a5073a13a557638.png +0 -0
  433. data/tools/docs/assets/images/edit_all_items-2c57aff19d3b1ce52149c37f50dcaad8c30baa0c9931fdc629f1d163bb56ce96.png +0 -0
  434. data/tools/docs/assets/images/edit_all_mouseover-f6646df5320045ee10d4c0a15d0349fed6ede075f9cea6f9e449b3785c4f4f8d.png +0 -0
  435. data/tools/docs/assets/images/edit_graph-4ca61635376fae26cf5eb82fb9fd803f1a51c4d3584aaf9833a270b7916bf531.png +0 -0
  436. data/tools/docs/assets/images/edit_screen-5724ae13958c1631b3c187cf7cdb6dc9672ecd71f8b0786ac17c0266001edac3.png +0 -0
  437. data/tools/docs/assets/images/edit_temp1-7446e7c5b7869ccc9ddd467779fa86f44301a5e5896751b016a527587c483cb2.png +0 -0
  438. data/tools/docs/assets/images/file_menu-2fe13872737c0f3fef84ba5b58b80b609082733acce536ec1f56910c36f68299.png +0 -0
  439. data/tools/docs/assets/images/file_open-319761fd383fc513b3689ef0a7498c73ce9459a3967c8a395cc2da07c89240d0.png +0 -0
  440. data/tools/docs/assets/images/file_save_as-44468ed6a48bea3bc4fdd8f50d802569e4582b453e5bf946bfdcba400030d499.png +0 -0
  441. data/tools/docs/assets/images/four_graphs-826cf8145338fa46e037556df94c59aeb4448330b601953daa94c89de8494cfd.png +0 -0
  442. data/tools/docs/assets/images/graph_min_max-80a2bd83230c71b00ba9d6da24b8c32a09e4983976cdbf32c33d2680b534b106.png +0 -0
  443. data/tools/docs/assets/images/graph_temp1-de937a79b314cf856b783c936d2460a6c942bdd45e4d9b3fe488957df5bfa9bc.png +0 -0
  444. data/tools/docs/assets/images/graph_temp1_temp2-e96370f7d73a6cb68beaa92bcaaf18b72e6619ce948fe835762cca1048efbd18.png +0 -0
  445. data/tools/docs/assets/images/graph_temp1_time-fec5e99e3cc05ea87208abe9c4b66b63b7497bbefee55f65d034417e966b1c46.png +0 -0
  446. data/tools/docs/assets/images/handbooks-1d301c83c80a7cb96c548006f5139fe8ec967ed10a49df0142b37328cd987f33.png +0 -0
  447. data/tools/docs/assets/images/ignored-1e20d4ffe7fd88ffab610340957b1176294269f985e8fdb20a9af07d7a78215f.png +0 -0
  448. data/tools/docs/assets/images/inst_clear-5ecb859f06f14d91d2ebba27e5a7848d6393db5ad2357f95c12e776c45f6bc64.png +0 -0
  449. data/tools/docs/assets/images/inst_collect-4f4e453a6521b779e10c4d2be6a8b1acf15fcb083af0164b0df1de27ca250132.png +0 -0
  450. data/tools/docs/assets/images/inst_collect_hazardous-3aeabedb96bf114b4eb56b6b2ee7bcc601302ec8905a82a16c47ae7870f97978.png +0 -0
  451. data/tools/docs/assets/images/inst_collect_hazardous_history-952a6e6ff2fb1b5fdf2c6b3d84a3ccf9e303eeb310f35514dc4a6e95f2a7420e.png +0 -0
  452. data/tools/docs/assets/images/inst_collect_sent-0de429f724264ce8c52a6cb22d4bbb96f14e22b559c091ff4375bb59f124a7a2.png +0 -0
  453. data/tools/docs/assets/images/inst_collect_sent_3-91cf4e053d246917964330ab93534a0a5eb878b652e7ea879effca7c4eaefbea.png +0 -0
  454. data/tools/docs/assets/images/interfaces-5622abf50e3df63980661a48216bf71187f38cb636bd512f48917ca4a425f083.png +0 -0
  455. data/tools/docs/assets/images/items_table-2fc1bb4d03a2348c4af7df442e13cee2f310cf455228005d76cbfda7a706aa53.png +0 -0
  456. data/tools/docs/assets/images/items_table_raw-c4d454679c4503ec35710dcee6be5cd1940984595145b333d8604bc505dfe291.png +0 -0
  457. data/tools/docs/assets/images/items_table_temp1-ea091eaf8005cea839800f4514f72f94e9664993111b935f33e7c5aa3061ca64.png +0 -0
  458. data/tools/docs/assets/images/limits_monitor-c58d70daea7586b93d5069b9df068a90cea5f7cf2e51a445f3162bf3f66db3d0.png +0 -0
  459. data/tools/docs/assets/images/list_view-926f42bc1e43283c61616b0cd8fd630cad8e15c9b7298acd98536842472e673b.png +0 -0
  460. data/tools/docs/assets/images/log-ba64fd307e53adafae55fcea7eb31829ee1aacdf4aafe8b40b270b793be3aa27.png +0 -0
  461. data/tools/docs/assets/images/log_messages-19c3ce9c7ff86e43d459cb6591df8c05d25e1390d857728cb462a57b9d3ccc69.png +0 -0
  462. data/tools/docs/assets/images/log_messages-2cfad0fd6f6f980f69b5564a4b7ecfecf3331c6256c78bcfb2b084970db305ca.png +0 -0
  463. data/tools/docs/assets/images/minimized-59d0d8d8a179ff0475787e87237b77b24d59d78826d43dbc1a554a51380eb37f.png +0 -0
  464. data/tools/docs/assets/images/minimized-a658bd8f2115d3f9a386844e886de770b23bbf9c0c8c55a4ca587cea67ec320e.png +0 -0
  465. data/tools/docs/assets/images/minio-150460ac77a50711835de6f0150d019000e5515afae0f3adfcdda8e891484f47.png +0 -0
  466. data/tools/docs/assets/images/mouseover-95b774047b3c2ca23a3bc645caf75d90511c378729dd9cfb781510a1452e09fe.png +0 -0
  467. data/tools/docs/assets/images/new_screen-295720ec60219194c8c8dd64c755e8a188cc4a68c2b6cf66197b54514644d52a.png +0 -0
  468. data/tools/docs/assets/images/notifications-5b32d6619542431027ddd67491eb445469fa2d16fa8352a2b0917b9298b7bbb2.png +0 -0
  469. data/tools/docs/assets/images/open_config-2e61415a3c2d7a4ce427cf325f3708dd4a761092b7dd0c869279c4354dc34ae4.png +0 -0
  470. data/tools/docs/assets/images/open_config-3cd3be1ce4560d9e72bb37b83dc830149091dec9a088c36187e0e72660c6ec34.png +0 -0
  471. data/tools/docs/assets/images/open_config-55ef2f241d02047b252bb8201742f99cffed5680d0e9eb46b3cb53a644ca3dc9.png +0 -0
  472. data/tools/docs/assets/images/open_config-f848a8b371ae0ec31776834148e9f978d9be94efef03534e5ca3a59c0ae3847f.png +0 -0
  473. data/tools/docs/assets/images/packet_viewer-19c1015cc704a98d1f6d90dd0dadc13188d25f1d5d2e838b7cfb226e8c173c7b.png +0 -0
  474. data/tools/docs/assets/images/plugin-variables-5bc00c744182c9a9591e84cb3bbb1c4deb53ff22e05f62ce1b807c26bed782e5.png +0 -0
  475. data/tools/docs/assets/images/processing-b0c50908284739a76e1bbcfcb3eb34dc9446f8716117cb0e9089ad9df53ebed6.png +0 -0
  476. data/tools/docs/assets/images/project-fe7ac90f3e45971fca8f1be94be9dbabe494bafe705e7f8f485676e9d96e47ea.png +0 -0
  477. data/tools/docs/assets/images/project_update-8e7de3b0658b95d4d9931eb52ff8bf339d633cbdc273ce096eb11ceb357c009e.png +0 -0
  478. data/tools/docs/assets/images/raw_command-759d93759a73a6a3dd7e30f89fc4d1a544dfb6f7355abfed03897d404279161d.png +0 -0
  479. data/tools/docs/assets/images/raw_telemetry-ffeb6b603f9a9abbe0cb77afaaeb4b4f07dfee479682a5c9661f85589a679049.png +0 -0
  480. data/tools/docs/assets/images/raw_tlm_logs-8dcba4f020b36f8efbb793271b70d40d9cad627196afaeb5bf6f3931ed53fa52.png +0 -0
  481. data/tools/docs/assets/images/reactions-dd4a8ebf22eed921a82a5478d23178c62e2cf944d295c2b9e3f4d7ce555b0fcc.png +0 -0
  482. data/tools/docs/assets/images/reload_file-8e26cd3e1bc1eab7bb6c046d9a6a8231fcd76e56682d819b1e549182890c6486.png +0 -0
  483. data/tools/docs/assets/images/reloaded-9effa15527244928ee503eb0c3a48cc5e82c07cfb5d5c4300eacfcab913069d1.png +0 -0
  484. data/tools/docs/assets/images/running_scripts-78bfd36a6c8c7167234e03bd188e974927c2beea1f730498583169a81639e7a3.png +0 -0
  485. data/tools/docs/assets/images/save_config-0ae36ac1f8114665f2558e936ba3b30e5cba2a16cc01d3494e14ed689b4637f7.png +0 -0
  486. data/tools/docs/assets/images/save_config-8b028134b07c70d6de019825cbb328623fc485d72aad9ba5b1980246b316fec2.png +0 -0
  487. data/tools/docs/assets/images/save_config-e4ed80276ebdc2c4eaf9aaeb859cff8aecb380b22da8c659741c31ca66914098.png +0 -0
  488. data/tools/docs/assets/images/save_config-e748a338526ffd8f9e49def5c0d15f8a80cd987f40d210ff6c6d4b61b713555c.png +0 -0
  489. data/tools/docs/assets/images/script_error-ce060b3086e7b466e51a276fb6b27245b4d042f07a60fe121b0071dd65a42075.png +0 -0
  490. data/tools/docs/assets/images/script_runner-7d7f01b90be962b4de46c20568727c55488eec5d9844823b53a262c9cfc470fa.png +0 -0
  491. data/tools/docs/assets/images/script_suite-42832d936f91417740b76a39841996c8e4a7cf5391dbb19abe9d7b31ab07dd7d.png +0 -0
  492. data/tools/docs/assets/images/select_item-f063106a8d836656496ba81e7e7428f51bd8ab95aebab0aa4eb6ad41ed42e026.png +0 -0
  493. data/tools/docs/assets/images/select_packet-0b6d5a2b012445ab2bf0fd3e1545f015cd7787280d05d2bccb0a9c9220102529.png +0 -0
  494. data/tools/docs/assets/images/select_packet-be9d63c49f898cccb73f9e4b2b39c4b5879cead34a8ab2ede0bb08e953498e95.png +0 -0
  495. data/tools/docs/assets/images/select_target-71ebcab6cbefafd8958939130861a75f7544e99a043d90fa0734ec2f983d835f.png +0 -0
  496. data/tools/docs/assets/images/simple_screen-3c9d6d2366c716c03a301396a4ce0ea418532890f349d9bc9ebb8be90983a6e6.png +0 -0
  497. data/tools/docs/assets/images/status-80010882300d2f1c453fbc4cb35bdb1f06d3db578266dda95c56ea7ec230ac72.png +0 -0
  498. data/tools/docs/assets/images/table_manager-9a5357ce536102bc1bb0c859be552f4ac82f62e538935a3c45a8e76d4f9744db.png +0 -0
  499. data/tools/docs/assets/images/targets-d15296b133787be4997c3d5e7d43eec9030831f1758508a8f6a71d40d04478ce.png +0 -0
  500. data/tools/docs/assets/images/telemetry-3f1169fc67b3d2427047ba66a9b2f3ddf71f61edf498ee70d14e78f0ef3c1e3c.png +0 -0
  501. data/tools/docs/assets/images/telemetry_grapher-a96b7e0101f5e377a73a186683e967e79d748c5dff2dfed6ec0afcea5694d7c8.png +0 -0
  502. data/tools/docs/assets/images/telemetry_viewer-be6ee576f1efceb39c2f744889deb4c18f571c4922c69d5d0e5f49a653776a46.png +0 -0
  503. data/tools/docs/assets/images/temp1_details-f0b6e62bc28da18febacc936112735e1dbd5718ef675668f04d8b3e060d7f87a.png +0 -0
  504. data/tools/docs/assets/images/time_chooser-e4ca0705d5b97c3056b0de3ab7f71f8091482b9b2e8904e69866a43ce4e616f2.png +0 -0
  505. data/tools/docs/assets/images/triggers-0b0b3f9cc2850c1b83b9a7aab6f8a936626fd847c3158e993e4baa0e64b38096.png +0 -0
  506. data/tools/docs/assets/images/two_full_height-7cf9d0bbdf0269ad85e312f6dcb77930e1e3c4319f9750968a9347fafcf26084.png +0 -0
  507. data/tools/docs/assets/images/two_full_width-db2d88c0e2e6fc417016f47e3bac0bf68374957d8fc014220f53870429ea1ef3.png +0 -0
  508. data/tools/docs/assets/images/view_portal-b2e5fef00be80f1551b965d170fc3cd8ed95597f0a1e475a8177ab2d306215f5.png +0 -0
  509. data/tools/docs/assets/images/view_portal_add-56f06135fc56f1fa85cbc22ea3b7ad52f311641aad25df08b6f4a6f979b30e3f.png +0 -0
  510. data/tools/docs/assets/js/019369f3.bb600de8.js +0 -1
  511. data/tools/docs/assets/js/058ffc22.ce27f074.js +0 -1
  512. data/tools/docs/assets/js/0686a885.5fe3bfd4.js +0 -1
  513. data/tools/docs/assets/js/078dbab0.0a98e0c9.js +0 -1
  514. data/tools/docs/assets/js/0f5d161c.3a7b00e4.js +0 -1
  515. data/tools/docs/assets/js/0ff569c9.930bab08.js +0 -1
  516. data/tools/docs/assets/js/103cc3be.451dd416.js +0 -1
  517. data/tools/docs/assets/js/13196248.1be5ac81.js +0 -1
  518. data/tools/docs/assets/js/13c1b4e4.ad24c4f6.js +0 -1
  519. data/tools/docs/assets/js/15a39a64.4138456c.js +0 -1
  520. data/tools/docs/assets/js/2029.9e268a82.js +0 -1
  521. data/tools/docs/assets/js/2047b354.7995865f.js +0 -1
  522. data/tools/docs/assets/js/22b3ac48.73a6c979.js +0 -1
  523. data/tools/docs/assets/js/2846.a87f3fc4.js +0 -1
  524. data/tools/docs/assets/js/3477.783e2e37.js +0 -2
  525. data/tools/docs/assets/js/3dd7ef3b.8f77876c.js +0 -1
  526. data/tools/docs/assets/js/3df159b4.dded3e78.js +0 -1
  527. data/tools/docs/assets/js/40365d27.9322abd8.js +0 -1
  528. data/tools/docs/assets/js/411898ad.a1d949a2.js +0 -1
  529. data/tools/docs/assets/js/42170351.46c774f8.js +0 -1
  530. data/tools/docs/assets/js/43652efd.cbac4bc0.js +0 -1
  531. data/tools/docs/assets/js/5109.6a372217.js +0 -1
  532. data/tools/docs/assets/js/54d0d530.e9c8193b.js +0 -1
  533. data/tools/docs/assets/js/5bc719f6.fce76244.js +0 -1
  534. data/tools/docs/assets/js/5c6ce5ec.f909714f.js +0 -1
  535. data/tools/docs/assets/js/5e3ed378.cdfe0362.js +0 -1
  536. data/tools/docs/assets/js/5fe211ef.809c3f96.js +0 -1
  537. data/tools/docs/assets/js/6831b732.735c11e9.js +0 -1
  538. data/tools/docs/assets/js/696b4199.ff9185d0.js +0 -1
  539. data/tools/docs/assets/js/6b210247.248680ef.js +0 -1
  540. data/tools/docs/assets/js/6b65133b.2144fb1b.js +0 -1
  541. data/tools/docs/assets/js/6f92e431.608f28e7.js +0 -1
  542. data/tools/docs/assets/js/72c6d8a8.062b7650.js +0 -1
  543. data/tools/docs/assets/js/75e64983.d42f03f8.js +0 -1
  544. data/tools/docs/assets/js/7efc9fb0.6164fbad.js +0 -1
  545. data/tools/docs/assets/js/867640d5.28196e2c.js +0 -1
  546. data/tools/docs/assets/js/89e76475.5131b624.js +0 -1
  547. data/tools/docs/assets/js/8f7843ee.69e537b0.js +0 -1
  548. data/tools/docs/assets/js/9424f0b3.73086bed.js +0 -1
  549. data/tools/docs/assets/js/97535711.c7556831.js +0 -1
  550. data/tools/docs/assets/js/99581c43.30aef54d.js +0 -1
  551. data/tools/docs/assets/js/9d6e81d0.84fe3bb3.js +0 -1
  552. data/tools/docs/assets/js/9fb6059a.dc4760ab.js +0 -1
  553. data/tools/docs/assets/js/a182b3b3.25afec82.js +0 -1
  554. data/tools/docs/assets/js/a507c363.71a89240.js +0 -1
  555. data/tools/docs/assets/js/a677c089.2ec103f7.js +0 -1
  556. data/tools/docs/assets/js/a9987364.de63d165.js +0 -1
  557. data/tools/docs/assets/js/aa6b6c1b.6b24256f.js +0 -1
  558. data/tools/docs/assets/js/ada50b5c.1c75d3de.js +0 -1
  559. data/tools/docs/assets/js/b4596165.ab1c689f.js +0 -1
  560. data/tools/docs/assets/js/b6d70f94.ec27318b.js +0 -1
  561. data/tools/docs/assets/js/b9f60ba6.bb514133.js +0 -1
  562. data/tools/docs/assets/js/bd0034eb.0c60929d.js +0 -1
  563. data/tools/docs/assets/js/c24eae19.12176204.js +0 -1
  564. data/tools/docs/assets/js/cb8c3f08.762bb287.js +0 -1
  565. data/tools/docs/assets/js/cd879be4.3641a5cb.js +0 -1
  566. data/tools/docs/assets/js/d1b923aa.bf4b0c9e.js +0 -1
  567. data/tools/docs/assets/js/d24bf9b6.6ed3b576.js +0 -1
  568. data/tools/docs/assets/js/d370d7a7.28ef1aad.js +0 -1
  569. data/tools/docs/assets/js/d57a4b5d.017675ee.js +0 -1
  570. data/tools/docs/assets/js/d5d77c37.f472b18b.js +0 -1
  571. data/tools/docs/assets/js/d5f295fb.e008c3ec.js +0 -1
  572. data/tools/docs/assets/js/d7c988eb.2670948e.js +0 -1
  573. data/tools/docs/assets/js/d8ca4191.717db664.js +0 -1
  574. data/tools/docs/assets/js/d9b92eba.5eff70b2.js +0 -1
  575. data/tools/docs/assets/js/db8fa1d0.85784608.js +0 -1
  576. data/tools/docs/assets/js/dc5f7beb.120c148d.js +0 -1
  577. data/tools/docs/assets/js/e501b0d1.ae564e73.js +0 -1
  578. data/tools/docs/assets/js/f15615f1.3126a842.js +0 -1
  579. data/tools/docs/assets/js/fd886806.d2d0bdf4.js +0 -1
  580. data/tools/docs/assets/js/main.b5a535c2.js +0 -2
  581. data/tools/docs/assets/js/main.b5a535c2.js.LICENSE.txt +0 -70
  582. data/tools/docs/assets/js/runtime~main.e3a6c705.js +0 -1
  583. data/tools/docs/docs/configuration/command.html +0 -40
  584. data/tools/docs/docs/configuration/format.html +0 -16
  585. data/tools/docs/docs/configuration/interfaces.html +0 -16
  586. data/tools/docs/docs/configuration/plugins.html +0 -17
  587. data/tools/docs/docs/configuration/protocols.html +0 -23
  588. data/tools/docs/docs/configuration/ssl-tls.html +0 -17
  589. data/tools/docs/docs/configuration/table.html +0 -30
  590. data/tools/docs/docs/configuration/target.html +0 -16
  591. data/tools/docs/docs/configuration/telemetry-screens.html +0 -36
  592. data/tools/docs/docs/configuration/telemetry.html +0 -16
  593. data/tools/docs/docs/configuration.html +0 -16
  594. data/tools/docs/docs/development/curl.html +0 -16
  595. data/tools/docs/docs/development/developing.html +0 -19
  596. data/tools/docs/docs/development/host-install.html +0 -16
  597. data/tools/docs/docs/development/json-api.html +0 -16
  598. data/tools/docs/docs/development/log-structure.html +0 -17
  599. data/tools/docs/docs/development/roadmap.html +0 -16
  600. data/tools/docs/docs/development/streaming-api.html +0 -18
  601. data/tools/docs/docs/development/testing.html +0 -16
  602. data/tools/docs/docs/development.html +0 -16
  603. data/tools/docs/docs/getting-started/gettingstarted.html +0 -16
  604. data/tools/docs/docs/getting-started/installation.html +0 -18
  605. data/tools/docs/docs/getting-started/podman.html +0 -18
  606. data/tools/docs/docs/getting-started/requirements.html +0 -16
  607. data/tools/docs/docs/getting-started/upgrading.html +0 -16
  608. data/tools/docs/docs/getting-started.html +0 -16
  609. data/tools/docs/docs/guides/bridges.html +0 -23
  610. data/tools/docs/docs/guides/cfs.html +0 -46
  611. data/tools/docs/docs/guides/custom-widgets.html +0 -16
  612. data/tools/docs/docs/guides/little-endian-bitfields.html +0 -16
  613. data/tools/docs/docs/guides/local-mode.html +0 -16
  614. data/tools/docs/docs/guides/logging.html +0 -16
  615. data/tools/docs/docs/guides/monitoring.html +0 -16
  616. data/tools/docs/docs/guides/performance.html +0 -16
  617. data/tools/docs/docs/guides/raspberrypi.html +0 -16
  618. data/tools/docs/docs/guides/script-writing.html +0 -18
  619. data/tools/docs/docs/guides/scripting-api.html +0 -17
  620. data/tools/docs/docs/guides.html +0 -16
  621. data/tools/docs/docs/meta/contributing.html +0 -20
  622. data/tools/docs/docs/meta/philosophy.html +0 -16
  623. data/tools/docs/docs/meta/xtce.html +0 -16
  624. data/tools/docs/docs/meta.html +0 -16
  625. data/tools/docs/docs/privacy.html +0 -23
  626. data/tools/docs/docs/tools/autonomic.html +0 -16
  627. data/tools/docs/docs/tools/bucket-explorer.html +0 -16
  628. data/tools/docs/docs/tools/calendar.html +0 -16
  629. data/tools/docs/docs/tools/cmd-sender.html +0 -16
  630. data/tools/docs/docs/tools/cmd-tlm-server.html +0 -17
  631. data/tools/docs/docs/tools/data-extractor.html +0 -16
  632. data/tools/docs/docs/tools/data-viewer.html +0 -16
  633. data/tools/docs/docs/tools/handbooks.html +0 -16
  634. data/tools/docs/docs/tools/limits-monitor.html +0 -16
  635. data/tools/docs/docs/tools/packet-viewer.html +0 -16
  636. data/tools/docs/docs/tools/script-runner.html +0 -16
  637. data/tools/docs/docs/tools/table-manager.html +0 -16
  638. data/tools/docs/docs/tools/tlm-grapher.html +0 -16
  639. data/tools/docs/docs/tools/tlm-viewer.html +0 -17
  640. data/tools/docs/docs/tools.html +0 -16
  641. data/tools/docs/docs/v5/bridges/index.html +0 -11
  642. data/tools/docs/docs/v5/bucket-explorer/index.html +0 -11
  643. data/tools/docs/docs/v5/calendar/index.html +0 -11
  644. data/tools/docs/docs/v5/cfs/index.html +0 -11
  645. data/tools/docs/docs/v5/cmd-sender/index.html +0 -11
  646. data/tools/docs/docs/v5/cmd-tlm-server/index.html +0 -11
  647. data/tools/docs/docs/v5/command/index.html +0 -11
  648. data/tools/docs/docs/v5/contributing/index.html +0 -11
  649. data/tools/docs/docs/v5/custom-widgets/index.html +0 -11
  650. data/tools/docs/docs/v5/data-extractor/index.html +0 -11
  651. data/tools/docs/docs/v5/data-viewer/index.html +0 -11
  652. data/tools/docs/docs/v5/development/index.html +0 -11
  653. data/tools/docs/docs/v5/format/index.html +0 -11
  654. data/tools/docs/docs/v5/gettingstarted/index.html +0 -11
  655. data/tools/docs/docs/v5/handbooks/index.html +0 -11
  656. data/tools/docs/docs/v5/host-install/index.html +0 -11
  657. data/tools/docs/docs/v5/index.html +0 -11
  658. data/tools/docs/docs/v5/installation/index.html +0 -11
  659. data/tools/docs/docs/v5/interfaces/index.html +0 -11
  660. data/tools/docs/docs/v5/json-api/index.html +0 -11
  661. data/tools/docs/docs/v5/limits-monitor/index.html +0 -11
  662. data/tools/docs/docs/v5/little-endian-bitfields/index.html +0 -11
  663. data/tools/docs/docs/v5/local-mode/index.html +0 -11
  664. data/tools/docs/docs/v5/log-structure/index.html +0 -11
  665. data/tools/docs/docs/v5/logging/index.html +0 -11
  666. data/tools/docs/docs/v5/monitoring/index.html +0 -11
  667. data/tools/docs/docs/v5/packet-viewer/index.html +0 -11
  668. data/tools/docs/docs/v5/performance/index.html +0 -11
  669. data/tools/docs/docs/v5/philosophy/index.html +0 -11
  670. data/tools/docs/docs/v5/plugins/index.html +0 -11
  671. data/tools/docs/docs/v5/podman/index.html +0 -11
  672. data/tools/docs/docs/v5/protocols/index.html +0 -11
  673. data/tools/docs/docs/v5/raspberrypi/index.html +0 -11
  674. data/tools/docs/docs/v5/requirements/index.html +0 -11
  675. data/tools/docs/docs/v5/roadmap/index.html +0 -11
  676. data/tools/docs/docs/v5/script-runner/index.html +0 -11
  677. data/tools/docs/docs/v5/script-writing/index.html +0 -11
  678. data/tools/docs/docs/v5/scripting-api/index.html +0 -11
  679. data/tools/docs/docs/v5/ssl-tls/index.html +0 -11
  680. data/tools/docs/docs/v5/streaming-api/index.html +0 -11
  681. data/tools/docs/docs/v5/table/index.html +0 -11
  682. data/tools/docs/docs/v5/table-manager/index.html +0 -11
  683. data/tools/docs/docs/v5/target/index.html +0 -11
  684. data/tools/docs/docs/v5/telemetry/index.html +0 -11
  685. data/tools/docs/docs/v5/telemetry-screens/index.html +0 -11
  686. data/tools/docs/docs/v5/testing/index.html +0 -11
  687. data/tools/docs/docs/v5/tlm-grapher/index.html +0 -11
  688. data/tools/docs/docs/v5/tlm-viewer/index.html +0 -11
  689. data/tools/docs/docs/v5/tools/index.html +0 -11
  690. data/tools/docs/docs/v5/upgrading/index.html +0 -11
  691. data/tools/docs/docs/v5/xtce/index.html +0 -11
  692. data/tools/docs/docs.html +0 -25
  693. data/tools/docs/img/v5/autonomic/autonomic.png +0 -0
  694. data/tools/docs/img/v5/autonomic/reactions.png +0 -0
  695. data/tools/docs/img/v5/autonomic/triggers.png +0 -0
  696. data/tools/docs/img/v5/bucket_explorer/bucket_explorer.png +0 -0
  697. data/tools/docs/img/v5/calendar/calendar.png +0 -0
  698. data/tools/docs/img/v5/calendar/list_view.png +0 -0
  699. data/tools/docs/img/v5/cmd_tlm_server/cmd_tlm_server.png +0 -0
  700. data/tools/docs/img/v5/cmd_tlm_server/commands.png +0 -0
  701. data/tools/docs/img/v5/cmd_tlm_server/file_menu.png +0 -0
  702. data/tools/docs/img/v5/cmd_tlm_server/interfaces.png +0 -0
  703. data/tools/docs/img/v5/cmd_tlm_server/log_messages.png +0 -0
  704. data/tools/docs/img/v5/cmd_tlm_server/raw_command.png +0 -0
  705. data/tools/docs/img/v5/cmd_tlm_server/raw_telemetry.png +0 -0
  706. data/tools/docs/img/v5/cmd_tlm_server/routers.png +0 -0
  707. data/tools/docs/img/v5/cmd_tlm_server/status.png +0 -0
  708. data/tools/docs/img/v5/cmd_tlm_server/targets.png +0 -0
  709. data/tools/docs/img/v5/cmd_tlm_server/telemetry.png +0 -0
  710. data/tools/docs/img/v5/command_sender/command_sender.png +0 -0
  711. data/tools/docs/img/v5/command_sender/inst_clear.png +0 -0
  712. data/tools/docs/img/v5/command_sender/inst_collect.png +0 -0
  713. data/tools/docs/img/v5/command_sender/inst_collect_hazardous.png +0 -0
  714. data/tools/docs/img/v5/command_sender/inst_collect_sent.png +0 -0
  715. data/tools/docs/img/v5/command_sender/inst_collect_sent_3.png +0 -0
  716. data/tools/docs/img/v5/command_sender/mode_menu.png +0 -0
  717. data/tools/docs/img/v5/data_extractor/data_extractor.png +0 -0
  718. data/tools/docs/img/v5/data_extractor/date_chooser.png +0 -0
  719. data/tools/docs/img/v5/data_extractor/delete_all_mouseover.png +0 -0
  720. data/tools/docs/img/v5/data_extractor/download.png +0 -0
  721. data/tools/docs/img/v5/data_extractor/edit_all_items.png +0 -0
  722. data/tools/docs/img/v5/data_extractor/edit_all_mouseover.png +0 -0
  723. data/tools/docs/img/v5/data_extractor/edit_temp1.png +0 -0
  724. data/tools/docs/img/v5/data_extractor/file_menu.png +0 -0
  725. data/tools/docs/img/v5/data_extractor/items_table.png +0 -0
  726. data/tools/docs/img/v5/data_extractor/items_table_raw.png +0 -0
  727. data/tools/docs/img/v5/data_extractor/items_table_temp1.png +0 -0
  728. data/tools/docs/img/v5/data_extractor/mode_menu.png +0 -0
  729. data/tools/docs/img/v5/data_extractor/open_config.png +0 -0
  730. data/tools/docs/img/v5/data_extractor/processing.png +0 -0
  731. data/tools/docs/img/v5/data_extractor/save_config.png +0 -0
  732. data/tools/docs/img/v5/data_extractor/select_item.png +0 -0
  733. data/tools/docs/img/v5/data_extractor/select_packet.png +0 -0
  734. data/tools/docs/img/v5/data_extractor/select_target.png +0 -0
  735. data/tools/docs/img/v5/data_extractor/time_chooser.png +0 -0
  736. data/tools/docs/img/v5/data_viewer/add_packet.png +0 -0
  737. data/tools/docs/img/v5/data_viewer/data_viewer.png +0 -0
  738. data/tools/docs/img/v5/data_viewer/file_menu.png +0 -0
  739. data/tools/docs/img/v5/data_viewer/open_config.png +0 -0
  740. data/tools/docs/img/v5/data_viewer/rename_tab.png +0 -0
  741. data/tools/docs/img/v5/data_viewer/save_config.png +0 -0
  742. data/tools/docs/img/v5/data_viewer/tab_right_click.png +0 -0
  743. data/tools/docs/img/v5/data_viewer/view_portal.png +0 -0
  744. data/tools/docs/img/v5/data_viewer/view_portal_add.png +0 -0
  745. data/tools/docs/img/v5/guides/local_mode/delete_modified.png +0 -0
  746. data/tools/docs/img/v5/guides/local_mode/minio.png +0 -0
  747. data/tools/docs/img/v5/guides/local_mode/project.png +0 -0
  748. data/tools/docs/img/v5/guides/local_mode/project_update.png +0 -0
  749. data/tools/docs/img/v5/guides/local_mode/reload_file.png +0 -0
  750. data/tools/docs/img/v5/guides/local_mode/reloaded.png +0 -0
  751. data/tools/docs/img/v5/guides/logging/browser.png +0 -0
  752. data/tools/docs/img/v5/guides/logging/log_messages.png +0 -0
  753. data/tools/docs/img/v5/guides/logging/notifications.png +0 -0
  754. data/tools/docs/img/v5/guides/logging/raw_tlm_logs.png +0 -0
  755. data/tools/docs/img/v5/guides/plugin-variables.png +0 -0
  756. data/tools/docs/img/v5/guides/simple_screen.png +0 -0
  757. data/tools/docs/img/v5/handbooks/handbooks.png +0 -0
  758. data/tools/docs/img/v5/limits_monitor/ignored.png +0 -0
  759. data/tools/docs/img/v5/limits_monitor/limits_monitor.png +0 -0
  760. data/tools/docs/img/v5/limits_monitor/log.png +0 -0
  761. data/tools/docs/img/v5/limits_monitor/mouseover.png +0 -0
  762. data/tools/docs/img/v5/navigation.png +0 -0
  763. data/tools/docs/img/v5/packet_viewer/file_menu.png +0 -0
  764. data/tools/docs/img/v5/packet_viewer/packet_viewer.png +0 -0
  765. data/tools/docs/img/v5/packet_viewer/select_packet.png +0 -0
  766. data/tools/docs/img/v5/packet_viewer/temp1_details.png +0 -0
  767. data/tools/docs/img/v5/packet_viewer/view_menu.png +0 -0
  768. data/tools/docs/img/v5/script_runner/checks_rb.png +0 -0
  769. data/tools/docs/img/v5/script_runner/connecting.png +0 -0
  770. data/tools/docs/img/v5/script_runner/debug.png +0 -0
  771. data/tools/docs/img/v5/script_runner/file_menu.png +0 -0
  772. data/tools/docs/img/v5/script_runner/file_open.png +0 -0
  773. data/tools/docs/img/v5/script_runner/running_scripts.png +0 -0
  774. data/tools/docs/img/v5/script_runner/script_error.png +0 -0
  775. data/tools/docs/img/v5/script_runner/script_menu.png +0 -0
  776. data/tools/docs/img/v5/script_runner/script_runner.png +0 -0
  777. data/tools/docs/img/v5/script_runner/script_suite.png +0 -0
  778. data/tools/docs/img/v5/table_manager/file_menu.png +0 -0
  779. data/tools/docs/img/v5/table_manager/table_manager.png +0 -0
  780. data/tools/docs/img/v5/telemetry_grapher/edit_graph.png +0 -0
  781. data/tools/docs/img/v5/telemetry_grapher/file_menu.png +0 -0
  782. data/tools/docs/img/v5/telemetry_grapher/four_graphs.png +0 -0
  783. data/tools/docs/img/v5/telemetry_grapher/graph_menu.png +0 -0
  784. data/tools/docs/img/v5/telemetry_grapher/graph_min_max.png +0 -0
  785. data/tools/docs/img/v5/telemetry_grapher/graph_temp1.png +0 -0
  786. data/tools/docs/img/v5/telemetry_grapher/graph_temp1_temp2.png +0 -0
  787. data/tools/docs/img/v5/telemetry_grapher/graph_temp1_time.png +0 -0
  788. data/tools/docs/img/v5/telemetry_grapher/minimized.png +0 -0
  789. data/tools/docs/img/v5/telemetry_grapher/open_config.png +0 -0
  790. data/tools/docs/img/v5/telemetry_grapher/save_config.png +0 -0
  791. data/tools/docs/img/v5/telemetry_grapher/telemetry_grapher.png +0 -0
  792. data/tools/docs/img/v5/telemetry_grapher/two_full_height.png +0 -0
  793. data/tools/docs/img/v5/telemetry_grapher/two_full_width.png +0 -0
  794. data/tools/docs/img/v5/telemetry_viewer/edit_screen.png +0 -0
  795. data/tools/docs/img/v5/telemetry_viewer/file_menu.png +0 -0
  796. data/tools/docs/img/v5/telemetry_viewer/minimized.png +0 -0
  797. data/tools/docs/img/v5/telemetry_viewer/new_screen.png +0 -0
  798. data/tools/docs/img/v5/telemetry_viewer/open_config.png +0 -0
  799. data/tools/docs/img/v5/telemetry_viewer/save_config.png +0 -0
  800. data/tools/docs/img/v5/telemetry_viewer/telemetry_viewer.png +0 -0
  801. data/tools/docs/index.html +0 -16
  802. data/tools/docs/lunr-index-1699630949575.json +0 -1
  803. data/tools/docs/lunr-index.json +0 -1
  804. data/tools/docs/markdown-page.html +0 -16
  805. data/tools/docs/search-doc-1699630949575.json +0 -1
  806. data/tools/docs/search-doc.json +0 -1
  807. data/tools/docs/sitemap.xml +0 -1
  808. /data/tools/{docs → staticdocs}/CNAME +0 -0
  809. /data/tools/{docs → staticdocs}/assets/images/architecture-b78f12eba076a0c07af7abdd9dd4187c59aa6b4f5c51b47ad03f73e9f98a6ed6.png +0 -0
  810. /data/tools/{docs → staticdocs}/assets/images/interface_read_logic-0deef27c1d2fec9de2a3720a3c9ecedb21a00dca7aabd13da0b8815c037e4c26.png +0 -0
  811. /data/tools/{docs → staticdocs}/assets/images/interface_write_logic-3360afe1b4af20b10dafba848a21e09baccaacc06e2ec8b6c132ac7a3c99e994.png +0 -0
  812. /data/tools/{docs → staticdocs}/assets/images/timeline_lifecycle-0bd916dee06bf67936b043abfdbc4d5fdec7cc5a32a889ee6c05e9faf74f4c6a.png +0 -0
  813. /data/tools/{docs → staticdocs}/assets/js/1131.f9e1547d.js +0 -0
  814. /data/tools/{docs → staticdocs}/assets/js/2923e883.0cbdcbc5.js +0 -0
  815. /data/tools/{docs/assets/js/3477.783e2e37.js.LICENSE.txt → staticdocs/assets/js/4657.780d60d2.js.LICENSE.txt} +0 -0
  816. /data/tools/{docs → staticdocs}/assets/js/d797a795.9243eac2.js +0 -0
  817. /data/tools/{docs → staticdocs}/img/BCT.png +0 -0
  818. /data/tools/{docs → staticdocs}/img/OpenC3.png +0 -0
  819. /data/tools/{docs/img/v5 → staticdocs/img}/architecture.png +0 -0
  820. /data/tools/{docs → staticdocs}/img/article-footer.png +0 -0
  821. /data/tools/{docs → staticdocs}/img/ball.jpg +0 -0
  822. /data/tools/{docs → staticdocs}/img/black_logo.svg +0 -0
  823. /data/tools/{docs/img/v5 → staticdocs/img}/calendar/timeline_lifecycle.png +0 -0
  824. /data/tools/{docs → staticdocs}/img/captech.gif +0 -0
  825. /data/tools/{docs/img/v5 → staticdocs/img}/command_sender/inst_collect_hazardous_history.png +0 -0
  826. /data/tools/{docs/img/v5 → staticdocs/img}/contact/jason.png +0 -0
  827. /data/tools/{docs/img/v5 → staticdocs/img}/contact/ryan.jpeg +0 -0
  828. /data/tools/{docs → staticdocs}/img/docusaurus-social-card.jpg +0 -0
  829. /data/tools/{docs → staticdocs}/img/docusaurus.png +0 -0
  830. /data/tools/{docs → staticdocs}/img/favicon.png +0 -0
  831. /data/tools/{docs → staticdocs}/img/footer-logo.png +0 -0
  832. /data/tools/{docs → staticdocs}/img/interface_read_logic.png +0 -0
  833. /data/tools/{docs → staticdocs}/img/interface_write_logic.png +0 -0
  834. /data/tools/{docs → staticdocs}/img/johnh.gif +0 -0
  835. /data/tools/{docs → staticdocs}/img/lockheed.png +0 -0
  836. /data/tools/{docs → staticdocs}/img/logo.svg +0 -0
  837. /data/tools/{docs → staticdocs}/img/nasa.gif +0 -0
  838. /data/tools/{docs/img/v5 → staticdocs/img}/script_runner/file_save_as.png +0 -0
  839. /data/tools/{docs → staticdocs}/img/sdlusu.gif +0 -0
  840. /data/tools/{docs/img/v5 → staticdocs/img}/telemetry_grapher/grapher_controls.png +0 -0
  841. /data/tools/{docs/img/v5 → staticdocs/img}/telemetry_grapher/stop_start.png +0 -0
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[941],{9495:(t,e,a)=>{a.r(e),a.d(e,{assets:()=>d,contentTitle:()=>i,default:()=>u,frontMatter:()=>l,metadata:()=>o,toc:()=>p});var n=a(7896),r=(a(2784),a(876));const l={title:"Log Structure"},i=void 0,o={unversionedId:"development/log-structure",id:"development/log-structure",title:"Log Structure",description:"Updated: 8-21-2023 to the format as of OpenC3 COSMOS 5.11.0",source:"@site/docs/development/log-structure.md",sourceDirName:"development",slug:"/development/log-structure",permalink:"/tools/docs/docs/development/log-structure",draft:!1,editUrl:"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/development/log-structure.md",tags:[],version:"current",frontMatter:{title:"Log Structure"},sidebar:"defaultSidebar",previous:{title:"JSON API",permalink:"/tools/docs/docs/development/json-api"},next:{title:"Roadmap",permalink:"/tools/docs/docs/development/roadmap"}},d={},p=[{value:"Packet Log File Format",id:"packet-log-file-format",level:2},{value:"File Header",id:"file-header",level:3},{value:"Entry Types",id:"entry-types",level:3},{value:"Common Entry Format",id:"common-entry-format",level:4},{value:"Target Declaration Entry",id:"target-declaration-entry",level:4},{value:"Packet Declaration Entry",id:"packet-declaration-entry",level:4},{value:"Raw Packet and JSON Packet Entries",id:"raw-packet-and-json-packet-entries",level:4},{value:"Offset Marker Entry",id:"offset-marker-entry",level:4},{value:"Key Map Entry",id:"key-map-entry",level:4}],m={toc:p},s="wrapper";function u(t){let{components:e,...a}=t;return(0,r.kt)(s,(0,n.Z)({},m,a,{components:e,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"Updated: 8-21-2023 to the format as of OpenC3 COSMOS 5.11.0"),(0,r.kt)("h2",{id:"packet-log-file-format"},"Packet Log File Format"),(0,r.kt)("p",null,"Packet logs in OpenC3 COSMOS 5 are used to store raw binary packets as received from various targets, as\nwell as decommutated packets stored as JSON structures."),(0,r.kt)("h3",{id:"file-header"},"File Header"),(0,r.kt)("p",null,'COSMOS 5 Packet log files start with the 8-character sequence "COSMOS5',"_",'". This can be used to identify the type of file independent of filename and differentiate them from newer and older versions.'),(0,r.kt)("h3",{id:"entry-types"},"Entry Types"),(0,r.kt)("p",null,"Packet log files have 6 different entry types with room for future expansion. All entry headers are big endian binary data."),(0,r.kt)("h4",{id:"common-entry-format"},"Common Entry Format"),(0,r.kt)("p",null,"This common format is used for all packet log entries:"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Field"),(0,r.kt)("th",{parentName:"tr",align:null},"Data Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Length"),(0,r.kt)("td",{parentName:"tr",align:null},"32-bit Unsigned Integer"),(0,r.kt)("td",{parentName:"tr",align:null},"Total length of the entry in bytes not including the length field. Max entry size is therefore 4GiB.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Entry Type"),(0,r.kt)("td",{parentName:"tr",align:null},"4-bit Unsigned Integer"),(0,r.kt)("td",{parentName:"tr",align:null},"Entry Type:",(0,r.kt)("br",null),"1 = Target Declaration",(0,r.kt)("br",null),"2 = Packet Declaraction",(0,r.kt)("br",null),"3 = Raw Packet",(0,r.kt)("br",null),"4 = JSON/CBOR Packet",(0,r.kt)("br",null),"5 = Offset Marker",(0,r.kt)("br",null),"6 = Key Map")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Cmd/Tlm Flag"),(0,r.kt)("td",{parentName:"tr",align:null},"1-bit Unsigned Integer"),(0,r.kt)("td",{parentName:"tr",align:null},"1 = Command",(0,r.kt)("br",null),"0 = Telemetry")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Stored Flag"),(0,r.kt)("td",{parentName:"tr",align:null},"1-bit Unsigned Integer"),(0,r.kt)("td",{parentName:"tr",align:null},"1 = Stored Data",(0,r.kt)("br",null),"0 = Realtime Data")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Id Flag"),(0,r.kt)("td",{parentName:"tr",align:null},"1-bit Unsigned Integer"),(0,r.kt)("td",{parentName:"tr",align:null},"1 = ID present",(0,r.kt)("br",null),"0 = ID not present")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"CBOR Flag"),(0,r.kt)("td",{parentName:"tr",align:null},"1-bit Unsigned Integer"),(0,r.kt)("td",{parentName:"tr",align:null},'Only Valid for "JSON/CBOR Packets"',(0,r.kt)("br",null),"1 = CBOR Data",(0,r.kt)("br",null),"0 = JSON Data")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Extra Flag"),(0,r.kt)("td",{parentName:"tr",align:null},"1-bit Unsigned Integer"),(0,r.kt)("td",{parentName:"tr",align:null},"1 = Extra present",(0,r.kt)("br",null),"0 = Extra Not Present (Added COSMOS 5.11)")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Received Time Flag"),(0,r.kt)("td",{parentName:"tr",align:null},"1-bit Unsigned Integer"),(0,r.kt)("td",{parentName:"tr",align:null},"1 = Received Time Present",(0,r.kt)("br",null),"0 = No Received Time (Added COSMOS 5.11.0)")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null}),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Reserved"),(0,r.kt)("td",{parentName:"tr",align:null},"6-bit Unsigned Integer"),(0,r.kt)("td",{parentName:"tr",align:null},"Reserved for Future expansion. Should be set to 0 if unused.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Entry Data"),(0,r.kt)("td",{parentName:"tr",align:null},"Variable"),(0,r.kt)("td",{parentName:"tr",align:null},"Unique data based on entry type. See Entry Types Below")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Id (Optional)"),(0,r.kt)("td",{parentName:"tr",align:null},"32-byte Binary Hash"),(0,r.kt)("td",{parentName:"tr",align:null},"If the ID field is set, this is a binary 256-bit SHA-256 hash uniquely identifying a target configuration or packet configuration")))),(0,r.kt)("h4",{id:"target-declaration-entry"},"Target Declaration Entry"),(0,r.kt)("p",null,"Declares the name of a target the first time it is seen when writing the log file."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Field"),(0,r.kt)("th",{parentName:"tr",align:null},"Data Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Target Name"),(0,r.kt)("td",{parentName:"tr",align:null},"Variable-Length ASCII String"),(0,r.kt)("td",{parentName:"tr",align:null},"Target Name")))),(0,r.kt)("h4",{id:"packet-declaration-entry"},"Packet Declaration Entry"),(0,r.kt)("p",null,"Declares the name of a packet the first time it is seen when writing the log file. References the associated target name by index."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Field"),(0,r.kt)("th",{parentName:"tr",align:null},"Data Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Target Index"),(0,r.kt)("td",{parentName:"tr",align:null},"16-bit Unsigned Integer"),(0,r.kt)("td",{parentName:"tr",align:null},"Index into a dynamically built table of target names, generated from the order of the target declarations in the file. The first target declaration gets index 0, the second target declaration gets index 1, etc.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Packet Name"),(0,r.kt)("td",{parentName:"tr",align:null},"Variable-Length ASCII String"),(0,r.kt)("td",{parentName:"tr",align:null},"Packet Name")))),(0,r.kt)("h4",{id:"raw-packet-and-json-packet-entries"},"Raw Packet and JSON Packet Entries"),(0,r.kt)("p",null,'Holds the main data for a packet. Raw packets are the data before the COSMOS decommutation phase. "JSON" packets are the data after decommutation. Note that "JSON" packets are now generally stored as CBOR rather than JSON to reduce storage size.'),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Field"),(0,r.kt)("th",{parentName:"tr",align:null},"Data Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Packet Index"),(0,r.kt)("td",{parentName:"tr",align:null},"16-bit Unsigned Integer"),(0,r.kt)("td",{parentName:"tr",align:null},"Index into a dynamically built table of cmd_or_tlm/target name/packet name tuples, generated from the order of the packet declarations in the file. The first packet declaration gets index 0, the second packet declaration gets index 1, etc. This limits the max number of unique packet types in a single file to 65536.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Timestamp"),(0,r.kt)("td",{parentName:"tr",align:null},"64-bit Unsigned Integer"),(0,r.kt)("td",{parentName:"tr",align:null},"Packet timestamp in nanoseconds from the unix epoch (Jan 1st, 1970, midnight). This field contains the \u201cpacket time\u201d for both Raw and JSON packet entries (which are used to store decommutated date). For JSON packet entries, the packet received time can also be extracted from the JSON data if needed.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Packet Data"),(0,r.kt)("td",{parentName:"tr",align:null},"Variable-Length Block Data"),(0,r.kt)("td",{parentName:"tr",align:null},"The Raw binary packet data for Raw Packet entries, and ASCII JSON data (or CBOR if flag set) for JSON packet entries. Note the Common Entry Format Id field is not supported with either type of packet entry.")))),(0,r.kt)("h4",{id:"offset-marker-entry"},"Offset Marker Entry"),(0,r.kt)("p",null,"This contains the Redis stream offset for the last packet stored in this log file. This entry allows for a seamless transition from log files to Redis streams holding the most recent data received by COSMOS."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Field"),(0,r.kt)("th",{parentName:"tr",align:null},"Data Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Offset Marker"),(0,r.kt)("td",{parentName:"tr",align:null},"Variable-Length ASCII String"),(0,r.kt)("td",{parentName:"tr",align:null},"Redis Offset Marker")))),(0,r.kt)("h4",{id:"key-map-entry"},"Key Map Entry"),(0,r.kt)("p",null,"The key map entry is used to further reduce log file sizes by reducing the size of the names of the decommutated values. Each value is given a numeric name counting up from 0 which drastically reduces decommutated data size. Note: This could be further enhanced in the future by changing to a denser encoding similar to base64. The key map is generated on the first reception of a packet. If future packets have different keys, then the names are used as-is and no reduction is gained. Typically packet keys don't change within a file."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Field"),(0,r.kt)("th",{parentName:"tr",align:null},"Data Type"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Packet Index"),(0,r.kt)("td",{parentName:"tr",align:null},"16-bit Unsigned Integer"),(0,r.kt)("td",{parentName:"tr",align:null},"Index into a dynamically built table of packet names, generated from the order of the packet declarations in the file. The first packet declaration gets index 0, the second packet declaration gets index 1, etc.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Key Map"),(0,r.kt)("td",{parentName:"tr",align:null},"Variable-Length ASCII String"),(0,r.kt)("td",{parentName:"tr",align:null},"Key Map Data with Mapping from numeric key to actual packet item name")))))}u.isMDXComponent=!0},876:(t,e,a)=>{a.d(e,{Zo:()=>m,kt:()=>k});var n=a(2784);function r(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,n)}return a}function i(t){for(var e=1;e<arguments.length;e++){var a=null!=arguments[e]?arguments[e]:{};e%2?l(Object(a),!0).forEach((function(e){r(t,e,a[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(a,e))}))}return t}function o(t,e){if(null==t)return{};var a,n,r=function(t,e){if(null==t)return{};var a,n,r={},l=Object.keys(t);for(n=0;n<l.length;n++)a=l[n],e.indexOf(a)>=0||(r[a]=t[a]);return r}(t,e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(n=0;n<l.length;n++)a=l[n],e.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(r[a]=t[a])}return r}var d=n.createContext({}),p=function(t){var e=n.useContext(d),a=e;return t&&(a="function"==typeof t?t(e):i(i({},e),t)),a},m=function(t){var e=p(t.components);return n.createElement(d.Provider,{value:e},t.children)},s="mdxType",u={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},c=n.forwardRef((function(t,e){var a=t.components,r=t.mdxType,l=t.originalType,d=t.parentName,m=o(t,["components","mdxType","originalType","parentName"]),s=p(a),c=r,k=s["".concat(d,".").concat(c)]||s[c]||u[c]||l;return a?n.createElement(k,i(i({ref:e},m),{},{components:a})):n.createElement(k,i({ref:e},m))}));function k(t,e){var a=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var l=a.length,i=new Array(l);i[0]=c;var o={};for(var d in e)hasOwnProperty.call(e,d)&&(o[d]=e[d]);o.originalType=t,o[s]="string"==typeof t?t:r,i[1]=o;for(var p=2;p<l;p++)i[p]=a[p];return n.createElement.apply(null,i)}return n.createElement.apply(null,a)}c.displayName="MDXCreateElement"}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[2167],{580:(e,t,r)=>{r.r(t),r.d(t,{contentTitle:()=>p,default:()=>s,frontMatter:()=>a,metadata:()=>c,toc:()=>l});var n=r(7896),o=(r(2784),r(876));const a={title:"Markdown page example"},p="Markdown page example",c={type:"mdx",permalink:"/tools/docs/markdown-page",source:"@site/src/pages/markdown-page.md",title:"Markdown page example",description:"You don't need React to write simple standalone pages.",frontMatter:{title:"Markdown page example"}},l=[],i={toc:l},u="wrapper";function s(e){let{components:t,...r}=e;return(0,o.kt)(u,(0,n.Z)({},i,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"markdown-page-example"},"Markdown page example"),(0,o.kt)("p",null,"You don't need React to write simple standalone pages."))}s.isMDXComponent=!0},876:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>d});var n=r(2784);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function p(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var l=n.createContext({}),i=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):p(p({},t),e)),r},u=function(e){var t=i(e.components);return n.createElement(l.Provider,{value:t},e.children)},s="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},f=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,l=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),s=i(r),f=o,d=s["".concat(l,".").concat(f)]||s[f]||m[f]||a;return r?n.createElement(d,p(p({ref:t},u),{},{components:r})):n.createElement(d,p({ref:t},u))}));function d(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,p=new Array(a);p[0]=f;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c[s]="string"==typeof e?e:o,p[1]=c;for(var i=2;i<a;i++)p[i]=r[i];return n.createElement.apply(null,p)}return n.createElement.apply(null,r)}f.displayName="MDXCreateElement"}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[27],{5760:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>d,frontMatter:()=>a,metadata:()=>l,toc:()=>p});var r=n(7896),i=(n(2784),n(876));const a={title:"Script Runner"},o=void 0,l={unversionedId:"tools/script-runner",id:"tools/script-runner",title:"Script Runner",description:"Introduction",source:"@site/docs/tools/script-runner.md",sourceDirName:"tools",slug:"/tools/script-runner",permalink:"/tools/docs/docs/tools/script-runner",draft:!1,editUrl:"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/script-runner.md",tags:[],version:"current",frontMatter:{title:"Script Runner"},sidebar:"defaultSidebar",previous:{title:"Packet Viewer",permalink:"/tools/docs/docs/tools/packet-viewer"},next:{title:"Table Manager",permalink:"/tools/docs/docs/tools/table-manager"}},s={},p=[{value:"Introduction",id:"introduction",level:2},{value:"Script Runner Menus",id:"script-runner-menus",level:2},{value:"File Menu Items",id:"file-menu-items",level:3},{value:"File Open",id:"file-open",level:4},{value:"File Save As",id:"file-save-as",level:4},{value:"Script Menu Items",id:"script-menu-items",level:3},{value:"Running Scripts",id:"running-scripts",level:2},{value:"Running Script Suites",id:"running-script-suites",level:2},{value:"OpenC3::Group",id:"openc3group",level:3},{value:"OpenC3::Suite",id:"openc3suite",level:3},{value:"Script Suite Options",id:"script-suite-options",level:3},{value:"Pause on Error",id:"pause-on-error",level:4},{value:"Continue after Error",id:"continue-after-error",level:4},{value:"Abort after Error",id:"abort-after-error",level:4},{value:"Manual",id:"manual",level:4},{value:"Loop",id:"loop",level:4},{value:"Break Loop on Error",id:"break-loop-on-error",level:4},{value:"Debugging Scripts",id:"debugging-scripts",level:2}],u={toc:p},c="wrapper";function d(e){let{components:t,...a}=e;return(0,i.kt)(c,(0,r.Z)({},u,a,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h2",{id:"introduction"},"Introduction"),(0,i.kt)("p",null,"Script Runner is both an editor of COSMOS scripts as well as executes scripts. Script files are stored within a COSMOS target and Script Runner provides the ability to open, save, download and delete these files. When a suite of scripts is opened, Script Runner provides additional options to run individial scripts, groups of scripts, or entire suites."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Script Runner",src:n(8707).Z,width:"1710",height:"1450"})),(0,i.kt)("h2",{id:"script-runner-menus"},"Script Runner Menus"),(0,i.kt)("h3",{id:"file-menu-items"},"File Menu Items"),(0,i.kt)("img",{src:"/img/v5/script_runner/file_menu.png",alt:"File Menu",style:{float:"left","margin-right":"50px",height:"250px"}}),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Clears the editor and filename"),(0,i.kt)("li",{parentName:"ul"},"Opens a dialog to select a file to open"),(0,i.kt)("li",{parentName:"ul"},"Saves the currently opened file to disk"),(0,i.kt)("li",{parentName:"ul"},"Rename the current file"),(0,i.kt)("li",{parentName:"ul"},"Downloads the current file to the browser"),(0,i.kt)("li",{parentName:"ul"},"Deletes the current file (Permanently!)",(0,i.kt)("br",null),(0,i.kt)("br",null))),(0,i.kt)("h4",{id:"file-open"},"File Open"),(0,i.kt)("p",null,"The Open and Save Dialogs deserve a little more explanation. When you select File Open the File Open Dialog appears. Initially it displays a tree view of the installed targets. You can manually open the folders and browse for the file you want. You can also use the search box at the top and start typing part of the filename to filter the results."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"File Open Dialog",src:n(5330).Z,width:"1069",height:"810"})),(0,i.kt)("h4",{id:"file-save-as"},"File Save As"),(0,i.kt)("p",null,"When saving a file for the first time, or using File Save As, the File Save As Dialog appears. It works similar to the File Open Dialog displaying the tree view of the installed targets. You must select a folder by clicking the folder name and then filling out the Filename field with a filename before clicking Ok. You will be prompted to before over-writing an existing file."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"File Save As",src:n(6794).Z,width:"1072",height:"1386"})),(0,i.kt)("h3",{id:"script-menu-items"},"Script Menu Items"),(0,i.kt)("img",{src:"/img/v5/script_runner/script_menu.png",alt:"Script Menu",style:{float:"left","margin-right":"50px",height:"410px"}}),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Display started and finished scripts"),(0,i.kt)("li",{parentName:"ul"},"Show environment variables"),(0,i.kt)("li",{parentName:"ul"},"Show defined metadata"),(0,i.kt)("li",{parentName:"ul"},"Perform a Ruby syntax check"),(0,i.kt)("li",{parentName:"ul"},"Perform a script mnemonic check"),(0,i.kt)("li",{parentName:"ul"},"View the instrumented script"),(0,i.kt)("li",{parentName:"ul"},"Shows the script call stack"),(0,i.kt)("li",{parentName:"ul"},"Display the ",(0,i.kt)("a",{parentName:"li",href:"/tools/docs/docs/tools/script-runner#debugging-scripts"},"debug")," prompt"),(0,i.kt)("li",{parentName:"ul"},"Disconnect from real interfaces"),(0,i.kt)("li",{parentName:"ul"},"Delete all sccript breakpoints")),(0,i.kt)("p",null,"The Started Scripts popup lists the currently running scripts. This allows other users to connect to running scripts and follow along with the currently executing script. It also lists previously executed scripts so you can download the script log."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Running Scripts",src:n(3124).Z,width:"1846",height:"808"})),(0,i.kt)("h2",{id:"running-scripts"},"Running Scripts"),(0,i.kt)("p",null,"Running a regular script is simply a matter of opening it and clicking the Start button. By default when you open a script the Filename is updated and the editor loads the script."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"checks.rb",src:n(5866).Z,width:"1846",height:"750"})),(0,i.kt)("p",null,"Once you click Start the script is spawned in the Server and the Script State becomes Connecting."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"connecting",src:n(1540).Z,width:"1846",height:"104"})),(0,i.kt)("p",null,"At that point the currently executing line is marked with green. If an error is encountered the line turns red and and the Pause button changes to Retry to allow the line to be re-tried."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"error",src:n(2794).Z,width:"1846",height:"748"})),(0,i.kt)("p",null,"This allows checks that depend on telemetry changing to potentially be retried as telemetry is being updated live in the background. You can also click Go to continue pass the error or Stop to end the script execution."),(0,i.kt)("h2",{id:"running-script-suites"},"Running Script Suites"),(0,i.kt)("p",null,"If a script is structured as a Suite (it inherits from OpenC3::Suite) it automatically causes Script Runner to parse the file to populate the Suite, Group, and Script drop down menus."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Suite Script",src:n(2156).Z,width:"1846",height:"1046"})),(0,i.kt)("p",null,"All suite files should start with the following line:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-ruby"},"load 'openc3/script/suite.rb'\n")),(0,i.kt)("h3",{id:"openc3group"},"OpenC3::Group"),(0,i.kt)("p",null,"This pulls in the COSMOS suite framework including the OpenC3::Suite and OpenC3::Group classes. Any methods starting with 'script', 'op', or 'test' which are implemented inside a OpenC3::Group class are automatically included as scripts to run. For example, in the above image, you'll notice the 'script_1_method_with_long_name' is in the Script drop down menu. Here's another simple example:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-ruby"},'class ExampleGroup < OpenC3::Group\n def setup\n puts "setup"\n end\n def script_1\n puts "script 1"\n end\n def teardown\n puts "teardown"\n end\nend\n')),(0,i.kt)("p",null,"The setup and teardown methods are special methods which enable the Setup and Teardown buttons next to the Group drop down menu. Clicking these buttons runs the associated method."),(0,i.kt)("h3",{id:"openc3suite"},"OpenC3::Suite"),(0,i.kt)("p",null,"Groups are added to Suites by creating a class inheriting from OpenC3::Suite and then calling the add_group method. For example:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-ruby"},'class MySuite < OpenC3::Suite\n def initialize\n super()\n add_group(\'ExampleGroup\')\n end\n def setup\n puts "Suite setup"\n end\n def teardown\n puts "Suite teardown"\n end\nend\n')),(0,i.kt)("p",null,"Again there are setup and teardown methods which enable the Setup and Teardown buttons next to the Suite drop down menu."),(0,i.kt)("p",null,"Multiple Suites and Groups can be created in the same file and will be parsed and added to the drop down menus. Clicking Start at the Suite level will run ALL Groups and ALL Scripts within each Group. Similarly, clicking Start at the Group level will run all Scripts in the Group. Clicking Start next to the Script will run just the single Script."),(0,i.kt)("h3",{id:"script-suite-options"},"Script Suite Options"),(0,i.kt)("p",null,"Opening a Script Suite creates six checkboxes which provide options to the running script."),(0,i.kt)("h4",{id:"pause-on-error"},"Pause on Error"),(0,i.kt)("p",null,"Pauses the script if an error is encountered. This is the default and identical to how normal scripts are executed. Unchecking this box allows the script to continue past errors without user intervention. Similar to the User clicking Go upon encountering an error."),(0,i.kt)("h4",{id:"continue-after-error"},"Continue after Error"),(0,i.kt)("p",null,"Continue the script if an error is encountered. This is the default and identical to how normal scripts are executed. Unchecking this box means that the script will end after the first encountered error and execution will continue with any other scripts in the Suite/Group."),(0,i.kt)("h4",{id:"abort-after-error"},"Abort after Error"),(0,i.kt)("p",null,"Abort the entire execution upon encountering an error. If the first Script in a Suite's Group encounters an error the entire Suite will stop execution right there."),(0,i.kt)("h4",{id:"manual"},"Manual"),(0,i.kt)("p",null,"Set a Ruby global variable called ",(0,i.kt)("inlineCode",{parentName:"p"},"$manual")," to true. Setting this box only allows the script author to determine if the operator wants to execute manual steps or not. It is up the script author to use ",(0,i.kt)("inlineCode",{parentName:"p"},"$manual")," in their scripts."),(0,i.kt)("h4",{id:"loop"},"Loop"),(0,i.kt)("p",null,"Loop whatever the user Started continuously. If the user clicks Start next to the Group then the entire Group will be looped. This is useful to catch and debug those tricky timing errors that only sometimes happen."),(0,i.kt)("h4",{id:"break-loop-on-error"},"Break Loop on Error"),(0,i.kt)("p",null,"Break the loop if an Error occurs. Only available if the Loop option is set."),(0,i.kt)("h2",{id:"debugging-scripts"},"Debugging Scripts"),(0,i.kt)("p",null,"When you enable the Debug prompt an additional line appears between the script and the Log Messages. You can type local variables to cause them to be output in the Log Messages. You can also set local variables by typing ",(0,i.kt)("inlineCode",{parentName:"p"},"var = 10"),"."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Debug",src:n(3832).Z,width:"1846",height:"1324"})),(0,i.kt)("p",null,"The Step button allows you to step line by line through the script. Clicking Go continues regular execution."))}d.isMDXComponent=!0},876:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>g});var r=n(2784);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var s=r.createContext({}),p=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},u=function(e){var t=p(e.components);return r.createElement(s.Provider,{value:t},e.children)},c="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},h=r.forwardRef((function(e,t){var n=e.components,i=e.mdxType,a=e.originalType,s=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),c=p(n),h=i,g=c["".concat(s,".").concat(h)]||c[h]||d[h]||a;return n?r.createElement(g,o(o({ref:t},u),{},{components:n})):r.createElement(g,o({ref:t},u))}));function g(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=n.length,o=new Array(a);o[0]=h;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[c]="string"==typeof e?e:i,o[1]=l;for(var p=2;p<a;p++)o[p]=n[p];return r.createElement.apply(null,o)}return r.createElement.apply(null,n)}h.displayName="MDXCreateElement"},5866:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/checks_rb-a6049cdd99613cea2ee12d76fcfe798ff05270e39d208e93d37da7347049b2b3.png"},1540:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/connecting-6e453f3d99800d4cb8fdc78f5b8fce1e8cf1bb04840a29dec7c5caefd07c004f.png"},3832:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/debug-04088348cc04bb8e1a1063fc44920dc8e39616840ef4b09a36c823f185c28669.png"},5330:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/file_open-319761fd383fc513b3689ef0a7498c73ce9459a3967c8a395cc2da07c89240d0.png"},6794:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/file_save_as-44468ed6a48bea3bc4fdd8f50d802569e4582b453e5bf946bfdcba400030d499.png"},3124:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/running_scripts-78bfd36a6c8c7167234e03bd188e974927c2beea1f730498583169a81639e7a3.png"},2794:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/script_error-ce060b3086e7b466e51a276fb6b27245b4d042f07a60fe121b0071dd65a42075.png"},8707:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/script_runner-7d7f01b90be962b4de46c20568727c55488eec5d9844823b53a262c9cfc470fa.png"},2156:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/script_suite-42832d936f91417740b76a39841996c8e4a7cf5391dbb19abe9d7b31ab07dd7d.png"}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[8374],{9661:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>s,toc:()=>l});var o=n(7896),r=(n(2784),n(876));const i={title:"Introduction",sidebar_position:0,slug:"/"},a=void 0,s={unversionedId:"introduction",id:"introduction",title:"Introduction",description:"This site aims to be a comprehensive guide to OpenC3 COSMOS. We'll cover topics such",source:"@site/docs/introduction.md",sourceDirName:".",slug:"/",permalink:"/tools/docs/docs/",draft:!1,editUrl:"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/introduction.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{title:"Introduction",sidebar_position:0,slug:"/"},sidebar:"defaultSidebar",next:{title:"Getting Started",permalink:"/tools/docs/docs/getting-started"}},c={},l=[{value:"So what is COSMOS, exactly?",id:"so-what-is-cosmos-exactly",level:2},{value:"COSMOS Architecture",id:"cosmos-architecture",level:3},{value:"Helpful Hints",id:"helpful-hints",level:2}],d={toc:l},u="wrapper";function p(e){let{components:t,...i}=e;return(0,r.kt)(u,(0,o.Z)({},d,i,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"This site aims to be a comprehensive guide to OpenC3 COSMOS. We'll cover topics such\nas getting your configuration up and running, developing test and operations scripts,\nbuilding custom telemetry screens, and give you some advice on participating in the future\ndevelopment of COSMOS itself."),(0,r.kt)("h2",{id:"so-what-is-cosmos-exactly"},"So what is COSMOS, exactly?"),(0,r.kt)("p",null,"COSMOS is a suite of applications that can be used to control a set of embedded systems. These systems can be\nanything from test equipment (power supplies, oscilloscopes, switched power strips, UPS devices, etc), to\ndevelopment boards (Arduinos, Raspberry Pi, Beaglebone, etc), to satellites."),(0,r.kt)("h3",{id:"cosmos-architecture"},"COSMOS Architecture"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"COSMOS Architecture",src:n(7250).Z,width:"1155",height:"538"})),(0,r.kt)("p",null,"COSMOS 5 is a cloud native, containerized, microservice oriented command and control system. All the COSMOS microservices are docker containers which is why Docker is shown containing the entire COSMOS system. The green boxes on the left represent external embedded systems (Targets) which COSMOS connects to. The Redis data store contains the configuration for all the microservices, the current value table, as well as data streams containing decommutated data. The Minio data store contains plugins, targets, configuration data, text logs as well as binary logs of all the raw, decommutated, and reduced data. Users interact with COSMOS from a web browser which routes through the internal Traefik load balancer."),(0,r.kt)("p",null,"Keep reading for an in-depth discussion of each of the COSMOS Tools."),(0,r.kt)("h2",{id:"helpful-hints"},"Helpful Hints"),(0,r.kt)("p",null,"Throughout this guide there are a number of small-but-handy pieces of\ninformation that can make using COSMOS easier, more interesting, and less\nhazardous. Here's what to look out for."),(0,r.kt)("admonition",{title:"ProTips\u2122 help you get more from COSMOS",type:"note"},(0,r.kt)("p",{parentName:"admonition"},"These are tips and tricks that will help you be a COSMOS wizard!")),(0,r.kt)("admonition",{title:"Notes are handy pieces of information",type:"info"},(0,r.kt)("p",{parentName:"admonition"},"These are for the extra tidbits sometimes necessary to understand COSMOS.")),(0,r.kt)("admonition",{title:"Warnings help you not blow things up",type:"caution"},(0,r.kt)("p",{parentName:"admonition"},"Be aware of these messages if you wish to avoid certain death.")),(0,r.kt)("admonition",{title:"Find a problem in the documentation or in COSMOS itself?",type:"note"},(0,r.kt)("p",{parentName:"admonition"},"Both using and hacking on COSMOS should be fun, simple, and easy, so if for\nsome reason you find it's a pain, please ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/OpenC3/cosmos/issues/new/choose"},"create an issue")," on\nGitHub describing your experience so we can make it better.")))}p.isMDXComponent=!0},876:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>h});var o=n(2784);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function a(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o<i.length;o++)n=i[o],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=o.createContext({}),l=function(e){var t=o.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},d=function(e){var t=l(e.components);return o.createElement(c.Provider,{value:t},e.children)},u="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},m=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,c=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),u=l(n),m=r,h=u["".concat(c,".").concat(m)]||u[m]||p[m]||i;return n?o.createElement(h,a(a({ref:t},d),{},{components:n})):o.createElement(h,a({ref:t},d))}));function h(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,a=new Array(i);a[0]=m;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s[u]="string"==typeof e?e:r,a[1]=s;for(var l=2;l<i;l++)a[l]=n[l];return o.createElement.apply(null,a)}return o.createElement.apply(null,n)}m.displayName="MDXCreateElement"},7250:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/architecture-b78f12eba076a0c07af7abdd9dd4187c59aa6b4f5c51b47ad03f73e9f98a6ed6.png"}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[7280],{5262:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>d,frontMatter:()=>a,metadata:()=>c,toc:()=>l});var r=n(7896),o=(n(2784),n(876));const a={title:"Autonomic"},i=void 0,c={unversionedId:"tools/autonomic",id:"tools/autonomic",title:"Autonomic",description:"Introduction",source:"@site/docs/tools/autonomic.md",sourceDirName:"tools",slug:"/tools/autonomic",permalink:"/tools/docs/docs/tools/autonomic",draft:!1,editUrl:"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/autonomic.md",tags:[],version:"current",frontMatter:{title:"Autonomic"},sidebar:"defaultSidebar",previous:{title:"Tools",permalink:"/tools/docs/docs/tools"},next:{title:"Bucket Explorer",permalink:"/tools/docs/docs/tools/bucket-explorer"}},s={},l=[{value:"Introduction",id:"introduction",level:2},{value:"Overview",id:"overview",level:3},{value:"TriggerGroups",id:"triggergroups",level:3},{value:"Triggers",id:"triggers",level:3},{value:"Reactions",id:"reactions",level:3}],u={toc:l},p="wrapper";function d(e){let{components:t,...a}=e;return(0,o.kt)(p,(0,r.Z)({},u,a,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h2",{id:"introduction"},"Introduction"),(0,o.kt)("p",null,"Autonomic allows for the simple execution of commands and scripts based on user-defined rules."),(0,o.kt)("h3",{id:"overview"},"Overview"),(0,o.kt)("p",null,"Autonomic operates with some basic building blocks: Trigger Groups, Triggers, and Reactions. Triggers are simply logical blocks which evaluate true or false. Reactions can be linked to one or many Triggers and specify an action to perform. Together they allow for an action to be taken based on anything going on in your system."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Autonomic",src:n(7281).Z,width:"1330",height:"885"})),(0,o.kt)("h3",{id:"triggergroups"},"TriggerGroups"),(0,o.kt)("p",null,"Triggers are organized into groups, these groups are to ensure that we can scale as the number of triggers with the incoming telemetry. Each group consists of several threads so be careful of your compute resources you have as you can overwhelm COSMOS with lots of these."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-json"},'{\n "name": "system42"\n}\n')),(0,o.kt)("h3",{id:"triggers"},"Triggers"),(0,o.kt)("p",null,"Triggers are logical components that are evaluated to true or false."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Triggers",src:n(8232).Z,width:"1330",height:"888"})),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-json"},'{\n "group": "system42",\n "description": "TBD",\n "left": {\n "type": "item",\n "target": "INST",\n "packet": "ADCS",\n "item": "POSX",\n "raw": true\n },\n "operation": ">",\n "right": {\n "type": "value",\n "value": 0\n }\n}\n')),(0,o.kt)("h3",{id:"reactions"},"Reactions"),(0,o.kt)("p",null,"Reactions wait for triggers to be evaluated to true and perform actions such as sending a command or running a script."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Reactions",src:n(8854).Z,width:"1330",height:"885"})),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-json"},'{\n "description": "INST command",\n "snooze": 300,\n "review": true,\n "triggers": [\n {\n "name": "123456",\n "group": "system42"\n }\n ],\n "actions": [\n {\n "type": "command",\n "command": "INST CLEAR"\n }\n ]\n}\n')))}d.isMDXComponent=!0},876:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>m});var r=n(2784);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function c(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var s=r.createContext({}),l=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},u=function(e){var t=l(e.components);return r.createElement(s.Provider,{value:t},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},g=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),p=l(n),g=o,m=p["".concat(s,".").concat(g)]||p[g]||d[g]||a;return n?r.createElement(m,i(i({ref:t},u),{},{components:n})):r.createElement(m,i({ref:t},u))}));function m(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,i=new Array(a);i[0]=g;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c[p]="string"==typeof e?e:o,i[1]=c;for(var l=2;l<a;l++)i[l]=n[l];return r.createElement.apply(null,i)}return r.createElement.apply(null,n)}g.displayName="MDXCreateElement"},7281:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/autonomic-3d6d152f700c8fc1878d0f952d013ace31fccd7872d28587dc761610a0959e9c.png"},8854:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/reactions-dd4a8ebf22eed921a82a5478d23178c62e2cf944d295c2b9e3f4d7ce555b0fcc.png"},8232:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/triggers-0b0b3f9cc2850c1b83b9a7aab6f8a936626fd847c3158e993e4baa0e64b38096.png"}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[5532],{7653:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>s,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>o,toc:()=>c});var n=a(7896),i=(a(2784),a(876));const r={title:"Calendar"},l=void 0,o={unversionedId:"tools/calendar",id:"tools/calendar",title:"Calendar",description:"Introduction",source:"@site/docs/tools/calendar.md",sourceDirName:"tools",slug:"/tools/calendar",permalink:"/tools/docs/docs/tools/calendar",draft:!1,editUrl:"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/calendar.md",tags:[],version:"current",frontMatter:{title:"Calendar"},sidebar:"defaultSidebar",previous:{title:"Bucket Explorer",permalink:"/tools/docs/docs/tools/bucket-explorer"},next:{title:"Command Sender",permalink:"/tools/docs/docs/tools/cmd-sender"}},s={},c=[{value:"Introduction",id:"introduction",level:2},{value:"Types of Events",id:"types-of-events",level:2},{value:"Metadata",id:"metadata",level:3},{value:"Narrative",id:"narrative",level:3},{value:"Activity",id:"activity",level:3},{value:"Adding Timelines",id:"adding-timelines",level:3},{value:"Timeline Implementation Details",id:"timeline-implementation-details",level:3}],d={toc:c},u="wrapper";function h(e){let{components:t,...r}=e;return(0,i.kt)(u,(0,n.Z)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h2",{id:"introduction"},"Introduction"),(0,i.kt)("p",null,"Calendar visualizes metadata, narrative, and timeline information in one easy to understand place. Timelines allow for the simple execution of commands and scripts based on future dates and times."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Calendar",src:a(9429).Z,width:"1102",height:"763"})),(0,i.kt)("p",null,"Calendar events can also be viewed in a list format which supports pagination for listing both past and future events."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"List View",src:a(8309).Z,width:"1082",height:"642"})),(0,i.kt)("h2",{id:"types-of-events"},"Types of Events"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"Metadata")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"Narrative")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"Activity"))),(0,i.kt)("h3",{id:"metadata"},"Metadata"),(0,i.kt)("p",null,"Metadata allows you to record arbitrary data into the COSMOS system. For example, you could ask the user for inputs which fall outside the available target telemetry including user defined IDs, environmental factors, procedural steps, etc. This allows for searching metadata based on these fields and correlating the related telemetry data."),(0,i.kt)("h3",{id:"narrative"},"Narrative"),(0,i.kt)("p",null,"A simple way to record events on the calendar, for example a test window or anything else..."),(0,i.kt)("h3",{id:"activity"},"Activity"),(0,i.kt)("p",null,"Scheduled on a timeline these can run single commands or run a script."),(0,i.kt)("h3",{id:"adding-timelines"},"Adding Timelines"),(0,i.kt)("p",null,"Adding a Timeline to COSMOS."),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Each timeline consists of several threads so be careful of your compute resources you have as you can overwhelm COSMOS with lots of these."),(0,i.kt)("li",{parentName:"ul"},"Note you can not have overlapping activities on a single calendar.")),(0,i.kt)("h3",{id:"timeline-implementation-details"},"Timeline Implementation Details"),(0,i.kt)("p",null,"When a user creates a timeline, a new timeline microservice starts. The timeline microservice is the main thread of execution for the timeline. This starts a scheduler manager thread. The scheduler manger thread contains a thread pool that hosts more then one thread to run the activity. The scheduler manger will evaluate the schedule and based on the start time of the activity it will add the activity to the queue."),(0,i.kt)("p",null,'The main thread will block on the web socket to listen to request changes to the timeline, these could be adding, removing, or updating activities. The main thread will make the changes to the in memory schedule if these changes are within the hour of the current time. When the web socket gets an update it has an action lookup table. These actions are "created", "updated", "deleted", ect... Some actions require updating the schedule from the database to ensure the schedule and the database are always in sync.'),(0,i.kt)("p",null,"The schedule thread checks every second to make sure if a task can be run. If the start time is equal or less then the last 15 seconds it will then check the previously queued jobs list in the schedule. If the activity has not been queued and is not fulfilled the activity will be queued, this adds an event to the activity but is not saved to the database."),(0,i.kt)("p",null,"The workers block on the queue until an activity is placed on the queue. Once a job is pulled from the queue they check the type and run the activity. The thread will mark the activity fulfillment true and update the database record with the complete. If the worker gets an error while trying to run the task the activity will NOT be fulfilled and record the error in the database."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Timeline Lifecycle",src:a(6610).Z,width:"1065",height:"514"})))}h.isMDXComponent=!0},876:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>m});var n=a(2784);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function l(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?r(Object(a),!0).forEach((function(t){i(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):r(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function o(e,t){if(null==e)return{};var a,n,i=function(e,t){if(null==e)return{};var a,n,i={},r=Object.keys(e);for(n=0;n<r.length;n++)a=r[n],t.indexOf(a)>=0||(i[a]=e[a]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n<r.length;n++)a=r[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var s=n.createContext({}),c=function(e){var t=n.useContext(s),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},d=function(e){var t=c(e.components);return n.createElement(s.Provider,{value:t},e.children)},u="mdxType",h={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},p=n.forwardRef((function(e,t){var a=e.components,i=e.mdxType,r=e.originalType,s=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),u=c(a),p=i,m=u["".concat(s,".").concat(p)]||u[p]||h[p]||r;return a?n.createElement(m,l(l({ref:t},d),{},{components:a})):n.createElement(m,l({ref:t},d))}));function m(e,t){var a=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=a.length,l=new Array(r);l[0]=p;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o[u]="string"==typeof e?e:i,l[1]=o;for(var c=2;c<r;c++)l[c]=a[c];return n.createElement.apply(null,l)}return n.createElement.apply(null,a)}p.displayName="MDXCreateElement"},9429:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/calendar-9fbd635cf3df1ba684bb0c1ebc4f6ad34991efc582e9fd07820c8b74cbb66aa1.png"},8309:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/list_view-926f42bc1e43283c61616b0cd8fd630cad8e15c9b7298acd98536842472e673b.png"},6610:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/timeline_lifecycle-0bd916dee06bf67936b043abfdbc4d5fdec7cc5a32a889ee6c05e9faf74f4c6a.png"}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[8327],{1899:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>p,frontMatter:()=>o,metadata:()=>c,toc:()=>s});var a=n(7896),i=(n(2784),n(876));const o={title:"Data Viewer"},r=void 0,c={unversionedId:"tools/data-viewer",id:"tools/data-viewer",title:"Data Viewer",description:"Introduction",source:"@site/docs/tools/data-viewer.md",sourceDirName:"tools",slug:"/tools/data-viewer",permalink:"/tools/docs/docs/tools/data-viewer",draft:!1,editUrl:"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/data-viewer.md",tags:[],version:"current",frontMatter:{title:"Data Viewer"},sidebar:"defaultSidebar",previous:{title:"Data Extractor",permalink:"/tools/docs/docs/tools/data-extractor"},next:{title:"Handbooks",permalink:"/tools/docs/docs/tools/handbooks"}},l={},s=[{value:"Introduction",id:"introduction",level:2},{value:"Data Viewer Menus",id:"data-viewer-menus",level:2},{value:"File Menu Items",id:"file-menu-items",level:3},{value:"Open Configuration",id:"open-configuration",level:4},{value:"Save Configuration",id:"save-configuration",level:4},{value:"Adding Packets",id:"adding-packets",level:3}],d={toc:s},u="wrapper";function p(e){let{components:t,...o}=e;return(0,i.kt)(u,(0,a.Z)({},d,o,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h2",{id:"introduction"},"Introduction"),(0,i.kt)("p",null,"Data Viewer allows you to view packet data in both the past and in real time."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Data Viewer",src:n(8561).Z,width:"1552",height:"1260"})),(0,i.kt)("h2",{id:"data-viewer-menus"},"Data Viewer Menus"),(0,i.kt)("h3",{id:"file-menu-items"},"File Menu Items"),(0,i.kt)("img",{src:"/img/v5/data_viewer/file_menu.png",alt:"File Menu",style:{float:"left","margin-right":"50px",height:"4em"}}),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Opens a saved configuration"),(0,i.kt)("li",{parentName:"ul"},"Save the current configuration")),(0,i.kt)("h4",{id:"open-configuration"},"Open Configuration"),(0,i.kt)("p",null,"The Open and Save Configuration options deserve a little more explanation. When you select File Open the Open Configuration dialog appears. It displays a list of all saved configurations (INST ADCS in this example). You select a configuration and then click Ok to load it. You can delete existing configurations by clicking the Trash icon next to a configuration name."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Open Config",src:n(3795).Z,width:"1076",height:"500"})),(0,i.kt)("h4",{id:"save-configuration"},"Save Configuration"),(0,i.kt)("p",null,"When you select File Save the Save Configuration dialog appears. It displays a list of all saved configurations (INST ADCS in this example). You click the Configuration Name text field, enter the name of your new configuration, and click Ok to save. You can delete existing configurations by clicking the Trash icon next to a configuration name."),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Save Config",src:n(6974).Z,width:"1076",height:"580"})),(0,i.kt)("h3",{id:"adding-packets"},"Adding Packets"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Menu to add packet",src:n(700).Z,width:"1542",height:"368"})),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"Add a packet",src:n(722).Z,width:"1074",height:"562"})),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"View of packet",src:n(57).Z,width:"1550",height:"1182"})))}p.isMDXComponent=!0},876:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>g});var a=n(2784);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function r(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function c(e,t){if(null==e)return{};var n,a,i=function(e,t){if(null==e)return{};var n,a,i={},o=Object.keys(e);for(a=0;a<o.length;a++)n=o[a],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)n=o[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var l=a.createContext({}),s=function(e){var t=a.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):r(r({},t),e)),n},d=function(e){var t=s(e.components);return a.createElement(l.Provider,{value:t},e.children)},u="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},f=a.forwardRef((function(e,t){var n=e.components,i=e.mdxType,o=e.originalType,l=e.parentName,d=c(e,["components","mdxType","originalType","parentName"]),u=s(n),f=i,g=u["".concat(l,".").concat(f)]||u[f]||p[f]||o;return n?a.createElement(g,r(r({ref:t},d),{},{components:n})):a.createElement(g,r({ref:t},d))}));function g(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var o=n.length,r=new Array(o);r[0]=f;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c[u]="string"==typeof e?e:i,r[1]=c;for(var s=2;s<o;s++)r[s]=n[s];return a.createElement.apply(null,r)}return a.createElement.apply(null,n)}f.displayName="MDXCreateElement"},722:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/add_packet-f318d0e92e8a13bd56331350aa341c88c8b12f2c54a4424f6e287817f22fb327.png"},8561:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/data_viewer-8c547cb5ad2ebd179aac5e46c2f4c147889ebad53a5359a5e6b6c580de7184fe.png"},3795:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/open_config-3cd3be1ce4560d9e72bb37b83dc830149091dec9a088c36187e0e72660c6ec34.png"},6974:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/save_config-e4ed80276ebdc2c4eaf9aaeb859cff8aecb380b22da8c659741c31ca66914098.png"},57:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/view_portal-b2e5fef00be80f1551b965d170fc3cd8ed95597f0a1e475a8177ab2d306215f5.png"},700:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/view_portal_add-56f06135fc56f1fa85cbc22ea3b7ad52f311641aad25df08b6f4a6f979b30e3f.png"}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[7069,5109],{3647:(e,t,n)=>{n.r(t),n.d(t,{default:()=>ge});var a=n(2784),o=n(6277),l=n(5982),r=n(5138),c=n(2217),i=n(9450),s=n(2993),d=n(3504),m=n(8659),u=n(8004),b=n(6152),p=n(2462);const h={backToTopButton:"backToTopButton_z1FD",backToTopButtonShow:"backToTopButtonShow_w1wE"};function E(){const{shown:e,scrollToTop:t}=function(e){let{threshold:t}=e;const[n,o]=(0,a.useState)(!1),l=(0,a.useRef)(!1),{startScroll:r,cancelScroll:c}=(0,b.Ct)();return(0,b.RF)(((e,n)=>{let{scrollY:a}=e;const r=n?.scrollY;r&&(l.current?l.current=!1:a>=r?(c(),o(!1)):a<t?o(!1):a+window.innerHeight<document.documentElement.scrollHeight&&o(!0))})),(0,p.S)((e=>{e.location.hash&&(l.current=!0,o(!1))})),{shown:n,scrollToTop:()=>r(0)}}({threshold:300});return a.createElement("button",{"aria-label":(0,u.I)({id:"theme.BackToTopButton.buttonAriaLabel",message:"Scroll back to top",description:"The ARIA label for the back to top button"}),className:(0,o.Z)("clean-btn",r.k.common.backToTopButton,h.backToTopButton,e&&h.backToTopButtonShow),type:"button",onClick:t})}var f=n(2043),g=n(7267),v=n(6086),k=n(6371),_=n(4633),C=n(7896);function I(e){return a.createElement("svg",(0,C.Z)({width:"20",height:"20","aria-hidden":"true"},e),a.createElement("g",{fill:"#7a7a7a"},a.createElement("path",{d:"M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"}),a.createElement("path",{d:"M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"})))}const S={collapseSidebarButton:"collapseSidebarButton_Ftvb",collapseSidebarButtonIcon:"collapseSidebarButtonIcon_c4WT"};function N(e){let{onClick:t}=e;return a.createElement("button",{type:"button",title:(0,u.I)({id:"theme.docs.sidebar.collapseButtonTitle",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),"aria-label":(0,u.I)({id:"theme.docs.sidebar.collapseButtonAriaLabel",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),className:(0,o.Z)("button button--secondary button--outline",S.collapseSidebarButton),onClick:t},a.createElement(I,{className:S.collapseSidebarButtonIcon}))}var T=n(5830),Z=n(1661);const x=Symbol("EmptyContext"),B=a.createContext(x);function w(e){let{children:t}=e;const[n,o]=(0,a.useState)(null),l=(0,a.useMemo)((()=>({expandedItem:n,setExpandedItem:o})),[n]);return a.createElement(B.Provider,{value:l},t)}var y=n(9782),L=n(9846),A=n(2896),F=n(6930);function H(e){let{categoryLabel:t,onClick:n}=e;return a.createElement("button",{"aria-label":(0,u.I)({id:"theme.DocSidebarItem.toggleCollapsedCategoryAriaLabel",message:"Toggle the collapsible sidebar category '{label}'",description:"The ARIA label to toggle the collapsible sidebar category"},{label:t}),type:"button",className:"clean-btn menu__caret",onClick:n})}function M(e){let{item:t,onItemClick:n,activePath:l,level:c,index:s,...d}=e;const{items:m,label:u,collapsible:b,className:p,href:h}=t,{docs:{sidebar:{autoCollapseCategories:E}}}=(0,k.L)(),f=function(e){const t=(0,F.Z)();return(0,a.useMemo)((()=>e.href?e.href:!t&&e.collapsible?(0,i.Wl)(e):void 0),[e,t])}(t),g=(0,i._F)(t,l),v=(0,L.Mg)(h,l),{collapsed:_,setCollapsed:I}=(0,y.u)({initialState:()=>!!b&&(!g&&t.collapsed)}),{expandedItem:S,setExpandedItem:N}=function(){const e=(0,a.useContext)(B);if(e===x)throw new Z.i6("DocSidebarItemsExpandedStateProvider");return e}(),T=function(e){void 0===e&&(e=!_),N(e?null:s),I(e)};return function(e){let{isActive:t,collapsed:n,updateCollapsed:o}=e;const l=(0,Z.D9)(t);(0,a.useEffect)((()=>{t&&!l&&n&&o(!1)}),[t,l,n,o])}({isActive:g,collapsed:_,updateCollapsed:T}),(0,a.useEffect)((()=>{b&&null!=S&&S!==s&&E&&I(!0)}),[b,S,s,I,E]),a.createElement("li",{className:(0,o.Z)(r.k.docs.docSidebarItemCategory,r.k.docs.docSidebarItemCategoryLevel(c),"menu__list-item",{"menu__list-item--collapsed":_},p)},a.createElement("div",{className:(0,o.Z)("menu__list-item-collapsible",{"menu__list-item-collapsible--active":v})},a.createElement(A.Z,(0,C.Z)({className:(0,o.Z)("menu__link",{"menu__link--sublist":b,"menu__link--sublist-caret":!h&&b,"menu__link--active":g}),onClick:b?e=>{n?.(t),h?T(!1):(e.preventDefault(),T())}:()=>{n?.(t)},"aria-current":v?"page":void 0,"aria-expanded":b?!_:void 0,href:b?f??"#":f},d),u),h&&b&&a.createElement(H,{categoryLabel:u,onClick:e=>{e.preventDefault(),T()}})),a.createElement(y.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:_},a.createElement(U,{items:m,tabIndex:_?-1:0,onItemClick:n,activePath:l,level:c+1})))}var P=n(8949),W=n(9830);const D={menuExternalLink:"menuExternalLink_xK2O"};function R(e){let{item:t,onItemClick:n,activePath:l,level:c,index:s,...d}=e;const{href:m,label:u,className:b,autoAddBaseUrl:p}=t,h=(0,i._F)(t,l),E=(0,P.Z)(m);return a.createElement("li",{className:(0,o.Z)(r.k.docs.docSidebarItemLink,r.k.docs.docSidebarItemLinkLevel(c),"menu__list-item",b),key:u},a.createElement(A.Z,(0,C.Z)({className:(0,o.Z)("menu__link",!E&&D.menuExternalLink,{"menu__link--active":h}),autoAddBaseUrl:p,"aria-current":h?"page":void 0,to:m},E&&{onClick:n?()=>n(t):void 0},d),u,!E&&a.createElement(W.Z,null)))}const q={menuHtmlItem:"menuHtmlItem_anEq"};function V(e){let{item:t,level:n,index:l}=e;const{value:c,defaultStyle:i,className:s}=t;return a.createElement("li",{className:(0,o.Z)(r.k.docs.docSidebarItemLink,r.k.docs.docSidebarItemLinkLevel(n),i&&[q.menuHtmlItem,"menu__list-item"],s),key:l,dangerouslySetInnerHTML:{__html:c}})}function O(e){let{item:t,...n}=e;switch(t.type){case"category":return a.createElement(M,(0,C.Z)({item:t},n));case"html":return a.createElement(V,(0,C.Z)({item:t},n));default:return a.createElement(R,(0,C.Z)({item:t},n))}}function z(e){let{items:t,...n}=e;return a.createElement(w,null,t.map(((e,t)=>a.createElement(O,(0,C.Z)({key:t,item:e,index:t},n)))))}const U=(0,a.memo)(z),K={menu:"menu_qiME",menuWithAnnouncementBar:"menuWithAnnouncementBar_hRfJ"};function Y(e){let{path:t,sidebar:n,className:l}=e;const c=function(){const{isActive:e}=(0,T.nT)(),[t,n]=(0,a.useState)(e);return(0,b.RF)((t=>{let{scrollY:a}=t;e&&n(0===a)}),[e]),e&&t}();return a.createElement("nav",{"aria-label":(0,u.I)({id:"theme.docs.sidebar.navAriaLabel",message:"Docs sidebar",description:"The ARIA label for the sidebar navigation"}),className:(0,o.Z)("menu thin-scrollbar",K.menu,c&&K.menuWithAnnouncementBar,l)},a.createElement("ul",{className:(0,o.Z)(r.k.docs.docSidebarMenu,"menu__list")},a.createElement(U,{items:n,activePath:t,level:1})))}const G="sidebar_vJCc",J="sidebarWithHideableNavbar_Fo4g",Q="sidebarHidden_vBKa",X="sidebarLogo_nlll";function j(e){let{path:t,sidebar:n,onCollapse:l,isHidden:r}=e;const{navbar:{hideOnScroll:c},docs:{sidebar:{hideable:i}}}=(0,k.L)();return a.createElement("div",{className:(0,o.Z)(G,c&&J,r&&Q)},c&&a.createElement(_.Z,{tabIndex:-1,className:X}),a.createElement(Y,{path:t,sidebar:n}),i&&a.createElement(N,{onClick:l}))}const $=a.memo(j);var ee=n(3970),te=n(4890);const ne=e=>{let{sidebar:t,path:n}=e;const l=(0,te.e)();return a.createElement("ul",{className:(0,o.Z)(r.k.docs.docSidebarMenu,"menu__list")},a.createElement(U,{items:t,activePath:n,onItemClick:e=>{"category"===e.type&&e.href&&l.toggle(),"link"===e.type&&l.toggle()},level:1}))};function ae(e){return a.createElement(ee.Zo,{component:ne,props:e})}const oe=a.memo(ae);function le(e){const t=(0,v.i)(),n="desktop"===t||"ssr"===t,o="mobile"===t;return a.createElement(a.Fragment,null,n&&a.createElement($,e),o&&a.createElement(oe,e))}const re={expandButton:"expandButton_qIqc",expandButtonIcon:"expandButtonIcon_aOpf"};function ce(e){let{toggleSidebar:t}=e;return a.createElement("div",{className:re.expandButton,title:(0,u.I)({id:"theme.docs.sidebar.expandButtonTitle",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),"aria-label":(0,u.I)({id:"theme.docs.sidebar.expandButtonAriaLabel",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),tabIndex:0,role:"button",onKeyDown:t,onClick:t},a.createElement(I,{className:re.expandButtonIcon}))}const ie={docSidebarContainer:"docSidebarContainer_aIKW",docSidebarContainerHidden:"docSidebarContainerHidden_UIq3",sidebarViewport:"sidebarViewport_DwR9"};function se(e){let{children:t}=e;const n=(0,d.V)();return a.createElement(a.Fragment,{key:n?.name??"noSidebar"},t)}function de(e){let{sidebar:t,hiddenSidebarContainer:n,setHiddenSidebarContainer:l}=e;const{pathname:c}=(0,g.TH)(),[i,s]=(0,a.useState)(!1),d=(0,a.useCallback)((()=>{i&&s(!1),!i&&(0,f.n)()&&s(!0),l((e=>!e))}),[l,i]);return a.createElement("aside",{className:(0,o.Z)(r.k.docs.docSidebarContainer,ie.docSidebarContainer,n&&ie.docSidebarContainerHidden),onTransitionEnd:e=>{e.currentTarget.classList.contains(ie.docSidebarContainer)&&n&&s(!0)}},a.createElement(se,null,a.createElement("div",{className:(0,o.Z)(ie.sidebarViewport,i&&ie.sidebarViewportHidden)},a.createElement(le,{sidebar:t,path:c,onCollapse:d,isHidden:i}),i&&a.createElement(ce,{toggleSidebar:d}))))}const me={docMainContainer:"docMainContainer_fv3b",docMainContainerEnhanced:"docMainContainerEnhanced_wOQt",docItemWrapperEnhanced:"docItemWrapperEnhanced_DUiu"};function ue(e){let{hiddenSidebarContainer:t,children:n}=e;const l=(0,d.V)();return a.createElement("main",{className:(0,o.Z)(me.docMainContainer,(t||!l)&&me.docMainContainerEnhanced)},a.createElement("div",{className:(0,o.Z)("container padding-top--md padding-bottom--lg",me.docItemWrapper,t&&me.docItemWrapperEnhanced)},n))}const be={docPage:"docPage_pOTq",docsWrapper:"docsWrapper_BqXd","themedComponent--light":"themedComponent--light_HcOG"};function pe(e){let{children:t}=e;const n=(0,d.V)(),[o,l]=(0,a.useState)(!1);return a.createElement(m.Z,{wrapperClassName:be.docsWrapper},a.createElement(E,null),a.createElement("div",{className:be.docPage},n&&a.createElement(de,{sidebar:n.items,hiddenSidebarContainer:o,setHiddenSidebarContainer:l}),a.createElement(ue,{hiddenSidebarContainer:o},t)))}var he=n(5109),Ee=n(957);function fe(e){const{versionMetadata:t}=e;return a.createElement(a.Fragment,null,a.createElement(Ee.Z,{version:t.version,tag:(0,c.os)(t.pluginId,t.version)}),a.createElement(l.d,null,t.noIndex&&a.createElement("meta",{name:"robots",content:"noindex, nofollow"})))}function ge(e){const{versionMetadata:t}=e,n=(0,i.hI)(e);if(!n)return a.createElement(he.default,null);const{docElement:c,sidebarName:m,sidebarItems:u}=n;return a.createElement(a.Fragment,null,a.createElement(fe,e),a.createElement(l.FG,{className:(0,o.Z)(r.k.wrapper.docsPages,r.k.page.docsDocPage,e.versionMetadata.className)},a.createElement(s.q,{version:t},a.createElement(d.b,{name:m,items:u},a.createElement(pe,null,c)))))}},5109:(e,t,n)=>{n.r(t),n.d(t,{default:()=>c});var a=n(2784),o=n(8004),l=n(5982),r=n(8659);function c(){return a.createElement(a.Fragment,null,a.createElement(l.d,{title:(0,o.I)({id:"theme.NotFound.title",message:"Page Not Found"})}),a.createElement(r.Z,null,a.createElement("main",{className:"container margin-vert--xl"},a.createElement("div",{className:"row"},a.createElement("div",{className:"col col--6 col--offset-3"},a.createElement("h1",{className:"hero__title"},a.createElement(o.Z,{id:"theme.NotFound.title",description:"The title of the 404 page"},"Page Not Found")),a.createElement("p",null,a.createElement(o.Z,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page"},"We could not find what you were looking for.")),a.createElement("p",null,a.createElement(o.Z,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page"},"Please contact the owner of the site that linked you to the original URL and let them know their link is broken.")))))))}}}]);
@@ -1 +0,0 @@
1
- (self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[2029],{3343:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});var o=n(7896),r=n(2784),a=n(6277),c=n(8004),l=n(6371),i=n(2896);const s={anchorWithStickyNavbar:"anchorWithStickyNavbar_fF9Z",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_Yh18"};function u(e){let{as:t,id:n,...u}=e;const{navbar:{hideOnScroll:m}}=(0,l.L)();if("h1"===t||!n)return r.createElement(t,(0,o.Z)({},u,{id:void 0}));const d=(0,c.I)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof u.children?u.children:n});return r.createElement(t,(0,o.Z)({},u,{className:(0,a.Z)("anchor",m?s.anchorWithHideOnScrollNavbar:s.anchorWithStickyNavbar,u.className),id:n}),u.children,r.createElement(i.Z,{className:"hash-link",to:`#${n}`,"aria-label":d,title:d},"\u200b"))}},7133:(e,t,n)=>{"use strict";n.d(t,{Z:()=>ye});var o=n(2784),r=n(876),a=n(7896),c=n(8428);var l=n(6930),i=n(6277),s=n(5869),u=n(6371);function m(){const{prism:e}=(0,u.L)(),{colorMode:t}=(0,s.I)(),n=e.theme,o=e.darkTheme||n;return"dark"===t?o:n}var d=n(5138),p=n(4501),f=n.n(p);const h=/title=(?<quote>["'])(?<title>.*?)\1/,g=/\{(?<range>[\d,-]+)\}/,y={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}};function v(e,t){const n=e.map((e=>{const{start:n,end:o}=y[e];return`(?:${n}\\s*(${t.flatMap((e=>[e.line,e.block?.start,e.block?.end].filter(Boolean))).join("|")})\\s*${o})`})).join("|");return new RegExp(`^\\s*(?:${n})\\s*$`)}function b(e,t){let n=e.replace(/\n$/,"");const{language:o,magicComments:r,metastring:a}=t;if(a&&g.test(a)){const e=a.match(g).groups.range;if(0===r.length)throw new Error(`A highlight range has been given in code block's metastring (\`\`\` ${a}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);const t=r[0].className,o=f()(e).filter((e=>e>0)).map((e=>[e-1,[t]]));return{lineClassNames:Object.fromEntries(o),code:n}}if(void 0===o)return{lineClassNames:{},code:n};const c=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return v(["js","jsBlock"],t);case"jsx":case"tsx":return v(["js","jsBlock","jsx"],t);case"html":return v(["js","jsBlock","html"],t);case"python":case"py":case"bash":return v(["bash"],t);case"markdown":case"md":return v(["html","jsx","bash"],t);default:return v(Object.keys(y),t)}}(o,r),l=n.split("\n"),i=Object.fromEntries(r.map((e=>[e.className,{start:0,range:""}]))),s=Object.fromEntries(r.filter((e=>e.line)).map((e=>{let{className:t,line:n}=e;return[n,t]}))),u=Object.fromEntries(r.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.start,t]}))),m=Object.fromEntries(r.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.end,t]})));for(let p=0;p<l.length;){const e=l[p].match(c);if(!e){p+=1;continue}const t=e.slice(1).find((e=>void 0!==e));s[t]?i[s[t]].range+=`${p},`:u[t]?i[u[t]].start=p:m[t]&&(i[m[t]].range+=`${i[m[t]].start}-${p-1},`),l.splice(p,1)}n=l.join("\n");const d={};return Object.entries(i).forEach((e=>{let[t,{range:n}]=e;f()(n).forEach((e=>{d[e]??=[],d[e].push(t)}))})),{lineClassNames:d,code:n}}const E={codeBlockContainer:"codeBlockContainer_ZGJx"};function k(e){let{as:t,...n}=e;const r=function(e){const t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach((e=>{let[o,r]=e;const a=t[o];a&&"string"==typeof r&&(n[a]=r)})),n}(m());return o.createElement(t,(0,a.Z)({},n,{style:r,className:(0,i.Z)(n.className,E.codeBlockContainer,d.k.common.codeBlock)}))}const N={codeBlockContent:"codeBlockContent_qZBB",codeBlockTitle:"codeBlockTitle_zAEH",codeBlock:"codeBlock_TAPP",codeBlockStandalone:"codeBlockStandalone_K9VJ",codeBlockLines:"codeBlockLines_AdAo",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_p5De",buttonGroup:"buttonGroup_TNwR"};function C(e){let{children:t,className:n}=e;return o.createElement(k,{as:"pre",tabIndex:0,className:(0,i.Z)(N.codeBlockStandalone,"thin-scrollbar",n)},o.createElement("code",{className:N.codeBlockLines},t))}var L=n(1661);const B={attributes:!0,characterData:!0,childList:!0,subtree:!0};function w(e,t){const[n,r]=(0,o.useState)(),a=(0,o.useCallback)((()=>{r(e.current?.closest("[role=tabpanel][hidden]"))}),[e,r]);(0,o.useEffect)((()=>{a()}),[a]),function(e,t,n){void 0===n&&(n=B);const r=(0,L.zX)(t),a=(0,L.Ql)(n);(0,o.useEffect)((()=>{const t=new MutationObserver(r);return e&&t.observe(e,a),()=>t.disconnect()}),[e,r,a])}(n,(e=>{e.forEach((e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),a())}))}),{attributes:!0,characterData:!1,childList:!1,subtree:!1})}const T={plain:{backgroundColor:"#2a2734",color:"#9a86fd"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#6c6783"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#e09142"}},{types:["property","function"],style:{color:"#9a86fd"}},{types:["tag-id","selector","atrule-id"],style:{color:"#eeebff"}},{types:["attr-name"],style:{color:"#c4b9fe"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule","placeholder","variable"],style:{color:"#ffcc99"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#c4b9fe"}}]};var x={Prism:n(7175).Z,theme:T};function O(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Z(){return Z=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},Z.apply(this,arguments)}var j=/\r\n|\r|\n/,_=function(e){0===e.length?e.push({types:["plain"],content:"\n",empty:!0}):1===e.length&&""===e[0].content&&(e[0].content="\n",e[0].empty=!0)},H=function(e,t){var n=e.length;return n>0&&e[n-1]===t?e:e.concat(t)};function S(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&-1===t.indexOf(o)&&(n[o]=e[o]);return n}var A=function(e){function t(){for(var t=this,n=[],o=arguments.length;o--;)n[o]=arguments[o];e.apply(this,n),O(this,"getThemeDict",(function(e){if(void 0!==t.themeDict&&e.theme===t.prevTheme&&e.language===t.prevLanguage)return t.themeDict;t.prevTheme=e.theme,t.prevLanguage=e.language;var n=e.theme?function(e,t){var n=e.plain,o=Object.create(null),r=e.styles.reduce((function(e,n){var o=n.languages,r=n.style;return o&&!o.includes(t)||n.types.forEach((function(t){var n=Z({},e[t],r);e[t]=n})),e}),o);return r.root=n,r.plain=Z({},n,{backgroundColor:null}),r}(e.theme,e.language):void 0;return t.themeDict=n})),O(this,"getLineProps",(function(e){var n=e.key,o=e.className,r=e.style,a=Z({},S(e,["key","className","style","line"]),{className:"token-line",style:void 0,key:void 0}),c=t.getThemeDict(t.props);return void 0!==c&&(a.style=c.plain),void 0!==r&&(a.style=void 0!==a.style?Z({},a.style,r):r),void 0!==n&&(a.key=n),o&&(a.className+=" "+o),a})),O(this,"getStyleForToken",(function(e){var n=e.types,o=e.empty,r=n.length,a=t.getThemeDict(t.props);if(void 0!==a){if(1===r&&"plain"===n[0])return o?{display:"inline-block"}:void 0;if(1===r&&!o)return a[n[0]];var c=o?{display:"inline-block"}:{},l=n.map((function(e){return a[e]}));return Object.assign.apply(Object,[c].concat(l))}})),O(this,"getTokenProps",(function(e){var n=e.key,o=e.className,r=e.style,a=e.token,c=Z({},S(e,["key","className","style","token"]),{className:"token "+a.types.join(" "),children:a.content,style:t.getStyleForToken(a),key:void 0});return void 0!==r&&(c.style=void 0!==c.style?Z({},c.style,r):r),void 0!==n&&(c.key=n),o&&(c.className+=" "+o),c})),O(this,"tokenize",(function(e,t,n,o){var r={code:t,grammar:n,language:o,tokens:[]};e.hooks.run("before-tokenize",r);var a=r.tokens=e.tokenize(r.code,r.grammar,r.language);return e.hooks.run("after-tokenize",r),a}))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.render=function(){var e=this.props,t=e.Prism,n=e.language,o=e.code,r=e.children,a=this.getThemeDict(this.props),c=t.languages[n];return r({tokens:function(e){for(var t=[[]],n=[e],o=[0],r=[e.length],a=0,c=0,l=[],i=[l];c>-1;){for(;(a=o[c]++)<r[c];){var s=void 0,u=t[c],m=n[c][a];if("string"==typeof m?(u=c>0?u:["plain"],s=m):(u=H(u,m.type),m.alias&&(u=H(u,m.alias)),s=m.content),"string"==typeof s){var d=s.split(j),p=d.length;l.push({types:u,content:d[0]});for(var f=1;f<p;f++)_(l),i.push(l=[]),l.push({types:u,content:d[f]})}else c++,t.push(u),n.push(s),o.push(0),r.push(s.length)}c--,t.pop(),n.pop(),o.pop(),r.pop()}return _(l),i}(void 0!==c?this.tokenize(t,o,c,n):[o]),className:"prism-code language-"+n,style:void 0!==a?a.root:{},getLineProps:this.getLineProps,getTokenProps:this.getTokenProps})},t}(o.Component);const I=A,z={codeLine:"codeLine_DPDv",codeLineNumber:"codeLineNumber_YxQB",codeLineContent:"codeLineContent_SOIp"};function P(e){let{line:t,classNames:n,showLineNumbers:r,getLineProps:c,getTokenProps:l}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");const s=c({line:t,className:(0,i.Z)(n,r&&z.codeLine)}),u=t.map(((e,t)=>o.createElement("span",(0,a.Z)({key:t},l({token:e,key:t})))));return o.createElement("span",s,r?o.createElement(o.Fragment,null,o.createElement("span",{className:z.codeLineNumber}),o.createElement("span",{className:z.codeLineContent},u)):u,o.createElement("br",null))}var M=n(8004);function D(e){return o.createElement("svg",(0,a.Z)({viewBox:"0 0 24 24"},e),o.createElement("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"}))}function R(e){return o.createElement("svg",(0,a.Z)({viewBox:"0 0 24 24"},e),o.createElement("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"}))}const W={copyButtonCopied:"copyButtonCopied_Mzdr",copyButtonIcons:"copyButtonIcons_MVhB",copyButtonIcon:"copyButtonIcon_yxgH",copyButtonSuccessIcon:"copyButtonSuccessIcon_QJLJ"};function V(e){let{code:t,className:n}=e;const[r,a]=(0,o.useState)(!1),c=(0,o.useRef)(void 0),l=(0,o.useCallback)((()=>{!function(e,t){let{target:n=document.body}=void 0===t?{}:t;if("string"!=typeof e)throw new TypeError(`Expected parameter \`text\` to be a \`string\`, got \`${typeof e}\`.`);const o=document.createElement("textarea"),r=document.activeElement;o.value=e,o.setAttribute("readonly",""),o.style.contain="strict",o.style.position="absolute",o.style.left="-9999px",o.style.fontSize="12pt";const a=document.getSelection(),c=a.rangeCount>0&&a.getRangeAt(0);n.append(o),o.select(),o.selectionStart=0,o.selectionEnd=e.length;let l=!1;try{l=document.execCommand("copy")}catch{}o.remove(),c&&(a.removeAllRanges(),a.addRange(c)),r&&r.focus()}(t),a(!0),c.current=window.setTimeout((()=>{a(!1)}),1e3)}),[t]);return(0,o.useEffect)((()=>()=>window.clearTimeout(c.current)),[]),o.createElement("button",{type:"button","aria-label":r?(0,M.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,M.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,M.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,i.Z)("clean-btn",n,W.copyButton,r&&W.copyButtonCopied),onClick:l},o.createElement("span",{className:W.copyButtonIcons,"aria-hidden":"true"},o.createElement(D,{className:W.copyButtonIcon}),o.createElement(R,{className:W.copyButtonSuccessIcon})))}function $(e){return o.createElement("svg",(0,a.Z)({viewBox:"0 0 24 24"},e),o.createElement("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}))}const F={wordWrapButtonIcon:"wordWrapButtonIcon_SMj9",wordWrapButtonEnabled:"wordWrapButtonEnabled_vR9E"};function q(e){let{className:t,onClick:n,isEnabled:r}=e;const a=(0,M.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return o.createElement("button",{type:"button",onClick:n,className:(0,i.Z)("clean-btn",t,r&&F.wordWrapButtonEnabled),"aria-label":a,title:a},o.createElement($,{className:F.wordWrapButtonIcon,"aria-hidden":"true"}))}function J(e){let{children:t,className:n="",metastring:r,title:c,showLineNumbers:l,language:s}=e;const{prism:{defaultLanguage:d,magicComments:p}}=(0,u.L)(),f=s??function(e){const t=e.split(" ").find((e=>e.startsWith("language-")));return t?.replace(/language-/,"")}(n)??d,g=m(),y=function(){const[e,t]=(0,o.useState)(!1),[n,r]=(0,o.useState)(!1),a=(0,o.useRef)(null),c=(0,o.useCallback)((()=>{const n=a.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t((e=>!e))}),[a,e]),l=(0,o.useCallback)((()=>{const{scrollWidth:e,clientWidth:t}=a.current,n=e>t||a.current.querySelector("code").hasAttribute("style");r(n)}),[a]);return w(a,l),(0,o.useEffect)((()=>{l()}),[e,l]),(0,o.useEffect)((()=>(window.addEventListener("resize",l,{passive:!0}),()=>{window.removeEventListener("resize",l)})),[l]),{codeBlockRef:a,isEnabled:e,isCodeScrollable:n,toggle:c}}(),v=function(e){return e?.match(h)?.groups.title??""}(r)||c,{lineClassNames:E,code:C}=b(t,{metastring:r,language:f,magicComments:p}),L=l??function(e){return Boolean(e?.includes("showLineNumbers"))}(r);return o.createElement(k,{as:"div",className:(0,i.Z)(n,f&&!n.includes(`language-${f}`)&&`language-${f}`)},v&&o.createElement("div",{className:N.codeBlockTitle},v),o.createElement("div",{className:N.codeBlockContent},o.createElement(I,(0,a.Z)({},x,{theme:g,code:C,language:f??"text"}),(e=>{let{className:t,tokens:n,getLineProps:r,getTokenProps:a}=e;return o.createElement("pre",{tabIndex:0,ref:y.codeBlockRef,className:(0,i.Z)(t,N.codeBlock,"thin-scrollbar")},o.createElement("code",{className:(0,i.Z)(N.codeBlockLines,L&&N.codeBlockLinesWithNumbering)},n.map(((e,t)=>o.createElement(P,{key:t,line:e,getLineProps:r,getTokenProps:a,classNames:E[t],showLineNumbers:L})))))})),o.createElement("div",{className:N.buttonGroup},(y.isEnabled||y.isCodeScrollable)&&o.createElement(q,{className:N.codeButton,onClick:()=>y.toggle(),isEnabled:y.isEnabled}),o.createElement(V,{className:N.codeButton,code:C}))))}function G(e){let{children:t,...n}=e;const r=(0,l.Z)(),c=function(e){return o.Children.toArray(e).some((e=>(0,o.isValidElement)(e)))?e:Array.isArray(e)?e.join(""):e}(t),i="string"==typeof c?J:C;return o.createElement(i,(0,a.Z)({key:String(r)},n),c)}var Q=n(2896);var U=n(9782);const Y={details:"details_B4FW",isBrowser:"isBrowser_Cof9",collapsibleContent:"collapsibleContent_VYua"};function X(e){return!!e&&("SUMMARY"===e.tagName||X(e.parentElement))}function K(e,t){return!!e&&(e===t||K(e.parentElement,t))}function ee(e){let{summary:t,children:n,...r}=e;const c=(0,l.Z)(),s=(0,o.useRef)(null),{collapsed:u,setCollapsed:m}=(0,U.u)({initialState:!r.open}),[d,p]=(0,o.useState)(r.open),f=o.isValidElement(t)?t:o.createElement("summary",null,t??"Details");return o.createElement("details",(0,a.Z)({},r,{ref:s,open:d,"data-collapsed":u,className:(0,i.Z)(Y.details,c&&Y.isBrowser,r.className),onMouseDown:e=>{X(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const t=e.target;X(t)&&K(t,s.current)&&(e.preventDefault(),u?(m(!1),p(!0)):m(!0))}}),f,o.createElement(U.z,{lazy:!1,collapsed:u,disableSSRStyle:!0,onCollapseTransitionEnd:e=>{m(e),p(!e)}},o.createElement("div",{className:Y.collapsibleContent},n)))}const te={details:"details_SZgV"},ne="alert alert--info";function oe(e){let{...t}=e;return o.createElement(ee,(0,a.Z)({},t,{className:(0,i.Z)(ne,te.details,t.className)}))}var re=n(3343);function ae(e){return o.createElement(re.Z,e)}const ce={containsTaskList:"containsTaskList__YnT"};function le(e){if(void 0!==e)return(0,i.Z)(e,e?.includes("contains-task-list")&&ce.containsTaskList)}const ie={img:"img__Ss2"};const se="admonition_qNG0",ue="admonitionHeading_l909",me="admonitionIcon_UNbs",de="admonitionContent_oUmQ";const pe={note:{infimaClassName:"secondary",iconComponent:function(){return o.createElement("svg",{viewBox:"0 0 14 16"},o.createElement("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"}))},label:o.createElement(M.Z,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)"},"note")},tip:{infimaClassName:"success",iconComponent:function(){return o.createElement("svg",{viewBox:"0 0 12 16"},o.createElement("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"}))},label:o.createElement(M.Z,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)"},"tip")},danger:{infimaClassName:"danger",iconComponent:function(){return o.createElement("svg",{viewBox:"0 0 12 16"},o.createElement("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"}))},label:o.createElement(M.Z,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)"},"danger")},info:{infimaClassName:"info",iconComponent:function(){return o.createElement("svg",{viewBox:"0 0 14 16"},o.createElement("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"}))},label:o.createElement(M.Z,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)"},"info")},caution:{infimaClassName:"warning",iconComponent:function(){return o.createElement("svg",{viewBox:"0 0 16 16"},o.createElement("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"}))},label:o.createElement(M.Z,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)"},"caution")}},fe={secondary:"note",important:"info",success:"tip",warning:"danger"};function he(e){const{mdxAdmonitionTitle:t,rest:n}=function(e){const t=o.Children.toArray(e),n=t.find((e=>o.isValidElement(e)&&"mdxAdmonitionTitle"===e.props?.mdxType)),r=o.createElement(o.Fragment,null,t.filter((e=>e!==n)));return{mdxAdmonitionTitle:n,rest:r}}(e.children);return{...e,title:e.title??t,children:n}}const ge={head:function(e){const t=o.Children.map(e.children,(e=>o.isValidElement(e)?function(e){if(e.props?.mdxType&&e.props.originalType){const{mdxType:t,originalType:n,...r}=e.props;return o.createElement(e.props.originalType,r)}return e}(e):e));return o.createElement(c.Z,e,t)},code:function(e){const t=["a","abbr","b","br","button","cite","code","del","dfn","em","i","img","input","ins","kbd","label","object","output","q","ruby","s","small","span","strong","sub","sup","time","u","var","wbr"];return o.Children.toArray(e.children).every((e=>"string"==typeof e&&!e.includes("\n")||(0,o.isValidElement)(e)&&t.includes(e.props?.mdxType)))?o.createElement("code",e):o.createElement(G,e)},a:function(e){return o.createElement(Q.Z,e)},pre:function(e){return o.createElement(G,(0,o.isValidElement)(e.children)&&"code"===e.children.props?.originalType?e.children.props:{...e})},details:function(e){const t=o.Children.toArray(e.children),n=t.find((e=>o.isValidElement(e)&&"summary"===e.props?.mdxType)),r=o.createElement(o.Fragment,null,t.filter((e=>e!==n)));return o.createElement(oe,(0,a.Z)({},e,{summary:n}),r)},ul:function(e){return o.createElement("ul",(0,a.Z)({},e,{className:le(e.className)}))},img:function(e){return o.createElement("img",(0,a.Z)({loading:"lazy"},e,{className:(t=e.className,(0,i.Z)(t,ie.img))}));var t},h1:e=>o.createElement(ae,(0,a.Z)({as:"h1"},e)),h2:e=>o.createElement(ae,(0,a.Z)({as:"h2"},e)),h3:e=>o.createElement(ae,(0,a.Z)({as:"h3"},e)),h4:e=>o.createElement(ae,(0,a.Z)({as:"h4"},e)),h5:e=>o.createElement(ae,(0,a.Z)({as:"h5"},e)),h6:e=>o.createElement(ae,(0,a.Z)({as:"h6"},e)),admonition:function(e){const{children:t,type:n,title:r,icon:a}=he(e),c=function(e){const t=fe[e]??e,n=pe[t];return n||(console.warn(`No admonition config found for admonition type "${t}". Using Info as fallback.`),pe.info)}(n),l=r??c.label,{iconComponent:s}=c,u=a??o.createElement(s,null);return o.createElement("div",{className:(0,i.Z)(d.k.common.admonition,d.k.common.admonitionType(e.type),"alert",`alert--${c.infimaClassName}`,se)},o.createElement("div",{className:ue},o.createElement("span",{className:me},u),l),o.createElement("div",{className:de},t))},mermaid:()=>null};function ye(e){let{children:t}=e;return o.createElement(r.Zo,{components:ge},t)}},7545:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});var o=n(7896),r=n(2784),a=n(6277),c=n(8954);const l={tableOfContents:"tableOfContents_TN1Q",docItemContainer:"docItemContainer_JtJJ"},i="table-of-contents__link toc-highlight",s="table-of-contents__link--active";function u(e){let{className:t,...n}=e;return r.createElement("div",{className:(0,a.Z)(l.tableOfContents,"thin-scrollbar",t)},r.createElement(c.Z,(0,o.Z)({},n,{linkClassName:i,linkActiveClassName:s})))}},8954:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var o=n(7896),r=n(2784),a=n(6371);function c(e){const t=e.map((e=>({...e,parentIndex:-1,children:[]}))),n=Array(7).fill(-1);t.forEach(((e,t)=>{const o=n.slice(2,e.level);e.parentIndex=Math.max(...o),n[e.level]=t}));const o=[];return t.forEach((e=>{const{parentIndex:n,...r}=e;n>=0?t[n].children.push(r):o.push(r)})),o}function l(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:o}=e;return t.flatMap((e=>{const t=l({toc:e.children,minHeadingLevel:n,maxHeadingLevel:o});return function(e){return e.level>=n&&e.level<=o}(e)?[{...e,children:t}]:t}))}function i(e){const t=e.getBoundingClientRect();return t.top===t.bottom?i(e.parentNode):t}function s(e,t){let{anchorTopOffset:n}=t;const o=e.find((e=>i(e).top>=n));if(o){return function(e){return e.top>0&&e.bottom<window.innerHeight/2}(i(o))?o:e[e.indexOf(o)-1]??null}return e[e.length-1]??null}function u(){const e=(0,r.useRef)(0),{navbar:{hideOnScroll:t}}=(0,a.L)();return(0,r.useEffect)((()=>{e.current=t?0:document.querySelector(".navbar").clientHeight}),[t]),e}function m(e){const t=(0,r.useRef)(void 0),n=u();(0,r.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:o,linkActiveClassName:r,minHeadingLevel:a,maxHeadingLevel:c}=e;function l(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(o),l=function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e;const o=[];for(let r=t;r<=n;r+=1)o.push(`h${r}.anchor`);return Array.from(document.querySelectorAll(o.join()))}({minHeadingLevel:a,maxHeadingLevel:c}),i=s(l,{anchorTopOffset:n.current}),u=e.find((e=>i&&i.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,n){n?(t.current&&t.current!==e&&t.current.classList.remove(r),e.classList.add(r),t.current=e):e.classList.remove(r)}(e,e===u)}))}return document.addEventListener("scroll",l),document.addEventListener("resize",l),l(),()=>{document.removeEventListener("scroll",l),document.removeEventListener("resize",l)}}),[e,n])}function d(e){let{toc:t,className:n,linkClassName:o,isChild:a}=e;return t.length?r.createElement("ul",{className:a?void 0:n},t.map((e=>r.createElement("li",{key:e.id},r.createElement("a",{href:`#${e.id}`,className:o??void 0,dangerouslySetInnerHTML:{__html:e.value}}),r.createElement(d,{isChild:!0,toc:e.children,className:n,linkClassName:o}))))):null}const p=r.memo(d);function f(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:i="table-of-contents__link",linkActiveClassName:s,minHeadingLevel:u,maxHeadingLevel:d,...f}=e;const h=(0,a.L)(),g=u??h.tableOfContents.minHeadingLevel,y=d??h.tableOfContents.maxHeadingLevel,v=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:o}=e;return(0,r.useMemo)((()=>l({toc:c(t),minHeadingLevel:n,maxHeadingLevel:o})),[t,n,o])}({toc:t,minHeadingLevel:g,maxHeadingLevel:y});return m((0,r.useMemo)((()=>{if(i&&s)return{linkClassName:i,linkActiveClassName:s,minHeadingLevel:g,maxHeadingLevel:y}}),[i,s,g,y])),r.createElement(p,(0,o.Z)({toc:v,className:n,linkClassName:i},f))}},876:(e,t,n)=>{"use strict";n.d(t,{Zo:()=>u,kt:()=>f});var o=n(2784);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o<a.length;o++)n=a[o],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++)n=a[o],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var i=o.createContext({}),s=function(e){var t=o.useContext(i),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},u=function(e){var t=s(e.components);return o.createElement(i.Provider,{value:t},e.children)},m="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},p=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,i=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),m=s(n),p=r,f=m["".concat(i,".").concat(p)]||m[p]||d[p]||a;return n?o.createElement(f,c(c({ref:t},u),{},{components:n})):o.createElement(f,c({ref:t},u))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,c=new Array(a);c[0]=p;var l={};for(var i in t)hasOwnProperty.call(t,i)&&(l[i]=t[i]);l.originalType=e,l[m]="string"==typeof e?e:r,c[1]=l;for(var s=2;s<a;s++)c[s]=n[s];return o.createElement.apply(null,c)}return o.createElement.apply(null,n)}p.displayName="MDXCreateElement"},4501:(e,t)=>{function n(e){let t,n=[];for(let o of e.split(",").map((e=>e.trim())))if(/^-?\d+$/.test(o))n.push(parseInt(o,10));else if(t=o.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,o,r,a]=t;if(o&&a){o=parseInt(o),a=parseInt(a);const e=o<a?1:-1;"-"!==r&&".."!==r&&"\u2025"!==r||(a+=e);for(let t=o;t!==a;t+=e)n.push(t)}}return n}t.default=n,e.exports=n}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[3702],{5832:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>a,metadata:()=>l,toc:()=>s});var r=i(7896),n=(i(2784),i(876));const a={title:"Packet Viewer"},o=void 0,l={unversionedId:"tools/packet-viewer",id:"tools/packet-viewer",title:"Packet Viewer",description:"Introduction",source:"@site/docs/tools/packet-viewer.md",sourceDirName:"tools",slug:"/tools/packet-viewer",permalink:"/tools/docs/docs/tools/packet-viewer",draft:!1,editUrl:"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/packet-viewer.md",tags:[],version:"current",frontMatter:{title:"Packet Viewer"},sidebar:"defaultSidebar",previous:{title:"Limits Monitor",permalink:"/tools/docs/docs/tools/limits-monitor"},next:{title:"Script Runner",permalink:"/tools/docs/docs/tools/script-runner"}},c={},s=[{value:"Introduction",id:"introduction",level:2},{value:"Packet Viewer Menus",id:"packet-viewer-menus",level:2},{value:"File Menu Items",id:"file-menu-items",level:3},{value:"View Menu Items",id:"view-menu-items",level:3},{value:"Selecting Packets",id:"selecting-packets",level:2},{value:"Details",id:"details",level:3}],d={toc:s},p="wrapper";function u(e){let{components:t,...a}=e;return(0,n.kt)(p,(0,r.Z)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"introduction"},"Introduction"),(0,n.kt)("p",null,"Packet Viewer is a live telemetry viewer which requires no configuration to display the current values for all defined target, packet, items. Items with limits are displayed colored (blue, green, yellow, or red) according to their current state. Items can be right clicked to get detailed information."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Packet Viewer",src:i(5527).Z,width:"1712",height:"1466"})),(0,n.kt)("h2",{id:"packet-viewer-menus"},"Packet Viewer Menus"),(0,n.kt)("h3",{id:"file-menu-items"},"File Menu Items"),(0,n.kt)("p",null,"Packet Viewer has one menu under File -> Options:"),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"File Menu",src:i(7868).Z,width:"532",height:"388"})),(0,n.kt)("p",null,"This dialog changes the refresh rate of Packet Viewer to reduce load on both your browser window and the backend server."),(0,n.kt)("h3",{id:"view-menu-items"},"View Menu Items"),(0,n.kt)("img",{src:"/img/v5/packet_viewer/view_menu.png",alt:"File Menu",style:{float:"left","margin-right":"50px",height:"240px"}}),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"Shows ",(0,n.kt)("a",{parentName:"li",href:"/tools/docs/docs/configuration/target#ignore_item"},"ignored items")),(0,n.kt)("li",{parentName:"ul"},"Display ",(0,n.kt)("a",{parentName:"li",href:"/tools/docs/docs/configuration/telemetry#derived-items"},"derived")," items last"),(0,n.kt)("li",{parentName:"ul"},"Display formatted items with units"),(0,n.kt)("li",{parentName:"ul"},"Display formatted items"),(0,n.kt)("li",{parentName:"ul"},"Display converted items"),(0,n.kt)("li",{parentName:"ul"},"Display raw items")),(0,n.kt)("h2",{id:"selecting-packets"},"Selecting Packets"),(0,n.kt)("p",null,"Initially opening Packet Viewer will open the first alphabetical Target and Packet. Click the drop down menus to update the Items table to a new packet. To filter the list of items you can type in the search box."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Items Table TEMP",src:i(5326).Z,width:"1712",height:"292"})),(0,n.kt)("h3",{id:"details"},"Details"),(0,n.kt)("p",null,"Right-clicking an item and selecting Details will open the details dialog."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Details",src:i(4625).Z,width:"1056",height:"1202"})),(0,n.kt)("p",null,"This dialog lists everything defined on the telemetry item."))}u.isMDXComponent=!0},876:(e,t,i)=>{i.d(t,{Zo:()=>d,kt:()=>f});var r=i(2784);function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function a(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,r)}return i}function o(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?a(Object(i),!0).forEach((function(t){n(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):a(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function l(e,t){if(null==e)return{};var i,r,n=function(e,t){if(null==e)return{};var i,r,n={},a=Object.keys(e);for(r=0;r<a.length;r++)i=a[r],t.indexOf(i)>=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)i=a[r],t.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var c=r.createContext({}),s=function(e){var t=r.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):o(o({},t),e)),i},d=function(e){var t=s(e.components);return r.createElement(c.Provider,{value:t},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var i=e.components,n=e.mdxType,a=e.originalType,c=e.parentName,d=l(e,["components","mdxType","originalType","parentName"]),p=s(i),m=n,f=p["".concat(c,".").concat(m)]||p[m]||u[m]||a;return i?r.createElement(f,o(o({ref:t},d),{},{components:i})):r.createElement(f,o({ref:t},d))}));function f(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=i.length,o=new Array(a);o[0]=m;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l[p]="string"==typeof e?e:n,o[1]=l;for(var s=2;s<a;s++)o[s]=i[s];return r.createElement.apply(null,o)}return r.createElement.apply(null,i)}m.displayName="MDXCreateElement"},7868:(e,t,i)=>{i.d(t,{Z:()=>r});const r=i.p+"assets/images/file_menu-2fe13872737c0f3fef84ba5b58b80b609082733acce536ec1f56910c36f68299.png"},5527:(e,t,i)=>{i.d(t,{Z:()=>r});const r=i.p+"assets/images/packet_viewer-19c1015cc704a98d1f6d90dd0dadc13188d25f1d5d2e838b7cfb226e8c173c7b.png"},5326:(e,t,i)=>{i.d(t,{Z:()=>r});const r=i.p+"assets/images/select_packet-0b6d5a2b012445ab2bf0fd3e1545f015cd7787280d05d2bccb0a9c9220102529.png"},4625:(e,t,i)=>{i.d(t,{Z:()=>r});const r=i.p+"assets/images/temp1_details-f0b6e62bc28da18febacc936112735e1dbd5718ef675668f04d8b3e060d7f87a.png"}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[5874],{590:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>m,frontMatter:()=>n,metadata:()=>l,toc:()=>s});var o=r(7896),a=(r(2784),r(876));const n={title:"Raspberry Pi"},i=void 0,l={unversionedId:"guides/raspberrypi",id:"guides/raspberrypi",title:"Raspberry Pi",description:"COSMOS Running on Raspberry Pi 4",source:"@site/docs/guides/raspberrypi.md",sourceDirName:"guides",slug:"/guides/raspberrypi",permalink:"/tools/docs/docs/guides/raspberrypi",draft:!1,editUrl:"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/guides/raspberrypi.md",tags:[],version:"current",frontMatter:{title:"Raspberry Pi"},sidebar:"defaultSidebar",previous:{title:"Performance",permalink:"/tools/docs/docs/guides/performance"},next:{title:"Script Writing Guide",permalink:"/tools/docs/docs/guides/script-writing"}},p={},s=[{value:"COSMOS Running on Raspberry Pi 4",id:"cosmos-running-on-raspberry-pi-4",level:3}],c={toc:s},u="wrapper";function m(e){let{components:t,...r}=e;return(0,a.kt)(u,(0,o.Z)({},c,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h3",{id:"cosmos-running-on-raspberry-pi-4"},"COSMOS Running on Raspberry Pi 4"),(0,a.kt)("p",null,"The Raspberry Pi 4 is a low-cost powerful ARM-based minicomputer that runs linux. And because it runs modern linux, it can also run COSMOS! These directions will get you up and running."),(0,a.kt)("p",null,"What you'll need:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Raspberry Pi 4 board (tested with 8GB RAM)"),(0,a.kt)("li",{parentName:"ul"},"A Pi Case but Optional"),(0,a.kt)("li",{parentName:"ul"},"Raspbeerry Pi Power Supply"),(0,a.kt)("li",{parentName:"ul"},"32GB or Larger SD Card - Also faster the better"),(0,a.kt)("li",{parentName:"ul"},"A Laptop with a way to write SD Cards")),(0,a.kt)("p",null,"Let's get started!"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},"Setup 64-bit Raspian OS Lite on the SD Card"),(0,a.kt)("p",{parentName:"li"},"Make sure you have the Raspberry Pi Imager app from: ",(0,a.kt)("a",{parentName:"p",href:"https://www.raspberrypi.com/software/"},"https://www.raspberrypi.com/software/")),(0,a.kt)("ol",{parentName:"li"},(0,a.kt)("li",{parentName:"ol"},"Insert the SD Card into your computer (Note this process will erase all data on the SD card!)"),(0,a.kt)("li",{parentName:"ol"},"Open the Raspberry Pi Imager App"),(0,a.kt)("li",{parentName:"ol"},'Click the "Choose OS" Button'),(0,a.kt)("li",{parentName:"ol"},'Select "Raspberry Pi OS (other)"'),(0,a.kt)("li",{parentName:"ol"},'Select "Raspberry Pi OS Lite (64-bit)"'),(0,a.kt)("li",{parentName:"ol"},'Click the "Choose Storage" Button'),(0,a.kt)("li",{parentName:"ol"},"Select Your SD Card"),(0,a.kt)("li",{parentName:"ol"},"Click the Gear Icon"),(0,a.kt)("li",{parentName:"ol"},"If prompted if you would like to prefill the Wifi information, select OK"),(0,a.kt)("li",{parentName:"ol"},'Click all the checkboxes, except for "Enable Telemetry"'),(0,a.kt)("li",{parentName:"ol"},"Set the hostname to: cosmos.local"),(0,a.kt)("li",{parentName:"ol"},"You can either use Password auth, or public-key only if your computer is already setup for passwordless SSH"),(0,a.kt)("li",{parentName:"ol"},"Set the username and password. The default username is pi, you should also set a password to make the system secure"),(0,a.kt)("li",{parentName:"ol"},"Fill in your Wifi info, and set the country appropriately (ie. US)"),(0,a.kt)("li",{parentName:"ol"},"Set the correct time zone"),(0,a.kt)("li",{parentName:"ol"},'Click "Save" when everything is filled out'),(0,a.kt)("li",{parentName:"ol"},'Click the "Write" button, Yes to Are You Sure, and Wait for it to complete'))),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},"Make sure the Raspberry Pi is NOT powered on")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},"Remove the SD Card from your computer and insert into the Raspberry Pi")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},"Apply power to the Raspberry Pi and wait approximately 1 minute for it to boot")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},"SSH to your raspberry Pi"),(0,a.kt)("ol",{parentName:"li"},(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},"Open a terminal window and use ssh to connect to your Pi"),(0,a.kt)("ol",{parentName:"li"},(0,a.kt)("li",{parentName:"ol"},"On Mac / Linux: ssh ",(0,a.kt)("a",{parentName:"li",href:"mailto:pi@cosmos.local"},"pi@cosmos.local")),(0,a.kt)("li",{parentName:"ol"},"On Windows, use Putty to connect. You will probably have to install Bonjour for Windows for .local addresses to work as well."))))),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},"From SSH, Enter the following commands"))),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-bash"}," sudo sysctl -w vm.max_map_count=262144\n sudo sysctl -w vm.overcommit_memory=1\n sudo apt update\n sudo apt upgrade\n sudo apt install git -y\n curl -fsSL https://get.docker.com -o get-docker.sh\n sudo sh get-docker.sh\n sudo usermod -aG docker $USER\n newgrp docker\n sudo apt-get install libffi-dev libssl-dev python3-dev python3 python3-pip -y\n sudo pip3 install docker-compose\n git clone https://github.com/OpenC3/cosmos-project.git cosmos\n cd cosmos\n # Edit compose.yaml and remove 127.0.0.1 from the ports section of the openc3-traefik service\n ./openc3.sh run\n")),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},"After about 2 minutes, open a web browswer on your computer, and goto: ",(0,a.kt)("a",{parentName:"p",href:"http://cosmos.local:2900"},"http://cosmos.local:2900"))),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},"Congratulations! You now have COSMOS running on a Raspberry Pi!"))))}m.isMDXComponent=!0},876:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>y});var o=r(2784);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?n(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function l(e,t){if(null==e)return{};var r,o,a=function(e,t){if(null==e)return{};var r,o,a={},n=Object.keys(e);for(o=0;o<n.length;o++)r=n[o],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)r=n[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var p=o.createContext({}),s=function(e){var t=o.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},c=function(e){var t=s(e.components);return o.createElement(p.Provider,{value:t},e.children)},u="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},d=o.forwardRef((function(e,t){var r=e.components,a=e.mdxType,n=e.originalType,p=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),u=s(r),d=a,y=u["".concat(p,".").concat(d)]||u[d]||m[d]||n;return r?o.createElement(y,i(i({ref:t},c),{},{components:r})):o.createElement(y,i({ref:t},c))}));function y(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var n=r.length,i=new Array(n);i[0]=d;var l={};for(var p in t)hasOwnProperty.call(t,p)&&(l[p]=t[p]);l.originalType=e,l[u]="string"==typeof e?e:a,i[1]=l;for(var s=2;s<n;s++)i[s]=r[s];return o.createElement.apply(null,i)}return o.createElement.apply(null,r)}d.displayName="MDXCreateElement"}}]);
@@ -1 +0,0 @@
1
- (self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[2846],{7648:(c,s,e)=>{"use strict";e.d(s,{Z:()=>n});var o=e(8437);const n=o},6316:()=>{}}]);