Custom airframe error

Hi, I made an airframe for vtol quad tiltrotor (front 2 tilts) v-tail plane. It was working fine but with the last update, when I build px4 master and upload it to cube black, I can see the vehicle on the airframe selection but when I choose it and hit save and restart, It doesn’t load the airframe. I inspected the sd card on the cube black. It says “ERROR [init] No file matches SYS_AUTOSTART value found in : /etc/init.d/airframes”. Couldn’t find a solution so far. Someone help please. Here is my custom config file:

#!/bin/sh

@name Valkyrie VTOL

@type VTOL Tiltrotor

@class VTOL

@output MAIN1 Front right motor

@output MAIN2 Back left motor

@output MAIN3 Front left motor

@output MAIN4 Back right motor

@output MAIN5 Right tilt servo

@output MAIN6 Left tilt servo

@output MAIN7 Right aileron

@output MAIN8 Left aileron

@output AUX1 Right V-tail

@output AUX2 Left V-tail

. /etc/init.d/rc.vtol_defaults

if [ $AUTOCNF = yes ]
then

param set BAT_CAPACITY 24000
param set BAT_N_CELLS 6
param set BAT_R_INTERNAL 0.0025

param set CBRK_IO_SAFETY 22027

param set MC_ROLL_P 6.5
param set MC_ROLLRATE_P 0.2
param set MC_ROLLRATE_I 0.002
param set MC_ROLLRATE_D 0.004
param set MC_ROLLRATE_FF 0
param set MC_ROLLRATE_MAX 80
param set MC_PITCH_P 6.5
param set MC_PITCHRATE_P 0.2
param set MC_PITCHRATE_I 0.002
param set MC_PITCHRATE_D 0.004
param set MC_PITCHRATE_FF 0
param set MC_PITCHRATE_MAX 80
param set MC_YAW_P 3.5
param set MC_YAWRATE_P 0.2
param set MC_YAWRATE_I 0.02
param set MC_YAWRATE_D 0
param set MC_YAWRATE_FF 0
param set MC_YAWRATE_MAX 20

param set PWM_RATE 400

param set VT_IDLE_PWM_MC 1080
param set VT_MOT_ID 1234
param set VT_FW_MOT_OFFID 24
param set VT_TILT_MC 0.08
param set VT_TILT_TRANS 0.5
param set VT_TILT_FW 0.9
param set VT_ELEV_MC_LOCK 0
param set VT_TYPE 1

fi

set MAV_TYPE 21

set MIXER Valkyrie_vtol
set MIXER_AUX Valkyrie_vtol

set PWM_OUT 1234

Also, The file name is “13300_Valkyrie_vtol”

Hello @OzanDurmaz, unfortunately I have the exact same issue.

Using the mavlink shell and listing /etc/init.d/airframes, it seems that my custom airframe file was not copied in the PX4 filesystem.

It looks like the filesystem does not get updated when uploading the firmware. No idea about how to fix this yet.

I do not think that this has something to do with the airframe file itself as I tried with a copy of the “Standard plane” airframe with only the ID changed, and it did not work either.

By the way, you can see the boot log in the mavlink shell by using “dmesg” instead of having to look into the SD.

Hello @OzanDurmaz, you have to add all the file names to the CMakeLists.txt in every folder in which you add a file.
Not doing so will simply not copy them over to your fmu.

Thanks to Ricardo Marques over at the PX4 slack.

2 Likes

Glad I could help :wink:

I’lll make sure this is added to the documentation if not already there.