docs/assets/js/cb8c3f08.5416c9f3.js
"use strict";(self.webpackChunkdocs_openc3_com=self.webpackChunkdocs_openc3_com||[]).push([[6360],{8375:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>r,contentTitle:()=>o,default:()=>l,frontMatter:()=>d,metadata:()=>i,toc:()=>c});var s=t(4848),a=t(8453);const d={title:"Command Sender"},o=void 0,i={id:"tools/cmd-sender",title:"Command Sender",description:"Introduction",source:"@site/docs/tools/cmd-sender.md",sourceDirName:"tools",slug:"/tools/cmd-sender",permalink:"/docs/tools/cmd-sender",draft:!1,unlisted:!1,editUrl:"https://github.com/OpenC3/cosmos/tree/main/docs.openc3.com/docs/tools/cmd-sender.md",tags:[],version:"current",frontMatter:{title:"Command Sender"},sidebar:"defaultSidebar",previous:{title:"Calendar (Enterprise)",permalink:"/docs/tools/calendar"},next:{title:"Command and Telemetry Server",permalink:"/docs/tools/cmd-tlm-server"}},r={},c=[{value:"Introduction",id:"introduction",level:2},{value:"Command Sender Menus",id:"command-sender-menus",level:2},{value:"Mode Menu Items",id:"mode-menu-items",level:3},{value:"Sending Commands",id:"sending-commands",level:2},{value:"Hazardous Commands",id:"hazardous-commands",level:3}];function m(e){const n={a:"a",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",ul:"ul",...(0,a.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h2,{id:"introduction",children:"Introduction"}),"\n",(0,s.jsx)(n.p,{children:"Command Sender provides the ability to send any command defined by COSMOS. Commands are selected using the Target and Packet drop down fields which populate the command parameter (if any). A command history is stored which is also editable. Commands in the command history can be re-executed by pressing Enter."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"Command Sender",src:t(9008).A+"",width:"1274",height:"664"})}),"\n",(0,s.jsx)(n.h2,{id:"command-sender-menus",children:"Command Sender Menus"}),"\n",(0,s.jsx)(n.h3,{id:"mode-menu-items",children:"Mode Menu Items"}),"\n",(0,s.jsx)("img",{src:t(8181).A,alt:"Mode Menu",style:{float:"left","margin-right":"50px",height:"120px"}}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Ignores parameter range checking"}),"\n",(0,s.jsx)(n.li,{children:"Displays parameter state values in hex"}),"\n",(0,s.jsx)(n.li,{children:"Shows ignored parameters"}),"\n",(0,s.jsx)(n.li,{children:"Disables all parameter conversions"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"sending-commands",children:"Sending Commands"}),"\n",(0,s.jsx)(n.p,{children:"Select a command by first selecting the target from the Select Target drop down. Changing the target automatically updates the Select Packet options to only display commands from that target. If the command has parameters a table is generated with all the parameters."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"INST COLLECT",src:t(3046).A+"",width:"1276",height:"642"})}),"\n",(0,s.jsx)(n.p,{children:"Clicking on a parameter with States (like TYPE in the above example) brings up a drop down to select a state. Selecting a state populates the value field next to it. Sending a command updates the Status text and the Command History."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"States",src:t(9809).A+"",width:"1276",height:"664"})}),"\n",(0,s.jsx)(n.p,{children:"You can directly edit the Command History to change a parameter value. Pressing Enter on the line will then execute the command. If the command has changed a new line will be entered in the Command History. Pressing Enter several times on the same line updates the Status text with the number of commands sent (3 in the next example)."}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"History",src:t(5793).A+"",width:"1276",height:"664"})}),"\n",(0,s.jsx)(n.h3,{id:"hazardous-commands",children:"Hazardous Commands"}),"\n",(0,s.jsxs)(n.p,{children:["Sending ",(0,s.jsx)(n.a,{href:"/docs/configuration/command#hazardous",children:"hazardous"})," commands will prompt the user whether to send the command."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"INST CLEAR",src:t(3671).A+"",width:"1274",height:"546"})}),"\n",(0,s.jsxs)(n.p,{children:["Commands can also have hazardous ",(0,s.jsx)(n.a,{href:"/docs/configuration/command#state",children:"states"})," (INST COLLECT with TYPE SPECIAL) which also prompt the user. In this example, we've also checked all the menu options to show ignored parameters, display state values in hex (see SPECIAL, 0x1), disabled range checking (DURATION 1000), and disabled parameter conversions."]}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.img,{alt:"INST COLLECT Hazardous",src:t(1400).A+"",width:"1276",height:"919"})}),"\n",(0,s.jsxs)(n.p,{children:["Selecting Yes will send the command and update the history with all the parameters shown. Note that when writing Scripts all parameters are optional unless explicitly marked ",(0,s.jsx)(n.a,{href:"/docs/configuration/command#required",children:"required"}),"."]})]})}function l(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(m,{...e})}):m(e)}},8181:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/mode_menu-9c112084937db5bbff02c18a5681ad038caa0838fc88438628b134a6f6823a09.png"},9809:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/collect_states-565ae4b6d02449850585afd7ce35982711d4d677f5a04c1332b2c176f1ec3a25.png"},9008:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/command_sender-bb1543bde21fc1963405de5251d16a80a0c3a1bf5adb5fb78145d4995e2fe541.png"},5793:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/history-2391436f9edc3e00104a7375f88f5de72b0967f9eb154dfecc346c0a70af4389.png"},3671:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/inst_clear-2d5f985c879e8b917fedacdb8c6552bbd383231bf5c8ab8e560e77df4e050026.png"},3046:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/inst_collect-81bc422b3b33c5ebcbe4c2f489c730b32ab0d6ea6c7f81cc79d9f6bc03e9db15.png"},1400:(e,n,t)=>{t.d(n,{A:()=>s});const s=t.p+"assets/images/inst_collect_hazardous-a8fb19ea296354a0cd276da1e0ad82f74479eea4e7e204fcf64b779596f2c092.png"},8453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>i});var s=t(6540);const a={},d=s.createContext(a);function o(e){const n=s.useContext(d);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),s.createElement(d.Provider,{value:n},e.children)}}}]);