Skip to content

Latest commit

 

History

History
69 lines (51 loc) · 2.46 KB

c2a_dev_runtime.md

File metadata and controls

69 lines (51 loc) · 2.46 KB

c2a-dev-runtime

開発用の SILS runtime. これにより,フライトソフトウェアである C2A を,マイコン実機環境ではなく,PC 上で動作させることが可能となる.

動作環境

Development Environment を参照.

実行前の準備

  1. Development Environment の環境をセットアップする.
  2. 必要なツールセットをインストールする (TBA)
sudo apt install gcc-multilib protobuf-compiler libclang-dev cmake g++ g++-multilib
  1. /examples/mobc//examples/subobc/ で次を実行する.
nvm install
corepack enable
pnpm install

実行

様々なパターンが存在するため,いくつかの例を示す.

C2A そのものののみの実行

/examples/mobc//examples/subobc/

cargo run

を実行するだけ.

C2A DevTools の実行

C2A DevTools によって,c2a-sils-runtime によって実行されている SILS に対して,テレコマ通信が可能である. 使い方の詳細は,上記リンク先を参照のこと.

C2A そのもの + C2A DevTools の実行

MOBC 環境 (/examples/mobc/) を例にする.

  1. 1 つ目のターミナルで /examples/mobc/ に移動し,次を実行する.
pnpm run devtools:sils
  1. ブラウザで http://localhost:8900/devtools/ を開くと,テレコマ通信が可能となる.

C2A そのもの + C2A DevTools の実行 (VS Code を用いたデバッグ)

MOBC 環境 (/examples/mobc/) を例にする.
この手順によって,ブレークポイント等を用いた開発が可能となる.

  1. 1 つ目のターミナルで /examples/mobc/ に移動し,次を実行する.
pnpm run devtools:debug
  1. VS Code のデバッガで Debug executable 'c2a-example-mobc を実行する.
  2. ブラウザで http://localhost:8900/devtools/ を開くと,テレコマ通信が可能となる.

pytest の実行

以下を参照のこと.

その他

pnpm run * コマンドについては,以下のファイルなどを参照すること.

{
"name": "c2a-example-mobc",
"scripts": {
"build:tlmcmddb": "tlmcmddb-cli bundle --pretty tlm-cmd-db/TLM_DB/calced_data tlm-cmd-db/CMD_DB tlmcmddb.json",
"run:c2a": "cargo run",
"run:gaia": "tmtc-c2a --satconfig satconfig.json --tlmcmddb tlmcmddb.json",
"run:kble": "bash -c 'while :; do kble -s <(jrsonnet spaghetti.jsonnet); sleep 1; done'",
"run-all": "run-p run:*",
"run-devtools": "run-p run:gaia run:kble",
"devtools:sils": "run-s build:* run-all",
"devtools:debug": "run-s build:* run-devtools",
"build:tlmcmddb-sub": "tlmcmddb-cli bundle --pretty ../subobc/tlm-cmd-db/TLM_DB/calced_data ../subobc/tlm-cmd-db/CMD_DB tlmcmddb-subobc.json",
"tlmcmddb-merge": "tlmcmddb-cli merge --pretty --output tlmcmddb.json tlmcmddb.json tlmcmddb-subobc.json",
"run-subobc:c2a-subobc": "env UART_KBLE_PORT=9697 cargo run --manifest-path ../subobc/Cargo.toml",
"run-subobc:c2a": "run-s run:c2a",
"run-subobc:gaia": "tmtc-c2a --satconfig satconfig.json --tlmcmddb tlmcmddb.json",
"run-subobc:kble": "bash -c 'while :; do kble -s <(jrsonnet spaghetti.subobc.jsonnet); sleep 1; done'",
"run-subobc-all": "run-p run-subobc:*",
"devtools:sils-subobc": "run-s build:* tlmcmddb-merge run-subobc-all"
},
"devDependencies": {
"npm-run-all": "4.1.5",
"tools": "file:./tools"
}
}