drone class

Drone 클래슀 생성

def __init__(self, flagCheckBackground = True, flagShowErrorMessage = False, flagShowLogMessage = False, flagShowTransferData = False, flagShowReceiveData = False):

이

μ„€

Default

flagCheckBackground

μˆ˜μ‹  받은 데이터λ₯Ό λ°±κ·ΈλΌμš΄λ“œμ—μ„œ 확인

True

flagShowErrorMessage

μ—λŸ¬ 메세지 ν‘œμ‹œ

False

flagShowLogMessage

둜그 메세지 ν‘œμ‹œ

False

flagShowTransferData

솑신 데이터 λ°°μ—΄ ν‘œμ‹œ

False

flagShowReceiveData

μˆ˜μ‹  데이터 λ°°μ—΄ ν‘œμ‹œ

False

Drone 클래슀의 public ν•¨μˆ˜ ꡬ성

이름

μ„€λͺ…

isOpen()

μ‹œλ¦¬μ–Ό ν¬νŠΈκ°€ μ—΄λ¦° 경우 True λ°˜ν™˜

open(portname)

μ‹œλ¦¬μ–Ό 포트 μ—΄κΈ°. ν¬νŠΈκ°€ μ—΄λ¦° 경우 True λ°˜ν™˜

close()

μ‹œλ¦¬μ–Ό 포트 λ‹«κΈ°

makeTransferDataArray(header, data)

전솑할 데이터 λ°”μ΄νŠΈ λ°°μ—΄ 생성

transfer(header, data)

데이터 전솑(λ‚΄λΆ€μ—μ„œ makeTransferDataArray ν•¨μˆ˜λ₯Ό 싀행함)

check()

μˆ˜μ‹  받은 데이터 확인. 데이터λ₯Ό 받은 경우 DataType을 λ°˜ν™˜

checkDetail()

μˆ˜μ‹  받은 데이터 확인. Header와 Dataλ₯Ό νŠœν”Œλ‘œ λ°˜ν™˜

setEventHandler(dataType, eventHandler)

νŠΉμ • νƒ€μž…μ˜ 데이터λ₯Ό μˆ˜μ‹ ν–ˆμ„ λ•Œ ν˜ΈμΆœν•  μ‚¬μš©μž 지정 ν•¨μˆ˜ 등둝

getHeader(dataType)

μ§€μ •ν•œ νƒ€μž…μ˜ 데이터와 ν•¨κ»˜ 받은 헀더 λ°˜ν™˜

getData(dataType)

μ§€μ •ν•œ νƒ€μž…μ˜ 데이터 λ°˜ν™˜(데이터가 μ—†μœΌλ©΄ None λ°˜ν™˜)

getCount(dataType)

μ§€μ •ν•œ νƒ€μž…μ˜ 데이터λ₯Ό 받은 횟수λ₯Ό λ°˜ν™˜(데이터가 μ—†μœΌλ©΄ None λ°˜ν™˜)

convertByteArrayToString(dataArray)

λ°”μ΄νŠΈ 배열을 Hex λ¬Έμžμ—΄λ‘œ λ³€κ²½ν•˜μ—¬ λ°˜ν™˜

Drone 클래슀 데이터 μˆ˜μ‹  μ²˜λ¦¬λΆ€

이름

μ„€λͺ…

_receiving()

데이터 μˆ˜μ‹  Thread, μˆ˜μ‹  받은 데이터λ₯Ό 버퍼에 μ €μž₯

check()

버퍼에 μ €μž₯된 데이터λ₯Ό ν•œ λ°”μ΄νŠΈμ”© 읽어 receiver에 전달. ν•˜λ‚˜μ˜ 데이터 λΈ”λŸ­μ„ 받은 경우 _handler()λ₯Ό ν˜ΈμΆœν•˜μ—¬ 받은 데이터λ₯Ό νŒŒμ‹±ν•΄μ„œ μ €μž₯ν•˜κ³  dataType을 λ°˜ν™˜. 받은 데이터가 μ—†μœΌλ©΄ DataType.None_ λ°˜ν™˜

_handler()

헀더λ₯Ό 내뢀에 μ €μž₯. λ°μ΄ν„°λŠ” νŒŒμ‹±ν•˜μ—¬ 내뢀에 μ €μž₯. 이벀트 처리 ν•¨μˆ˜κ°€ λ“±λ‘λœ 경우 ν•΄λ‹Ή ν•¨μˆ˜ 호좜

ν•¨μˆ˜ λͺ©λ‘

일반

이름

μ„€λͺ…

sendPing

ν•‘ 전솑

sendRequest

데이터 μš”μ²­

sendPairing

