Commit Graph

37 Commits

Author SHA1 Message Date
Iampete1 95b8630a09 Copter: motor test: check E-stop 2022-02-10 07:43:40 +09:00
Andy Piper 1b5ed1caff Copter: add turtle mode
add turtle mode as an RC function
add turtle mode arming checks
re-use motortest arming checks for turtle mode
2021-08-12 19:00:51 +09:00
Andy Piper ef18b9f943 ArduCopter: only call init_rc_out() once to avoid losing MOT information 2021-05-12 21:02:42 +10:00
Michael du Breuil 376494027b Copter: Support higher resolution percent based motor tests 2020-08-09 13:47:48 +10:00
Randy Mackay bce5154b2d Copter: compassmot and motor_test set_soft_armed 2019-09-17 11:26:57 +09:00
Peter Barker bb3d2a0b37 Copter: pass GCS_MAVLink object rather than channel number in motortest 2019-07-02 10:04:56 +10:00
Andrew Tridgell f55d9140e2 Copter: rename to EXPECT_DELAY_MS() 2019-05-15 15:33:48 +10:00
Andrew Tridgell bc2f5fa33b ArduCopter: use EXPECT_DELAY() macro 2019-05-15 15:33:48 +10:00
Patrick José Pereira 33764d6c3b Copter: Fix typo
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2019-03-26 15:39:23 +11:00
Randy Mackay 7aeeb61f69 Copter: motor test can spin motor for 10min
A user requested they be able to perform longer term tests of their vehicle's motors
2018-07-17 19:42:39 +09:00
Randy Mackay b3c28bd934 Copter: minor format fix to motor_test 2018-07-17 19:42:39 +09:00
Jacob Walser 64577bfbe1 Copter: refactor output_test -> output_test_seq 2018-07-02 11:31:58 -04:00
Michael du Breuil 291531e056 Copter: Support new battery failsafes 2018-03-27 22:12:21 +01:00
Pierre Kancir 9c23aa5ec3 ArduCopter: fix FALLTHROUGH 2018-03-21 08:24:56 +09:00
Andrew Tridgell 1f76f69d80 Copter: implement per-motor compass compensation 2018-02-08 17:36:33 +11:00
Peter Barker 398d07a68a Copter: tighten return types of mavlink functions and variables 2017-12-01 17:01:10 +00:00
Andrew Tridgell a644cff921 Copter: support testing multiple motors with motortest
this matches the quadplane behaviour, allowing a sequence of motors to
be tested
2017-11-27 10:15:31 +09:00
Peter Barker b0c7766197 Copter: continuously reevaluate rc calibration checks
Stop "latching" calibration checks - if an RC radio's calibration
changes after it passes once, these patches allow the rc calibraiton
checks to then fail.
2017-08-21 09:05:31 +09:00
Peter Barker d9b45cc202 Copter: create GCS subclass, use inheritted methods 2017-07-07 16:18:37 +01:00
Randy Mackay fc675a1e4a Copter: do not allow motor test before initialisation completes 2017-04-18 09:29:53 +09:00
Peter Barker f49f153da0 Copter: rename gcs[] to gcs_chan[]
Wish to use gcs() to return the gcs singleton
2017-02-13 09:32:01 +11:00
Peter Barker ab13b3beaf Copter: make rc checks verbose on failure 2017-01-20 13:02:53 +09:00
Peter Barker bd6ffc025e Copter: start conversion to AP_Arming_Copter 2017-01-17 11:45:08 +09:00
Andrew Tridgell 0f6d0c5ba9 Copter: combined tri, single, coax and multicopter into a single build
this allows copter to be just 2 builds, one for heli, and one for
everything else
2017-01-12 17:39:37 +11:00
Mathieu OTHACEHE 152edf7189 Global: remove mode line from headers
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
murata 57c61ace62 Copter: To remove a break after the return statement. 2016-10-08 13:55:18 -03:00
Andrew Tridgell 53fc095d4c Copter: fixed motor test build on heli
pwm percent makes no sense
2016-05-26 15:05:52 +10:00
Andrew Tridgell c605f09859 Copter: fixed motor test with percentage
use motors min/max pwm, not throttle channel range
2016-05-26 14:34:27 +10:00
skyscraper 6f200fa923 ArduCopter: Fix up after refactoring RC_Channel class
Further to refactor of RC_Channel class which included
adding get_xx set_xx methods, change reads and writes to the public members
to calls to  get and set functionsss

