unl-nimbus-lab/Freyja

Build Issue with Ardupilot computer_ctrl

Opened this issue · 7 comments

Hi @ajshank,

I've been unable to build (with ./waf) the computer_ctrl version of Ardupilot (maintained here) for SITL. It also doesn't seem to build for other boards. It may be that it's inconsistent with the most recent version of Ardupilot? I tried dropping the computer_ctrl files into the most recent version of Ardupilot but there are also inconsistencies.

Have you been able to build this version of Ardupilot with computer-ctrl? If not, is Freyja supported for 'Guided' mode in Ardupilot or 'Offboard' in PX4?

Hope you are well!

@pfletche Thanks for testing and reporting this. I'm well; hope you're too :)

I presume that you've cloned the entire repo (with --recurse-submodules)? I don't have a complete toolchain installed on my machine at the moment, but if you post a specific error, I can try to replicate it. It is also possible that a new version of Ubuntu has a new version of gcc or libc that no longer recognises some symbols. Are the precompiled binaries on Box/OneDrive for a different board than yours? Sorry, I just saw that you're looking for SITL.

Freyja will work with Guided-NoGPS mode (since Ardupilot 4.1+, some of my changes are now available in the main repository), and PX4's OFFBOARD should also work (very much untested). However, please keep in mind that there is a small segment of code in apm_handler package that looks for the string COMP_CTRL, and makes a couple of service calls. This behaviour will no longer work, but is not essential to core flight control (in general, none of Freyja's internal functions depend on anything external). If this is the route you prefer, there are a few minor adjustments that will need to be made. Please let me know, this should be doable.

Thanks, Ajay! Yep, I did clone the entire repo. I pasted the specific error below. Looks like there are too many args in a function in AP_Generator_RichenPower.cpp.

I'm now trying Guided_NoGPS. Looks like I need to change the G2_OPTIONS parameter, where does that param live exactly? I tried changing GUID_OPTIONS in ardupilot/ArduCopter/Parameters.cpp to 3: interpret thrust as thrust, but that hasn't worked.

Maybe we could talk for a bit over Zoom? Let me know if that would work.


