Does the DO_REPEAT_SERVO command work on Arduplane 2.74 - I am failing to get it to.
I have seen various (inconclusive) threads on here relating to it, but either for older firmware or Arducopter.
I have had success triggering with DO_SET_SERVO, but replacing it with DO_REPEAT_SERVO (and extra required params) doesn't seem to do anything.
If I use the command
DO_REPEAT_SERVO 5 1900 50 2
That will toggle servo output 5, 50 times, at 2 second intervals - correct?
A question: what is the on time and off time, and what is the off PWM value?
I'd rather use REPEAT rather than SET to save on waypoints.
If it has worked for you - please can you upload the relevant mission plan so I can track down where I am going wrong, or what I am missing.
Cheers!
Replies
Right - I have answered my own problem. Yes it does work. You need a WAYPOINT after the DO_REPEAT_SERVO command.
You can also turn it off too, another DO_REPEAT_SERVO command with 0 and 0 for Repeat and Delay.
For example, the following mission triggers the camera every 2 seconds between waypoints 1 & 3 only. Without WP 5, the DO_REPEAT_SERVO on line 4 isn't executed and it takes the full 100 shots requested on line 2 (or I pull the power).
I'm now hoping this is repeatable, so I can create a much larger grid.
Note: I am working on time-triggered shooting rather than distance-triggered or waypoint-triggered. My camera's maximum shooting rate is 2 seconds - which at a cruise of 12.5m/s is a picture every 25m, so it's then a case of experiment with altitude to get the required overlap for mapping or only shoot on into wind legs to get a lower groundspeed = greater overlap or lower required altitude.
Distance-triggered or waypoint-triggered has the problem of flying too fast, or off-course and skipping waypoint triggers. There is also the 256 waypoint limit, which is no good for large areas (or low altitude) or large overlap. I also considered CAM_TRIGG_DIST command - but this takes photos continually, therefore outside of the area of interest, wastes SD card space and time when processing.