In firmware download / features.txt, what does the "!" mean?

I’m looking at the features.txt file - trying to figure if I’d still need to create a custom firmware for a Kakute F7 to get OSD on Walksnail working, or, if all the Walksnail OSD features are included by default.

Anyway, I’m wondering what the exclamation point means in the “features.txt” file - does that mean those features are NOT in the firmware?

Thanks…

https://firmware.ardupilot.org/Copter/stable-4.3.7/KakuteF7/

/usr/lib/python3.8/subprocess.py:844: RuntimeWarning: line buffering (buffering=1) isn’t supported in binary mode, the default buffer size will be used
self.stdout = io.open(c2pread, ‘rb’, bufsize)

AC_AVOID_ENABLED
AP_AIRSPEED_ENABLED
AP_BARO_BMP085_ENABLED
AP_BARO_BMP280_ENABLED
AP_BARO_BMP388_ENABLED
AP_BARO_DPS280_ENABLED
AP_BARO_FBM320_ENABLED
AP_BARO_LPS2XH_ENABLED
AP_BARO_MS56XX_ENABLED
AP_BARO_SPL06_ENABLED
AP_FENCE_ENABLED
AP_GPS_ERB_ENABLED
AP_GPS_GSOF_ENABLED
AP_GPS_MAV_ENABLED
AP_GPS_NMEA_ENABLED
AP_GPS_NOVA_ENABLED
AP_GPS_SBF_ENABLED
AP_GPS_SBP2_ENABLED
AP_GPS_SBP_ENABLED
AP_GPS_UBLOX_ENABLED
AP_MOTORS_FRAME_DECA_ENABLED
AP_MOTORS_FRAME_DODECAHEXA_ENABLED
AP_MOTORS_FRAME_HEXA_ENABLED
AP_MOTORS_FRAME_OCTAQUAD_ENABLED
AP_MOTORS_FRAME_OCTA_ENABLED
AP_MOTORS_FRAME_QUAD_ENABLED
AP_MOTORS_FRAME_Y6_ENABLED
AP_OPTICALFLOW_CXOF_ENABLED
AP_OPTICALFLOW_ENABLED
AP_OPTICALFLOW_MAV_ENABLED
AP_OPTICALFLOW_PIXART_ENABLED
AP_OPTICALFLOW_PX4FLOW_ENABLED
AP_OPTICALFLOW_UPFLOW_ENABLED
AP_RANGEFINDER_ANALOG_ENABLED
AP_RANGEFINDER_BENEWAKE_TF02_ENABLED
AP_RANGEFINDER_BENEWAKE_TF03_ENABLED
AP_RANGEFINDER_BENEWAKE_TFMINIPLUS_ENABLED
AP_RANGEFINDER_BENEWAKE_TFMINI_ENABLED
AP_RANGEFINDER_BLPING_ENABLED
AP_RANGEFINDER_ENABLED
AP_RANGEFINDER_GYUS42V2_ENABLED
AP_RANGEFINDER_HC_SR04_ENABLED
AP_RANGEFINDER_LANBAO_ENABLED
AP_RANGEFINDER_LEDDARONE_ENABLED
AP_RANGEFINDER_LEDDARVU8_ENABLED
AP_RANGEFINDER_LIGHTWARE_SERIAL_ENABLED
AP_RANGEFINDER_LWI2C_ENABLED
AP_RANGEFINDER_MAVLINK_ENABLED
AP_RANGEFINDER_MAXBOTIX_SERIAL_ENABLED
AP_RANGEFINDER_MAXSONARI2CXL_ENABLED
AP_RANGEFINDER_NMEA_ENABLED
AP_RANGEFINDER_PULSEDLIGHTLRF_ENABLED
AP_RANGEFINDER_PWM_ENABLED
AP_RANGEFINDER_TERARANGER_SERIAL_ENABLED
AP_RANGEFINDER_TRI2C_ENABLED
AP_RANGEFINDER_USD1_SERIAL_ENABLED
AP_RANGEFINDER_VL53L0X_ENABLED
AP_RANGEFINDER_VL53L1X_ENABLED
AP_RANGEFINDER_WASP_ENABLED
HAL_NAVEKF3_AVAILABLE
LANDING_GEAR_ENABLED
MODE_FLIP_ENABLED
OSD_ENABLED
!AC_OAPATHPLANNER_ENABLED
!AP_AIRSPEED_ANALOG_ENABLED
!AP_AIRSPEED_ASP5033_ENABLED
!AP_AIRSPEED_DLVR_ENABLED
!AP_AIRSPEED_MS4525_ENABLED
!AP_AIRSPEED_MS5525_ENABLED
!AP_AIRSPEED_MSP_ENABLED
!AP_AIRSPEED_NMEA_ENABLED
!AP_AIRSPEED_SDP3X_ENABLED
!AP_AIRSPEED_UAVCAN_ENABLED
!AP_AIS_ENABLED
!AP_BARO_DUMMY_ENABLED
!AP_BARO_EXTERNALAHRS_ENABLED
!AP_BARO_ICM20789_ENABLED
!AP_BARO_ICP101XX_ENABLED
!AP_BARO_ICP201XX_ENABLED
!AP_BARO_KELLERLD_ENABLED
!AP_BARO_MSP_ENABLED
!AP_BARO_UAVCAN_ENABLED
!AP_BATTMON_FUELFLOW_ENABLE
!AP_BATTMON_FUELLEVEL_ANALOG_ENABLE
!AP_BATTMON_FUELLEVEL_PWM_ENABLE
!AP_BATTMON_SMBUS_ENABLE
!AP_FETTEC_ONEWIRE_ENABLED
!AP_GPS_SIRF_ENABLED
!AP_ICENGINE_ENABLED
!AP_LTM_TELEM_ENABLED
!AP_OPTICALFLOW_HEREFLOW_ENABLED
!AP_OPTICALFLOW_ONBOARD_ENABLED
!AP_RANGEFINDER_BBB_PRU_ENABLED
!AP_RANGEFINDER_BEBOP_ENABLED
!AP_RANGEFINDER_BENEWAKE_CAN_ENABLED
!AP_RANGEFINDER_SIM_ENABLED
!AP_RANGEFINDER_UAVCAN_ENABLED
!AP_RANGEFINDER_USD1_CAN_ENABLED
!AP_ROBOTISSERVO_ENABLED
!AP_TRAMP_ENABLED
!AP_VOLZ_ENABLED
!BEACON_ENABLED
!EK3_FEATURE_EXTERNAL_NAV
!GPS_MOVING_BASELINE
!GRIPPER_ENABLED
!HAL_ADSB_ENABLED
!HAL_ADSB_SAGETECH_ENABLED
!HAL_ADSB_SAGETECH_MXS_ENABLED
!HAL_ADSB_UAVIONIX_MAVLINK_ENABLED
!HAL_ADSB_UCP_ENABLED
!HAL_BARO_WIND_COMP_ENABLED
!HAL_BATTMON_INA2XX_ENABLED
!HAL_CRSF_TELEM_ENABLED
!HAL_CRSF_TELEM_TEXT_SELECTION_ENABLED
!HAL_DISPLAY_ENABLED
!HAL_EFI_ENABLED
!HAL_EFI_NWPWU_ENABLED
!HAL_EXTERNAL_AHRS_ENABLED
!HAL_GENERATOR_ENABLED
!HAL_HIGH_LATENCY2_ENABLED
!HAL_HOTT_TELEM_ENABLED
!HAL_INS_TEMPERATURE_CAL_ENABLE
!HAL_LANDING_DEEPSTALL_ENABLED
!HAL_MOUNT_ALEXMOS_ENABLED
!HAL_MOUNT_ENABLED
!HAL_MOUNT_GREMSY_ENABLED
!HAL_MOUNT_SERVO_ENABLED
!HAL_MOUNT_SIYI_ENABLED
!HAL_MOUNT_STORM32MAVLINK_ENABLED
!HAL_MOUNT_STORM32SERIAL_ENABLED
!HAL_MSP_COMPASS_ENABLED
!HAL_MSP_ENABLED
!HAL_MSP_GPS_ENABLED
!HAL_MSP_OPTICALFLOW_ENABLED
!HAL_MSP_RANGEFINDER_ENABLED
!HAL_MSP_SENSORS_ENABLED
!HAL_NAVEKF2_AVAILABLE
!HAL_NMEA_OUTPUT_ENABLED
!HAL_OSD_SIDEBAR_ENABLE
!HAL_PARACHUTE_ENABLED
!HAL_PICCOLO_CAN_ENABLE
!HAL_PLUSCODE_ENABLE
!HAL_PROXIMITY_ENABLED
!HAL_QUADPLANE_ENABLED
!HAL_RUNCAM_ENABLED
!HAL_SMARTAUDIO_ENABLED
!HAL_SOARING_ENABLED
!HAL_SOLO_GIMBAL_ENABLED
!HAL_SPEKTRUM_TELEM_ENABLED
!HAL_SPRAYER_ENABLED
!HAL_TORQEEDO_ENABLED
!HAL_VISUALODOM_ENABLED
!HAL_WITH_DSP
!HAL_WITH_MSP_DISPLAYPORT
!MODE_FLOWHOLD_ENABLED
!MODE_FOLLOW_ENABLED
!MODE_GUIDED_NOGPS_ENABLED
!MODE_SPORT_ENABLED
!MODE_SYSTEMID_ENABLED
!MODE_TURTLE_ENABLED
!MODE_ZIGZAG_ENABLED
!OSD_PARAM_ENABLED
!RPM_ENABLED
!WINCH_ENABLED

