CoDrone EDU
  • πŸŸ£μ†Œκ°œν•˜κΈ°
    • νŽŒμ›¨μ–΄ μ—…λ°μ΄νŠΈ 방법
      • Raspberry pi
      • Linux
      • Mac
      • Windows
      • Windows(.NET)
    • λ‹€μš΄λ‘œλ“œμš© 자료 λͺ¨μŒ
  • μ½”λ“œλ‘  파이썬 라이브러리
    • πŸ”ΆνŒŒμ΄μ¬
      • drone class
      • ping
      • information
      • pairing
      • control
      • sensor
      • buzzer
      • vibrator
      • light
      • display
      • input
      • error
    • πŸ”·ν”„λ‘œν† μ½œ
      • Typedef
      • DataType
      • Definitions
      • Structs
      • Structs light
      • Structs display
      • Structs card
  • Friend Site
    • πŸ’œBuy CoDrone EDU
    • πŸ’™ROBOLINK
Powered by GitBook
On this page
  1. μ½”λ“œλ‘  파이썬 라이브러리
  2. 파이썬

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()
PreviousinputNextν”„λ‘œν† μ½œ

Last updated 2 years ago

πŸ”Ά