ping
Ping ν
μ€νΈ
μ‘°μ’ κΈ°μ Pingμ 보λ΄κ³ , Ack μλ΅μ λ°μμ νλ©΄μ μΆλ ₯νλ μμ μ λλ€.
sendPing() ν¨μλ₯Ό νΈμΆνκ³ μλ΅μ λ°μ λκΉμ§ κΈ°λ€λ¦¬λ μκ°μ΄ νμνκΈ° λλ¬Έμ sleep() ν¨μλ₯Ό μ¬μ©νμ΅λλ€.
λ°μ΄ν° μ‘μμ κ³Όμ μμ λ¬Έμ κ° μ겨 Ackλ₯Ό λ°μ§ λͺ»νλ κ²½μ°κ° μμ μ μμΌλ―λ‘ 1μ΄ λμ μλ΅μ΄ μμΌλ©΄ μμ μ²λ¦¬λ₯Ό μ’ λ£νκ² νμμ΅λλ€.
from time import sleep
from e_drone.drone import *
from e_drone.protocol import *
if __name__ == '__main__':
drone = Drone(False)
drone.open()
drone.sendPing(DeviceType.Controller)
timeStart = time.time()
while True:
sleep(0.01)
dataType = drone.check()
if dataType == DataType.Ack:
ack = drone.getData(DataType.Ack)
print("{0} / {1} / {2:04X}".format(ack.dataType.name, ack.systemTime, ack.crc16))
print("T: {0}".format(time.time() - timeStart))
break;
# 1μ΄ λμ μλ΅μ΄ μμ κ²½μ° μλ΅ νμΈμ λΉ μ Έλκ°
if time.time() > timeStart + 1:
print("Time Over")
break;
drone.close()
Ping ν
μ€νΈ(μ΄λ²€νΈ ν¨μ λ±λ‘)
μ‘°μ’ κΈ°μ Pingμ 보λ΄κ³ , Ack μλ΅μ λ°μμ νλ©΄μ μΆλ ₯νλ μμ μ λλ€.
μμ λ°μ λ°μ΄ν°λ₯Ό μ²λ¦¬νλ ν¨μλ₯Ό λ§λ€μ΄ setEventHandler(DataType, function)λ₯Ό μ¬μ©νμ¬ λ±λ‘νλ©΄ ν΄λΉ λ°μ΄ν°λ₯Ό λ°μμ λ 미리 μ°κ²°ν ν¨μλ₯Ό νΈμΆν©λλ€.
λ§μ§λ§ sleep(0.1)μ Ping μ μ‘ ν Ack μλ΅μ΄ λ€μ΄μ¬ λκΉμ§ κΈ°λ€λ¦¬κΈ° μν΄ μ¬μ©νμμ΅λλ€.
from time import sleep
from e_drone.drone import *
from e_drone.protocol import *
def eventAck(ack):
print("eventAck()")
print("{0} / {1} / {2:04X}".format(ack.dataType.name, ack.systemTime, ack.crc16))
if __name__ == '__main__':
drone = Drone()
drone.open()
# μ΄λ²€νΈ νΈλ€λ§ ν¨μ λ±λ‘
drone.setEventHandler(DataType.Ack, eventAck)
# Ping μ μ‘
drone.sendPing(DeviceType.Controller)
sleep(0.1)
drone.close()
Last updated