Community Translation - Using emWin's QR-Code functions – KBA231613

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Kenshow
Level 8
Level 8
Distributor - Marubun (Japan)
50 solutions authored 25 solutions authored 10 solutions authored

Hi,               

I would like to translate KBA231613 into Japanese.

Please confirm to my work.

Thanks,

Kenshow

0 Likes
2 Replies
JennaJo
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

Hi, Kenshow-san

Confirm to work this KBA.

Thanks,

Jenna

Jenna Jo
0 Likes
lock attach
Attachments are accessible only for community members.
Kenshow
Level 8
Level 8
Distributor - Marubun (Japan)
50 solutions authored 25 solutions authored 10 solutions authored

Hi Jenna-san,

                                

Japanese translation was over.
Please check below.

Original KBA:

Using emWin's QR-Code functions – KBA231613

Thanks.

Kenshow

==============================

タイトル: emWinのQRコード機能の使用 – KBA231613

バージョン:**

SEGGER emWinライブラリをPSoC®デバイスで使用して、ディスプレイにGUI要素を作成できます。 バージョン5.34では、ユーザーがGUIディスプレイでQRコードを簡単に作成できる機能が追加されました。

それらは4つの関数へのAPI呼び出しを単純化しました:

  • GUI_QR_Create() コードのRAMベースの構造体を作成します。注:QRコードを読み取るための最良のコントラストを提供するには、明るい(白)背景色を使用します。
  • GUI_QR_Delete() コードのRAMベースの構造体を削除します。
  • GUI_QR_Draw() ディスプレイにQRコードのRAMベースの構造体を描画します。
  • GUI_QR_GetInfo() コードに関する物理情報を取得します。

  詳細については、emWinユーザーガイドおよびリファレンスマニュアルを参照してください。


GUIのプールメモリへのRAM割り当て:

                              

QRコードの生成には、かなりのRAMリソースが必要になる場合があります。より多くのRAMを必要とする要因は次のとおりです。

  • エンコードするコンテンツが大きいほど、より多くのRAMが必要になります。つまり、短いテキスト文字列はより少ないRAMを使用します。テキスト文字列が長いほど、より多くのRAMが必要になります。
  • QR「モジュール」で使用されるピクセル数。「モジュール」は、正方形の論理エンコーディング要素です。
  • ECCレベル。エラー訂正レベルが高いほど、より大きなQRビットマップが必要になります。
  • 「バージョン」が高いほど、間接的により多くのRAMが必要になる可能性があります。通常、Version = 0を使用して、コンテンツに基づいて必要なバージョンを自動検出します。

十分なGUIRAMメモリを使用できるようにするには、GUIConf.h#defineGUI_NUMBYTES設定しますSeggerは、この値を少なくとも0x10000設定することをお勧めします。これにより、ライブラリ全体にGUIプールRAMメモリが割り当てられ、QRコードや必要に応じて他のGUI機能に使用されます。

このRAMの量がアプリケーションに必要な量を超える場合は、提供できる最大量を割り当てます。次のステップとして、開発フェーズで、できるだけ多くのさまざまなユースケースを表示してアプリケーションを実行します。GUI_ALLOC_GetMaxUsedBytes()関数を含めて、アプリケーションで使用されているGUIRAMの実行時ピークカウントを取得します。GUI_NUMBYTESの値は、この最大値(プラス予防措置として10%)で修正することができます。

注: 通常、emWinライブラリに十分なRAMが割り当てられていない場合、SysLibフォルトでクラッシュする可能性があります。

コード例:

#include "GUI.h"

/* この例は、ディスプレイの右下隅に配置する単純なQRコード生成です。

「モジュール」は、最小の論理要素のQR定義です。「モジュール」のサイズは、使用されたピクセル数(1次元)です。このサイズは、「X」と「Y」の両方の大きさに使用されます。

*/

      GUI_HMEM qrCode = GUI_QR_Create(

“This is a text string.  It could be a URL address”,

// QRコードに使用されるUTF-8テキスト

      2, //「モジュール」サイズの1次元ピクセルサイズを定義します。

      GUI_QR_ECLEVEL_H, // ECCレベル。レベルが高いほど、エラー訂正が向上します。

       0 ); // QRの「バージョン」エンコーディングスタイル。値0は、必要なものを自動検出します。

/* QRCodeが仮想的に作成されたので、その大きさの情報を取得します。GUI_QR_GetInfo()を使用します。*/

GUI_QR_INFO pInfo;

    GUI_QR_GetInfo(

    qrCode,    // 描画するQRコードのハンドル。

      &pInfo);    // QR情報構造のメモリへのポインタ。

/* QR情報を使用して、1次元のQRCodeのサイズ(pInfo.Size)を決定します。右下隅に配置するには、ディスプレイのXサイズとYサイズから差し引きます */

    UI_QR_Draw(

    qrCode,                         //描画するQRコードのハンドル。

    LCD_GetXSize()-pInfo.Size, //ディスプレイのXサイズからビットマップの1次元サイズを減算します。

    LCD_GetYSize()-pInfo.Size); //ディスプレイのYサイズからビットマップの1次元サイズを減算します。

    GUI_QR_Delete(qrCode);  //描画するQRコードの処理。これはもう必要ありません。割り当てられたGUIRAMを解放します。

 

/* 使用しているディスプレイ(EINKなど)によっては、更新機能が必要になる場合があります。その他は自動的に更新される場合があります。*/

    /* ディスプレイバッファデータをディスプレイに送信します */

    UpdateDisplay(CY_EINK_FULL_4STAGE, true);   //表示を更新します。

SeggerWikiページの例を参照してください:https://wiki.segger.com/QR_Code_(Sample)

添付のPSoCCreator™ およびModusToolbox® プロジェクトは、さまざまなGUI_QR_Create()パラメータの設定の表示効果を示しています。

==============================

12-Nov-2020

Kenshow

0 Likes