다운로드 교육자료 문제해결 레퍼런스 구입방법

레퍼런스 매뉴얼 : 프로세싱 : 숙련자용 : Robot

개요
로봇을 구성하는 로보이드 또는 디바이스를 찾거나 로봇을 제어하기 위한 메소드를 정의합니다.
메소드
버전 1.1.2부터
void addDeviceDataChangedListener(String listener)
디바이스의 데이터가 갱신되었을 때 호출되도록 listener를 등록한다.

listener는 디바이스의 데이터 형에 따라 다음의 3가지 중 하나의 형태를 가지는 콜백 함수의 이름이다.
  • void onDeviceDataChanged(Device device, int[] values)
  • void onDeviceDataChanged(Device device, float[] values)
  • void onDeviceDataChanged(Device device, String[] values)

함수 이름이 onDeviceDataChanged일 필요는 없다. 여기서 device는 데이터가 갱신된 디바이스이고, values는 해당 디바이스(device)의 데이터 배열이다.

파라미터:
  • listener: 등록할 콜백 함수의 이름

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void onDeviceDataChanged(Device device, int[] values) {
    if(device.getId() == Hamster.LEFT_PROXIMITY) {
        int leftProximity = values[0];
    }
}

void setup() {
    hamster = Hamster.create(this);
    // 콜백 함수를 등록한다.
    hamster.addDeviceDataChangedListener("onDeviceDataChanged");
}

void draw() {
}
버전 1.1.0부터
void clearDeviceDataChangedListeners()
등록된 모든 콜백 함수를 제거한다.
버전 1.1.0부터
void dispose()
로봇의 통신 연결을 종료한다.
버전 1.0.0부터
boolean e(int deviceId)
ID가 deviceId인 디바이스의 데이터가 갱신되었는지 확인한다.

ID가 deviceId인 디바이스가 없으면 false를 반환한다. 센서 또는 이펙터 디바이스는 데이터가 계속 갱신되기 때문에 확인할 필요가 없지만, 커맨드 또는 이벤트 디바이스는 데이터를 읽기 전에 반드시 이 메소드를 사용하여 데이터가 갱신되었는지 확인해야 한다. 그렇지 않으면 커맨드 또는 이벤트가 발생한 시점을 알 수가 없기 때문에 현재 발생한 커맨드 또는 이벤트의 데이터가 아니라 과거에 발생하였던 커맨드 또는 이벤트의 데이터를 읽을 수도 있다.

파라미터:
  • deviceId: 디바이스 ID

반환 값:
    디바이스의 데이터가 갱신되었으면 true, 아니면 false

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    if(hamster.e(Hamster.LINE_TRACER_STATE)) { // 데이터가 갱신되었는지 확인한다.
        int state = hamster.read(Hamster.LINE_TRACER_STATE); // 데이터를 읽는다.
    }
}
버전 1.0.0부터
Device findDeviceById(int deviceId)
ID가 deviceId인 디바이스를 찾는다.

ID가 deviceId인 디바이스가 없으면 null을 반환한다.

파라미터:
  • deviceId: 찾을 디바이스의 ID

반환 값:
    Device 인스턴스의 참조 또는 null

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
    // 왼쪽 바퀴 디바이스를 찾는다.
    Device device = hamster.findDeviceById(Hamster.LEFT_WHEEL);
}

void draw() {
}
버전 1.0.0부터
Device findDeviceByName(String name)
이름이 name인 디바이스를 찾는다.

이름이 name인 디바이스가 없으면 null을 반환한다. 이 때, 자식 로보이드에 포함된 디바이스의 이름은 "자식로보이드.디바이스"와 같이 "."으로 구분된 형식을 사용한다. 예: "Hamster.LeftWheel"

파라미터:
  • name: 찾을 디바이스의 이름

반환 값:
    Device 인스턴스의 참조 또는 null

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
    // 왼쪽 바퀴 디바이스를 찾는다.
    Device device = hamster.findDeviceByName("Hamster.LeftWheel");
}

