Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

minimum_user, 2nd_obc_user の rename #15

Merged
merged 12 commits into from
Jul 20, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
12 changes: 6 additions & 6 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ on:
pull_request:

jobs:
minimum_user:
name: minimum user
mobc:
name: mobc
uses: arkedge/workflows-c2a/.github/workflows/[email protected]
with:
c2a_dir: Examples/minimum_user
c2a_dir: Examples/mobc
c2a_custom_setup: |
cd ../..
pwd
Expand All @@ -23,11 +23,11 @@ jobs:
./setup.sh
fi

second_obc_user:
name: 2nd obc user
subobc:
name: subobc
uses: arkedge/workflows-c2a/.github/workflows/[email protected]
with:
c2a_dir: Examples/2nd_obc_user
c2a_dir: Examples/subobc
c2a_custom_setup: |
cd ../..
pwd
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/build_as_cxx.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ jobs:
fail-fast: false
matrix:
example:
- minimum_user
- 2nd_obc_user
- mobc
- subobc

steps:
- uses: actions/checkout@v3
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/build_with_s2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ jobs:
fail-fast: false
matrix:
example:
- minimum_user
- 2nd_obc_user
- mobc
- subobc

steps:
- name: checkout S2E core
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/check_coding_rule.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ jobs:
fail-fast: false
matrix:
example:
- minimum_user
- 2nd_obc_user
- mobc
- subobc

steps:
- uses: actions/checkout@v3
Expand Down
8 changes: 4 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -58,10 +58,10 @@ dkms.conf
._*

# for c2a user sample
Examples/minimum_user/src/src_core
Examples/minimum_user/build
Examples/2nd_obc_user/src/src_core
Examples/2nd_obc_user/build
Examples/mobc/src/src_core
Examples/mobc/build
Examples/subobc/src/src_core
Examples/subobc/build
*.pyc

# Added by cargo
Expand Down
16 changes: 8 additions & 8 deletions Docs/Core/communication.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ CCSDS Space Packet において, Secondary Header はユーザー定義とさ
### Primary Header
Primary Header はテレメパケット,コマンドパケットともに共通であり,また, CCSDS の規定する Space Packet と同一である.
本ドキュメント更新時の実装は,以下である.ヘッダ構造は以下を参照すること.
https://github.com/ut-issl/c2a-core/blob/217c3156a07ec503cd60fc7b75978a3234ec2c5d/TlmCmd/Ccsds/space_packet.h#L1-L35
https://github.com/arkedge/c2a-core/blob/45d78a05c339c285b5aa0c2fcbf57c1b105137e9/TlmCmd/Ccsds/space_packet.h#L1-L35

#### 各フィールドの説明
- Packet Version Number
Expand Down Expand Up @@ -68,7 +68,7 @@ https://github.com/ut-issl/c2a-core/blob/217c3156a07ec503cd60fc7b75978a3234ec2c5
### Secondary Header (Telemetry)
Secondary Header は CCSDS Space Packet 定義において,ユーザー定義部分であるため,ここで定義する.
本ドキュメント更新時の実装は,以下である.ヘッダ構造は以下を参照すること.
https://github.com/ut-issl/c2a-core/blob/e84ac663187adb7b9d51939f2228b9ecfa7ae292/TlmCmd/Ccsds/tlm_space_packet.h#L1-L51
https://github.com/arkedge/c2a-core/blob/45d78a05c339c285b5aa0c2fcbf57c1b105137e9/TlmCmd/Ccsds/tlm_space_packet.h#L1-L51

#### 各フィールドの説明
- Secondary Header Version
Expand Down Expand Up @@ -110,7 +110,7 @@ https://github.com/ut-issl/c2a-core/blob/e84ac663187adb7b9d51939f2228b9ecfa7ae29
### Secondary Header (Command)
Secondary Header は CCSDS Space Packet 定義において,ユーザー定義部分であるため,ここで定義する.
本ドキュメント更新時の実装は,以下である.ヘッダ構造は以下を参照すること.
https://github.com/ut-issl/c2a-core/blob/b84c3d051a1e15ab62c8f1a9744957daa4a62a3f/TlmCmd/Ccsds/cmd_space_packet.h#L1-L38
https://github.com/arkedge/c2a-core/blob/45d78a05c339c285b5aa0c2fcbf57c1b105137e9/TlmCmd/Ccsds/cmd_space_packet.h#L1-L38

#### 各フィールドの説明
- Secondary Header Version
Expand Down Expand Up @@ -147,9 +147,9 @@ https://github.com/ut-issl/c2a-core/blob/b84c3d051a1e15ab62c8f1a9744957daa4a62a3