νŽ˜μ–΄λ§ μ„€μ •

μ‘°μ’…

이름

μ„€λͺ…

sendTakeOff

이λ₯™

sendLanding

μ°©λ₯™

sendStop

정지

sendControl

λΉ„ν–‰ μ‘°μ’…

sendControlWhile

μ§€μ •ν•œ μ‹œκ°„ λ™μ•ˆ λΉ„ν–‰ μ‘°μ’… λͺ…λ Ή 전솑

sendControlPosition16

이동(RF)

sendControlPosition

이동(UART, USB)

μ„€μ •

이름

μ„€λͺ…

sendCommand

λͺ…λ Ή 전솑

sendCommandLightEvent

λͺ…λ Ή 전솑 + LED 이벀트

sendCommandLightEventColor

λͺ…λ Ή 전솑 + LED 이벀트(RGB)

sendCommandLightEventColors

λͺ…λ Ή 전솑 + LED 이벀트(νŒ”λ ˆνŠΈ)

sendModeControlFlight

λΉ„ν–‰ μ œμ–΄ λͺ¨λ“œ λ³€κ²½

sendHeadless

ν—€λ“œλ¦¬μŠ€ μ„€μ •

sendTrimIncDec

Trim ν•œ 단계씩 λ³€κ²½

sendTrim

Trim 값을 μ§€μ •ν•˜μ—¬ λ³€κ²½

sendWeight

Weight μ„€μ •

sendLostConnection

연결이 끊긴 ν›„ λ°˜μ‘ μ‹œκ°„ μ„€μ •

sendFlightEvent

λΉ„ν–‰ 이벀트 μ‹€ν–‰

sendClearBias

λ°”μ΄μ–΄μŠ€ μ΄ˆκΈ°ν™”

sendClearTrim

Trim μ΄ˆκΈ°ν™”

sendSetDefault

μž₯치 μ„€μ • μ΄ˆκΈ°ν™”

λͺ¨ν„°

이름

μ„€λͺ…

sendMotor

λͺ¨ν„° λ™μž‘ μ œμ–΄

sendMotorSingle

단일 λͺ¨ν„° λ™μž‘ μ œμ–΄

LED

이름

μ„€λͺ…

sendLightManual

μˆ˜λ™ μ œμ–΄

sendLightModeColor

λͺ¨λ“œ μ„€μ • (RGB)

sendLightModeColors

λͺ¨λ“œ μ„€μ • (νŒ”λ ˆνŠΈ)

sendLightEventColor

이벀트 μ„€μ • (RGB)

sendLightEventColors

이벀트 μ„€μ • (νŒ”λ ˆνŠΈ)

sendLightDefaultColor

κΈ°λ³Έ λͺ¨λ“œ μ„€μ • (RGB)

μ‘°μ’…κΈ° LCD λ””μŠ€ν”Œλ ˆμ΄

이름

μ„€λͺ…

sendDisplayClearAll

전체 μ§€μš°κΈ°

sendDisplayClear

일뢀뢄 μ§€μš°κΈ°

sendDisplayInvert

일뢀뢄 λ°˜μ „

sendDisplayDrawPoint

점 찍기

sendDisplayDrawLine

μ„  그리기

sendDisplayDrawRect

μ‚¬κ°ν˜• 그리기

sendDisplayDrawCircle

원 그리기

sendDisplayDrawString

λ¬Έμžμ—΄ μ“°κΈ°

sendDisplayDrawStringAlign

λ¬Έμžμ—΄μ„ μ •λ ¬ν•˜μ—¬ μ“°κΈ°

μ‘°μ’…κΈ° 버저

이름

μ„€λͺ…

sendBuzzer

μ†Œλ¦¬ λ‚΄κΈ°

sendBuzzerMute

묡음

sendBuzzerMuteReserve

묡음 μ˜ˆμ•½

sendBuzzerScale

μŒκ³„λ₯Ό μ‚¬μš©ν•˜μ—¬ μ†Œλ¦¬ λ‚΄κΈ°

sendBuzzerScaleReserve

μŒκ³„λ₯Ό μ‚¬μš©ν•˜μ—¬ μ†Œλ¦¬ λ‚΄κΈ° μ˜ˆμ•½

sendBuzzerHz

주파수λ₯Ό μ‚¬μš©ν•˜μ—¬ μ†Œλ¦¬ λ‚΄κΈ°

sendBuzzerHzReserve

주파수λ₯Ό μ‚¬μš©ν•˜μ—¬ μ†Œλ¦¬ λ‚΄κΈ° μ˜ˆμ•½

μ‘°μ’…κΈ° 진동

이름

μ„€λͺ…

sendVibrator