void draw() {
}
버전 1.0.0부터
Roboid findRoboidByName(String name)
이름이 name인 로보이드를 찾는다.

이름이 name인 로보이드가 없으면 null을 반환한다. 이 때, 자식 로보이드에 포함된 로보이드의 이름은 "자식로보이드.로보이드"와 같이 "."으로 구분된 형식을 사용한다. 예: "Child.Pen"

파라미터:
  • name: 찾을 로보이드의 이름

반환 값:
    Roboid 인스턴스의 참조 또는 null

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
    Roboid roboid = hamster.findRoboidByName("Hamster");
}

void draw() {
}
버전 1.0.0부터
String getId()
로봇의 ID를 반환한다.

반환 값:
    로봇의 ID를 나타내는 문자열

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // 로봇의 ID를 얻는다.
    String id = hamster.getId();
}
버전 1.0.0부터
int getIndex()
몇 번째 로봇인지를 나타내는 인덱스를 반환한다.

로봇의 인스턴스를 생성할 때 순서대로 0부터 시작하여 부여되는 일련 번호이다. 인덱스는 로봇들을 모델 기준으로 그룹핑하여 각 그룹 별로 순서대로 일련 번호가 부여된다. 즉, 로봇의 모델이 다르면 인덱스는 0부터 새로 시작한다. 따라서 로봇의 모델 ID와 인덱스를 사용하여 각각의 로봇을 구분할 수 있다.

예를 들어 햄스터 로봇 3대와 거북이 로봇 2대를 사용 중이라면, 햄스터 로봇 3대가 순서대로 0, 1, 2의 일련 번호(인덱스)를 가지고, 거북이 로봇 2대가 0, 1의 일련 번호(인덱스)를 가진다.

반환 값:
    몇 번째 로봇인지를 나타내는 인덱스

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // 첫 번째 햄스터 로봇임을 확인한다.
    if(hamster.getIndex() == 0) {
    }
}
버전 1.0.0부터
String getName()
로봇의 이름을 반환한다.

반환 값:
    로봇의 이름을 나타내는 문자열. 항상 null이 아니다.

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // 로봇의 이름을 얻는다.
    String name = hamster.getName();
}
버전 1.0.0부터
int read(int deviceId)
ID가 deviceId인 디바이스의 데이터 배열에서 인덱스 0의 위치에 있는 데이터를 정수 값으로 반환한다.

ID가 deviceId인 디바이스가 없으면 0을 반환한다. 디바이스의 데이터 배열 크기가 0인 경우에는 0을 반환한다. 디바이스의 데이터 형이 DataType.STRING인 경우에는 0을 반환한다.

파라미터:
  • deviceId: 디바이스 ID

반환 값:
    디바이스의 데이터 값 또는 0

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // 왼쪽 근접 센서 값을 얻는다.
    int value = hamster.read(Hamster.LEFT_PROXIMITY);
}
버전 1.0.0부터
int read(int deviceId, int index)
ID가 deviceId인 디바이스의 데이터 배열에서 인덱스가 index인 위치에 있는 데이터를 정수 값으로 반환한다.

ID가 deviceId인 디바이스가 없으면 0을 반환한다. index가 디바이스의 데이터 배열 크기보다 크거나 같은 경우, 혹은 index가 음수인 경우에는 0을 반환한다. 디바이스의 데이터 형이 DataType.STRING인 경우에는 0을 반환한다.

파라미터:
  • deviceId: 디바이스 ID
  • index: 디바이스 데이터 배열의 인덱스

반환 값:
    디바이스의 데이터 값 또는 0

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // Y축 가속도 값을 얻는다.
    int value = hamster.read(Hamster.ACCELERATION, 1);
}
버전 1.0.0부터
int read(int deviceId, int[] data)
ID가 deviceId인 디바이스의 데이터 배열을 정수형 배열 data에 복사하고, 복사한 데이터의 개수를 반환한다.