#### コマンド配送におけるルーティングについて
- コマンドの最終的な配送先,つまり実行されるボードは APID によって規定される
- https://github.com/ut-issl/c2a-core/blob/5d7a9d9b878cf5ddcad4de919e77dcae13df7407/Examples/minimum_user_for_s2e/src/src_user/Settings/TlmCmd/Ccsds/apid_define.h#L9-L13
- https://github.com/arkedge/c2a-core/blob/45d78a05c339c285b5aa0c2fcbf57c1b105137e9/Examples/mobc/src/src_user/Settings/TlmCmd/Ccsds/apid_define.h#L9-L13
- 一方で, BC や TLC などでのキューイングは, Destination Type によって決定される
- https://github.com/ut-issl/c2a-core/blob/6d71249dcdb3aefa1d67ffe8ce946e8d8d8b2a33/Examples/minimum_user/src/src_user/Settings/TlmCmd/common_cmd_packet_define.h#L20-L27
- https://github.com/arkedge/c2a-core/blob/45d78a05c339c285b5aa0c2fcbf57c1b105137e9/Examples/mobc/src/src_user/Settings/TlmCmd/common_cmd_packet_define.h#L20-L27
- 具体例(GS と接続される OBC は MOBC とし,AOBC は MOBC にぶら下がってるものとする)
- APID: MOBC, Destination Type: TO_ME or TO_APID or MOBC
- GSC: GS から MOBC に届き, MOBC で GSC としてエンキューされる.デキューした後, MOBC 内で GSC として実行される.
Expand Down Expand Up @@ -178,9 +178,9 @@ https://github.com/ut-issl/c2a-core/blob/b84c3d051a1e15ab62c8f1a9744957daa4a62a3
## Common Packet の定義方法
次のように,それぞれ定義する.

- https://github.com/ut-issl/c2a-core/blob/f3197d549559d1f571eb3e28497c9a488611f07f/Examples/minimum_user_for_s2e/src/src_user/Settings/TlmCmd/common_tlm_cmd_packet_define.h#L10-L11
- https://github.com/ut-issl/c2a-core/blob/f3197d549559d1f571eb3e28497c9a488611f07f/Examples/minimum_user_for_s2e/src/src_user/Settings/TlmCmd/common_tlm_packet_define.h#L10-L11
- https://github.com/ut-issl/c2a-core/blob/f3197d549559d1f571eb3e28497c9a488611f07f/Examples/minimum_user_for_s2e/src/src_user/Settings/TlmCmd/common_cmd_packet_define.h#L10-L11
- https://github.com/arkedge/c2a-core/blob/45d78a05c339c285b5aa0c2fcbf57c1b105137e9/Examples/mobc/src/src_user/Settings/TlmCmd/common_tlm_cmd_packet_define.h#L10-L11
- https://github.com/arkedge/c2a-core/blob/45d78a05c339c285b5aa0c2fcbf57c1b105137e9/Examples/mobc/src/src_user/Settings/TlmCmd/common_tlm_packet_define.h#L10-L11
- https://github.com/arkedge/c2a-core/blob/45d78a05c339c285b5aa0c2fcbf57c1b105137e9/Examples/mobc/src/src_user/Settings/TlmCmd/common_cmd_packet_define.h#L10-L11


## C2A 間通信について
Expand Down
16 changes: 8 additions & 8 deletions Docs/Driver/communication_with_components.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ Common Packet ほどリッチな情報をやり取りしない通信に用いる

現在は Ver.1 のみ策定されており,その定義は以下を参照すること.

https://github.com/ut-issl/c2a-core/blob/9f5154ddc5684f8e626b77c8f8bc7c8215c0e096/Drivers/Protocol/eb90_packet_for_driver_super.h#L1-L25
https://github.com/arkedge/c2a-core/blob/45d78a05c339c285b5aa0c2fcbf57c1b105137e9/Drivers/Protocol/eb90_packet_for_driver_super.h#L1-L25

#### 各フィールドの説明
- Version ID
Expand All @@ -68,7 +68,7 @@ https://github.com/ut-issl/c2a-core/blob/9f5154ddc5684f8e626b77c8f8bc7c8215c0e09
UART などで接続されたコンポーネント間の通信といった,軽微な通信ノイズの誤り検出のみ必要な場合に用いる.
ネットワーク層として EB90 Packet や Common Packet などが標準的に使用される.

https://github.com/ut-issl/c2a-core/blob/9f5154ddc5684f8e626b77c8f8bc7c8215c0e096/Drivers/Protocol/eb90_frame_for_driver_super.h#L1-L33
https://github.com/arkedge/c2a-core/blob/45d78a05c339c285b5aa0c2fcbf57c1b105137e9/Drivers/Protocol/eb90_frame_for_driver_super.h#L1-L33

