Winch support for quadplane

Hi community, We want to use winch in our VTOL in the arduplane firmware, we are using arduplane 4.3.0, but I see there is no support for the winch in the quadplane.

[ Plane: support winch · Issue #15193 · ArduPilot/ardupilot · GitHub ]

If anyone has modified the firmware, please suggest what firmware parts can we modify, I tried to look in the ardupilot repository there was no PR for this support.

If it’s working for someone please let me know,
Thanks in advance!

have you tried custom.ardupilot.org it allows you to build custom firmware with custom options without changing any code.

Hi @amilcarlucas , I tried this for plane with winch enabled, but in the build log (https://custom.ardupilot.org/builds/plane:CubeOrangePlus:3bf6d7ace8e96017a191f7dbe25d090de1aceef0:4b0a6c0811256f316da0f4f5e78d0570/build.log)

I can’t see Library/AP_Winch building anywhere.are you really sure even if quadplane doesn’t have winch, it will build me a firmware with winch?

How does it work and combine non existent thing into plane firmware. Please describe it to me, I am not that much experienced in the development/

ArduPlane has to support winch in order for it to work without code changes.

The option is there in the custom build server, so I assumed that the support was there as well.

But I see this line:
Removing WINCH_ENABLED

which I guess prevents winch support being compiled in for whatever reason, (probably lacking code support for it)

So I guess you do need to go in and copy the winch support from ArduCopter into ArduPlane and recompile the source code yourself. Instructions for that are on the documentation.

first of all thank you @amilcarlucas for your time, you are right about WINCH_ENABLE thing, the code support is not there, can you please point me to the documentation that you are referring to, I am having trouble in porting the whole winch part to the ardupilot,

I only have 3 question?

  1. please provide the link of documentation that you are referring to so that I can port the winch part to the ardupilot.

  2. I searched “winch” in whole repo under VS code and changed Arducopter’s winch part to the equivalent of the arduplane. I am particularly having issue in porting only one file’s part which is Arducopter/mode_auto.cpp, because the structure of ArduPlane/mode_auto.cpp is completely different for a programmer of my level. Although I tried to find the function start_command this function is responsible for the winch part of the code.
    I am unable to port the code for this file only, if you can please look into it, it would be so much helpful, whenever you get some time please look into it.

3, Can I create a task with these arguments under Arduplane.cpp file, if not how do I configure priority and frequency and timeout?

#if WINCH_ENABLED == ENABLED
    SCHED_TASK_CLASS(AP_Winch, &plane.g2.winch, update, 50, 50, 155),
#endif
  1. Building the code — Dev documentation

  2. very good, that is the correct way of doing things. Do a github pull request with the stuff you have and ask for help on the things that you are missing.
    Submitting Patches Back to Master — Dev documentation

  3. see number 2