ID가 deviceId인 디바이스가 없으면 0을 반환한다. data 배열의 크기가 디바이스의 데이터 배열 크기보다 작은 경우에는 data 배열의 크기만큼만 복사한다. 디바이스의 데이터 배열 크기가 data 배열의 크기보다 작은 경우에는 디바이스의 데이터 배열 크기만큼만 복사한다. data 배열이 null인 경우, data 배열의 크기가 0인 경우, 디바이스의 데이터 형이 DataType.STRING인인 경우에는 복사하지 않고 0을 반환한다.

파라미터:
  • deviceId: 디바이스 ID
  • data: 디바이스의 데이터 배열을 복사할 정수형 배열

반환 값:
    복사한 데이터의 개수

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    int[] data = new int[3];
    // 3축 가속도 센서 값을 모두 얻는다.
    hamster.read(Hamster.ACCELERATION, data);
}
버전 1.0.0부터
float readFloat(int deviceId)
ID가 deviceId인 디바이스의 데이터 배열에서 인덱스 0의 위치에 있는 데이터를 실수 값으로 반환한다.

ID가 deviceId인 디바이스가 없으면 0.0을 반환한다. 디바이스의 데이터 배열 크기가 0인 경우에는 0.0을 반환한다. 디바이스의 데이터 형이 DataType.STRING인 경우에는 0.0을 반환한다.

파라미터:
  • deviceId: 디바이스 ID

반환 값:
    디바이스의 데이터 값 또는 0.0
버전 1.0.0부터
int readFloat(int deviceId, float[] data)
ID가 deviceId인 디바이스의 데이터 배열을 실수형 배열 data에 복사하고, 복사한 데이터의 개수를 반환한다.

ID가 deviceId인 디바이스가 없으면 0을 반환한다. data 배열의 크기가 디바이스의 데이터 배열 크기보다 작은 경우에는 data 배열의 크기만큼만 복사한다. 디바이스의 데이터 배열 크기가 data 배열의 크기보다 작은 경우에는 디바이스의 데이터 배열 크기만큼만 복사한다. data 배열이 null인 경우, data 배열의 크기가 0인 경우, 디바이스의 데이터 형이 DataType.STRING인 경우에는 복사하지 않고 0을 반환한다.

파라미터:
  • deviceId: 디바이스 ID
  • data: 디바이스의 데이터 배열을 복사할 실수형 배열

반환 값:
    복사한 데이터의 개수
버전 1.0.0부터
float readFloat(int deviceId, int index)
ID가 deviceId인 디바이스의 데이터 배열에서 인덱스가 index인 위치에 있는 데이터를 실수 값으로 반환한다.

ID가 deviceId인 디바이스가 없으면 0.0을 반환한다. index가 디바이스의 데이터 배열 크기보다 크거나 같은 경우, 혹은 index가 음수인 경우에는 0.0을 반환한다. 디바이스의 데이터 형이 DataType.STRING인 경우에는 0.0을 반환한다.

파라미터:
  • deviceId: 디바이스 ID
  • index: 디바이스 데이터 배열의 인덱스

반환 값:
    디바이스의 데이터 값 또는 0.0
버전 1.0.0부터
String readString(int deviceId)
ID가 deviceId인 디바이스의 데이터 배열에서 인덱스 0의 위치에 있는 데이터를 스트링으로 반환한다.

ID가 deviceId인 디바이스가 없으면 빈 문자열("")을 반환한다. 디바이스의 데이터 배열 크기가 0인 경우에는 빈 문자열("")을 반환한다. 디바이스의 데이터 형이 DataType.STRING이 아닌 경우에는 빈 문자열("")을 반환한다.

파라미터:
  • deviceId: 디바이스 ID

반환 값:
    디바이스의 데이터 값 또는 빈 문자열("")
버전 1.0.0부터
String readString(int deviceId, int index)
ID가 deviceId인 디바이스의 데이터 배열에서 인덱스가 index인 위치에 있는 데이터를 스트링으로 반환한다.

