Linux build for SkyViper arducopter fails with build errors

Hi everyone,

How recently has anyone tried to setup a new Ubuntu Linux software build environment for building arducopter for SkyViper? Has anyone tried it today? Because today building arducopter on Ubuntu Linux 16.04 is broken for anyone starting from scratch i.e. starting with cloning the repository. Cloning the repo and setting up the tools works. It’s the build steps for arducopter for SkyViper that fails.

I’m new to this group but I’m not new to firmware development. I can build the master branch for px4-v3 and bepop2 but not skyviper-stable or skyviper-v2450. Momentarily, I will post the details of the errors I get when building the code using ./waf copter or ./waf build …

But better than that maybe someone can post what works for building arducopter for SkyViper v2450GPS.

Thank you,
Vincent Randal
Longmont, Colorado

If you’re following the commands on the wiki, I’m not sure they are correct anymore. when I started building SV code for the first time, this was the guidance i was given.

https://discuss.ardupilot.org/t/how-to-upgade-skyviper-to-latest-arducopter/27124/5

Also, I’m assuming you used Vagrant to setup your environment? I was able to successfully build it within Ubuntu 10.X Windows Subsystem for Linux without issues.

1 Like

Success!
Starting with steps documented here:
http://ardupilot.org/dev/docs/skyviper.html

Here’s what worked for me:
git clone https://github.com/SkyRocketToys/ardupilot.git
cd ardupilot
git checkout master
git submodule update --init --recursive
./Tools/scripts/install-prereqs-ubuntu.sh -y
source ~/.profile
./waf configure --board=px4-v3
./waf clean
./waf build --target=bin/arducopter
./Tools/scripts/make_abin.sh ./build/px4-v3/bin/arducopter ./myarducopter_skyviper

So then I did not checkout skyviper-stable or configure for skyviper-v2450, but instead I used the master branch in SkyRocketToys/ardupilot repo. Also, I added ./waf clean before ./waf build.

Question, are you performing for git from ardupilot/ardupilot or skyrocket/ardupilot ? You may not be aware, but SV’s code was merged into master. It’ll be officially part of AC once Copter-3.6 gets release, but you can clone master and build it today (also you can grab the built binaries here firmware.ardupilot.org. Also, the version in ardupilot/ardupilot master is not technically the “Factory” SV code, because it is not built on ChibiOS…but it works well! It does, however, cause it to stop working with the official SV mobile App.

My build works with the SV mobile app.

Did you build from master or skyrocket repo? The issue I had is the app sees I have a different version than the skyviper version, and it tries to download the “latest”…and it wouldn’t let me skip that step… perhaps it was updated…I’ll need to reload master sometime soon and see how it goes.

I start with Skyrocket’s ardupilot repository in my first step:
git clone https://github.com/SkyRocketToys/ardupilot.git

And I use the master branch from that repository with this redundant command:
git checkout master //Redundant because it’s already on master after the git clone command

Looks like I cannot build skyviper-v2450 from master now. Since around last weekend, I get below error and build fails. Error related to ToyMode. Is anyone building fine?
plane builds ok (and flies ok.)


[478/485] Compiling ArduCopter/tuning.cpp
…/…/ArduCopter/toy_mode.cpp: In member function ‘void ToyMode::trim_update()’:
…/…/ArduCopter/toy_mode.cpp:718:42: error: cannot call member function ‘uint8_t RC_Channels::get_radio_in(uint16_t*, uint8_t)’ without object
if (RC_Channels::get_radio_in(chan, 4) != 4) {

Satoru

1 Like

SV built here
http://firmware.ardupilot.org/Copter/2018-08/2018-08-01-02:08/

SV did not build in the very next build here
http://firmware.ardupilot.org/Copter/2018-08/2018-08-01-05:08/

Hasn’t built since.

but that makes no sense because the commit that triggered the build was just a Rover autotest commit.

Since SV target isn’t part of travis or semiphore, it doesn’t even try to build it…to be fair, it’s probably not considered a “critical target” lol

@lordneeko, thank you for checking. i will try to inquire at gitter or somewhere. i read dev team was talking on re-ordering pins and may be broken there.

Satoru

@Vincent_Randal who started this thread made the same comments in gitter, but then later said he got it working…but hasn’t responded here.

He may have gotten it working, but the nightly build still isn’t working.

Fix is here: https://github.com/ArduPilot/ardupilot/pull/9145

ah! I do remember the conversations in the dev chat about singletons.

Thanks @peterbarker !

Thanks @peterbarker! skyviper-v2450 copter built finished successfully now.

tridge has merged this now.

Awesome. Very nice work by everyone. I’m grateful for the interest people have shown in this thread. I count it a privilege to download and compile ardupilot. Ardupilot on SkyViper v2450GPS hardware (px4-v3) is awesome. I say that up front because it’s easy to criticize without helping out. The hard thing to do is contribute and make things work which I have tried to do as others are doing. I have only words of praise to offer everyone. Thank you.

2 Likes

Hello @lordneeko, my friend. If I may politely ask, what was not working with the nightly build? I’m new to open source development for Ardupilot, but I’m not new to firmware development. With some explanation I stand a chance of understanding and helping out. Ardupilot on SkyViper v2450GPS (px4-v3) is awesome. It’s a privilege to download and compile this code.

I’m enjoying building the master branch of SkyRocketToys/ardupilot configured for board=px4-v3 using the exact steps I posted on Friday. Except now I have my own fork which is identical to SkyRocketToys/ardupilot with the merge by @tridge (thanks!) mentioned by @peterbarker.

I’ve tested my build on my two SkyViper v2450GPS drones. It works with the iPhone app and GPS. It works so well I’ve ordered two more drones so my kids can have drones to fly while I’m developing on the others.

UPDATE: I am optimistic to use gdb debugger for single stepping through Ardupilot code on Sky Viper hardware using the Black Magic Probe mentioned here http://ardupilot.org/dev/docs/debugging-with-gdb-on-pixhawk.html

QUESTION: Is anyone else using a Black Magic Probe with Sky Viper?

1 Like