追加機能
プロジェクト設定で何らかの追加機能が使用可能になると、[Additional Features]グループが表示されます。
外部データ・リーダ
RGB565フレームバッファ・ピクセル・フォーマットでは、TouchGFXはデータ・リーダのインタフェースをサポートしています。これにより開発者は、メモリ内で追加バッファが必要となるキャッシュを行うのではなく、メモリマップされないシリアルFlashから直接データを読み出せます。 データ・リーダを実装して、メモリマップされないFlashチップからアプリケーション・アセットを取得する方法の例については、SerialFlashの記事を参照してください。
通常、データ・リーダのオプションは、追加バッファ用に十分なメモリを備えていない低コストのソリューション(STM32G0など)で使用されます。
開発者は以下の設定を行うことができます。
- External Data Reader: この機能を有効化または無効化します。 有効化すると、TouchGFXは生成済みのインタフェースを介してアセットのデータを直接取得します。 無効化した場合は、開発者がメモリ内のバッファに画像をキャッシュする必要があります。
- External Data Reader: Memory base address: 外部データ・リーダ・メモリの開始アドレスを指定します。
- External Data Reader: Memory size: 外部データ・リーダ・メモリのサイズを指定します。
- External Data Reader: Line Buffer Size: 画像またはテキストをフレームバッファにブレンドするための2つのバッファを作成します。 デフォルト値は、一画面の幅 x 4バイトで、ARGB8888ピクセル・フォーマットでフル・サイズの画像をサポートします。
- External Data Reader: Minimum DMA transfer size: DMA転送を開始するための最小限必要なバイト数を設定します。 これより少ないバイト数が要求された場合、DMAは使用されません。
[External Data Reader]を有効にしてコードを生成すると、TouchGFX Generatorにより以下の追加ファイルが作成され、メモリマップされないFlashからアセットを直接取得できるようになります。
TouchGFX/target/generated/TouchGFXGeneratedDataReader.cpp
TouchGFX/target/generated/TouchGFXGeneratedDataReader.hpp
TouchGFX/target/TouchGFXDataReader.cpp
TouchGFX/target/TouchGFXDataReader.hpp
通常通り、TouchGFX Generatorによって生成されたALアーキテクチャに対して、TouchGFXGeneratedDataReader
は読出し専用であり、ユーザによる変更はTouchGFXDataReader
クラス内で行う必要があります。 TouchGFXGeneratedDataReader
のタイプはtouchgfx::FlashDataReader
です。
以下のファイルが変更され、DataReader
を使用するようにTouchGFX HALが設定されます。
TouchGFX/target/generated/TouchGFXConfiguration.cpp
TouchGFX/target/generated/TouchGFXGeneratedHAL.cpp
TouchGFX/target/generated/TouchGFXGeneratedHAL.hpp
Note
ベクタ・レンダリング
TouchGFX Generatorでベクタ・レンダリングを設定するには、フレームバッファのピクセル・フォーマットがRGB565、RGB888、またはARGB8888でなければなりません。 ベクタ・レンダリング機能に関して、開発者には次の3つのオプションがあります。
- Disabled - アプリケーションでのベクタ・レンダリングのサポートを無効にします。
- Software - アプリケーションでのベクタ・レンダリングのソフトウェア・サポートを有効にします。
- Hardware - アプリケーションでのベクタ・レンダリングのハードウェア・サポートを有効にします。
[Software]が選択されている場合、ベクタ・レンダリングはCPUによって実行されます。 GPU2D(NeoChrom)搭載のマイクロコントローラの場合、[Hardware]オプションを使用できます。これにより、GPU2Dでベクタ・レンダリングが実行されるため、パフォーマンスが改善されます。
Caution
Tip
Further reading
ベクタ・フォント・レンダリング
TouchGFX Generatorでベクタ・フォント・レンダリングを有効にするには、(ソフトウェアまたはハードウェアのいずれかで)ベクタ・レンダリングが有効になっている必要があります。 ベクタ・フォント・レンダリング機能に関して、開発者には次の2つのオプションがあります。
- Disabled - アプリケーションでのベクタ・フォント・レンダリングのサポートを無効にします。
- Enabled - アプリケーションでのベクタ・フォント・レンダリングのサポートを有効にします。
ベクタ・フォントの描画パフォーマンスは、ベクタ・レンダリング・パラメータの設定に影響を受けます([Hardware]を選択すると最速になるなど)。
ベクタ・フォント・レンダリングが有効な場合は、ユーザはアプリケーションでタイポグラフィにベクタ・フォーマット・タイプを選択できます。 無効な場合は、ビットマップ・フォーマット・タイプのみを選択できます。
Further reading
8bit LTDCカラー・ルックアップ・テーブル
フレームバッファをL8フォーマットで読み出すようにLTDCが設定されており、TouchGFXがABRG2222、 ARGB222、BGRA2222、またはRGBA2222のいずれかでレンダリングを行う場合、TouchGFX Generatorは、TouchGFXHAL::initialize()
の実行時にLTDCにロードされるCLUTを提供します。 LTDCおよびCLUTの使用方法の詳細については、STM32マイクロコントローラのリファレンスマニュアルを参照してください。