ID가 deviceId인 디바이스가 없으면 빈 문자열("")을 반환한다. index가 디바이스의 데이터 배열 크기보다 크거나 같은 경우, 혹은 index가 음수인 경우에는 빈 문자열("")을 반환한다. 디바이스의 데이터 형이 DataType.STRING이 아닌 경우에는 빈 문자열("")을 반환한다.

파라미터:
  • deviceId: 디바이스 ID
  • index: 디바이스 데이터 배열의 인덱스

반환 값:
    디바이스의 데이터 값 또는 빈 문자열("")
버전 1.0.0부터
int readString(int deviceId, String[] data)
ID가 deviceId인 디바이스의 데이터 배열을 스트링 배열 data에 복사하고, 복사한 데이터의 개수를 반환한다.

ID가 deviceId인 디바이스가 없으면 0을 반환한다. data 배열의 크기가 디바이스의 데이터 배열 크기보다 작은 경우에는 data 배열의 크기만큼만 복사한다. 디바이스의 데이터 배열 크기가 data 배열의 크기보다 작은 경우에는 디바이스의 데이터 배열 크기만큼만 복사한다. data 배열이 null인 경우, data 배열의 크기가 0인 경우, 디바이스의 데이터 형이 DataType.STRING이 아닌 경우에는 복사하지 않고 0을 반환한다.

파라미터:
  • deviceId: 디바이스 ID
  • data: 디바이스의 데이터 배열을 복사할 스트링 배열

반환 값:
    복사한 데이터의 개수
버전 1.1.2부터
void removeDeviceDataChangedListener(String listener)
등록된 콜백 함수 목록에서 listener를 제거한다.

listener는 디바이스의 데이터 형에 따라 다음의 3가지 중 하나의 형태를 가지는 콜백 함수의 이름이다.
  • void onDeviceDataChanged(Device device, int[] values)
  • void onDeviceDataChanged(Device device, float[] values)
  • void onDeviceDataChanged(Device device, String[] values)

함수 이름이 onDeviceDataChanged일 필요는 없다. 여기서 device는 데이터가 갱신된 디바이스이고, values는 해당 디바이스(device)의 데이터 배열이다.

파라미터:
  • listener: 제거할 콜백 함수의 이름

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void onDeviceDataChanged(Device device, int[] values) {
    if(device.getId() == Hamster.LEFT_PROXIMITY) {
        int leftProximity = values[0];
    }
}

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // 콜백 함수를 제거한다.
    hamster.removeDeviceDataChangedListener("onDeviceDataChanged");
}
버전 1.1.1부터
void reset()
모든 디바이스의 데이터를 초기화한다.
버전 1.1.0부터
void setName(String name)
로봇의 이름을 name으로 설정한다.

파라미터:
  • name: 설정할 로봇의 이름. null을 입력한 경우에는 이름이 빈 문자열("")로 설정된다.

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // 로봇의 이름을 "Hamster"로 설정한다.
    hamster.setName("Hamster");
}
버전 1.0.0부터
boolean write(int deviceId, int data)
ID가 deviceId인 디바이스의 데이터 배열에서 인덱스 0의 위치에 정수 값 data를 쓴다.

ID가 deviceId인 디바이스가 없으면 false를 반환한다. 디바이스의 데이터 배열 크기가 0인 경우에는 쓰지 않고 false를 반환한다. 디바이스의 데이터 형이 DataType.STRING인 경우에는 쓰지 않고 false를 반환한다.

파라미터:
  • deviceId: 디바이스 ID
  • data: 디바이스에 쓸 정수 값 데이터

반환 값:
    성공하면 true, 실패하면 false

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // 왼쪽 바퀴의 속도를 30으로 한다.
    hamster.write(Hamster.LEFT_WHEEL, 30);
}
버전 1.0.0부터
boolean write(int deviceId, int index, int data)
ID가 deviceId인 디바이스의 데이터 배열에서 인덱스가 index인 위치에 정수 값 data를 쓴다.

