-
Notifications
You must be signed in to change notification settings - Fork 10
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
CCSDS周りのコードをcoreで管理する? #51
Comments
CCSDS周りの整理今,結構ぐちゃってるので(だいぶまともにはなってきたが),core移植を前に,整理したい. 鈴本がCCSDSわからんので,通信系のレビューがほしい. CCSDS周りはこれをみながら書いている:
space packetは 現 TCPtlm cmd packetという意味でC2A初期から使われてそう. C2Aの抽象化パケットCTCP (common tlm cmd packet) の実体. space packetと同義なので, space_packet.c/h 構造体名も SpacePacket に変更したい. データ長や,2nd headerはユーザー定義だが,ISSL標準として,策定したい.パラメタは,
テレメもコマンドもこれを使っていいんですよね?(2ndヘッダは異なるが.) 現 M_PDUテレメトリ. Multiplexing Protocol Data Unit? であれば, multiplexing_protocol_data_unit.c/h 構造体名も MultiplexingProtocolDataUnit にしたい. 現 TcpToMPdu発破解体したい.が,優先度低 現 VCDUテレメトリ. virtual_channel_data_ U_unit.c/h にし,構造体名もVirtualChannelDataUnit にしたい. これの定義は, https://sma.jaxa.jp/TechDoc/Docs/JAXA-JERG-2-402.pdf にはないが,何を見ればい? 現 TC Segmentコマンド. https://sma.jaxa.jp/TechDoc/Docs/JAXA-JERG-2-401.pdf だと,ただの segment TCつけとく? だとすると, tc_segment.c/h にし,構造体名も TcSegment としたい. 現 TC Frameコマンド. TCはテレコマではなく,テレコマンド?(TC,ややこしい...) tc_transfer_frame.c/h にし,構造体名も TcTransferFrame としたい. |
ISSLのあつかう複数のOBCにとって,この機能はcoreだが,OSSとしては,CCSDSの機能はそこまでcoreではないというのが難しいところ.CCSDS非準拠の衛星もおおい. |
@yngyu @yanagida-kanta これ,以下の理由から進めたいんですが,やっぱ微妙ですかね?
なので,coreにいれつつ,使わない人はビルド対象から外してもらう,という運用で,どうでしょう? core実装の仮定としては,
で,coreに移したら,ドキュメント化します. |
ついでに,exec typeなどで macro cmdの表記が残ってるので,BLCになおしたい. |
common_tlm_cmd_packet なのに TCP がデフォルトなのは違和感がありますが、coreに移すのは良いと思います |
あれ?これなんで?(TCPはSpacePacketにrenameされます) |
なんか語感的に common って付いてる方がデフォルトっぽい... って思ったからです。良くわかってなかったんですが TCP と CTCP の使い分けってなんでしたっけ...? なんかそこら辺の定義ちゃんとしたい、みたいな issue があったのは覚えてるんですが |
あれでも common って付いてるってことは TCP の中にCTCP とか specific TCP とかあるって感じなんですかね... すいません言っててわからなくなってきました |
CTCPはCCSDS関係なく,C2A内部でとびかうcmd, tlmの構造体定義. で,TCPはCCSDSで規定された,コマンドテレメ定義. んで,今は,C2A内部のテレコマもTCPでいいじゃんって使ってる感じ.でも2nd OBCにとっては特にTCP使う必要もないし,CCSDSの規定はユーザー定義領域もあるので,TCP自体はuser依存(現在もMOBCとAOBCで違う定義). CTCPは,そういったTCPとか,その他のパケット定義を抽象化したもので,C2AではこのCTCPというものに対してデータ操作を行う,って感じ. user側,具体的には, でTCPをCTCPとしてアクセスするIFを定義してあげてる(つまりこれはuser依存.CTCPとしてたとえばHogePacketを使うなら,ここにHogePacketへのアクセスを書く) |
なるほど、理解しました。ありがとうございます |
手始めに,一旦TCPだけcore移植するか.その仮定でexec typeなども整理しよう. #64 もあるし. とはいえ,TCPのAPIDなどはどうしてもuser依存なので,そのあたりの切り出しはやらねばならん.ヘッダファイルのみならず,関数実装(TCPとCTCPのexec type変換とか)もあるので,.c側もuser/core分離せねばならんなぁ. |
ひとまずTCPは移動しよう |
arkedge/c2a-core#196 で続きはやる |
概要
CCSDS周りのコードをcoreで管理する?
詳細
TCPacketまわりを各種OBCで管理するのがだるくなってきたので.
2nd OBCなどは,ビルド対象に含めなければいいだけなので.
close条件
方針が決まったら
関連
The text was updated successfully, but these errors were encountered: