"""CoDrone EDU + USB Smart Controller in LINK mode. pip install codrone-edu"""
import time
from codrone_edu.drone import Drone

def fly(drone):
    print("Maydonni bo‘shating. Uchirish uchun pultda yuqori o‘q, qo‘nish uchun pastki o‘q.")
    while not drone.up_arrow_pressed() or drone.down_arrow_pressed():
        time.sleep(0.1)
    try:
        drone.takeoff()
        drone.hover(1)
        end = time.monotonic() + 20
        near_samples = 0
        raised = False
        while time.monotonic() < end and not drone.down_arrow_pressed():
            distance = drone.get_bottom_range("cm")
            if not 0 < distance <= 150:
                break
            near_samples = near_samples + 1 if distance < 30 else 0
            if not raised and near_samples >= 2:
                drone.move_distance(0, 0, 0.15, 0.3)
                raised = True
            time.sleep(0.1)
    finally:
        drone.land()

if __name__ == "__main__":
    aircraft = Drone()
    try:
        aircraft.pair()
        fly(aircraft)
    finally:
        aircraft.close()
