Announcement: Parrot Drones SDK 7.5 pre-release

We are pleased to announce a pre-release of version 7.5 of the Parrot Drones SDK, containing the following items:

  • ANAFI Ai firmware version 7.5.0-rc4 for the Sphinx simulator
  • AirSDK 7.5.0-rc4 for the simulated firmware including a new tool, airsdk-cli, to ease the mission creation, development and testing process (see post below)
  • Olympe 7.5.0-rc1 (see post below)

The full official 7.5 version of the SDK is to be released early in 2023 along with the ANAFI Ai, SkyController4 and FreeFlight7 7.5 versions.

Happy holidays to all!
The Parrot Drones SDK team

1 Like

Announcing airsdk-cli


airsdk-cli is a new command-line tool for building and testing airsdk missions. It aims to ease the development of AirSDK missions by providing a simplified build environment that should fit most missions.

airsdk-cli is compatible with the latest releases of Ubuntu and Debian.

With airsdk-cli, creating a new mission is as simple as running the following command in your console airsdk init and then answer to a few prompted questions.

airsdk-cli is also able to build your mission (airsdk build) and install it on your drone (airsdk install).

airsdk-cli 7.5.0-rc1 documentations is available here (33.3 MB).

Install airsdk-cli 7.5.0-rc1

The first step (if not done already) is to add Parrot packages as a trusted source for your apt packages.

$ curl https://debian.parrot.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/debian.parrot.com.gpg

$ echo "deb [signed-by=/usr/share/keyrings/debian.parrot.com.gpg] https://debian.parrot.com/ $(lsb_release -cs) main generic" | sudo tee /etc/apt/sources.list.d/debian.parrot.com.list > /dev/null

$ sudo apt update

Then simply install the parrot-airsdk-cli package:

$ sudo apt install parrot-airsdk-cli

Important note: airsdk-cli is currently able to build missions for 7.5.0-rc4 (and greater) ANAFI Ai firmware. To test airsdk-cli with ANAFI Ai you also need a pre-release firmware version (see below).

Anafi Ai 7.5.0-rc4 (pre-release) Sphinx firmware


With Parrot Sphinx installed on your machine, you can start an ANAFI Ai 7.5.0-rc4 simulated firmware with the following command:

sphinx "/opt/parrot-sphinx/usr/share/sphinx/drones/anafi_ai.drone"::firmware="https://firmware.parrot.com/Versions/anafi2/pc/63a84b111f2f2a5507a1ad345ec8500b/images/anafi2-pc.ext2.zip"
1 Like

Olympe 7.5.0-rc1


The Python Wheel of Olympe 7.5.0-rc1 is available here.
You can install it with pip in your environment like this:

$ pip install https://firmware.parrot.com/Versions/olympe/linux/879876c7e6002d69808dad2bc68ca88f/images/parrot_olympe-7.5.0rc1-py3-none-manylinux_2_27_x86_64.whl

or like this to get the latest pre-release from pypi.org

$ pip install --upgrade parrot-olympe --pre

The source and documentations archives are available on the Olympe 7.5.0-rc1 release Github page.

Bug fixes:

Core: Debundle the Python protobuf dependency
Core: Fix concurrency issues
Media: fix media downloading issues
SDK: Allow command ACK and expectation reception order inversion
SDK: Improved dicovery timeout handling
Video: fix raw video frames decoding

Changelog

olympe:

    [DEBUG] bitfields: ignore bits outiside bitfield mask
    [DEBUG] arsdk: avoid unnecessary copies while decoding
    [DEBUG] http: fix missing ConnectionClosed event handling
    [DEBUG] fix internal pomp context fds unregistering
    [DEBUG] media: improve wait_for_pending_download behavior
    [DEBUG] video: remove strides from raw video frames
    [DEBUG] protobuf: don't accumulate repeated fields
    [DEBUG] protobuf: fix command ACK and expectation order inversion
    [DEVMINOR] remove dead code and add some __repr__
    [DEVMINOR] update controller name
    [DEVMINOR] fix typo in example comment
    [DEBUG] fix missing protobuf modules
    [DEVMINOR] update README
    [DEV] add time_function to PilotingCommand class
    [DEV] debundle google.protobuf
    [DEBUG] update to protobuf 3.19
    [DEVMINOR] arsdk: validate message parameters names
    [DEBUG] fix MultipleExpectation notifications
    [DEBUG] fix sequence of commands expectations
    [DEBUG] arsdk: allow command ACK and expectation order inversion
    [BUGFIX] fix thread leaks
    [DEBUG] controller: add missing Future cancelation
    [DEBUG] fix Futures registration
    [DEBUG] discovery: rework timeout handling
    [DEBUG] fix missing expectation cancellation
    [DEBUG] concurrent: fix timers callback scheduling
    [DEBUG] fix expectation cancellation

arsdk-xml:

    [DEV] ardrone3/StartPilotedPOIV2/mode: add locked_once_gimbal
    [DEV] Add esc too hot autolanding trigger reason
    [DEV] add amsl reference command
    [DEV] ardrone3: deprecate PositionChanged
    [DEV] rename WaypointTooFar to FirstWayPointTooFar
    [DEV] common.xml: add FlightPlanState WaypointTooFar
    [DEVMINOR] DRI: add ASTM F341122 US DRI regulation support
    [DEV] camera2: replace start_timestamp by duration_ms in photo/video states
    [DEVMINOR] deprecate ardrone3 NavigateHomeStateChanged

libvideo-metadata:

    [DEVMINOR] move all LTIC/LFIC functions to liblic
    [DEVMINOR] Remove unnecessary whitespace
    [DEBUG] vmeta_session: do not return an error when REC_UDTA_KEY_TITLE is not a date
    [DEV] LTIC: add flag to enable verbose mode

pdraw:

    [DEBUG] Gles2Renderer: secure access to the listener and timers
    [WARNINGFIX] fix clang-format 11
    [DEV] libpdraw: add video presentation statistics
    [DEVMINOR] libpdraw: events pomp_msg* should be const
    [DEVMINOR] libpdraw: code format fix
    [DEBUG] CodedVideoMedia: fix memory leak on error
    [DEV] libpdraw: update frame timestamps
1 Like