[EthercatDevice_Dmp]
EthercatDevice_DmpLCD_Generic は、LCD EtherCATスレーブモジュール用にICOP社によって特別に開発されたEtherCATスレーブクラスです。さまざまな描画 APIを提供します。
* EthercatDevice_DmpLCD_Generic のクラス関係を次の図に示します:

EthercatDevice_DmpLCD_Generic は _EthercatDevice_DmpCommonDriveから継承します。.
基本クラス:
- _EthercatDevice_CommonDriver
派生クラス:
クラス名 | 製造者ID | 製品コード |
EthercatDevice_QECR11UN01 | 0x00000bc3 | 0x0086d103 |
EthercatDevice_QECR00UN01 | 0x00000bc3 | 0x0086d100 |
LCD Module Table:
ID | LCM Driver IC | 分解能 | Xp | Yp | Xm | Ym |
0 | ILI9341 | 240 X 320 | D9 | A2 | A3 | D8 |
1 | ILI9341 | 240 X 320 | D6 | A1 | A2 | D7 |
2 | ILI9488 | 320 X 480 | D8 | A3 | A2 | D9 |
3 | ILI9486 | 320 X 480 | X | X | X | X |
4 | HX8347-I(T) | 240 X 320 | D9 | A2 | A3 | D8 |
5 | HX8347-D | 240 X 320 | D9 | A2 | A3 | D8 |
LCD Module List:
ECAT_LCD_UNKNOWN_ID (0xFFFF)
ECAT_LCD_ILI9341_1 (0)
ECAT_LCD_ILI9341_2 (1)
ECAT_LCD_ILI9488_1 (2)
ECAT_LCD_ILI9486_1 (3)
ECAT_LCD_HX8347I_1 (4)
ECAT_LCD_HX8347D_1 (5)
RGB565について
RGB565 は、画像内のピクセルの色情報を表すために使用されるカラー・フォーマットです。1ピクセルの色情報をエンコードするために16ビット(2バイト) を使用します。「RGB565」という名前は、赤、緑、青の3つの原色間のビットの配分を示しています。
- Red (R): 5 bits
- Green (G): 6 bits
- Blue (B): 5 bits
人間の目は赤や青に比べて緑の変化に敏感なので、赤や青よりも緑が優先されます。

各色成分に割り当てられるビット数が少ないため、RGB565は24ビットRGBや16ビットRGB に比べてカラー・パレットが小さくなります。赤と青の可能な値は 25 = 32、緑の可能な値は 26 = 64 で、合計32 x 64 x 32 = 65,536色を表現できます。
簡単に参照またはテストするため、RGB565カラー・コードをいくつか示します:

RGB888をRGB565に変換する
24ビットRGBからRGB565への変換には、カラー量子化と呼ばれるプロセスが伴います。24ビットと16 ビットRGB間の変換と同様に、このプロセスでは色の数が削減され、RGB565パレット内で最も近い使用可能な色が割り当てられます。これにより、多少の色の損失が発生する可能性がありますが、特定のアプリケーションでは、効率性と色の精度のトレードオフが許容される可能性があります。以下は、C コードで RGB888 を RGB565 に変換する例です。
uint16_t rgb888_to_rgb565(uint8_t r, uint8_t g, uint8_t b) { return ((r >> 3) << 11) | ((g >> 2) << 5) | (b >> 3); }
初期化関数
EthercatDevice_DmpLCD_Genericクラスの初期化関連関数。
制御関数
EthercatDevice_DmpLCD_Genericクラスの制御関数。
LCD関数
EthercatDevice_DmpLCD_GenericクラスのLCD関数。
- lcdInit()
- lcdFlush()
- lcdWidth()
- lcdHeight()
- lcdGetRotation()
- lcdSetRotation()
- lcdDrawPixel()
- lcdDrawFastHLine()
- lcdDrawFastVLine()
- lcdDrawLine()
- lcdFillRect()
- lcdDrawRect()
- lcdFillCircle()
- lcdDrawCircle()
- lcdFillTriangle()
- lcdDrawTriangle()
- lcdFillRoundRect()
- lcdDrawRoundRect()
- lcdFillScreen()
- lcdSetAddrWindow()
- lcdPushColors()
- lcdSetTextCursor()
- lcdSetTextColor()
- lcdSetTextSize()
- lcdSetTextWrap()
- lcdPrint()
Touch Screen Functions
EthercatDevice_DmpLCD_Genericクラスのタッチスクリーン関数。
詳細は EtherCAT Library User Manual QEC EtherCAT命令とAPI使用法参照