진동 μ„€μ •

sendVibratorReserve

진동 μ˜ˆμ•½

ν•¨μˆ˜ μ„€λͺ…

sendPing

  • ν•‘ 전솑

  • λ‹€λ₯Έ μž₯μΉ˜μ™€μ˜ μ—°κ²° μƒνƒœλ₯Ό 확인할 λ•Œ μ‚¬μš©

def sendPing(self, deviceType):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

deviceType

DeviceType

전솑할 λŒ€μƒ μž₯치

sendRequest

  • 데이터 μš”μ²­

  • μ§€μ •ν•œ μž₯μΉ˜μ— 데이터λ₯Ό μš”μ²­ν•  λ•Œ μ‚¬μš©

def sendRequest(self, deviceType, dataType):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

deviceType

DeviceType

전솑할 λŒ€μƒ μž₯치

dataType

DataType

λ°μ΄ν„°μ˜ νƒ€μž…

sendPairing

  • νŽ˜μ–΄λ§ μ„€μ •

  • μ§€μ •ν•œ μž₯치의 νŽ˜μ–΄λ§ 섀정을 λ³€κ²½ν•  λ•Œ μ‚¬μš©

def sendPairing(self, deviceType, addressLocal, addressRemote, channel):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

deviceType

DeviceType

전솑할 λŒ€μƒ μž₯치

address0

0 ~ 65535

μž₯치의 μ£Όμ†Œ 0

address1

0 ~ 65535

μž₯치의 μ£Όμ†Œ 1

address2

0 ~ 65535

μž₯치의 μ£Όμ†Œ 2

scramble

0 ~ 127

μŠ€ν¬λž¨λΈ”

channel

0 ~ 81

채널

sendTakeOff

  • 이λ₯™

  • λ§Œμ•½ 이λ₯™ μ€€λΉ„ μƒνƒœκ°€ μ•„λ‹ˆλΌλ©΄ μžλ™μœΌλ‘œ 이λ₯™ μ€€λΉ„ μƒνƒœλ₯Ό 거치게 됨

def sendTakeOff(self):

sendLanding

  • μ°©λ₯™

def sendLanding(self):

sendStop

  • λ“œλ‘  λͺ¨λ“œμ— 관계없이 κ°•μ œλ‘œ μ •

def sendStop(self):

sendControl

  • λΉ„ν–‰ μ‘°μ’…

def sendControl(self, roll, pitch, yaw, throttle):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

roll

-100 ~ 100

Roll

pitch

-100 ~ 100

Pitch

yaw

-100 ~ 100

Yaw

throttle

-100 ~ 100

Throttle

sendControlWhile

  • λΉ„ν–‰ μ‘°μ’…

  • λΉ„ν–‰ 및 주행에 λͺ¨λ‘ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. timeMs에 μ§€μ •ν•œ msλ™μ•ˆ μ—°μ†μœΌλ‘œ μ‘°μ’… λͺ…령을 μ „μ†‘ν•©λ‹ˆλ‹€.

def sendControlWhile(self, roll, pitch, yaw, throttle, timeMs):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

roll

-100 ~ 100

Roll

pitch

-100 ~ 100

Pitch

yaw

-100 ~ 100

Yaw

throttle

-100 ~ 100

Throttle

timeMs

0 ~ 1,000,000

λ™μž‘ μ‹œκ°„(ms)

sendControlPosition16

  • λ“œλ‘  이동 λͺ…λ Ή

  • λͺ¨λ“  λ³€μˆ˜μ— 2byte μ •μˆ˜λ₯Ό μ‚¬μš©ν•˜λŠ” λŒ€μ‹  positionκ³Ό velocity의 값에 x10을 적용.

def sendControlPosition16(self, positionX, positionY, positionZ, velocity, heading, rotationalVelocity):

λ³€μˆ˜ 이름

ν˜•μ‹

λ²”μœ„

λ‹¨μœ„

μ„€λͺ…

positionX

Int16

-100 ~ 100(-10.0 ~ 10.0)

meter x 10

μ•ž(+), λ’€(-)

positionY

Int16

-100 ~ 100(-10.0 ~ 10.0)

meter x 10

쒌(+), 우(-)

positionZ

Int16

-100 ~ 100(-10.0 ~ 10.0)

meter x 10

μœ„(+), μ•„λž˜(-)

velocity

Int16

5 ~ 20(0.5 ~ 2.0)

m/s x 10

μœ„μΉ˜ 이동 속도

heading

Int16

-360 ~ 360

degree

μ’ŒνšŒμ „(+), μš°νšŒμ „(-)

rotationalVelocity

Int16

10 ~ 360

degree/s

쒌우 νšŒμ „ 속도