“!” often means “not”. Check if you have any winch or rpm params if not then features marked with “!” are disabled.

1 Like

Kakute F7 features

Thanks Dave.

So to me, it looks like OSD capability is NOT in the stock firmware. Would you be so kind as to check that link and verify?

And if the OSD is not included, that’s a darn shame as I’m 99.9% sure there’s plenty of room in the 1MB of ram to include OSD (partly because when I create a custom firmware, there IS room) - just seems like a popular item that would be near the top of “include” lists.

Also, could you verify that the “!” does indeed mean that a particular feature is NOT included?

Thanks very much.

Bill

Thanks very much Lupus - yeah makes sense, I’d just like verification so I know for sure.

Hi Bill- I have a Kakute F7 Mini on a 4" and OSD is available. But, I’m not using OSD/FPV on this craft and I don’t know anything about Walksnail.

Note-I do see that some OSD features are limited out but basic functionality is there. There are also some MSP features not supported which might have something to do with Walksnail not working. But admittedly I’m not very knowledgeable about these protocols.

Dave, HDZero/DJI/Walksnail OSD’s all need MSP activated (analog OSD works fine without MSP) - they work by sending telemetry down to the goggles, and then the goggles themselves create the OSD.

As opposed to analog OSD where the OSD items are added on the airframe between the flight controller and the VTX (integrated on the flight controller with betaflight-type flight controllers as you know).

But I’m only 95% sure of that.

Thanks…

Bill

1 Like