AppWizardでの変数使用

初心者なので全くわからずに困っています。

AppWizardでのGUI込みの開発に手を付けているのですが、ボタン等を押した際のアクションで式を介した変数を使用したいのですが、画面左下の(x)Variablesの使い方がわからず悩んでいます。Termの欄に式を書けそうなので記載してみたのですが、一向に動作しているようではない状態です。また、AppWizardではスクリーン毎でIDがあるようなのですが、それらの変数も共有してPlay modeを使えたりしないのでしょうか?本当に初心者な質問ですみません。どなたか助けてもらえると幸いです。

よろしくお願いします。

Parents
  • リューキィさん、こんにちは。NoMaYです。

    すみません、こちらは解決されましたでしょうか?AppWizardのドキュメントを確認したところ、以下のドキュメント画面コピーに記載されているような使い方をするようです、

    以下、emWinのAppWizardのドキュメントの画面コピーです。(5枚)






     

  • NoMaYさん、こんにちは。リューキィです。

    すみません。夏風邪でここ二日ほど寝込んでいまして、まだ教えて頂いたテキストの件は試せていません。

    こちらの変数の件は、なんとはCACLで計算を実行しないといけないんだということまでは、マニュアルで理解して使えたのですが、ソース上でこれらの「ID_VAR_00」等の中身を直接覗いたり、コピーして比較等したいのですが、それが出来ずに困っています。自分で最初から画面もソースベースで作成して、変数もその都度やればいいのかもしれませんが、何分C言語自体をがっつり使うのも20年ぶりくらいなので、色々おぼつかない始末です。。。

    本当にいつもいつも、ものすごくご丁寧にして頂き、更に普段使っていないと仰っていたツールもわざわざ使って調べて頂いて、申し訳ないです。本当にありがとうございます。

  • リューキィさん、こんにちは。NoMaYです。

    それは大変ですね。お体をお大事に。昨日から当方でもRX65N Envision KitでemWinが使えるようになりましたので、そのあたりも少し試してみます。(CC-RXコンパイラの無償評価版のサイズ制限を超えてしまったので、当方ではGNURXコンパイラですけれども。)

    LCDパネルに表示出来るようになってから先は、emWinの(英語圏でも)一般的な話でしょうから、何かブログでもないものかどうか探してみたりもしようと思います。(日本語でのブログなどがあればもっと良いですけれども。)

    ここまでの知識では、こんな感じなのだろうか、という気がしています。

    (1) スクリーンのコールバック関数を利用する
    (2) 変数の値(式の計算結果)が変わるとコールバック関数に値変化のイベントが飛んで来る
    (3) 値変化のイベントが飛んで来たら、変数の値を読み出すAPIがあるようなので、そのAPIで変数の値を読み出す

    [メモ]

    ちょっと頭に思い浮かびましたのでメモさせて下さい。

    (4) 式の元になるものは、ボリュームの回転位置とか、スライダの縦位置/横位置とか、なのかな
    (5)FreeRTOSだとどうなる? スーパーループだとどうなる?

  • NoMaYさん、こんにちは。リューキィです。

    やりたい事としては単純で、現在値(高さ)の数値が通常は表示されていて、数字を押すとスクリーンが変わり変更したい数値(高さ)を入力して「OK」を押すと元のスクリーンに戻り、入力された数値との差があれば、モーターを回して指定された数値(高さ)に変更する。

    という物なんですが、今は入力の所まではほぼ出来ていて、入力された数値がID_VAR_06(AppWizardで作られた)に入るのですが、これが単純なint等の変数ではないようで、ポインタ等で置き換えても中々数値が見れずに困っている状態です。自分がポインタをいまいち把握しきれていないのが大きいのかもしれません。なので、ID_VAR_〇〇の数値が見れさえすれば、後はモーターへの出力を出してエンコーダーからの数値で現在値を変更していくだけなんですが。。。

  • ID_VAR_〇〇がアドレス値だということは分かったんですが、そのアドレスに格納されているであろう値が見れません。このアドレスがただのラベルになっていて、配列の中にあるのかもとも思ったのですが、_aVarListも初期値や式を納めているだけのようで、計算結果がどこにあるのかさっぱりです。。。

  • タッチパネルからの実行を取ろうと思いまして、APIのコレ「void GUI_GetKeyState(GUI_KEY_STATE * pState);」が使えるかと思っているのですが、構造体のメンバーがintなのでどの変数を入れればいいかもわからず、これもお手上げです。。。先の変数が見れれば、フラグ等を立てて数値だけで解決できると思うのですが、格納先がわからないです。。。

Reply
  • タッチパネルからの実行を取ろうと思いまして、APIのコレ「void GUI_GetKeyState(GUI_KEY_STATE * pState);」が使えるかと思っているのですが、構造体のメンバーがintなのでどの変数を入れればいいかもわからず、これもお手上げです。。。先の変数が見れれば、フラグ等を立てて数値だけで解決できると思うのですが、格納先がわからないです。。。

Children
No Data