sendControlPosition

  • λ“œλ‘  이동 λͺ…λ Ή

  • positionκ³Ό velocityλŠ” μ‹€μˆ˜ κ°’, headingκ³Ό rotationalVelocityμ—λŠ” μ •μˆ˜ κ°’ μ‚¬μš©

def sendControlPosition(self, positionX, positionY, positionZ, velocity, heading, rotationalVelocity):

λ³€μˆ˜ 이름

ν˜•μ‹

λ²”μœ„

λ‹¨μœ„

μ„€λͺ…

positionX

float

-10.0 ~ 10.0

meter

μ•ž(+), λ’€(-)

positionY

float

-10.0 ~ 10.0

meter

쒌(+), 우(-)

positionZ

float

-10.0 ~ 10.0

meter

μœ„(+), μ•„λž˜(-)

velocity

float

0.5 ~ 2.0

m/s

μœ„μΉ˜ 이동 속도

heading

Int16

-360 ~ 360

degree

μ’ŒνšŒμ „(+), μš°νšŒμ „(-)

rotationalVelocity

Int16

10 ~ 360

degree/s

쒌우 νšŒμ „ 속도

sendCommand

  • λͺ…λ Ή 전솑

  • λ“œλ‘ μ— λͺ…령을 전달할 λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€.

  • optionμ—λŠ” 각 ν˜•μ‹μ˜ value κ°’ λ˜λŠ” 숫자 값을 λ„£μœΌμ…”μ•Ό ν•©λ‹ˆλ‹€.

def sendCommand(self, commandType, option = 0):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

commandType

CommandType

λͺ…λ Ή νƒ€μž…

option

ModeControlFlight

μ˜΅μ…˜

FlightEvent

Headless

Trim

UInt8

sendCommandLightEvent

  • λͺ…λ Ή + LED 이벀트

  • λ“œλ‘ μ— λͺ…령을 전달할 λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€.

  • optionμ—λŠ” 각 ν˜•μ‹μ˜ value κ°’ λ˜λŠ” 숫자 값을 λ„£μœΌμ…”μ•Ό ν•©λ‹ˆλ‹€.

def sendCommandLightEvent(self, commandType, option, lightEvent, interval, repeat):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

commandType

CommandType

λͺ…λ Ή νƒ€μž…

option

ModeControlFlight

μ˜΅μ…˜

FlightEvent

Headless

Trim

UInt8

lightEvent

UInt8

LED λ™μž‘ λͺ¨λ“œ

interval

0 ~ 65535

λ‚΄λΆ€ 밝기 μ œμ–΄ ν•¨μˆ˜ 호좜 μ£ΌκΈ°

repeat

0 ~ 255

반볡 횟수

sendCommandLightEventColor

  • λͺ…λ Ή + LED 이벀트(RGB)

  • λ“œλ‘ μ— λͺ…령을 전달할 λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€.

  • optionμ—λŠ” 각 ν˜•μ‹μ˜ value κ°’ λ˜λŠ” 숫자 값을 λ„£μœΌμ…”μ•Ό ν•©λ‹ˆλ‹€.

def sendCommandLightEventColor(self, commandType, option, lightEvent, interval, repeat, r, g, b):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

commandType

CommandType

λͺ…λ Ή νƒ€μž…

option

ModeControlFlight

μ˜΅μ…˜

FlightEvent

Headless

Trim

UInt8

lightEvent

UInt8

LED λ™μž‘ λͺ¨λ“œ

interval

0 ~ 65535

λ‚΄λΆ€ 밝기 μ œμ–΄ ν•¨μˆ˜ 호좜 μ£ΌκΈ°

repeat

0 ~ 255

반볡 횟수

r

0 ~ 255

Red

g

0 ~ 255

Green

b

0 ~ 255

Blue

sendCommandLightEventColors

  • λͺ…λ Ή + LED 이벀트(Palette)

  • λ“œλ‘ μ— λͺ…령을 전달할 λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€.

  • optionμ—λŠ” 각 ν˜•μ‹μ˜ value κ°’ λ˜λŠ” 숫자 값을 λ„£μœΌμ…”μ•Ό ν•©λ‹ˆλ‹€.

def sendCommandLightEventColors(self, commandType, option, lightEvent, interval, repeat, colors):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

commandType

CommandType

λͺ…λ Ή νƒ€μž…

option

ModeControlFlight

μ˜΅μ…˜

FlightEvent

Headless

Trim

UInt8

lightEvent

UInt8

LED λ™μž‘ λͺ¨λ“œ

interval

0 ~ 65535

λ‚΄λΆ€ 밝기 μ œμ–΄ ν•¨μˆ˜ 호좜 μ£ΌκΈ°

