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

バージョンチェックに関する考察 #2

Open
YoshihiroOgura opened this issue Jun 14, 2024 · 2 comments
Open

バージョンチェックに関する考察 #2

YoshihiroOgura opened this issue Jun 14, 2024 · 2 comments

Comments

@YoshihiroOgura
Copy link

現状の内容について

対応するボードが増えた際にチェックするバージョンを追加していく。
バージョンのチェックが非常に細かいように感じらる。
+OK mruby/cまでの部分一致のみでコネクション確認を取れないか。
-> それはもうバージョン確認では無い

mrbwrite/mrbwrite.cpp

Lines 248 to 255 in bc752c1

if( !ver.startsWith("+OK mruby/c PSoC_5LP v1.00 ") &&
!ver.startsWith("+OK mruby/c v2.1")) {
qout_ << tr("version mismatch.") << endl;
qout_ << tr(" require v1.00 or v2.1") << endl;
qout_ << tr(" connected '") << ver << "'" << endl;
return 1;
}

コンパイラとのバージョンチェックがあると良い

  • バイトコードからコンパイラのバージョンを取得し、MrbWrite::connect_targetで取得したバージョンと照らし合わせ、
    ボードのファームがコンパイル済みのバイトコードに対応しているか確認する。

コンパイラバージョンとmruby側のバージョンの組み合わせパターンを網羅しなければならないため煩雑になりそう。

int MrbWrite::write_file( QIODevice &file )

@HirohitoHigashi
Copy link
Member

そうですね。

@HirohitoHigashi
Copy link
Member

@YoshihiroOgura
とりあえず、バージョン文字列のフォーマットを定義したいと思います。

(案)

+OK mruby/c v3.3 RITE0300 MRBW1.2

カラム
(1) +OK   POP3互換ステータス文字列
(2) mruby/c 歴史的経緯
(3) v3.3   mruby/c VM のバージョン
(4) RITE0300 RITEバージョン
(5) MRBW1.2 この通信プロトコルバージョン

実際には、(4)と(5)をチェックするようになると思います。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants