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_TAGofARDroneSDK3inbebop_driver/CMakeLists.txt::ExternalProject_Addto 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.xmlfile. From this file, extract the commit hash oflibARCommandsfromrevproperty of this XML tag:<repo name="libARCommands" rev="" />. - Open
bebop_driver/scripts/meta/generate.pyand updateLIBARCOMMANDS_GIT_HASHvariable to the hash obtained in step (2). - Change the working diretory to
bebop_driver/scripts/meta, then executegenerate.pyfrom 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.hchangeARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSETTINGSSTATE_MAXDISTANCECHANGED_VALUEtoARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSETTINGSSTATE_MAXDISTANCECHANGED_CURRENT. This is due to a bug in upstream XML definitions. - Remove
buildanddevelspace of yourcatkinworkspace, then re-build it.