repeat

0 ~ 255

반볡 횟수

colors

Colors

색상 νŒ”λ ˆνŠΈ 인덱슀

sendModeControlFlight

  • λΉ„ν–‰ μ œμ–΄ λͺ¨λ“œ μ„€μ •

  • λ“œλ‘  λΉ„ν–‰ μ œμ–΄ λͺ¨λ“œλ₯Ό λ³€κ²½ν•©λ‹ˆλ‹€.

def sendModeControlFlight(self, modeControlFlight):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

modeControlFlight

ModeControlFlight

λΉ„ν–‰ μ œμ–΄ λͺ¨λ“œ

sendHeadless

  • Headless μ„€μ •

def sendHeadless(self, headless):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

headless

Headless

Headless μ„€μ •

sendTrimIncDec

  • Trim μ„€μ •

def sendTrimIncDec(self, trimIncDec):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

trimIncDec

TrimIncDec

트림 μ„€μ •

sendTrim

  • λΉ„ν–‰ Trim μ„€μ •

def sendTrim(self, roll, pitch, yaw, throttle):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

roll

-200 ~ 200

Roll

pitch

-200 ~ 200

Pitch

yaw

-200 ~ 200

Yaw

throttle

-200 ~ 200

Throttle

sendWeight

  • 무게

def sendWeight(self, weight):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

weight

Weight

무게

sendLostConnection

  • 톡신 연결이 끊긴 ν›„ λ°˜μ‘ μ‹œκ°„ μ„€μ •

  • λ§ˆμ§€λ§‰μœΌλ‘œ λΉ„ν–‰ 이벀트 λ˜λŠ” μ‘°μ’… λͺ…령을 λ³΄λƒˆλ˜ μž₯μΉ˜μ™€μ˜ 연결이 λŠμ–΄μ§„ 후에 μ§€μ •ν•œ μ‹œκ°„μ΄ κ²½κ³Όν•˜λ©΄ ν•΄λ‹Ή λͺ…령을 μ‹€ν–‰. μ‹œκ°„μ„ 0으둜 μ„€μ •ν•œ 경우 ν•΄λ‹Ή λͺ…령은 μ‹€ν–‰ν•˜μ§€ μ•ŠμŒ. μ‹œκ°„ λ‹¨μœ„λŠ” ms

def sendLostConnection(self, timeNeutral, timeLanding, timeStop):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

timeNeutral

0 ~ 65,535

μ‘°μ’… 쀑립

timeLanding

0 ~ 65,535

μ°©λ₯™

timeStop

0 ~ 4,294,967,295

정지

sendFlightEvent

  • λΉ„ν–‰ 이벀트 μ‹€ν–‰

def sendFlightEvent(self, flightEvent):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

flightEvent

FlightEvent

λΉ„ν–‰ 이벀트

sendClearBias

  • Accel, Gyro Bias μ΄ˆκΈ°ν™”

def sendClearBias(self):

sendClearTrim

  • λΉ„ν–‰, μ£Όν–‰ Trim μ΄ˆκΈ°ν™”

def sendClearTrim(self):

sendSetDefault

  • μž₯치 μ„€μ • μ΄ˆκΈ°ν™”

  • μ§€μ •ν•œ μž₯치의 섀정을 μ΄ˆκΈ°ν™” 함

def sendSetDefault(self, deviceType):

sendMotor

  • 4개의 λͺ¨ν„°λ₯Ό 미리 μ§€μ •λœ λ°©ν–₯으둜 νšŒμ „

def sendMotor(self, motor0, motor1, motor2, motor3):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

motor0

0 ~ 4095

μ™Όμͺ½ μ•ž λͺ¨ν„° 속도 지정

motor1

0 ~ 4095

였λ₯Έμͺ½ μ•ž λͺ¨ν„° 속도 지정

motor2

0 ~ 4095

였λ₯Έμͺ½ λ’€ λͺ¨ν„° 속도 지정

motor3

0 ~ 4095

μ™Όμͺ½ λ’€ λͺ¨ν„° 속도 지정

sendMotorSingle

  • 1개의 λͺ¨ν„°λ₯Ό νšŒμ „ λ°©ν–₯을 μ§€μ •ν•˜μ—¬ λ™μž‘

  • target에 λ“€μ–΄κ°€λŠ” 값은 0~3μž…λ‹ˆλ‹€. λͺ¨ν„°μ˜ μˆœμ„œλŠ” μ™Όμͺ½ μ•ž λͺ¨ν„°λΆ€ν„° μ‹œκ³„λ°©ν–₯μž…λ‹ˆλ‹€.

