GUIX/e2 studioの画面の向きの変更方法

e2 studioおよびGUIXを用いて画面設計を行っており、画面の向きを既存の"横長"から"縦長"に変更したいですが、方法をご教授いただけますと大変助かります。

 

【行った作業】

①e2 studioでサンプルソフト「GUIX "Hello World" for DK-S7G2 GUI Application」を起動させ、DK-S7G2に画面を映しました。

②開発ボードを用いてデバッグすると、"横長"では画面動作を確認できました。

③GUIXの「Configure」-「Project/Displays」から「rotated orientation」をチェックし、GUIX上で画面を縦長に変更しました。

④GUIXでGenerateした後、e2 studioの"Configuration"を開き、Generateした後、ビルド、デバッグを行いました。

⑤すると、画面が正常に映りませんでした(文字にならない画面は表示されました)。

 

【開発環境】

開発ボード:DK-S7G2

LCDサイズ: 480pixels, 272 pixels

Parents
  • Former Member
    Former Member
    「GUIX "Hello World" for DK-S7G2 GUI Application」をSSP v1.2.1で動かしていますが、縦長画面でも動作します。
    "GUIX Port on sf_el_gx"のプロパティに"Screen Rotation Angle (Clockwise)"と"GUIX Canvas Buffer (required if rotation angle is not zero)"がありますが、これらを設定します。
    また、"Touch Panel Framework on sf_touch_panel_i2c"のプロパティにも、"Touch Coordinate Rotation Angle(Clockwise)"があるので、そちらも設定します。
    “Clockwise”とあるので、Angleを90に設定すると時計回りに90度回転させた表示になります。
  • masukami様

    ご回答ありがとうございました。
    Configurationを確認したところ、、"Touch Panel Framework on sf_touch_panel_i2c"のプロパティ内に"Touch Coordinate Rotation Angle(Clockwise)"の項目がありませんでした。理由として、何が考えられるでしょうか。
    対処法ありましたらご教授頂きたく存じます。
  • Former Member
    Former Member in reply to Former Member
    ところで、プロジェクトのインポート方法ですが、
    プロジェクトインポートガイド(R11AN0023JU0116)の「2.1 e² studio ISDE に既存プロジェクトをインポートする」に記載されているので、念のため確認してください。
    SSP v1.2.1用のe² studioで、新規のプロジェクトとしてHello Worldのプロジェクトをインポートします。
  • SSPとe2 studioのバージョンを、「SSP v1.2.1 と e² studio v5.4.0.018 」とし、ご教授いただきました手順を行いました。
    無事に画面の向きを変更することができました。
    エラーが出てデバッグできなったときは、「SSP v1.3.0 と e² studio v5.4.0.023」を使用していました。
    e2 studioはSSPバージョン毎に用意するようにします。

    プロジェクトのインポート方法もご教授いただきましてありがとうございました。
    ガイドの方法でインポート致しました。

    今後とも宜しくお願い致します。
  • Former Member
    Former Member in reply to fk

    問題解決に至ったようで、良かったです。
    少し分かったことがあったので、以下にメモしておきます。

    今まで、SSP v1.2.1で試していたのですが、昨日リリースされたSSP v1.3で試したところ、こんどうさんと同じ問題になりました。この問題解決はちょっと手がかかりそうなので、SSP v1.2.1にマイグレーションしたHello Worldをエクスポートし、それをSSP v1.3にインポートすると、SSP v1.3で動作しました。"GUIX Library Version"はv5.3.3に設定します。GUIX Studioはv5.3.3.7になります。

    エクスポートの方法は、「Synergyのプロジェクト管理では、どのファイルが必要ですか?」のページに有ります。ただし、.module_descriptionsフォルダは不要と記述がありますが、これがないとSSP v1.3にインポートしても正常にプロジェクトが開けませんでした。別のバージョンにインポートするときは、.module_descriptionsフォルダありでエクスポートする方が良さそうです。SSP v1.3のプロジェクトを.module_descriptionsフォルダなしでエクスポートし、SSP v1.3にインポートしても問題は発生しませんでした。.module_descriptionフォルダにはファイルが沢山あるので、管理対象にしたくないですね。

  • SSP v1.3での動作もできました。.module_descriptionについても承知しました。
    細かな説明をしていただきまして大変助かりました。
    また不明な点が出た際はご教授いただけますと幸いです。
  • masukami様

    ご無沙汰しております。
    ご教授いただきました方法で、「GUIX "Hello World" for DK-S7G2 GUI Application」をSSP1.3.0で動作させました。
    GUIXでwindowを合計4枚に追加した時点で、ビルドすると、「Debug」-「makefile」にエラーが発生し、デバッグできませんでした。

    エラーが発生したコードは以下の通りです。
    @echo 'ビルド・ターゲット: $@'

    その後、GUIXで画面数を元に戻したのですが、正常動作しなくなりました。

    こちらのプロジェクトに画面を追加していきたいと考えているのですが、解決策をご教授いただけましたら幸いです。
    また、初めてGUIXを画面設計する場合、わかりやすい説明資料やコーディング例などありましたら教えていただけないでしょうか。初心者のため、困っております。
  • Former Member
    Former Member in reply to fk
    Debugフォルダ内のファイルはビルド時に自動生成されるので、一度、Debugフォルダを削除してからビルドしてみてはいかがでしょうか?
    ソースコードはバージョン管理ツールで管理し、問題が発生しても正常時に戻れるようにした方が良いですね。

    コーディング例は、GUIX Studioインストールフォルダ内のexamplesフォルダに幾つかあります。Microsoft Visual Studio 2015でビルドし、Windows PC上でそれらの動作を確認できます。
    分かりやすい説明資料はないと思います。
  • masukami様

    ご回答ありがとうございました。
    ①debugフォルダを削除してからのビルドは、同じ症状が発生しました。
    エラー内容としては、以下の4項目が出ています。

    記述/説明 リソース パス ロケーション タイプ
    1. GUIApp-DK.elf section `.text' will not fit in region `FLASH' GUIApp-DK C/C++ 問題
    2. make: *** [GUIApp-DK.elf] Error 1 GUIApp-DK C/C++ 問題
    3. recipe for target 'GUIApp-DK.elf' failed makefile /GUIApp-DK/Debug 行 84 C/C++ 問題
    4. region `FLASH' overflowed by 3397128 bytes GUIApp-DK C/C++ 問題

    ②GUIXでの変更を細々と段階に分けて、ビルドしたところ、正常動作しました。
    a. 画面のみ追加 ⇒ 正常動作
    b. フォントのみ追加 ⇒ 正常動作
    c. カラーnameの変更や追加 ⇒ 正常動作
    d. 画像の追加 ⇒ 正常動作
    e. 画面の追加/ボタンの追加/ソースコード編集 ⇒ 正常動作

    ③複数の項目を同時に編集し、Generate/ビルドを行ったところ、上記と同じエラーが発生しました。
    f. フォントの追加/カラーnameの変更 を同時に行った ⇒ エラー発生

    これは単純に容量の問題でエラーが発生していると考えてよいのでしょうか?
    細目にビルドすると問題なく動作するようです。

    ご多忙中恐れ入りますが、コメントいただけますと大変助かります。
  • Former Member
    Former Member in reply to fk
    エラーの内容はメモリリージョンFLASHに対して、その容量を超えるデータが割り当てられているためです。
    3MByte以上なので、かなりオーバーしていますが、このサイズは妥当なものでしょうか?

    a → a+b → ... → a+b+c+d+e と進めると問題は発生しないが、
    f(= b+c)の場合はエラーとなるということでしょうか?
    GUIX Studioが生成するソースコード(***_resources.c)が、それぞれどうなっているか調べると
    何か分かるかもしれません。
  • masukami様

    返信が大変遅くなってしまい申し訳ございませんでした。
    メモリージョンFLASHエラーについてですが、Fontデータを入れた際に容量が3MByte以上ありエラーとなっていたことがわかりました。不要なFontデータ等を削除したところ、正常動作しました。
    混乱する内容を記載してしまい申し訳ございませんでした。
    コメントいただき大変助かりました。ありがとうございました。

    今回、ネット上にあるFree FontをGUIXに読み込ませて使用したのですが、文字サイズ16pointで0.5MByte程度あります。このようなFontを圧縮して使用する方法などございますでしょうか。
    文字サイズを大きくしたり、解像度を上げると、容量オーバーとなってしまい、デバッグできないため困っております。
    ご教授いただけますと大変助かります。
  • Former Member
    Former Member in reply to fk
    表示する文字がGUIX StudioのStringに登録したものに限られる場合は、
    Edit Fontダイアログにある"Include character set defined by String Table"のチェックをONにすると、
    String Tableにある文字だけのフォントデータが生成されるので、サイズが小さくなります。
    任意の文字の表示に対応する場合は、表示に対応するための全てのフォントデータを
    用意しておく必要があるので、Font Heightを小さくするか、Font Formatのエイリアスを小さくする
    といった方法くらいしかありません。
    SSP v1.3.0に対応するGUIX Studio v5.3.3.7には、"Compress Output"の機能がありますが、
    それを試してみる方法もありそうです。
    任意の文字表示に対応する場合はフォントデータが大きくなるので、
    外付けの不揮発メモリに保存することになることが殆どと思います。
Reply
  • Former Member
    Former Member in reply to fk
    表示する文字がGUIX StudioのStringに登録したものに限られる場合は、
    Edit Fontダイアログにある"Include character set defined by String Table"のチェックをONにすると、
    String Tableにある文字だけのフォントデータが生成されるので、サイズが小さくなります。
    任意の文字の表示に対応する場合は、表示に対応するための全てのフォントデータを
    用意しておく必要があるので、Font Heightを小さくするか、Font Formatのエイリアスを小さくする
    といった方法くらいしかありません。
    SSP v1.3.0に対応するGUIX Studio v5.3.3.7には、"Compress Output"の機能がありますが、
    それを試してみる方法もありそうです。
    任意の文字表示に対応する場合はフォントデータが大きくなるので、
    外付けの不揮発メモリに保存することになることが殆どと思います。
Children
No Data