$ ./waf copter
Waf: Entering directory `/home/paul/Ardupilot_Ajay_Original/ardupilot/build/sitl'
[3/6] Compiling libraries/AP_Scripting/generator/src/main.c
[4/6] Processing modules/mavlink/message_definitions/v1.0/ardupilotmega.xml
[5/6] Creating build/sitl/ap_version.h
Validation skipped for /home/paul/Ardupilot_Ajay_Original/ardupilot/modules/mavlink/message_definitions/v1.0/ardupilotmega.xml.
Parsing /home/paul/Ardupilot_Ajay_Original/ardupilot/modules/mavlink/message_definitions/v1.0/ardupilotmega.xml
Validation skipped for /home/paul/Ardupilot_Ajay_Original/ardupilot/modules/mavlink/message_definitions/v1.0/common.xml.
Parsing /home/paul/Ardupilot_Ajay_Original/ardupilot/modules/mavlink/message_definitions/v1.0/common.xml
Validation skipped for /home/paul/Ardupilot_Ajay_Original/ardupilot/modules/mavlink/message_definitions/v1.0/uAvionix.xml.
Parsing /home/paul/Ardupilot_Ajay_Original/ardupilot/modules/mavlink/message_definitions/v1.0/uAvionix.xml
Validation skipped for /home/paul/Ardupilot_Ajay_Original/ardupilot/modules/mavlink/message_definitions/v1.0/icarous.xml.
Parsing /home/paul/Ardupilot_Ajay_Original/ardupilot/modules/mavlink/message_definitions/v1.0/icarous.xml
Merged enum MAV_CMD
Found 227 MAVLink message types in 4 XML files
[6/6] Processing /home/paul/Ardupilot_Ajay_Original/ardupilot/build/sitl/libraries/AP_Scripting/lua_generated_bindings.cpp,/home/paul/Ardupilot_Ajay_Original/ardupilot/build/sitl/libraries/AP_Scripting/lua_generated_bindings.h: libraries/AP_Scripting/generator/description/bindings.desc build/sitl/gen-bindings -> build/sitl/libraries/AP_Scripting/lua_generated_bindings.cpp build/sitl/libraries/AP_Scripting/lua_generated_bindings.h
Generating C implementation in directory /home/paul/Ardupilot_Ajay_Original/ardupilot/build/sitl/libraries/GCS_MAVLink/include/mavlink/v2.0/ardupilotmega
Generating C implementation in directory /home/paul/Ardupilot_Ajay_Original/ardupilot/build/sitl/libraries/GCS_MAVLink/include/mavlink/v2.0/common
Generating C implementation in directory /home/paul/Ardupilot_Ajay_Original/ardupilot/build/sitl/libraries/GCS_MAVLink/include/mavlink/v2.0/uAvionix
Generating C implementation in directory /home/paul/Ardupilot_Ajay_Original/ardupilot/build/sitl/libraries/GCS_MAVLink/include/mavlink/v2.0/icarous
Copying fixed headers for protocol 2.0 to /home/paul/Ardupilot_Ajay_Original/ardupilot/build/sitl/libraries/GCS_MAVLink/include/mavlink/v2.0
[ 7/709] Compiling libraries/AC_AttitudeControl/AC_AttitudeControl_Sub.cpp
[ 8/709] Compiling libraries/AC_AttitudeControl/AC_AttitudeControl_Heli.cpp
[ 9/709] Compiling libraries/AC_AttitudeControl/ControlMonitor.cpp
[ 10/709] Compiling libraries/AC_AttitudeControl/AC_AttitudeControl_Multi.cpp
[ 11/709] Compiling libraries/AC_AttitudeControl/AC_PosControl_Sub.cpp
[ 12/709] Compiling libraries/AC_AutoTune/AC_AutoTune.cpp
[ 13/709] Compiling libraries/AC_Autorotation/AC_Autorotation.cpp
[ 14/709] Compiling libraries/AC_Avoidance/AP_OADatabase.cpp
[ 15/709] Compiling libraries/AC_Avoidance/AP_OADijkstra.cpp
[ 16/709] Compiling libraries/AC_Avoidance/AP_OABendyRuler.cpp
[ 17/709] Compiling libraries/AC_Avoidance/AP_OAVisGraph.cpp
[ 18/709] Compiling libraries/AC_Fence/AC_PolyFence_loader.cpp
[ 19/709] Compiling libraries/AC_InputManager/AC_InputManager.cpp
[ 20/709] Compiling libraries/AC_InputManager/AC_InputManager_Heli.cpp
[ 21/709] Compiling libraries/AC_PID/AC_P.cpp
[ 22/709] Compiling libraries/AC_PID/AC_HELI_PID.cpp
[ 23/709] Compiling libraries/AC_PID/AC_PI.cpp
[ 24/709] Compiling libraries/AC_PID/AC_PID.cpp
[ 25/709] Compiling libraries/AC_PID/AC_PID_2D.cpp
[ 26/709] Compiling libraries/AC_PID/AC_PI_2D.cpp
[ 27/709] Compiling libraries/AC_PrecLand/AC_PrecLand_IRLock.cpp
[ 28/709] Compiling libraries/AC_PrecLand/AC_PrecLand_SITL_Gazebo.cpp
[ 29/709] Compiling libraries/AC_PrecLand/PosVelEKF.cpp
[ 30/709] Compiling libraries/AC_PrecLand/AC_PrecLand_SITL.cpp
[ 31/709] Compiling libraries/AC_PrecLand/AC_PrecLand.cpp
[ 32/709] Compiling libraries/AC_PrecLand/AC_PrecLand_Companion.cpp
[ 33/709] Compiling libraries/AC_Sprayer/AC_Sprayer.cpp
[ 34/709] Compiling libraries/AC_WPNav/AC_Circle.cpp
[ 35/709] Compiling libraries/AC_WPNav/AC_Loiter.cpp
[ 36/709] Compiling libraries/AC_WPNav/AC_WPNav.cpp
[ 37/709] Compiling libraries/AC_WPNav/AC_WPNav_OA.cpp
[ 38/709] Compiling libraries/AP_ADC/AP_ADC_ADS1115.cpp
[ 39/709] Compiling libraries/AP_AHRS/AP_AHRS_DCM.cpp
[ 40/709] Compiling libraries/AP_AHRS/AP_AHRS_View.cpp
[ 41/709] Compiling libraries/AP_AccelCal/AP_AccelCal.cpp
[ 42/709] Compiling libraries/AP_AccelCal/AccelCalibrator.cpp
[ 43/709] Compiling libraries/AP_AdvancedFailsafe/AP_AdvancedFailsafe.cpp
[ 44/709] Compiling libraries/AP_Airspeed/AP_Airspeed_UAVCAN.cpp
[ 45/709] Compiling libraries/AP_Airspeed/AP_Airspeed_MS5525.cpp
[ 46/709] Compiling libraries/AP_Airspeed/AP_Airspeed_analog.cpp
[ 47/709] Compiling libraries/AP_Airspeed/Airspeed_Calibration.cpp
[ 48/709] Compiling libraries/AP_Airspeed/AP_Airspeed_Backend.cpp
[ 49/709] Compiling libraries/AP_Airspeed/AP_Airspeed_DLVR.cpp
[ 50/709] Compiling libraries/AP_Airspeed/AP_Airspeed_Health.cpp
[ 51/709] Compiling libraries/AP_Airspeed/AP_Airspeed_SDP3X.cpp
[ 52/709] Compiling libraries/AP_Airspeed/AP_Airspeed_MS4525.cpp
[ 53/709] Compiling libraries/AP_Baro/AP_Baro_HIL.cpp
[ 54/709] Compiling libraries/AP_Baro/AP_Baro_KellerLD.cpp
[ 55/709] Compiling libraries/AP_Baro/AP_Baro_Dummy.cpp
[ 56/709] Compiling libraries/AP_Baro/AP_Baro_ICM20789.cpp
[ 57/709] Compiling libraries/AP_Baro/AP_Baro_SPL06.cpp
[ 58/709] Compiling libraries/AP_Baro/AP_Baro_BMP085.cpp
[ 59/709] Compiling libraries/AP_Baro/AP_Baro_UAVCAN.cpp
[ 60/709] Compiling libraries/AP_Baro/AP_Baro_DPS280.cpp
[ 61/709] Compiling libraries/AP_Baro/AP_Baro_Backend.cpp
[ 62/709] Compiling libraries/AP_Baro/AP_Baro_BMP388.cpp
[ 63/709] Compiling libraries/AP_Baro/AP_Baro_BMP280.cpp
[ 64/709] Compiling libraries/AP_Baro/AP_Baro_LPS2XH.cpp
[ 65/709] Compiling libraries/AP_Baro/AP_Baro_MS5611.cpp
[ 66/709] Compiling libraries/AP_Baro/AP_Baro_FBM320.cpp
[ 67/709] Compiling libraries/AP_BattMonitor/AP_BattMonitor_SMBus_NeoDesign.cpp
[ 68/709] Compiling libraries/AP_BattMonitor/AP_BattMonitor_SMBus_Generic.cpp
[ 69/709] Compiling libraries/AP_BattMonitor/AP_BattMonitor_Bebop.cpp
[ 70/709] Compiling libraries/AP_BattMonitor/AP_BattMonitor_SMBus_SUI.cpp
[ 71/709] Compiling libraries/AP_BattMonitor/AP_BattMonitor_Generator.cpp
[ 72/709] Compiling libraries/AP_BattMonitor/AP_BattMonitor_FuelLevel_PWM.cpp
[ 73/709] Compiling libraries/AP_BattMonitor/AP_BattMonitor_SMBus.cpp
[ 74/709] Compiling libraries/AP_BattMonitor/AP_BattMonitor_Sum.cpp
[ 75/709] Compiling libraries/AP_BattMonitor/AP_BattMonitor_SMBus_Solo.cpp
[ 76/709] Compiling libraries/AP_BattMonitor/AP_BattMonitor_UAVCAN.cpp
[ 77/709] Compiling libraries/AP_BattMonitor/AP_BattMonitor_BLHeliESC.cpp
[ 78/709] Compiling libraries/AP_BattMonitor/AP_BattMonitor_Analog.cpp
[ 79/709] Compiling libraries/AP_BattMonitor/AP_BattMonitor_FuelFlow.cpp
[ 80/709] Compiling libraries/AP_BattMonitor/AP_BattMonitor_Backend.cpp
[ 81/709] Compiling libraries/AP_Beacon/AP_Beacon_SITL.cpp
[ 82/709] Compiling libraries/AP_Beacon/AP_Beacon.cpp
[ 83/709] Compiling libraries/AP_Beacon/AP_Beacon_Backend.cpp
[ 84/709] Compiling libraries/AP_Beacon/AP_Beacon_Marvelmind.cpp
[ 85/709] Compiling libraries/AP_Beacon/AP_Beacon_Pozyx.cpp
[ 86/709] Compiling libraries/AP_BoardConfig/canbus_interface.cpp
[ 87/709] Compiling libraries/AP_BoardConfig/canbus_slcan.cpp
[ 88/709] Compiling libraries/AP_BoardConfig/board_drivers.cpp
[ 89/709] Compiling libraries/AP_BoardConfig/IMU_heater.cpp
[ 90/709] Compiling libraries/AP_Button/AP_Button.cpp
[ 91/709] Compiling libraries/AP_Camera/AP_RunCam.cpp
[ 92/709] Compiling libraries/AP_Camera/AP_Camera.cpp
[ 93/709] Compiling libraries/AP_Camera/AP_Camera_SoloGimbal.cpp
[ 94/709] Compiling libraries/AP_Common/AP_Common.cpp
[ 95/709] Compiling libraries/AP_Common/Location.cpp
[ 96/709] Compiling libraries/AP_Common/AP_ExpandingArray.cpp
[ 97/709] Compiling libraries/AP_Common/AP_FWVersion.cpp
[ 98/709] Compiling libraries/AP_Common/c++.cpp
[ 99/709] Compiling libraries/AP_Compass/Compass_learn.cpp
[100/709] Compiling libraries/AP_Compass/AP_Compass_HIL.cpp
[101/709] Compiling libraries/AP_Compass/AP_Compass_SITL.cpp
[102/709] Compiling libraries/AP_Compass/AP_Compass_UAVCAN.cpp
[103/709] Compiling libraries/AP_Compass/AP_Compass_AK09916.cpp
[104/709] Compiling libraries/AP_Compass/CompassCalibrator.cpp
[105/709] Compiling libraries/AP_Compass/AP_Compass_QMC5883L.cpp
[106/709] Compiling libraries/AP_Compass/AP_Compass_HMC5843.cpp
[107/709] Compiling libraries/AP_Compass/AP_Compass_AK8963.cpp
[108/709] Compiling libraries/AP_Compass/AP_Compass_RM3100.cpp
[109/709] Compiling libraries/AP_Compass/AP_Compass_MMC3416.cpp
[110/709] Compiling libraries/AP_Compass/AP_Compass_LSM303D.cpp
[111/709] Compiling libraries/AP_Compass/AP_Compass_MAG3110.cpp
[112/709] Compiling libraries/AP_Compass/AP_Compass_LSM9DS1.cpp
[113/709] Compiling libraries/AP_Compass/AP_Compass_Calibration.cpp
[114/709] Compiling libraries/AP_Compass/AP_Compass_LIS3MDL.cpp
[115/709] Compiling libraries/AP_Compass/AP_Compass_BMM150.cpp
[116/709] Compiling libraries/AP_Compass/AP_Compass_IST8310.cpp
[117/709] Compiling libraries/AP_Compass/Compass_PerMotor.cpp
[118/709] Compiling libraries/AP_Compass/AP_Compass_IST8308.cpp
[119/709] Compiling libraries/AP_Declination/AP_Declination.cpp
[120/709] Compiling libraries/AP_Declination/tables.cpp
[121/709] Compiling libraries/AP_Devo_Telem/AP_Devo_Telem.cpp
[122/709] Compiling libraries/AP_EFI/AP_EFI.cpp
[123/709] Compiling libraries/AP_EFI/AP_EFI_Serial_MS.cpp
[124/709] Compiling libraries/AP_EFI/AP_EFI_Backend.cpp
[125/709] Compiling libraries/AP_ESC_Telem/AP_ESC_Telem.cpp
[126/709] Compiling libraries/AP_Filesystem/posix_compat.cpp
[127/709] Compiling libraries/AP_Filesystem/AP_Filesystem_Param.cpp
[128/709] Compiling libraries/AP_Filesystem/AP_Filesystem_FATFS.cpp
[129/709] Compiling libraries/AP_Filesystem/AP_Filesystem.cpp
[130/709] Compiling libraries/AP_Filesystem/AP_Filesystem_posix.cpp
[131/709] Compiling libraries/AP_Filesystem/AP_Filesystem_ROMFS.cpp
[132/709] Compiling libraries/AP_Filesystem/AP_Filesystem_Sys.cpp
[133/709] Compiling libraries/AP_FlashStorage/AP_FlashStorage.cpp
[134/709] Compiling libraries/AP_Frsky_Telem/AP_Frsky_Telem.cpp
[135/709] Compiling libraries/AP_GPS/AP_GPS_SBF.cpp
[136/709] Compiling libraries/AP_GPS/RTCM3_Parser.cpp
[137/709] Compiling libraries/AP_GPS/AP_GPS_SBP.cpp
[138/709] Compiling libraries/AP_GPS/GPS_Backend.cpp
[139/709] Compiling libraries/AP_GPS/AP_GPS_SIRF.cpp
[140/709] Compiling libraries/AP_GPS/AP_GPS_SBP2.cpp
[141/709] Compiling libraries/AP_GPS/AP_GPS_UAVCAN.cpp
[142/709] Compiling libraries/AP_GPS/AP_GPS_MTK.cpp
[143/709] Compiling libraries/AP_GPS/AP_GPS_NMEA.cpp
[144/709] Compiling libraries/AP_GPS/AP_GPS.cpp
[145/709] Compiling libraries/AP_GPS/AP_GPS_NOVA.cpp
[146/709] Compiling libraries/AP_GPS/AP_GPS_ERB.cpp
[147/709] Compiling libraries/AP_GPS/AP_GPS_MTK19.cpp
[148/709] Compiling libraries/AP_GPS/AP_GPS_MAV.cpp
[149/709] Compiling libraries/AP_GPS/AP_GPS_GSOF.cpp
[150/709] Compiling libraries/AP_GPS/AP_GPS_UBLOX.cpp
[151/709] Compiling libraries/AP_Generator/AP_Generator_RichenPower.cpp
[152/709] Compiling libraries/AP_Gripper/AP_Gripper.cpp
[153/709] Compiling libraries/AP_Gripper/AP_Gripper_EPM.cpp
[154/709] Compiling libraries/AP_Gripper/AP_Gripper_Servo.cpp
[155/709] Compiling libraries/AP_Gripper/AP_Gripper_Backend.cpp
[156/709] Compiling libraries/AP_Hott_Telem/AP_Hott_Telem.cpp
[157/709] Compiling libraries/AP_ICEngine/AP_ICEngine.cpp
[158/709] Compiling libraries/AP_IOMCU/AP_IOMCU.cpp
[159/709] Compiling libraries/AP_IOMCU/fw_uploader.cpp
[160/709] Compiling libraries/AP_IRLock/AP_IRLock_SITL_Gazebo.cpp
[161/709] Compiling libraries/AP_IRLock/IRLock.cpp
[162/709] Compiling libraries/AP_IRLock/AP_IRLock_I2C.cpp
[163/709] Compiling libraries/AP_IRLock/AP_IRLock_SITL.cpp
[164/709] Compiling libraries/AP_InertialNav/AP_InertialNav_NavEKF.cpp
[165/709] Compiling libraries/AP_InertialSensor/BatchSampler.cpp
[166/709] Compiling libraries/AP_InertialSensor/AP_InertialSensor_Invensense.cpp
[167/709] Compiling libraries/AP_InertialSensor/AP_InertialSensor_SITL.cpp
[168/709] Compiling libraries/AP_InertialSensor/AP_InertialSensor_L3G4200D.cpp
[169/709] Compiling libraries/AP_InertialSensor/AuxiliaryBus.cpp
[170/709] Compiling libraries/AP_InertialSensor/AP_InertialSensor_RST.cpp
[171/709] Compiling libraries/AP_InertialSensor/AP_InertialSensor_LSM9DS0.cpp
[172/709] Compiling libraries/AP_InertialSensor/AP_InertialSensor_LSM9DS1.cpp
[173/709] Compiling libraries/AP_InertialSensor/AP_InertialSensor_BMI160.cpp
[174/709] Compiling libraries/AP_InertialSensor/AP_InertialSensor_Backend.cpp
[175/709] Compiling libraries/AP_InertialSensor/AP_InertialSensor_HIL.cpp
[176/709] Compiling libraries/AP_InertialSensor/AP_InertialSensor_ADIS1647x.cpp
[177/709] Compiling libraries/AP_InertialSensor/AP_InertialSensor_BMI055.cpp
[178/709] Compiling libraries/AP_InertialSensor/AP_InertialSensor_BMI088.cpp
[179/709] Compiling libraries/AP_InertialSensor/AP_InertialSensor_Invensensev2.cpp
[180/709] Compiling libraries/AP_InternalError/AP_InternalError.cpp
[181/709] Compiling libraries/AP_KDECAN/AP_KDECAN.cpp
[182/709] Compiling libraries/AP_LTM_Telem/AP_LTM_Telem.cpp
[183/709] Compiling libraries/AP_LandingGear/AP_LandingGear.cpp
[184/709] Compiling libraries/AP_Logger/AP_Logger_Block.cpp
[185/709] Compiling libraries/AP_Logger/AP_Logger_MAVLink.cpp
[186/709] Compiling libraries/AP_Logger/AP_Logger_DataFlash.cpp
[187/709] Compiling libraries/AP_Logger/AP_Logger.cpp
[188/709] Compiling libraries/AP_Logger/LoggerMessageWriter.cpp
[189/709] Compiling libraries/AP_Logger/AP_Logger_MAVLinkLogTransfer.cpp
[190/709] Compiling libraries/AP_Logger/AP_Logger_SITL.cpp
[191/709] Compiling libraries/AP_Logger/LogFile.cpp
[192/709] Compiling libraries/AP_Math/vector3.cpp
[193/709] Compiling libraries/AP_Math/AP_Math.cpp
[194/709] Compiling libraries/AP_Math/polygon.cpp
../../libraries/AP_Generator/AP_Generator_RichenPower.cpp: In member function ‘void AP_Generator_RichenPower::send_generator_status(const GCS_MAVLINK&)’:
../../libraries/AP_Generator/AP_Generator_RichenPower.cpp:380:9: error: too many arguments to function ‘void mavlink_msg_generator_status_send(mavlink_channel_t, uint64_t, uint16_t, float, float, float, float, int16_t, float, int16_t)’
380 | );
| ^
compilation terminated due to -Wfatal-errors.

In file included from /usr/include/string.h:495,
from ../../libraries/AP_HAL/AP_HAL_Namespace.h:3,
from ../../libraries/AP_HAL/AP_HAL.h:5,
from ../../libraries/AP_Logger/AP_Logger.h:6,
from ../../libraries/AP_Logger/AP_Logger.cpp:1:
In function ‘char* strncpy(char*, const char*, size_t)’,
inlined from ‘bool AP_Logger::labels_string_is_good(const char*) const’ at ../../libraries/AP_Logger/AP_Logger.cpp:323:12:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:106:34: warning: ‘char* __builtin_strncpy(char*, const char*, long unsigned int)’ specified bound 65 equals destination size [-Wstringop-truncation]
106 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Waf: Leaving directory `/home/paul/Ardupilot_Ajay_Original/ardupilot/build/sitl'
Build failed
-> task in 'objs/AP_Generator' failed (exit status 1):
{task 140262601182896: cxx AP_Generator_RichenPower.cpp -> AP_Generator_RichenPower.cpp.0.o}
(run with -v to display more information)