def sendMotorSingle(self, target, rotation, value):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

target

0 ~ 3

μ œμ–΄ν•  λͺ¨ν„°μ˜ 번호

rotation

Rotation

λͺ¨ν„°μ˜ νšŒμ „ λ°©ν–₯

value

0 ~ 4095

λͺ¨ν„°μ˜ 속도

sendLightManual

  • LED μˆ˜λ™ μ œμ–΄

  • flagsμ—λŠ” LightFlagsDrone, LightFlagsController의 value 값을 μ‚¬μš©ν•˜κ±°λ‚˜ 직접 ν”Œλž˜κ·Έμ— ν•΄λ‹Ήν•˜λŠ” λΉ„νŠΈλ₯Ό μ„ νƒν•˜μ‹œλ©΄ λ©λ‹ˆλ‹€.

  • brightnessλŠ” 값은 0일 λ•Œ 꺼지며 값이 컀질수둝 λ°μ•„μ§‘λ‹ˆλ‹€.

def sendLightManual(self, deviceType, flags, brightness):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

deviceType

DeviceType

LEDλ₯Ό μ œμ–΄ν•  μž₯치

flags

0b00000000 ~ 0b11111111

LED ν”Œλž˜κ·Έ

brightness

0 ~ 255

밝기

sendLightModeColor

  • LED λͺ¨λ“œ μ„€μ •(RGB)

  • lightMode λ³€μˆ˜μ—λŠ” LightModeDrone, LightModeController의 value 값을 μ‚¬μš©ν•©λ‹ˆλ‹€.

def sendLightModeColor(self, lightMode, interval, r, g, b):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

lightMode

UInt8

LED λ™μž‘ λͺ¨λ“œ

interval

0 ~ 65535

λ‚΄λΆ€ 밝기 μ œμ–΄ ν•¨μˆ˜ 호좜 μ£ΌκΈ°

r

0 ~ 255

Red

g

0 ~ 255

Green

b

0 ~ 255

Blue

sendLightModeColors

  • LED λͺ¨λ“œ μ„€μ •(Palette)

  • lightMode λ³€μˆ˜μ—λŠ” LightModeDrone, LightModeController의 value 값을 μ‚¬μš©ν•©λ‹ˆλ‹€.

def sendLightModeColors(self, lightMode, interval, colors):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

lightMode

UInt8

LED λ™μž‘ λͺ¨λ“œ

interval

0 ~ 65535

λ‚΄λΆ€ 밝기 μ œμ–΄ ν•¨μˆ˜ 호좜 μ£ΌκΈ°

colors

Colors

색상 νŒ”λ ˆνŠΈ 인덱슀

sendLightEventColor

  • LED 이벀트 μ„€μ •(RGB)

  • lightEvent λ³€μˆ˜μ—λŠ” LightModeDrone, LightModeController의 value 값을 μ‚¬μš©ν•©λ‹ˆλ‹€.

def sendLightEventColor(self, lightEvent, interval, repeat, r, g, b):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

lightEvent

UInt8

LED λ™μž‘ λͺ¨λ“œ

interval

0 ~ 65535

λ‚΄λΆ€ 밝기 μ œμ–΄ ν•¨μˆ˜ 호좜 μ£ΌκΈ°

repeat

0 ~ 255

반볡 횟수

r

0 ~ 255

Red

g

0 ~ 255

Green

b

0 ~ 255

Blue

sendLightEventColors

  • LED 이벀트 μ„€μ •(Palette)

  • lightEvent λ³€μˆ˜μ—λŠ” LightModeDrone, LightModeController의 value 값을 μ‚¬μš©ν•©λ‹ˆλ‹€.

def sendLightEventColors(self, lightEvent, interval, repeat, colors):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

lightEvent

UInt8

LED λ™μž‘ λͺ¨λ“œ

interval

0 ~ 65535

λ‚΄λΆ€ 밝기 μ œμ–΄ ν•¨μˆ˜ 호좜 μ£ΌκΈ°

repeat

0 ~ 255

반볡 횟수

colors

Colors

색상 νŒ”λ ˆνŠΈ 인덱슀

sendLightDefaultColor

  • LED κΈ°λ³Έ λͺ¨λ“œ μ„€μ •(RGB)

  • lightMode λ³€μˆ˜μ—λŠ” LightModeDrone, LightModeController의 value 값을 μ‚¬μš©ν•©λ‹ˆλ‹€.

def sendLightDefaultColor(self, lightMode, interval, r, g, b):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

lightMode

UInt8

LED λ™μž‘ λͺ¨λ“œ

interval

0 ~ 65535

