Home        Store        Learn        Blog

Ardupilot ./waf sub error

Hello. I want to use my own body in Ardusub. And for that I know I have to compile ardupilot using waf. But an error occurs when using the ./waf sub command.
System: Windows10

Output of ./waf configure --board Pixhawk1 command:

Output of ./waf sub command:

How can I resolve this error? Please help me, I haven’t slept for 2 days :confused:

Hi @musa34, welcome to the forum :slight_smile:

I don’t have much experience yet with building ArduSub on various machines, so I’ve asked our software team to have a look.

In case it’s relevant, could you please

  1. confirm which version of WSL you’re using (1 or 2)
  2. confirm which version of Ubuntu you’re using (if you installed it more recently than May 2020 you’ll be on 20.04)
  3. try running ./waf sub -v as suggested by the error message in your second image, and post the more verbose results so we have that extra information to work with

Thanks for your interest. I solved the problem by compiling with Eclips IDE. How can I find out that the custom frame I created is really added to the Arduino?

Glad you managed to solve your problem :slight_smile:

Because the firmware is compiled I’ don’t believe there’s a way to actually check the specifics of your custom frame, but you can check which frame is currently applied, and tell it to use the custom one if it’s not already on it.

Check/Change FRAME in QGroundControl

Assuming you mean ‘autopilot’ or ‘Pixhawk’ there rather than Arduino, you can use the “Parameters” tab in QGroundControl to check for the current frame, and set it to the custom one if it’s not already set to that.

It may also be possible to set the Frame to Custom in the “Frame” tab, although I’m not sure whether it appears.

Check/Change FRAME with mavproxy

Alternatively, if you set up a mavproxy terminal with the autopilot you should be able to run the param show frame_config command, which should tell you a value from 0-7 representing the currently used frame. If your custom frame is in use the value should be 7.

If you’re using our companion computer you can ssh in via the terminal over browser. Click ‘Open Terminal’ at the top right of the page, then type

# join ('resume') the mavproxy `screen` session
screen -r mavproxy
# check the current frame
param show frame_config
# if the frame_config value is not 7 (custom), run:
param set frame_config 7
# need to reboot Pixhawk for the change to apply

You can exit the screen session by pressing CTRL+a+d.