サイト内検索

検索

Shares

Table of Content

EthercatDevice_DmpLCD.lcdPushColors()

[EthercatDevice_DmpLCD_Generic]

説明

ピクセル描画のために、16 ビットのカラー値の配列をEtherCATスレーブデバイスのLCDディスプレイに送信します。この関数は、描画操作のアドレス・ウィンドウを定義するために lcdSetAddrWindow() 関数が前に呼び出されていることを前提としています。

EthercatDevice_DmpLCD.lcdPushColors-1

派生クラス:

クラス名製造者ID製品コード
EthercatDevice_QECR11UN010x00000bc30x0086d103
EthercatDevice_QECR00UN010x00000bc30x0086d100

構文

int lcdPushColors(uint16_t *data, uint8_t len, bool first);

媒介変数

  • [in] uint16_t *data
    16ビット・カラー値の配列へのポインタ。配列内の各要素は、表示されるピクセルの色を表します。
  • [in] uint8_t len
    データ配列内の16ビット・カラー値の長さ。これは、描画されるピクセルの合計数を示します。データ配列の長さが LCDアドレス・ウィンドウのピクセル数を超える場合、超過部分は LCDアドレス・ウィンドウの左上隅から描画されます。
  • [in] bool first
    この変数を true に設定すると、現在の描画位置が LCDアドレス・ウィンドウの左上隅に戻ります。false に設定すると、現在の描画位置は変更されません。

戻り値

error codeを戻します。 error codeを示します。返された値が 0の場合、この関数が正常に完了したことを示します。

備考

この関数は、 EthercatMaster::begin()が正常に実行された後で呼び出す必要があります。この関数はブロッキングされているため、循環コールバック関数内で呼び出すことができません。

#include "Ethercat.h"

EthercatMaster master;
EthercatDevice_QECR00UN01 slave;

uint16_t buffer[256];

void CyclicCallback() {
  slave.update();
}

void setup() {
  master.begin();
  slave.attach(0, master);
  slave.lcdInit(ECAT_LCD_ILI9341_1);
  master.attachCyclicCallback(CyclicCallback);
  master.start();

  for (int i = 0; i < 128; i++)
    buffer[i] = 0xFFE0;
  for (int i = 0; i < 128; i++)
    buffer[i + 128] = 0xF800;
  
  slave.lcdSetAddrWindow(100, 100, 115, 115);
  slave.lcdPushColors(&buffer[0], 128, true);
  slave.lcdPushColors(&buffer[128], 128, false);
}

void loop() {
  // ...
}

Please see EthercatDevice_DmpLCD_Generic Class for more QEC Stepper Drivers instructions and API usage.

上部へスクロール