hconfig 実例

 
INT035(グラフィック液晶)ライブラリ追加
   


   グラフィック液晶INT035を選択できるように MHCに項目を追加した例の hconfig について紹介します。



結果
  ・ MHCでの項目追加部

 ①Select DisplayTypeに"INT035 3.5-inch 320x240(QVGA)"を追加 ②Select Controller Typeに"SSD1963(INT035)"を追加 ③チェックボックス "Use Touch MAX11802(INT035) Driver?"を追加
   


  ・ プロジェクトツリーでの追加部

①ヘッダーファイル部
 ・ys_drv_touch_int035.h 追加
 ・ys_drv_gfx_int035.h 追加
②ソースファイル部
・ys_drv_touch_int035.c追加
・ys_drv_gfx_int035 追加
   


 作成手順
 

   INT035のグラフィックライブラリを使ったプロジェクトファイルを作成する手順について説明します。 
    ①ys_config_2_03bフォルダをダウンロードして、解凍します。

②プロジェクトファイルを作成する前に、MHCで液晶にINT035を選択できるように エクスプローラでys_config_2_03bフォルダを"C:\microchip\harmony\v2_03b"にコピーします。
   → コピー後の追加フォルダのフルパス:"C:\microchip\harmony\v2_03b\ys_config_2_03b"

③通常の手順でharmonyのプロジェクトを作成します。 MHCを起動して、一度 ヘッダーファイル、ソースファイルなどを生成して ビルトしてプロジェクトファイルが問題なく生成できたことを確認します。

④プロジェクトファイルのトップフォルダ直下のfarmwareフォルダの中にある hconfigファイルを開きます。 hconfigファイル名は [プロジェクトファイル名.hconfig]となります。 

⑤開いたhconfig ファイルの 最下段部にある

source "$HARMONY_VERSION_PATH/config/harmony.hconfig"


source "$HARMONY_VERSION_PATH/ys_config_2_03b/ys_harmony.hconfig"
#source "$HARMONY_VERSION_PATH/config/harmony.hconfig"
に テキストエディタで書き換えます。
 この書き換えによってMHCがINT035のグラフィックライブラリを含んだMHCになります。 INT035のグラフィックライブラリが追加になるだけでその他のMHCの選択項目に係る変更はありません。 
 上記コードで先頭にある#と、その行はプログラム実行上無効となります。 hcinfig言語では、#にC言語の//と同じ機能が与えられています。 #行を残した目的は 後でデフォルトのMHCに戻したくなった場合に確実に戻せるようにしておく為です。

⑥MHCを起動して、以下を選択します。(他のMHCの設定は省略します。)

 1 Select Display Typeの
メニューバーから
INT035 3.5inch 320x240(QVGA)を
選択します。 
 2 Select Controller Typeの
メニューバーから
SSD1963(INT035)を
選択します。
 3 Touch Driversから
Use Touch MAX11802(INT035)Driver?の

  ⑦ プロジェクトファイルを生成します。

⑧プロジェクトツリーを表示してINT035グラフィックライブラリ 及びタッチパネルライブラリがプロジェクトに生成されていることを確認します。
 1 ヘッダーファイルの確認

ys_drv_touch_int035.h
ys_drv_gfx_int035.h  
 2 ソースファイルの確認
ys_drv_touch_int035.c
ys_drv_gfx_int035


    

     

■ hconfig 部
     関連する *.hconfigファイル、 *.ftlファイル 及びフォルダの構成は以下のようなツリー構造になっています。 ( → 各ファイルの詳細 )

■ プロジェクトファイル部 (プロジェクト名がmyTestの場合)
 ─myTest
    └─firmware
        │  myTest.hconfig
        │
        ├─myTest.X
        └─src
■ 追加フォルダ(ys_config_2_03b)部
 ─ys_config_2_03b
    │  ys_harmony.hconfig
    ├─framework
    │  ├─config
    │  │      ys_framework.hconfig
    │  ├─driver
    │  │  ├─config
    │  │  │      ys_driver.hconfig
    │  │  └─touch
    │  │      ├─config
    │  │      │      ys_drv_touch.hconfig
    │  │      └─touch_int035
    │  │          ├─config
    │  │          │      ys_drv_touch_int035.hconfig
    │  │          └─templates
    │  │                  ys_drv_touch_int035.c.ftl
    │  │                  ys_drv_touch_int035.h.ftl
    │  └─gfx
    │      ├─config
    │      │      ys_gfx.hconfig
    │      └─driver
    │          ├─controller
    │          │  ├─config
    │          │  │      ys_drv_gfx_controller.hconfig
    │          │  └─int035
    │          │      ├─config
    │          │      │      ys_drv_gfx_int035.hconfig
    │          │      └─templates
    │          │              ys_drv_gfx_int035.c.ftl
    │          │              ys_drv_gfx_int035.h.ftl
    │          │              ys_drv_gfx_int035_definition.ftl
    │          └─display
    │              └─config
    │                      ys_drv_gfx_display.hconfig
    │                      ys_drv_gfx_display_types.hconfig
    └─utilities
        └─mhc
            └─templates
                └─app
                    └─system_config
                            ys_system_config.h.ftl
                            ys_system_definitions.h.ftl