Comments (17)
- wings を動かす場合は self hosted で研究室サーバー上で動かすのが楽だと思っています(comポートの通信とかが大変そう)
- AEさんのツールが github actions で動かせるかは AE さんに聞きたいですね。まだAE側でも整備段階だと思うので、アップデートあったら共有します。
from c2a-aobc.
pytestに必要なC2A側の機能
from c2a-aobc.
@chutaro c2a-aobcでもGitHub Actionsでpytestを回したいのですが、参考になるものがあれば教えてもらえると嬉しいです。
from c2a-aobc.
- 概要
- https://github.com/ut-issl/c2a-core/tree/develop/Examples/minimum_user/src/src_user/Test の readme
- ざっくりと言うと、こんな感じだと思います。
- Test フォルダ配下に test を python で作成し、
- 下記の必要ツールをインストールし、
- c2a と wings を通信させた状態で、pytest コマンドを打って実行する
- 必要なツール
一方で、AEさん側で、wingsを使わずにc2aを実行し、pytestも実行するツール群を作成している気がしており、c2a-aobcが今後もAEさんと連携を密にする場合、AEの枠組みに乗った方が便利かつやりやすいのではないかという気もします。(いちおうメンションしておきます @sksat )
from c2a-aobc.
ありがとうございます!
from c2a-aobc.
@chutaro これ、現状は手元で回していて、GitHubActions上ではまだ回していない感じですかね?参考になるyamlファイル見てみたいです。
from c2a-aobc.
wingsを動かすのが大変そうなので、self hosted で CI サーバー上でやるしかないかなと思っていて、ただまだ手を付けていない状態です。github 移行後は pytest 無しで進めています。
from c2a-aobc.
wingsを動かすのが大変そうなので
そういう感じなんですね。。。わかりました。
AEさん側で、wingsを使わずにc2aを実行し、pytestも実行するツール群を作成している気がしており
あたりが導入されたらGitHub Actionsでも動かせる感じですかね?
from c2a-aobc.
使おうとしてつまづいたところ
c2a-enum-loader
- 次の部分でenumが読めず、エラーが出ている
- 右辺で
OEM7600_TLM_ID_RANGE
を使っているのが悪く、直接0x0000102B
と書けばエラーは出ない
- 右辺で
- 同様のエラーとして、
ValueError: invalid literal for int() with base 10: XXH_rotl32
が出るが、これはどの部分か不明。外部ライブラリであるxxHashに関連しているのはわかるが、XXH_rotl32
はenumで使われていないので謎
from c2a-aobc.
ValueError: invalid literal for int() with base 10: XXH_rotl32
については、xxHash.c
内で一行でenum定義されていたものを複数行に変えると解消された。XXH_rotl32は関係なかったのでエラー表示は謎ではある。
c2a-aobc/src/src_user/Library/xxhash.c
Line 268 in 605722a
C2Aのcoding rule的には、改行する必要があるのだと思うが、xxHashは外部ライブラリから引っ張ってきたものなので、coding ruleを適応させたくはない。enum loaderからファイル指定で除外できると嬉しい。
from c2a-aobc.
#150 のとおり、上のエラーを除去した状況ではpytestが実行できるようになった。ただし、次の部分でつまづいた。
Cmd_APP_AOCS_MANAGER_SET_REFERENCE_TIME
コマンドをpytestしようとしたら、引数の方部分でエラーが出た。
このコマンドはdouble型を引数に持っているので、その部分でエラーが出たのではないかと思う。
from c2a-aobc.
CIに組み込むのは時間がかかりそうなので、別issueに切り出す。
from c2a-aobc.
Cmd_APP_AOCS_MANAGER_SET_REFERENCE_TIMEコマンドをpytestしようとしたら、引数の方部分でエラーが出た。
これはdouble型関係なく、引数が一つであることが問題っぽい。次のように,
を引数の最後に入れるとエラー回避できたが、これが想定仕様なのかは微妙な気もする。
from c2a-aobc.
c2a-coreの方を見ても、引数ひとつの時は同じような書き方をしているようなのでそういう仕様ということなのかもしれない。ただ分かりづらく、どこにも記述がないので初めての人はハマってしまいやすそうな気がする。
@chutaro 引数一つの時のこの現象についてコメントいただけると嬉しいです。
from c2a-aobc.
引数一つの時のこの現象
これはシンプルに python で tuple を使うときの文法の話だと思います
参考:https://note.nkmk.me/python-tuple-single-empty/
from c2a-aobc.
enum の足し算表記と、一行表記は enum loader の方では想定していなそうです。短期的には c2a のソースコードを修正することで対応していただけるとありがたいです!
from c2a-aobc.
python で tuple を使うときの文法の話
ありがとうございます。pythonでは常識的な話という感じなんですかね。
AOCS向けにマニュアル作るときには注釈つけようと思います。
これとは別に、pytestで使う関数全体的にコメントが欲しいなとは思いました。今はコード全部読むか、他のコードを真似て書くしかない感じで少し面倒にかんじました。
短期的には c2a のソースコードを修正する
足し算表記は対応しました。#153
一行表記の方は外部からとってきたもので、ソースコードを修正するのはしたくなく除外ファイルとして扱いたいということで、issueを出させてもらっています。ut-issl/c2a-enum-loader#23
from c2a-aobc.
Related Issues (20)
- RWステータス取得コマンドのコメントを外し、ステータスチェックELを実装する HOT 1
- アプリタイムの再調整 HOT 1
- 磁気排他制御仕様更新に伴う三軸姿勢制御の検証
- 磁気排他制御仕様変更に伴うMTQ電気試験の実施
- 自動モード遷移カウンタをゼロクリアできるようにする
- 目標計算に対地表面相対速度を入れる HOT 4
- IGRF計算時の閾値を可変にする
- Bdotモードおよび太陽捕捉モードでGPSRを使えるようにする
- STT ON BCのbootまでの時間を延長する
- BC数の最大値を増やすことを検討する HOT 8
- EL/EHを整理する
- テレメエラーを出すコンポに対してはテレメ要求をしないようにFDIRを改修するか検討する
- devでvMicro buildができない HOT 2
- SagittaのVersion Telemetryがサブスクリプションできない
- BdotモードでMTQがまったく出力されない場合がある HOT 4
- 磁気センサバイアスの挙動がおかしい
- EL low noteのテレメの追加
- TLCのエラーカウンタテレメがない
- CONTROLテレメパケットが容量オーバーで下ろせない
- タイムラインが溢れることがあるかもしれない
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from c2a-aobc.