サイト内検索

検索

Shares

Table of Content

EthercatDevice_DmpLCD.lcdSetAddrWindow()

[EthercatDevice_DmpLCD_Generic]

説明

EtherCATスレーブデバイスのLCDディスプレイにアドレス・ウィンドウを設定します。その後のピクセル描画操作はこの領域内で実行されます。 lcdPushColors() 関数と組み合わせて使用します。

EthercatDevice_DmpLCD.lcdSetAddrWindow-1

派生クラス:

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

構文

int lcdSetAddrWindow(int x1, int y1, int x2, int y2);

媒介変数

  • [in] int x1
    ウィンドウの左上隅のX座標。
  • [in] int y1
    ウィンドウの左上隅のY座標。
  • [in] int x2
    ウィンドウの右下隅のX座標。有効なウィンドウでは、x2 は x1以上である必要があります。
  • [in] int y2
    ウィンドウの右下隅のY座標。有効なウィンドウでは、y2 は y1以上である必要があります。

戻り値

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.

上部へスクロール