ID가 deviceId인 디바이스가 없으면 false를 반환한다. index가 디바이스의 데이터 배열 크기보다 크거나 같은 경우, 혹은 index가 음수인 경우에는 쓰지 않고 false를 반환한다. 디바이스의 데이터 형이 DataType.STRING인 경우에는 쓰지 않고 false를 반환한다.

파라미터:
  • deviceId: 디바이스 ID
  • index: 디바이스 데이터 배열의 인덱스
  • data: 디바이스에 쓸 정수 값 데이터

반환 값:
    성공하면 true, 실패하면 false

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // 왼쪽 바퀴의 속도를 30으로 한다.
    hamster.write(Hamster.LEFT_WHEEL, 0, 30);
}
버전 1.0.0부터
int write(int deviceId, int[] data)
ID가 deviceId인 디바이스의 데이터 배열에 정수형 배열 data를 복사하고, 복사한 데이터의 개수를 반환한다.

ID가 deviceId인 디바이스가 없으면 0을 반환한다. data 배열의 크기가 디바이스의 데이터 배열 크기보다 작은 경우에는 data 배열의 크기만큼만 복사한다. 디바이스의 데이터 배열 크기가 data 배열의 크기보다 작은 경우에는 디바이스의 데이터 배열 크기만큼만 복사한다. data 배열이 null인 경우, data 배열의 크기가 0인 경우, 디바이스의 데이터 형이 DataType.STRING인 경우에는 복사하지 않고 0을 반환한다. 디바이스의 데이터 배열 크기가 가변적인 경우(데이터 배열 크기가 -1로 지정된 경우)에는 data 배열의 크기만큼 디바이스의 데이터 배열을 새로 만들어서 data 배열을 복사한다.

파라미터:
  • deviceId: 디바이스 ID
  • data: 디바이스의 데이터 배열에 복사할 정수형 배열

반환 값:
    복사한 데이터의 개수
버전 1.0.0부터
boolean writeFloat(int deviceId, float data)
ID가 deviceId인 디바이스의 데이터 배열에서 인덱스 0의 위치에 실수 값 data를 쓴다.

ID가 deviceId인 디바이스가 없으면 false를 반환한다. 디바이스의 데이터 배열 크기가 0인 경우에는 쓰지 않고 false를 반환한다. 디바이스의 데이터 형이 DataType.STRING인 경우에는 쓰지 않고 false를 반환한다.

파라미터:
  • deviceId: 디바이스 ID
  • data: 디바이스에 쓸 실수 값 데이터

반환 값:
    성공하면 true, 실패하면 false

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // 버저 소리의 음 높이를 261.63 Hz로 한다.
    hamster.writeFloat(Hamster.BUZZER, 261.63);
}
버전 1.0.0부터
int writeFloat(int deviceId, float[] data)
ID가 deviceId인 디바이스의 데이터 배열에 실수형 배열 data를 복사하고, 복사한 데이터의 개수를 반환한다.

ID가 deviceId인 디바이스가 없으면 0을 반환한다. data 배열의 크기가 디바이스의 데이터 배열 크기보다 작은 경우에는 data 배열의 크기만큼만 복사한다. 디바이스의 데이터 배열 크기가 data 배열의 크기보다 작은 경우에는 디바이스의 데이터 배열 크기만큼만 복사한다. data 배열이 null인 경우, data 배열의 크기가 0인 경우, 디바이스의 데이터 형이 DataType.STRING인 경우에는 복사하지 않고 0을 반환한다. 디바이스의 데이터 배열 크기가 가변적인 경우(데이터 배열 크기가 -1로 지정된 경우)에는 data 배열의 크기만큼 디바이스의 데이터 배열을 새로 만들어서 data 배열을 복사한다.

파라미터:
  • deviceId: 디바이스 ID
  • data: 디바이스의 데이터 배열에 복사할 실수형 배열

반환 값:
    복사한 데이터의 개수
