error

Motion ์„ผ์„œ ๋ณด์ •

# ๋“œ๋ก  ์„ผ์„œ ์บ˜๋ฆฌ๋ธŒ๋ ˆ์ด์…˜ ์š”์ฒญ ํ›„ ์—๋Ÿฌ๋กœ ๋‚˜ํƒ€๋‚œ ์บ˜๋ฆฌ๋ธŒ๋ ˆ์ด์…˜ ์ง„ํ–‰ ์ƒํƒœ๋ฅผ ํ™”๋ฉด์— ํ‘œ์‹œ
from time import sleep

from e_drone.drone import *
from e_drone.protocol import *


def checkError(error, flag):
    if error & flag.value != 0:
        return True
    else:
        return False

def eventError(error):
    
    print("* eventError() / SystemTime({0:10}) / ErrorFlagsForSensor({1:032b}) / ErrorFlagsForState({2:032b})".format(error.systemTime, error.errorFlagsForSensor, error.errorFlagsForState))

    if checkError(error.errorFlagsForSensor, ErrorFlagsForSensor.Motion_Calibrating):
        print("    - MOTION ์„ผ์„œ๋ฅผ ๋ณด์ • ์ค‘์ž…๋‹ˆ๋‹ค.")


if __name__ == '__main__':

    drone = Drone()
    drone.open()

    # ์ด๋ฒคํŠธ ํ•ธ๋“ค๋ง ํ•จ์ˆ˜ ๋“ฑ๋ก
    drone.setEventHandler(DataType.Error, eventError)

    drone.sendPing(DeviceType.Controller)
    sleep(0.1)

    drone.sendCommand(CommandType.ClearBias)
    sleep(0.1)

    for i in range(30, 0, -1):
        print(i)
        sleep(1)

        error = drone.getData(DataType.Error)
        if error and not checkError(error.errorFlagsForSensor, ErrorFlagsForSensor.Motion_Calibrating):
            print("* MOTION ์„ผ์„œ ๋ณด์ •์ด ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.")
            break

    drone.close()

Last updated