VSM for Ardupilot autopilot implemented using VSM-SDK of Universal ground Control Software.
git clone --recursive [email protected]:sensyn-robotics/vsm-cpp-ardupilot.git
cd vsm-cpp-ardupilot
At first, you build the development environment as a Docker image. The Docker image include some tools like gcc or cmake and VSM SDK.
make ci_image
docker-compose run --rm linux-dev bash
./linux/build.sh
Then, you would get build/linux/vsm-ardupilot
.
docker-compose up -d
docker-compose run --rm windows-dev bash
./windows/build.sh
Then, you would get build/windows/vsm-ardupilot.exe
.
- Run the following commands in your host OS.
rm -rf build/include
mkdir -p build/include/system build/include/vsm
docker-compose run --rm --name windows-dev windows-dev \
sh -c "tar zcvfh vsm-sdk.tgz /opt/vsm-sdk/vsm-sdk/include \
&& tar zcvfh system.tgz /usr/x86_64-w64-mingw32/include"
pushd build/include/vsm
tar zxvf ../../../vsm-sdk.tgz
mv opt/vsm-sdk/vsm-sdk/include/* .
mv generated/* .
mv google/* .
rm -rf opt generated google
popd
pushd build/include/system/
tar zxvf ../../../system.tgz
mv usr/x86_64-w64-mingw32/include/* .
rm -rf usr
popd
rm -f system.tgz vsm-sdk.tgz
- Append the following lines into
configurations
>includePath
in.vscode/c_cpp_properties.json
.
"${workspaceFolder}/build/include/vsm",
"${workspaceFolder}/build/include/system"
git submodule foreach git pull origin master