버전 1.0.0부터
boolean writeFloat(int deviceId, int index, float data)
ID가 deviceId인 디바이스의 데이터 배열에서 인덱스가 index인 위치에 실수 값 data를 쓴다.

ID가 deviceId인 디바이스가 없으면 false를 반환한다. index가 디바이스의 데이터 배열 크기보다 크거나 같은 경우, 혹은 index가 음수인 경우에는 쓰지 않고 false를 반환한다. 디바이스의 데이터 형이 DataType.STRING인 경우에는 쓰지 않고 false를 반환한다.

파라미터:
  • deviceId: 디바이스 ID
  • index: 디바이스 데이터 배열의 인덱스
  • data: 디바이스에 쓸 실수 값 데이터

반환 값:
    성공하면 true, 실패하면 false

import org.roboid.runtime.*;
import org.roboid.hamster.*;
import org.roboid.robot.*;

Hamster hamster;

void setup() {
    hamster = Hamster.create(this);
}

void draw() {
}

void run() {
    // 버저 소리의 음 높이를 261.63 Hz로 한다.
    hamster.writeFloat(Hamster.BUZZER, 0, 261.63);
}
버전 1.0.0부터
boolean writeString(int deviceId, int index, String data)
ID가 deviceId인 디바이스의 데이터 배열에서 인덱스가 index인 위치에 스트링 data를 쓴다.

ID가 deviceId인 디바이스가 없으면 false를 반환한다. index가 디바이스의 데이터 배열 크기보다 크거나 같은 경우, 혹은 index가 음수인 경우에는 쓰지 않고 false를 반환한다. 디바이스의 데이터 형이 DataType.STRING이 아닌 경우에는 쓰지 않고 false를 반환한다.

파라미터:
  • deviceId: 디바이스 ID
  • index: 디바이스 데이터 배열의 인덱스
  • data: 디바이스에 쓸 스트링 데이터

반환 값:
    성공하면 true, 실패하면 false
버전 1.0.0부터
boolean writeString(int deviceId, String data)
ID가 deviceId인 디바이스의 데이터 배열에서 인덱스 0의 위치에 스트링 data를 쓴다

ID가 deviceId인 디바이스가 없으면 false를 반환한다. 디바이스의 데이터 배열 크기가 0인 경우에는 쓰지 않고 false를 반환한다. 디바이스의 데이터 형이 DataType.STRING이 아닌 경우에는 쓰지 않고 false를 반환한다.

파라미터:
  • deviceId: 디바이스 ID
  • data: 디바이스에 쓸 스트링 데이터

반환 값:
    성공하면 true, 실패하면 false
버전 1.0.0부터
int writeString(int deviceId, String[] data)
ID가 deviceId인 디바이스의 데이터 배열에 스트링 배열 data를 복사하고, 복사한 데이터의 개수를 반환한다.

ID가 deviceId인 디바이스가 없으면 0을 반환한다. data 배열의 크기가 디바이스의 데이터 배열 크기보다 작은 경우에는 data 배열의 크기만큼만 복사한다. 디바이스의 데이터 배열 크기가 data 배열의 크기보다 작은 경우에는 디바이스의 데이터 배열 크기만큼만 복사한다. data 배열이 null인 경우, data 배열의 크기가 0인 경우, 디바이스의 데이터 형이 DataType.STRING이 아닌 경우에는 복사하지 않고 0을 반환한다. 디바이스의 데이터 배열 크기가 가변적인 경우(데이터 배열 크기가 -1로 지정된 경우)에는 data 배열의 크기만큼 디바이스의 데이터 배열을 새로 만들어서 data 배열을 복사한다.

파라미터:
  • deviceId: 디바이스 ID
  • data: 디바이스의 데이터 배열에 복사할 스트링 배열

반환 값:
    복사한 데이터의 개수
Copyright 로봇SW교육원 All rights reserved.
어려운 일이 있으면 광운대학교 로봇학부 박광현 교수(akaii@kw.ac.kr)에게 연락하세요.