#### 各フィールドの説明
- STX
Expand Down Expand Up @@ -96,18 +96,18 @@ C2A 間通信によって,以下のような機能が提供される.

- OBC 間の簡易な Driver 実装と自動コード生成
- [c2a-tlm-cmd-code-generator](https://github.com/ut-issl/c2a-tlm-cmd-code-generator) 参照.
- [`Examples/minimum_user/src/src_user/Drivers/Aocs`](/Examples/minimum_user/src/src_user/Drivers/Aocs/) などの多くのコードが自動生成される.
- [`Examples/mobc/src/src_user/Drivers/Aocs`](/Examples/mobc/src/src_user/Drivers/Aocs/) などの多くのコードが自動生成される.
- OBC と地上局でネットワークを形成.
- 地上局から MOBC をルーターとして, 2nd OBC へコマンド配送.
- 2nd OBC のテレメトリを MOBC を経由して地上局まで配送.
- 地上局から MOBC をルーターとして, sub OBC へコマンド配送.
- sub OBC のテレメトリを MOBC を経由して地上局まで配送.
- OBC A から OBC B に対してコマンド発行 / テレメ送信.
- 他

C2A 間通信の具体的な実装については,本リポジトリに同封されている User Sample である [`Examples/minimum_user`](/Examples/minimum_user) と [`Examples/2nd_obc_user`](/Examples/2nd_obc_user) での通信(前者が MOBC,後者が AOBC を想定)を参考にされたい.
C2A 間通信の具体的な実装については,本リポジトリに同封されている User Sample である [`Examples/mobc`](/Examples/mobc) と [`Examples/subobc`](/Examples/subobc) での通信(前者が MOBC,後者が AOBC を想定)を参考にされたい.
具体的なドライバのコードは以下となる.

- https://github.com/ut-issl/c2a-core/blob/9f5154ddc5684f8e626b77c8f8bc7c8215c0e096/Examples/minimum_user/src/src_user/Drivers/Aocs/aobc.c#L1-L164
- https://github.com/ut-issl/c2a-core/blob/9f5154ddc5684f8e626b77c8f8bc7c8215c0e096/Examples/2nd_obc_user/src/src_user/Drivers/Etc/mobc.c#L1-L150
- https://github.com/arkedge/c2a-core/blob/45d78a05c339c285b5aa0c2fcbf57c1b105137e9/Examples/mobc/src/src_user/Drivers/Aocs/aobc.c#L1-L164
- https://github.com/arkedge/c2a-core/blob/45d78a05c339c285b5aa0c2fcbf57c1b105137e9/Examples/subobc/src/src_user/Drivers/Etc/mobc.c#L1-L150

地上局からのコマンドルーティングについては [Core Layer/Communication#コマンド配送におけるルーティングについて](../Core/communication.md#コマンド配送におけるルーティングについて) などを参照すること.

14 changes: 7 additions & 7 deletions Docs/Driver/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,17 @@
## Driver
### 概要
Driver とは,各コンポーネントとの通信において, HW 依存部分を吸収するためのレイヤーである.
[DriverSuper](https://github.com/ut-issl/c2a-core/blob/develop/Drivers/Super/) と呼ばれる共通の IF を各ドライバが継承することで,統一的で安全な実装が可能になる.
[DriverSuper](https://github.com/arkedge/c2a-core/blob/develop/Drivers/Super/) と呼ばれる共通の IF を各ドライバが継承することで,統一的で安全な実装が可能になる.

また,これを Application へと抽象化したものが, Application Layer にある DI (Driver Instance) である.

実装方法は,基本的には [driver_super.h](https://github.com/ut-issl/c2a-core/blob/develop/Drivers/Super/driver_super.h) をみればわかるようにしてあるが,現時点で
実装方法は,基本的には [driver_super.h](https://github.com/arkedge/c2a-core/blob/develop/Drivers/Super/driver_super.h) をみればわかるようにしてあるが,現時点で

- UART test: https://github.com/ut-issl/c2a-core/blob/develop/Examples/minimum_user/src/src_user/Drivers/Etc/uart_test.c
- GS: https://github.com/ut-issl/c2a-core/blob/develop/Examples/minimum_user/src/src_user/Drivers/Com/gs.c
- UART test: https://github.com/arkedge/c2a-core/blob/develop/Examples/mobc/src/src_user/Drivers/Etc/uart_test.c
- GS: https://github.com/arkedge/c2a-core/blob/develop/Examples/mobc/src/src_user/Drivers/Com/gs.c
- C2A 間通信:
- https://github.com/ut-issl/c2a-core/blob/develop/Examples/minimum_user/src/src_user/Drivers/Aocs/aobc.c
- https://github.com/ut-issl/c2a-core/blob/develop/Examples/2nd_obc_user/src/src_user/Drivers/Etc/mobc.c
- https://github.com/arkedge/c2a-core/blob/develop/Examples/mobc/src/src_user/Drivers/Aocs/aobc.c
- https://github.com/arkedge/c2a-core/blob/develop/Examples/subobc/src/src_user/Drivers/Etc/mobc.c

が実装されているので,それを参考のこと.
`load_init_setting` については下を参照.
Expand Down Expand Up @@ -43,7 +43,7 @@ typedef struct

## DriverSuper
### テレメとしておろしてもいいのではないかなと思う DriverSuper のメンバ
[driver_super.h](https://github.com/ut-issl/c2a-core/blob/develop/Drivers/Super/driver_super.h) のメンバから抜粋する.
[driver_super.h](https://github.com/arkedge/c2a-core/blob/develop/Drivers/Super/driver_super.h) のメンバから抜粋する.

`DriverSuper` の最上位には特に重要な情報はないので, `DriverSuper` の使っているstreamの `stream_config` のメンバを下ろす.
具体的には以下.( FIXME: 2021/12/04 現在,だいぶ情報が古い)
Expand Down
4 changes: 2 additions & 2 deletions Docs/General/coding_rule.md
Original file line number Diff line number Diff line change
Expand Up @@ -408,7 +408,7 @@ TlmCmd/NormalBlockCommandDefinition


### Block Command のロード関数の命名
基本的には, [Block Command Loade](https://github.com/ut-issl/c2a-core/blob/develop/TlmCmd/block_command_loader.h) を使って定義する.
基本的には, [Block Command Loade](https://github.com/arkedge/c2a-core/blob/develop/TlmCmd/block_command_loader.h) を使って定義する.
そして,関数名は `BCL_load_hoge(void)' を基本とする.

Block Command は各所で定義されるため, TL, SL に関しては以下のようにする.
Expand All @@ -424,7 +424,7 @@ Settings/Modes/Transitions
-> void BCL_load_sl_hoge(void);
```

例として [Block Command Definitions](https://github.com/ut-issl/c2a-core/blob/develop/Examples/minimum_user/src/src_user/TlmCmd/block_command_definitions.c) を参考にすること.
例として [Block Command Definitions](https://github.com/arkedge/c2a-core/blob/develop/Examples/mobc/src/src_user/TlmCmd/block_command_definitions.c) を参考にすること.


## 細かな記法 [M]
Expand Down
6 changes: 3 additions & 3 deletions Docs/General/release.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@
### 本 Release

1. バージョン番号をインクリメントする PR (Pull Request) を発行し,`develop` ブランチへマージする.
- [c2a_core_main.h](https://github.com/ut-issl/c2a-core/blob/develop/c2a_core_main.h) 内の `C2A_CORE_VER_*` をインクリメントする.
- [Cargo.toml](https://github.com/ut-issl/c2a-core/blob/develop/Cargo.toml) 内の `package.version` をインクリメントする.
- [c2a_core_main.h](https://github.com/arkedge/c2a-core/blob/develop/c2a_core_main.h) 内の `C2A_CORE_VER_*` をインクリメントする.
- [Cargo.toml](https://github.com/arkedge/c2a-core/blob/develop/Cargo.toml) 内の `package.version` をインクリメントする.
- この後リリースを控えるので,念の為すべてのテストを再度回す.
- `#define C2A_CORE_VER_PRE` は `("")` とする.
- PR 名は `Update version (v3.4.0)` のようにする.
Expand Down Expand Up @@ -51,7 +51,7 @@
- 対応する Tools の PR のリンクを貼る.
- `#define C2A_CORE_VER_PRE` に `("beta.0")` などをセットする.
- 本 Release 後最初の Pre-release の場合, `C2A_CORE_VER_*` をインクリメントする.
- [Cargo.toml](https://github.com/ut-issl/c2a-core/blob/develop/Cargo.toml) 内の `package.version` を同様にインクリメントする.
- [Cargo.toml](https://github.com/arkedge/c2a-core/blob/develop/Cargo.toml) 内の `package.version` を同様にインクリメントする.
- PR 名は以下のようにする.
- `Pre Release (v3.5.0-beta.0): 通常のPRのタイトル`
- 例: https://github.com/ut-issl/c2a-core/pulls?q=is%3Apr+Pre+Release
Expand Down
Loading
Loading