λ‚΄λΆ€ 밝기 μ œμ–΄ ν•¨μˆ˜ 호좜 μ£ΌκΈ°

r

0 ~ 255

Red

g

0 ~ 255

Green

b

0 ~ 255

Blue

sendDisplayClearAll

  • ν™”λ©΄ 전체 μ§€μš°κΈ°

def sendDisplayClearAll(self, pixel = DisplayPixel.Black):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

pixel

DisplayPixel

μ±„μšΈ 색상

sendDisplayClear

  • ν™”λ©΄ 일뢀 μ§€μš°κΈ°

def sendDisplayClear(self, x, y, width, height, pixel = DisplayPixel.Black):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

x

-2000 ~ 2000

XμΆ• μ‹œμž‘ μœ„μΉ˜

y

-2000 ~ 2000

YμΆ• μ‹œμž‘ μœ„μΉ˜

width

-2000 ~ 2000

λ„ˆλΉ„

height

-2000 ~ 2000

높이

pixel

DisplayPixel

μ±„μšΈ 색상

sendDisplayInvert

  • ν™”λ©΄ 일뢀 λ°˜μ „

def sendDisplayInvert(self, x, y, width, height):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

x

-2000 ~ 2000

XμΆ• μ‹œμž‘ μœ„μΉ˜

y

-2000 ~ 2000

YμΆ• μ‹œμž‘ μœ„μΉ˜

width

-2000 ~ 2000

λ„ˆλΉ„

height

-2000 ~ 2000

높이

sendDisplayDrawPoint

  • 점 찍기

def sendDisplayDrawPoint(self, x, y, pixel = DisplayPixel.White):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

x

-2000 ~ 2000

XμΆ• μœ„μΉ˜

y

-2000 ~ 2000

YμΆ• μœ„μΉ˜

pixel

DisplayPixel

점 색상

sendDisplayDrawLine

  • μ„  그리기

def sendDisplayDrawLine(self, x1, y1, x2, y2, pixel = DisplayPixel.White, line = DisplayLine.Solid):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

x1

-2000 ~ 2000

XμΆ• μ‹œμž‘ μœ„μΉ˜

y1

-2000 ~ 2000

YμΆ• μ‹œμž‘ μœ„μΉ˜

x2

-2000 ~ 2000

XμΆ• 끝 μœ„μΉ˜

y2

-2000 ~ 2000

YμΆ• 끝 μœ„μΉ˜

pixel

DisplayPixel

μ„  색상

line

DisplayLine

μ„  ν˜•νƒœ

sendDisplayDrawRect

  • μ‚¬κ°ν˜• 그리기

def sendDisplayDrawRect(self, x, y, width, height, pixel = DisplayPixel.White, flagFill = True, line = DisplayLine.Solid):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

x

-2000 ~ 2000

XμΆ• μ‹œμž‘ μœ„μΉ˜

y

-2000 ~ 2000

YμΆ• μ‹œμž‘ μœ„μΉ˜

width

-2000 ~ 2000

λ„ˆλΉ„

height

-2000 ~ 2000

높이

pixel

DisplayPixel

색상

flagFill

Bool

True인 경우 λ‚΄λΆ€λ₯Ό 채움

line

DisplayLine

μ„  ν˜•νƒœ

sendDisplayDrawCircle

  • 원 그리기

def sendDisplayDrawCircle(self, x, y, radius, pixel = DisplayPixel.White, flagFill = True):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

x

-2000 ~ 2000

XμΆ• 쀑심점 μœ„μΉ˜

y

-2000 ~ 2000

YμΆ• 쀑심점 μœ„μΉ˜

radius

-2000 ~ 2000

λ°˜μ§€λ¦„

pixel

DisplayPixel

색상

flagFill

Bool

True인 경우 λ‚΄λΆ€λ₯Ό 채움

sendDisplayDrawString

  • λ¬Έμžμ—΄ 그리기

def sendDisplayDrawString(self, x, y, message, font = DisplayFont.LiberationMono5x8, pixel = DisplayPixel.White):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

x

-2000 ~ 2000

XμΆ• μœ„μΉ˜

y

-2000 ~ 2000

YμΆ• μœ„μΉ˜

font

DisplayFont

폰트

pixel

DisplayPixel

색상

message

ASCII String(30자 μ΄ν•˜)

ν‘œμ‹œν•  λ¬Έμžμ—΄

sendDisplayDrawStringAlign

  • λ¬Έμžμ—΄ 그리기

  • x_start와 x_end 사이에 μ§€μ •ν•œ μœ„μΉ˜λ‘œ λ¬Έμžμ—΄μ„ μ •λ ¬ν•˜μ—¬ ν‘œμ‹œν•©λ‹ˆλ‹€.

