概 要
・ 全てはANSI Cコードで実装したオリジナル製品
・ ロイヤリティー費用、量産制限等は有りません
・ 使用中のOSで対応可、OS無しも可能(シングルタスクモード)
・ SEGGER製 embOS以外のRTOSにも対応可能
・ デバイスドライバ、コンフィグレーション設定、OSインターフェース用テンプレートを提供(移植作業は簡単)
・ ワンチップマイコンへの実装を意識したコンパクト設計(組込みアプリケーションにぴったりな構成)
・ emWin仕様サイズ
〈Windowsマネージャ無し〉
ROM使用量 RAM使用量 STACK使用量
6~25 KByte ~200 Byte ~600 Byte
〈Windowsマネージャ、ウィジェット含む〉
30~60 KByte 2~6 Byte 1200 Byte以上
・ CPU非依存設計で高ポータビリティ(8-bit~32-bit CPUまで幅広い環境をサポート)
・ コードサイズ及び実行速度パフォーマンスを中心に最適化されて、組込みアプリケーションにぴったりな構成
・ デバイスドライバ
様々な液晶パネルインターフェースに対応した各種類のドライバモージュールをサポートします。お客様のハードウエアボードの仕様に合わせてGUIDRVモジュールを選択してください。
〈対応ドライバ(ハードウエア非依存分)〉
GUIDRV_LinGUIDRV_07X1GUIDRV_Fujitsu_16GUIDRV_6331GUIDRV_1611GUIDRV_SPageGUIDRV_7528GUIDRV_CompactColor_16GUIDRV_FlexColorGUIDRV_7529GUIDRV_BitPlainsGUIDRV_S1D15G00GUIDRV_SLinGUIDRV_SSD1926GUIDRV_S1D13748GUIDRV_IST3088GUIDRV_S1D13781GUIDRV_UC1698GGUIDRV SH_MEM
タッチスクリーン・タッチペン・キー入力
タッチスクリーンサポートは、AD入力、バウンス、キャリブレーションなどの低レベルドライバも含みます。タッチスクリーンドライバは100ms程度の周期起動なので必ずしもRTOSを使用する必要はありません。
・ マルチタッチ・ジェスチャー
マルチタッチサポートで10タッチポイントまで対応可能です。ジェスチャーサポートも可能です。
・ マルチ言語サポート
emWinは UTF-8エンコードでテキスト表示を行います。LTR(Left to Right)及びRTL(Right to Left)表示をサポートします。言語リソースファイルサポートでGUIアプリケーションのテキスト内容の言語は変更可能です。
・ フォントサポート
8、10、13、16ピクセルのプロポーショナルフォント及び4x6、6x8、6x9、8x8、8x9、8x16、8x17、8x18、24x32のフォントを基本パッケージに付属。
対応フォント:プロポーショナルフォント、モノスペースビットマップフォント、アンチエイリアスフォント、TrueTypeベクターフォント
・ フォント変換ツール
日本語サポートにはフォントコンバータが必要です。PCのフォントをCソースプログラム・バイナリデータに変換して使用することが出来ます。フォントファイルのマージ、未使用フォントデータの削除、指定空間フォントデータの有無設定が可能です。
※フォントのユーザーライセンス及び使用許可は含まれておりません。
・ イメージ・画像サポート:BMP、JPEG、GIF、PNG、EMF(emWin Movie Format) 動画作成用 JPEG2Movieツールを基本パッケージに付属。
・ カラーマネジメントシステムによりカラー変換可能(プログラムでの色設定と表示される色のマッピング可能)
・ マルチバッファモードをサポート
・ 低クロックの液晶コントローラの場合は、液晶データをメモリにキャッシュしてコントローラアクセス数を減らしてより良いパフォーマンスを実現
・ マルチレィヤ、マルチディスプレイモード
複数の画面を自由に重ね合わせて表示することができるので、複雑な図も自由に構成することができます。レイヤー同士を切り替えるだけでなくブレンドすることもできます。
・ アンチエイリアス
表示時にジャギーを目立たなくします。 抑止レベルも、表示内容により細かく設定できます。emWinは低品質(2bpp)と高品質(4bpp)の2つのタイプのアンチエリアシングフォントをサポートします。アンチエリアシングを使用して描画する場合、通常はアンチエリアシングを使用しない描画関数と同じ座標空間を使用します。これがデフォルトのモードです。
・ QRコードサポート
ユーザー指定のテキスト又はウエブリンク情報等QRコードに変更して画面にQR表示出来ます。
・ シミュレータサポート
simVisual C++ 又は Codeblocks/MinGW 環境上でのシミュレーションで画面表示の確認だけでなく、ターゲット上のキー入力などもシミュレーションすることができます。パソコン環境だけで全ての機能の確認及びデバッグ操作が可能です。パソコン側のWindows環境でもステップ実行デバッグ出来る emWinViewツールを無償提供しています。
仕 様
〈emWinの利点〉
これは、emWinが組み込みシステム用のグラフィックパッケージの市場をリードしている理由のいくつかです。
・ 任意のIDEとツールチェーンのサポート
・ どのマイクロコントローラもサポートされています
・ 人気の高いハードウェアプラットフォーム用の無料版
・ RTOSは不要
・ フレキシブルなメモリインターフェイス、グラフィックス、フォントは任意のメモリ空間に格納可能
・ シングルチップソリューション用に設計された小型フットプリント
・ VNCのサポート
・ 利用可能なソースコード
・ あらかじめ定義された標準スキン
・ サポートされているすべての標準グラフィックス(BMP、GIF、PNG、JPEG)
・ どのディスプレイコントローラもサポートされています
・ フレームバッファはマイクロコントローラとディスプレイコントローラで管理可能
・ 利用可能なウィンドウマネージャ
〈emWin言語サポート〉
emWinへのテキストの書き込みは、UTF-8エンコーディングに基づいています。UTF-8は、世界の文字体系の大部分をカバーするユニバーサル文字セット(UCS)と呼ばれるマルチオクテット文字セットを定義しています。UTF-8は、ファイルシステム、パーサー、およびASCII値に依存するが他の値に対して透過的なその他のソフトウェアとの互換性を提供して、完全なASCII範囲を保持するという特徴があります。emWinは、0x0000から0xFFFFまでのコードポイントをカバーする "Basic Multilingual Plane"(BMP、プレーン0)のすべての文字の描画をサポートしています。このBMPには、ほぼすべての現代語の文字と多数の特殊文字が含まれています。
・ 右から左および双方向のテキスト:ほとんどのスクリプトは左から右に書かれていますが(LTR)、ヘブライ語やアラビア語のように、右から左に書かれたスクリプト(RTL)があります。双方向(BIDI)テキストには、emWinでサポートされている両方向性のテキストが含まれています。Unicodeコンソーシアムは、RTLおよびLTRテキストをUnicode標準で組み合わせるための規則を定義しています。これは、文字の論理シーケンスを、一連の規則を観察して正しい視覚的提示に変換するアルゴリズムを規定している。emWinはテキストを描画する前に適切な視覚的順序を得るためにこれらの規則をフォローします。これは、Unicode標準の双方向テキストアルゴリズムの規則を守っています。
・ 言語リソースファイル:emWinは、テキスト行と言語リソースファイルを使用して、コード行を変更せずにアプリケーションのテキストを変更することをサポートしています。これは、CSV(カンマ区切り値)ファイルまたは各言語用のテキストファイルを使用することで実現できます。これらのファイルは、アドレス指定可能なRAM、またはNANDフラッシュやファイルシステムのようなアドレス指定不能な媒体に常駐できます。
〈emWinフォント〉
emWinは、異なるemWin固有タイプのフォントをサポートします。これは、アンチエイリアス、タイ語で要求されるような複合文字の描画をカバーします。これらのフォントは、どこにでも、ROM、RAMまたは任意の外部のアドレス指定可能なメディアに配置することができます。
emWinの機能は、TrueTypeフォントを使用することで強化できます。True- Typeは、Apple Computerが開発したアウトラインフォントの標準です。フォント開発者は、さまざまなフォントの高さでフォントを表示する方法を高度に制御できます。
TrueTypeフォントは、各文字のビットマップに基づくビットマップフォントとは異なり、ベクターグラフィックスに基づいています。ベクトル表現の利点は、損失のないスケーラビリティです。TTFのサポートは、David Turner、Robert Wilhelm、Werner LembergのFreeTypeフォントライブラリ(emWinの一部ではない)を使用することで実現できます。
〈ビットマップをemWin〉
emWinは、BMP、JPEG、GIF、PNGファイルだけでなく、いくつかの特定のフォーマットを含む幅広いイメージフォーマットをサポートしています。
コンパイル時に知られているビットマップを表示するには、emWin固有の形式の1つを使用することをお勧めします。アプリケーションがコンパイル時に知られていないイメージを表示する必要がある場合は、emWinでサポートされているグラフィックファイル形式でイメージを使用できるようにする必要があります。
この場合、画像ファイルはメモリまたは他の記憶装置に常駐することができる。使用可能なメモリの量が画像ファイルのサイズよりも小さい場合でも表示することができます。emWinはBMP、JPEG、GIFファイルをサポートしています。PNGファイルのサポートは、当社のWebサイトで入手可能なPNGライブラリを追加することで実現できます。
〈複数のレイヤ/複数のディスプレイを使用〉
最新のLCDコントローラの多くは、複数のレイヤーを使用することができます。それぞれのレイヤーは独自の色の濃さ、サイズ、位置で使用できます。1つのレイヤーごとに独自のディスプレイドライバを使用できます。これにより、複数のディスプレイを同時に使用したり、複数のレイヤーと複数のディスプレイを使用することができます。
要件/制限
・ 複数層のLCDコントローラOR
・ 複数のディスプレイを備えたハードウェア
〈マルチバッファリング〉
一般に、マルチバッファリングは、いくつかの望ましくない影響を避けることができる方法です。
・ スクリーンアイテムをアイテム別に描画するための目に見えるプロセス
・ 描画操作の重なりによるちらつき効果
・ 垂直ブランキング期間外の書き込み動作による引き裂き効果
多重バッファリングは、複数のフレームバッファを使用する方法です。基本的には以下のように動作します。複数のバッファを有効にすると、画面上に画像を生成するためにディスプレイコントローラによって使用されるフロントバッファと、描画操作に使用される1つ以上のバックバッファがあります。描画操作が完了すると、バックバッファが可視フロントバッファになります。
要件/制限
・ 直接アドレス可能なフレームバッファ。
・ 複数のフレームバッファ用に十分なビデオRAMが利用可能でなければなりません。
・ ティアリング効果を回避する必要がある場合は、ディスプレイコントローラのVSYNC信号に反応する必要があります。
〈emWinシミュレーション〉
Windowsホストシステム上でアプリケーションコードをコンパイルして実行します。
このシミュレーションにより、ホストPC上でemWinを実行することができ、ターゲット画面に表示されているものとまったく同じ表示内容が表示されます。
これにより、以下のことが可能になります。
・ お使いのPCにユーザーインターフェイスを設計します。
・ PC上のユーザーインターフェイスをデバッグします。
・ アプリケーションのデモを作成して、ユーザーインターフェイスを議論するのに使うことができます。
・ これにより、各レイヤーを独自のウィンドウに表示するか、コンポジットビュー(ディスプレイの内容を表す)を表示できます。
要件
・ Microsoft Visual StudioまたはCodeblocks / MinGW
〈アニメーション〉
アプリケーションにモーションを持ち込むことは、いくつかの方法で行うことができます。固定された一連のピクチャが機能せず、1つ以上のオブジェクトが位置、色、形、サイズなどのプロパティを一定期間内に変更する必要がある場合、emWinはその目的のためにアニメーションオブジェクトを提供します。
アニメーションのタイムライン中に複数のアニメーションアイテムをアニメーション化することができます。アニメーションアイテムは、アニメーションオブジェクトから位置値を受け取るカスタム定義ルーチンを意味する。その値は、現在の時点に依存して計算されます。計算は、事前定義された方法またはカスタム定義された方法によって行うことができる。
〈スプライト〉
「スプライト」は、画面上の他のすべてのグラフィックよりも上に表示できるイメージです。スプライトは、それがカバーする画面領域を保持します。いつでも画面の内容を復元することができます。複数の画像を使用したアニメーションが可能です。
スプライトは、他の描画操作やウィンドウ操作とは完全に独立しています。スプライトは描画操作やウィンドウ操作に影響しません。描画やウィンドウの操作はスプライトに影響しません。
つまり、スプライトは画面の「上」に座っているオブジェクトとして見ることができます。
動画
emWinには、特定の(E)mWin(M)ovie(F)ile形式(EMF)が付属しています。
利点:
・ メモリに必要なフレームは1つだけです。
・ 新しい圧縮解除アルゴリズムは必要ありません。
・ ライセンス料は必要ありません
emWinには、www.ffmpeg.orgで入手可能なオープンソースツールFFmpegに基づくFFMpegに基づくコンバータが付属しています。LGPLまたはGPLの下でライセンスされたフリーソフトウェアです。ほぼすべてのムービーファイルソース形式のファイルを任意の目的地形式に変換できます。また、単一のJPEGファイルにも変換できます。コンバータは非常に使いやすいです:コンバータのリンクにビデオファイルをドロップするだけです。
ツール等
・ シミュレータサポート
simVisual C++ 又は Codeblocks/MinGW 環境上でのシミュレーションで画面表示の確認だけでなく、ターゲット上のキー入力などもシミュレーションすることができます。パソコン環境だけで全ての機能の確認及びデバッグ操作が可能です。パソコン側のWindows環境でもステップ実行デバッグ出来る emWinViewツールを無償提供しています。
・ すぐに使用可能な複数ウィジェットをサポート
画面デザイン用GUIビルダーをサポート
簡単なドラッグ·ドロップでダイログインターフェースも作成及びプロパティ設定ができます。作成されたC言語のソースファイルにユーザーコードの入力が可能です。
・ emWinSPY:emWin用診断ツール
emwinspyemWinSPYはターゲット側のemWinプログラムの診断情報(メモリ使用量、イベントログ、ウィジェットステータス等)をランタイムで表示するツールです。ターゲットボードとのインターフェースはTCP/IP及びJ-Link RTTの2つを用意しています。emWinSPYプログラムからターゲット画面のスクリーンショット(BMP式)を取ることが出来ます。お客様製品のユーザーマニュアル、説明書等に記載するキャプチャ画面の取得に便利。
emWin VNCサーバーで遠隔操作可能
ネットワーク通信回線を通じてリモートPCからターゲット側の画面を見ながら装置をコントールできます。VNCサーバー機能で、ターゲット側のGUIアプリケーションの遠隔操作が可能です。
・ バーチャルスクリーン
vrt仮想のスクリーンを複数定義でき、場面に応じて、実際に表示するスクリーンを選択することができます。バーチャルスクリーンAPIで指定エリアだけを実際に表示(パンニング機能)することも可能です。
・ 各種評価ボード向けの無償評価版・サンプルプロジェクトを準備
ディスプレイドライバ
◆ ディスプレイドライバは、特定のディスプレイコントローラファミリをサポートします。ドライバは設定ファイルを変更することで設定できますが、ドライバ自体は変更する必要はありません。構成ファイルには、ハードウェアへのアクセス方法やコントローラのディスプレイへの接続方法など、ドライバに必要な情報がすべて含まれています。
〈直接アクセス可能なフレームバッファを持つシステム〉
直接アクセス可能なフレームバッファとは、データおよびアドレスバスを介してフレームバッファに直接アクセスできることを意味します。その場合、ドライバGUIDRV_Linを使用することができます。このドライバは、ダイレクトインターフェイス経由でアクセス可能なリニアビデオメモリを備えたすべてのディスプレイコントローラをサポートしています。ドライバはビデオメモリの内容のみを管理します。これは、ディスプレイコントローラのレジスタインタフェースから独立しており、各リニアマップビデオメモリの管理に使用できます。
〈間接アクセシビリティフレームバッファ付きディスプレイ〉
ダイレクト・インターフェースはCPUのアドレス・バスによってビデオ・メモリに直接アクセスするが、間接インターフェースはビデオ・メモリへのアクセスを得るためにディスプレイ・コントローラとのより複雑な通信を必要とする。LCDコントローラ側では、そのインタフェースはしばしば "MPU"インタフェースと呼ばれます。通常は、制御ラインとデータラインのセットで構成されます。emWin側では、これにはいくつかの簡単な通信ルーチンが必要です。これらは、LCDコントローラとの間で書込みおよび読出し動作のために呼び出されている。
◆ emWinの現在のインターフェイス用に開発された、現在利用可能な実行時構成可能ドライバの一覧です。
〈GUIDRV_FlexColor〉- 16,18 bits/pixe
・ Epson S1D19122
・ FocalTech FT1509
・ Himax HX8301, HX8325A, HX8340, HX8347, HX8352, HX8352B, HX8353, HX8357, HX8367
・ Hitachi HD66772
・ Ilitek ILI9163, ILI9220, ILI9221, ILI9320, ILI9325, ILI9328, ILI9335, ILI9338, ILI9340, ILI9341, ILI9342, ILI9481, ILI9486, ILI9488
・ LG Electronics LGDP4525, LGDP4531, LGDP4551
・ Lucid Display Technology LDT7138
・ Novatek NT39122
・ OriseTech SPFD5408, SPFD54124C, SPFD5414D
・ Raio RA8870, RA8875
・ Renesas R61505, R61516, R61526, R61580
・ Samsung S6D0117, S6E63D6
・ Sitronix ST7628, ST7637, ST7687, ST7712, ST7715, ST7735, ST7789, ST7796
・ Solomon SSD1284, SSD1289, SSD1298, SSD1351, SSD1355, SSD1961, SSD1963, SSD2119
・ Syncoam SEPS525
〈GUIDRV_IST30884〉
・ Integrated Solutions Technology IST3088, IST3257
〈GUIDRV_Lin〉 1, 2, 4, 8, 16, 24, 32 bits/pixe
このドライバは、ダイレクト(フルバス)インターフェイスを備えたリニアアドレス可能なビデオメモリを備えたすべてのディスプレイコントローラをサポートしています。これは、ビデオRAMがCPUのアドレスラインによって直接アドレス可能であることを意味する。ドライバにはコントローラ固有のコードは含まれていません。したがって、ビデオRAMのみを管理するドライバを必要とするディスプレイコントローラのないソリューションにも使用できます。
〈GUIDRV_S1D13513〉32 bits/pixe
・ Epson S1D13513
〈GUIDRV_S1D13748〉16 bits/pixe
・ Epson S1D13748
〈GUIDRV_S1D13781〉8 bits/pixe
・ Epson S1D13781
〈GUIDRV_S1D13L01〉8 bits/pixe
・ Epson S1D13L01
〈GUIDRV_S1D13L02〉16 bits/pixe
・ Epson S1D13L02
〈GUIDRV_S1D13L04〉24, 32 bits/pixe
・ Epson S1D13L04
〈GUIDRV_S1D15G00〉12bits/pixe
・ Epson S1D15G00
〈GUIDRV_SLin〉1, 2 bits/pixe
・ Epson S1D13305, S1D13700 (indirect interface only!)
・ Raio RA8835
・ Solomon SSD1325, SSD1848
・ Toshiba T6963
・ UltraChip UC1617
〈GUIDRV_SPage〉 1, 2, 4 bits/pixe
・ Avant Electronics SBN0064G
・ Epson S1D15E05, S1D15E06, S1D15605, S1D15606, S1D15607, S1D15608, S1D15705, S1D15710, S1D15714, S1D15719, S1D15721
・ Hitachi HD61202
・ Integrated Solutions Technology IST3020, IST3501
・ New Japan Radio Company NJU6676
・ Novatek NT7502, NT7534, NT7538, NT75451
・ Samsung KS0108, S6B0108, S6B0713, S6B0719, S6B0724, S6B1713
・ Sino Wealth SH1101A
・ Sitronix ST7522, ST75256, ST7565, ST7567, ST7570, ST7591
・ Solomon SSD1303, SSD1305, SSD1306, SSD1805, SSD1815, SSD1821
・ Sunplus SPLC501C
・ UltraChip UC1610, UC1601, UC1606, UC1608, UC1611, UC1628, UC1638, UC1701
〈GUIDRV_SSD1926〉8 bits/pixe
・ Solomon SSD1926
〈GUIDRV_UC1698G〉5 bits/pixe
・ UltraChip UC1698G
パッケージ
◆emWin PROライセンス
〈基本構成〉
・ ソースコード
・ アナログタッチスクリーンのサポート
・ 基本フォントcharset ISO 8859-1
・ emWinView
・ マウスサポート
・ シミュレーションライブラリ
〈追加モジュール〉
・ emアンチ・エイリアシング
・ emWinメモリデバイス
・ emWin MultiTouch
・ シミュレートソース
・ emVin VNCサーバー
・ em / WM /ウィジェット
〈ツール〉
・ ビットマップコンバータ
・ フォントコンバーター
〈ドライバ〉
・ emWinドライバが含まれています
〈アップデートとテクニカルサポート〉
・ 機能およびメンテナンスの更新
・ 技術サポート
◆emWin BASEカラー・ライセンス
〈基本構成〉
・ ソースコード
・ アナログタッチスクリーンのサポート
・ 基本フォントcharset ISO 8859-1
・ emWinView
・ マウスサポート
・ シミュレーションライブラリ
〈ツール〉
・ ビットマップコンバータ
〈アップデートとテクニカルサポート〉
・ 機能およびメンテナンスの更新
・ 技術サポート
◆emWin BASEグレースケール・ライセンス
〈基本構成〉
・ ソースコード
・ アナログタッチスクリーンのサポート
・ 基本フォントcharset ISO 8859-1
・ emWinView
・ マウスサポート
・ シミュレーションライブラリ
〈ツール〉
・ ビットマップコンバータ
〈アップデートとテクニカルサポート〉
・ 機能およびメンテナンスの更新
・ 技術サポート
◆emWinベースb/wライセンス
〈基本構成〉
・ ソースコード
・ アナログタッチスクリーンのサポート
・ 基本フォントcharset ISO 8859-1
・ emWinView
・ マウスサポート
・ シミュレーションライブラリ
〈ツール〉
・ ビットマップコンバータ
〈アップデートとテクニカルサポート〉
・ 機能およびメンテナンスの更新
・ 技術サポート
◆オプション・ライセンス
〈追加モジュール〉
・ emWin MultiTouch
・ シミュレートソース
・ emVin VNCサーバー
〈ツール〉
・ フォントコンバーター