Under The Hood¶
This page contains information about the architecture of the driver and different techniques used for its development.
Automatic Code Generation¶
TBA
Threading Model¶
TBA
Publishing States¶
TBA
Configuring the Drone¶
TBA
Tests¶
Upgrading Bebop SDK¶
- Update
GIT_TAG
ofARDroneSDK3
inbebop_driver/CMakeLists.txt::ExternalProject_Add
to your desired commit hash, branch or tag (release). The official upstream repository is hosted here. - Checkout (or browse) the upstream repository at the same hash used in step (1) and open
repos.xml
file. From this file, extract the commit hash oflibARCommands
fromrev
property of this XML tag:<repo name="libARCommands" rev="" />
. - Open
bebop_driver/scripts/meta/generate.py
and updateLIBARCOMMANDS_GIT_HASH
variable to the hash obtained in step (2). - Change the working diretory to
bebop_driver/scripts/meta
, then executegenerate.py
from command line. This will regenerate all automatically generated message definitions, header files and documentations. - Copy the generated files to their target locations by calling
install.sh
. - In
bebop_driver/include/bebop_driver/autogenerated/ardrone3_setting_callbacks.h
changeARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSETTINGSSTATE_MAXDISTANCECHANGED_VALUE
toARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSETTINGSSTATE_MAXDISTANCECHANGED_CURRENT
. This is due to a bug in upstream XML definitions. - Remove
build
anddevel
space of yourcatkin
workspace, then re-build it.