old public member(int16_t)   get function -> int16_t     set function (int16_t)
(expression where c is an object of type RC_Channel)
c.radio_in                     c.get_radio_in()           c.set_radio_in(v)
c.control_in                   c.get_control_in()         c.set_control_in(v)
c.servo_out                    c.get_servo_out()          c.set_servo_out(v)
c.pwm_out                      c.get_pwm_out()            // use existing
c.radio_out                    c.get_radio_out()          c.set_radio_out(v)
c.radio_max                    c.get_radio_max()          c.set_radio_max(v)
c.radio_min                    c.get_radio_min()          c.set_radio_min(v)
c.radio_trim                   c.get_radio_trim()         c.set_radio_trim(v);

c.min_max_configured() // return true if min and max are configured

Because data members of RC_Channels are now private and so cannot be written directly
 some overloads are provided in the Plane classes to provide the old functionality

new overload Plane::stick_mix_channel(RC_Channel *channel)
which forwards to the previously existing
void stick_mix_channel(RC_Channel *channel, int16_t &servo_out);

new overload Plane::channel_output_mixer(Rc_Channel* , RC_Channel*)const
which forwards to
(uint8_t mixing_type, int16_t & chan1, int16_t & chan2)const;

Rename functions

 RC_Channel_aux::set_radio_trim(Aux_servo_function_t function)
    to RC_Channel_aux::set_trim_to_radio_in_for(Aux_servo_function_t function)

 RC_Channel_aux::set_servo_out(Aux_servo_function_t function, int16_t value)
    to RC_Channel_aux::set_servo_out_for(Aux_servo_function_t function, int16_t value)

 Rationale:

        RC_Channel is a complicated class, which combines
        several functionalities dealing with stick inputs
        in pwm and logical units, logical and actual actuator
        outputs, unit conversion etc, etc
        The intent of this PR is to clarify existing use of
        the class. At the basic level it should now be possible
        to grep all places where private variable is set by
        searching for the set_xx function.

        (The wider purpose is to provide a more generic and
        logically simpler method of output mixing. This is a small step)
2016-05-10 16:21:16 +10:00
Lucas De Marchi 2591261af6 Global: rename min and max macros to uppercase
The problem with using min() and max() is that they conflict with some
C++ headers. Name the macros in uppercase instead. We may go case by
case later converting them to be typesafe.

Changes generated with:

	git ls-files '*.cpp' '*.h' -z | xargs -0 sed -i 's/\([^_[:alnum:]]\)max(/\1MAX(/g'
	git ls-files '*.cpp' '*.h' -z | xargs -0 sed -i 's/\([^_[:alnum:]]\)min(/\1MIN(/g'
2015-12-01 16:28:09 -02:00
Luis Vale Gonçalves 3199829d45 Copter: revisions to text strings sent to GCS 2015-11-27 16:16:58 +09:00
Caio Marcelo de Oliveira Filho c7acc46d09 Copter: use millis/micros/panic functions 2015-11-20 12:26:31 +09:00
Lucas De Marchi 89fc4f4b62 Replace use of send_text_P() with send_text() 2015-10-30 14:35:17 +09:00
Lucas De Marchi 2c38e31c93 Remove use of PSTR
The PSTR is already define as a NOP for all supported platforms. It's
only needed for AVR so here we remove all the uses throughout the
codebase.

This was automated with a simple python script so it also converts
places which spans to multiple lines, removing the matching parentheses.

AVR-specific places were not changed.
2015-10-30 14:35:04 +09:00
squilter 767b4da5b6 Copter: update send text severities 2015-08-25 14:05:25 +09:00
Andrew Tridgell 278883c521 Copter: finished conversion to .cpp files
Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2015-05-30 15:21:19 +09:00
Andrew Tridgell 356ece3402 Copter: rename .pde files to .cpp files 2015-05-30 15:21:15 +09:00