@pfletche did you figure out where G2_options lives? I've been looking for a while and cannot find it. I would expect it to be accessible in mission planner parameters, but no luck.

Thanks,
John

@pfletche Thanks for testing and reporting this. I'm well; hope you're too :)

I presume that you've cloned the entire repo (with --recurse-submodules)? I don't have a complete toolchain installed on my machine at the moment, but if you post a specific error, I can try to replicate it. It is also possible that a new version of Ubuntu has a new version of gcc or libc that no longer recognises some symbols. Are the precompiled binaries on Box/OneDrive for a different board than yours? Sorry, I just saw that you're looking for SITL.

Freyja will work with Guided-NoGPS mode (since Ardupilot 4.1+, some of my changes are now available in the main repository), and PX4's OFFBOARD should also work (very much untested). However, please keep in mind that there is a small segment of code in apm_handler package that looks for the string COMP_CTRL, and makes a couple of service calls. This behaviour will no longer work, but is not essential to core flight control (in general, none of Freyja's internal functions depend on anything external). If this is the route you prefer, there are a few minor adjustments that will need to be made. Please let me know, this should be doable.

@ajshank I just found this thread- I'm using Freyja with Arducopter v 4.5.1 on a blue cube. I'm also using Guided_noGPS mode. Since this is a later version than Arducopter v 4.1, does it require any custom firmware package, or should it work as is?

Thanks for your help,
John

Hi @johnthelzer,
Unless you have a strong dependency on 4.5, I'd recommend building this 4.4 firmware: https://github.com/ajshank/ardupilot/tree/freyja4.4
This forks from 4.4 and adds a yaw-rate control functionality that was removed from ArduCopter after 4.2. No other base functions are modified. Please feel free to start a thread on Discussions if you'd like and we can move the conversation over there.

did you figure out where G2_options lives? I've been looking for a while and cannot find it. I would expect it to be accessible in mission planner parameters, but no luck.

@johnthelzer The option in GCS is called GUID_OPTIONS, and, if using the custom firmware I linked above, this should be set to 10 (numeric ten).

@ajshank Thank you! That is very helpful.