def sendDisplayDrawStringAlign(self, x_start, x_end, y, message, align = DisplayAlign.Center, font = DisplayFont.LiberationMono5x8, pixel = DisplayPixel.White):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

x_start

-2000 ~ 2000

XμΆ• μ‹œμž‘ μœ„μΉ˜

x_end

-2000 ~ 2000

XμΆ• 끝 μœ„μΉ˜

y

-2000 ~ 2000

YμΆ• μœ„μΉ˜

align

DisplayAlign

μ •λ ¬

font

DisplayFont

폰트

pixel

DisplayPixel

색상

message

ASCII String(30자 μ΄ν•˜)

ν‘œμ‹œν•  λ¬Έμžμ—΄

sendBuzzer

  • 버저 μž‘λ™

  • BuzzerModeκ°€ BuzzerMode.Scaleμ΄κ±°λ‚˜ BuzzerMode.ScaleReserve인 경우 valueμ—λŠ” BuzzerScale의 value 값을 μ‚¬μš©ν•˜μ‹œλ©΄ λ©λ‹ˆλ‹€.

  • BuzzerModeκ°€ BuzzerMode.Hzμ΄κ±°λ‚˜ BuzzerMode.HzReserve인 경우 valueμ—λŠ” Hz 값을 μ‚¬μš©ν•˜μ‹œλ©΄ λ©λ‹ˆλ‹€.

def sendBuzzer(self, mode, value, time):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

mode

BuzzerMode

버저 λ™μž‘ λͺ¨λ“œ

value

0 ~ 8000

Scale κ°’ λ˜λŠ” Hz κ°’

time

0 ~ 65,535

μ†Œλ¦¬λ₯Ό 지속할 μ‹œκ°„(ms)

sendBuzzerMute

  • 버저 무음

def sendBuzzerMute(self, time):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

time

0 ~ 65,535

μ†Œλ¦¬λ₯Ό 지속할 μ‹œκ°„(ms)

sendBuzzerMuteReserve

  • 버저 무음 μ˜ˆμ•½

def sendBuzzerMuteReserve(self, time):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

time

0 ~ 65,535

μ†Œλ¦¬λ₯Ό 지속할 μ‹œκ°„(ms)

sendBuzzerScale

  • 버저 μŒκ³„ μ‚¬μš©ν•˜μ—¬ μ†Œλ¦¬λ‚΄κΈ°

def sendBuzzerScale(self, scale, time):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

scale

BuzzerScale

Scale

time

0 ~ 65,535

μ†Œλ¦¬λ₯Ό 지속할 μ‹œκ°„(ms)

sendBuzzerScaleReserve

  • 버저 μŒκ³„ μ‚¬μš©ν•˜μ—¬ μ†Œλ¦¬λ‚΄κΈ° μ˜ˆμ•½

def sendBuzzerScaleReserve(self, scale, time):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

scale

BuzzerScale

Scale

time

0 ~ 65,535

μ†Œλ¦¬λ₯Ό 지속할 μ‹œκ°„(ms)

sendBuzzerHz

  • 버저 주파수 μ‚¬μš©ν•˜μ—¬ μ†Œλ¦¬λ‚΄κΈ°

def sendBuzzerHz(self, hz, time):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

hz

0 ~ 8,000

주파수 κ°’

time

0 ~ 65,535

μ†Œλ¦¬λ₯Ό 지속할 μ‹œκ°„(ms)

sendBuzzerHzReserve

  • 버저 주파수 μ‚¬μš©ν•˜μ—¬ μ†Œλ¦¬λ‚΄κΈ° μ˜ˆμ•½

def sendBuzzerHzReserve(self, hz, time):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

hz

0 ~ 8,000

주파수 κ°’

time

0 ~ 65,535

μ†Œλ¦¬λ₯Ό 지속할 μ‹œκ°„(ms)

sendVibrator

  • 진동

def sendVibrator(self, on, off, total):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

on

0 ~ 65,535

진동을 μΌ  μ‹œκ°„

off

0 ~ 65,535

진동을 끈 μ‹œκ°„

total

0 ~ 65,535

전체 λ™μž‘ μ‹œκ°„

sendVibratorReserve

  • 진동 μ˜ˆμ•½

def sendVibratorReserve(self, on, off, total):

λ³€μˆ˜ 이름

ν˜•μ‹ λ˜λŠ” λ²”μœ„

μ„€λͺ…

on

0 ~ 65,535

진동을 μΌ  μ‹œκ°„

off

0 ~ 65,535

진동을 끈 μ‹œκ°„

total

0 ~ 65,535

전체 λ™μž‘ μ‹œκ°„

Last updated