error

Motion 센서 보정

1
# 드론 센서 캘리브레이션 요청 후 에러로 나타난 캘리브레이션 진행 상태를 화면에 표시
2
from time import sleep
3
4
from e_drone.drone import *
5
from e_drone.protocol import *
6
7
8
def checkError(error, flag):
9
if error & flag.value != 0:
10
return True
11
else:
12
return False
13
14
def eventError(error):
15
16
print("* eventError() / SystemTime({0:10}) / ErrorFlagsForSensor({1:032b}) / ErrorFlagsForState({2:032b})".format(error.systemTime, error.errorFlagsForSensor, error.errorFlagsForState))
17
18
if checkError(error.errorFlagsForSensor, ErrorFlagsForSensor.Motion_Calibrating):
19
print(" - MOTION 센서를 보정 중입니다.")
20
21
22
if __name__ == '__main__':
23
24
drone = Drone()
25
drone.open()
26
27
# 이벤트 핸들링 함수 등록
28
drone.setEventHandler(DataType.Error, eventError)
29
30
drone.sendPing(DeviceType.Controller)
31
sleep(0.1)
32
33
drone.sendCommand(CommandType.ClearBias)
34
sleep(0.1)
35
36
for i in range(30, 0, -1):
37
print(i)
38
sleep(1)
39
40
error = drone.getData(DataType.Error)
41
if error and not checkError(error.errorFlagsForSensor, ErrorFlagsForSensor.Motion_Calibrating):
42
print("* MOTION 센서 보정이 완료되었습니다.")
43
break
44
45
drone.close()
Copied!
Last modified 1yr ago
Copy link