ardupilot icon indicating copy to clipboard operation
ardupilot copied to clipboard

Add support for docking clamps, including automated Copter release

Open peterbarker opened this issue 1 year ago • 4 comments

This work sponsored by FreeSpace.

peterbarker avatar Jun 20 '24 09:06 peterbarker

Is the option bit really needed?

peterbarker avatar Jun 21 '24 01:06 peterbarker

This does feel like it might be more of a scripting feature. We do have vehicle:is_landing() and vehicle:is_taking_off().

IamPete1 avatar Jun 24 '24 20:06 IamPete1

I agree with @IamPete1, it's so simple that it seems like it could be handled in scripting. I suspect the reason that scripting isn't being used because scripts are a bit more difficult to deploy. If that's the reason then perhaps we should investigate how we could make deploying scripts easier.

rmackay9 avatar Jun 25 '24 00:06 rmackay9

still needs FLIGHT_OPTIONS metadata addition

Added metadata.

peterbarker avatar Jun 26 '24 01:06 peterbarker

Re lua vs C++, I apparently said C++ was fine at some point (I have no memory) and so if it's OK with @IamPete1 and others, I think it's only fair that we allow it to be added to the c++. I suspect that the flash cost is low and if we did it as a script, I can imagine that adding access to the state takeoff state machine could require as much flash as the C++ equivalent.

rmackay9 avatar Jul 03 '24 05:07 rmackay9

I think this is fundermental capability for multirotors. Given how small this is I think it is worth putting it in C.

lthall avatar Mar 06 '25 10:03 lthall

Note that this feature is only enabled by default on boards with >2048kB of flash. So CubeRedPrimary gets it but few other boards do:

Board                    AP_Periph  blimp  bootloader  copter  heli  iofirmware  plane  rover  sub
CubeOrange-periph-heavy  0                 *                                                   
CubeRedPrimary                      0      *           272     264               200    0      0
Durandal                            0      *           0       0                 0      0      0
Hitec-Airspeed           *                 *                                                   
KakuteH7-bdshot                     0      *           0       0                 0      0      0
MatekF405                           0      *           0       0                 0      0      0
Pixhawk1-1M-bdshot                  0                  0       0                 0      0      0
f103-QiotekPeriph        *                 *                                                   
f303-Universal           *                 *                                                   
iomcu                                                                *                         
revo-mini                           0      *           0       0                 0      0      0
skyviper-journey                                       0                                       
skyviper-v2450                                         0                                       

It's expected that users be running their own OEM setup or use the custom build server to enable this.

It's not no-compiler-output-change because we have an additional servo function now and that changes the compilation.

peterbarker avatar Mar 06 '25 13:03 peterbarker

Looks good to me, let's move the bit to AP_LandingGear's OPTIONS bit. then I'm happy for it to be merged, thanks!

rmackay9 avatar Mar 17 '25 23:03 rmackay9