public static const

Action.Localization

org.smartrobot.android.action.Action.Localization

Overview

내비게이션 패드 위에서 OID 코드 값을 위치 값으로 변환하는 액션의 모델 ID와 각 디바이스의 ID에 대한 상수 값을 정의한다.

Action.Localization은 1개의 센서 디바이스와 2개의 커맨드 디바이스로 구성되어 있으며, 각 디바이스의 데이터는 정수형 배열로 선언되어 있다.

종류 디바이스 ID 디바이스 이름 데이터 형 배열 크기 단위 값의 범위 초기 값
커맨드 COMMAND_PAD_SIZE "PadSize" 정수 2 0 ~ 40000 (0: 유효하지 않은 값) 0 (유효하지 않은 값)
커맨드 COMMAND_OID "OID" 정수 1 -1 ~ 65535 (-1: 유효하지 않은 값) -1 (유효하지 않은 값)
센서 SENSOR_POSITION "Position" 정수 2 -1 ~ 39999 (-1: 유효하지 않은 값) -1 (유효하지 않은 값)

  • COMMAND_PAD_SIZE
    내비게이션 패드의 크기를 나타낸다. 크기 2의 데이터 배열에서 첫 번째 값은 패드의 가로 크기, 두 번째 값은 패드의 세로 크기이다. 가로 크기와 세로 크기의 곱(면적)은 40000을 넘을 수 없다. 즉, 가로 크기가 1인 경우에는 세로 크기가 1 ~ 40000까지 가능하고, 가로 크기가 200인 경우에는 세로 크기가 1 ~ 200까지 가능하다.
  • COMMAND_OID
    내비게이션 패드의 OID 코드 값을 나타낸다.
  • SENSOR_POSITION
    내비게이션 패드 위에서 OID 코드 값에 해당하는 위치를 나타낸다. 크기 2의 데이터 배열에서 첫 번째 값은 X축 좌표, 두 번째 값은 Y축 좌표 값이다.

Action.Localization은 activate() 메소드로 시작하여 deactivate() 메소드로 중지할 때까지 실행된다.

 function someMethod(action:Action):void
 {
     var devicePadSize:Device = action.findDeviceById(Action.Localization.COMMAND_PAD_SIZE); // 패드 크기 커맨드 디바이스를 얻는다.
     devicePadSize.write(0, 108); // 패드의 폭 값을 쓴다.
     devicePadSize.write(1, 76); // 패드의 높이 값을 쓴다.

     var deviceOID:Device = action.findDeviceById(Action.Localization.COMMAND_OID); // OID 커맨드 디바이스를 얻는다.
     deviceOID.write(12345); // OID 값을 쓴다.

     var devicePosition:Device = action.findDeviceById(Action.Localization.SENSOR_POSITION); // 위치 센서 디바이스를 얻는다.
     var positionX:int = devicePosition.read(0); // 위치 데이터의 X 좌표 값을 읽는다.
     var positionY:int = devicePosition.read(1); // 위치 데이터의 Y 좌표 값을 읽는다.
 }

 function onDeviceDataChanged(device:Device, values:Array, timestamp:int):void
 {
     var x:int;
     var y:int;
     switch(device.getId())
     {
     case Action.Localization.SENSOR_POSITION: // 위치 값을 얻는다.
         x = values[0];
         y = values[1];
         break;
     }
 }
See Also

Summary

Constants
int COMMAND_OID OID 커맨드 디바이스의 ID를 나타내는 상수.
int COMMAND_PAD_SIZE 패드 크기 커맨드 디바이스의 ID를 나타내는 상수.
String ID Localization 액션의 모델 ID를 나타내는 상수.
int SENSOR_POSITION 위치 센서 디바이스의 ID를 나타내는 상수.

Constants

public static const COMMAND_OID:int

라이브러리 버전 1.3.0부터

OID 커맨드 디바이스의 ID를 나타내는 상수.

OID 커맨드 디바이스의 데이터는 내비게이션 패드의 OID 코드 값을 나타낸다.

  • 상수 값: 0x40700001
  • 디바이스의 데이터 배열
    • 데이터 형: 정수로 구성된 Array
    • 배열 크기: 1
    • 값의 범위: -1 ~ 65535 (-1: 유효하지 않은 값)
    • 초기 값: -1 (유효하지 않은 값)

public static const COMMAND_PAD_SIZE:int

라이브러리 버전 1.3.0부터

패드 크기 커맨드 디바이스의 ID를 나타내는 상수.

패드 크기 커맨드 디바이스의 데이터는 내비게이션 패드의 크기를 나타낸다. 크기 2의 데이터 배열에서 첫 번째 값은 패드의 가로 크기, 두 번째 값은 패드의 세로 크기이다. 가로 크기와 세로 크기의 곱(면적)은 40000을 넘을 수 없다. 즉, 가로 크기가 1인 경우에는 세로 크기가 1 ~ 40000까지 가능하고, 가로 크기가 200인 경우에는 세로 크기가 1 ~ 200까지 가능하다.

Action 클래스의 activate() 메소드를 호출하기 전에 설정해야 한다.

  • 상수 값: 0x40700000
  • 디바이스의 데이터 배열
    • 데이터 형: 정수로 구성된 Array
    • 배열 크기: 2
    • 값의 범위: 0 ~ 40000 (0: 유효하지 않은 값)
    • 초기 값: 0 (유효하지 않은 값)

public static const ID:String

라이브러리 버전 1.3.0부터

Localization 액션의 모델 ID를 나타내는 상수.

  • 상수 값: "org.smartrobot.android.action.localization"

public static const SENSOR_POSITION:int

라이브러리 버전 1.3.0부터

위치 센서 디바이스의 ID를 나타내는 상수.

위치 센서 디바이스의 데이터는 내비게이션 패드 위에서 OID 코드 값에 해당하는 위치를 나타낸다. 크기 2의 데이터 배열에서 첫 번째 값은 X축 좌표, 두 번째 값은 Y축 좌표 값이다.

  • 상수 값: 0x40700002
  • 디바이스의 데이터 배열
    • 데이터 형: 정수로 구성된 Array
    • 배열 크기: 2
    • 값의 범위: -1 ~ 39999 (-1: 유효하지 않은 값)
    • 초기 값: -1 (유효하지 않은 값)