Commit Graph

147 Commits

Author SHA1 Message Date
Leonard Hall 7eab1239c7 Copter: attitude logging at 400hz 2017-06-22 15:18:04 +09:00
Randy Mackay cb76bd8f3d Copter: compass set-initial-location uses ahrs location
Previously it could attempt to use a gps location even if gps was not being used
Also compass-accumulate moved to sensors.cpp
2017-06-07 13:01:38 +09:00
Peter Barker b37e64b23c Copter: stop appending lf to PERF message 2017-05-01 16:21:55 +01:00
Randy Mackay 713c08672f Copter: integrate AP_VisualOdom 2017-04-19 11:04:40 +09:00
Andrew Tridgell b4d9397821 Copter: re-arrange fast_loop for minimum latency
this makes motor outputs as responsive as possible to gyros
2017-04-03 13:04:11 +09:00
Randy Mackay ca4cbaeb39 Copter: run rate controllers before AHRS/EKF update
This reduces lag between IMU updates and motor outputs by 0.6 milliseconds
2017-03-03 13:14:28 +11:00
Dr.-Ing. Amilcar Do Carmo Lucas 4161c34e61 Copter: rename MSG_RADIO_OUT to MSG_SERVO_OUTPUT_RAW to better describe what it is 2017-02-07 11:41:12 +11:00
Randy Mackay cb1f7ba4bb Copter: remove setting position control's altitude max
AC_Avoid now takes responsibility for enforcing the alt limit and accesses inertial nav's limit directly
2017-01-18 09:35:47 +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
Andrew Tridgell 5a87ae3f01 Copter: use new SRV_Channels API 2017-01-12 17:39:37 +11:00
Randy Mackay bdbb07a3b1 Copter: remove version from Copter.cpp
Also added wiki page URL
2017-01-11 08:46:43 +09:00
Randy Mackay 12d024e0c6 Copter: rename FRAME to FRAME_TYPE
This unifies the plane and copter parameter names
2016-12-31 10:55:23 +09:00
Randy Mackay 0ac00dbfd6 Copter: add FRAME_CLASS parameter 2016-12-31 10:55:23 +09:00
Randy Mackay 74c9c4aa9d Copter: add beacon data flash logging
Added to Copter vehicle because currently only used by Copter
2016-11-30 17:56:59 +09:00
Randy Mackay f2a6a4f4f9 Copter: update beacon updates to 400hz 2016-11-30 17:56:58 +09:00
Randy Mackay 21c7ea1df7 Copter: integrate AP_Beacon 2016-11-30 17:56:55 +09:00
Peter Barker 236b8ab6b7 Copter: make EPM a subclass of AP_Gripper_Backend 2016-11-05 10:20:39 +09:00
Peter Barker 920868145c Copter: support for AP_Gripper 2016-11-05 10:20:33 +09:00
Peter Barker 1bb6350a67 Copter: periodically call stats update 2016-10-29 14:53:25 +09:00
floaledm 34718b130a Copter: update sensor status error flags independently of sending a sys_status message
Without this, there is no update to the sensor status flags in the Frsky
lib unless there's an active Mavlink connection configured to send
extended_status1
2016-10-28 10:03:38 +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
Randy Mackay 1f160f2903 Copter: minor comment update
No functional change
2016-10-22 13:31:16 +09:00
Randy Mackay a07ecfe2b3 Copter: log proximity sensor at 10hz
This is current in the Copter vehicle code but we can move to the dataflash library when other vehicles start using this type of sensor.  Until then adding it to common will just increase the dependencies unnecessarily for other vehicles.
2016-10-13 20:21:07 +09:00
Randy Mackay fcc2a1b378 Copter: integrate AP_Proximity into main vehicle 2016-10-13 20:21:07 +09:00
Randy Mackay 35864c6226 Copter: move check_ekf_reset to ekf_check.cpp
No functional change
2016-10-10 16:40:08 +09:00
Andrew Tridgell f18e0dadc9 Copter: added optional AdvancedFailsafe for copter and heli 2016-08-25 14:14:18 +10:00
floaledm f73fa1fc80 Copter: removed frsky_telemetry_send scheduled task 2016-08-25 10:16:17 +10:00
Tom Pittenger e9d34c07d2 Copter: reduce scheduler max-time for avoid-adsb from 400 to 100 2016-08-17 22:38:54 -07:00
murata 4eee3b1317 Copter: fix underflow in scheduler
If fast_loop method executed time is over MAIN_LOOP_MICROS,
scheduler.run method set value is  0.
2016-08-09 22:54:27 -03:00
Randy Mackay 9842840346 Copter: GND_EFFECT_COMP parameter to enable ground effect compensation 2016-08-09 13:31:36 +09:00
Randy Mackay 6118bf1b14 Copter: remove adsb sensor library based avoidance
adsb based avoidance has been moved to AP_Avoidance library
2016-07-25 20:24:37 +09:00
Randy Mackay d50987f976 Copter: avoidance_adsb implements copter avoidance using ADSB 2016-07-25 20:24:37 +09:00
Andrew Tridgell cb5ca713a9 Copter: added AP_Button support 2016-07-22 15:01:20 +10:00
Tom Pittenger d136737c87 Copter: add ADSB-out support for copter 2016-07-20 22:46:54 -07:00
Jonathan Challinger 0f4367744f Copter: update precland at 400hz, log at 25hz 2016-07-12 18:40:25 +09:00
Andrew Tridgell b5ccd458d3 Copter: added 10Hz logging of controller RMS values
as discussed with Leonard
2016-06-29 14:43:44 +10:00
Leonard Hall e9d8a28ec0 Copter: AP_Motor's throttle_hover replaces throttle_average 2016-06-18 11:55:49 +09:00
Leonard Hall dec9323127 Copter: remove THR_MIN
Equivalent is AP_Motors SPIN_MIN
2016-06-18 11:55:49 +09:00
Randy Mackay 5461002eea Copter: read rangefinder at 20hz 2016-05-21 10:36:53 +09:00
Randy Mackay ba38b0234f Copter: use rangefinder class's valid_range_count
Also read_rangefinder directly updates rangefinder_alt variable instead of returning distance
No functional change
2016-05-21 10:36:53 +09:00
Randy Mackay 7689315ba2 Copter: rename sonar to rangefinder 2016-05-21 10:36:53 +09: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
Andrew Tridgell 9da3b8db60 Copter: only log baro, gps and mag if ekf not logging them 2016-05-07 18:27:19 +10:00
Andrew Tridgell b235304235 Copter: reduce IMU logging to 25Hz
leave more room for IMT logging needed for Replay
2016-05-07 18:27:17 +10:00
Randy Mackay 47658fe964 Copter: add terrain failsafe 2016-04-30 10:33:01 +09:00
Randy Mackay 13c26eab67 Copter: update current_loc at 400hz 2016-04-30 10:33:01 +09:00
Randy Mackay 91f6c7b503 Copter: add TERRAIN_USE parameter
Also add terrain.cpp to hold terrain_update and terrain_logging functions
2016-04-30 10:33:01 +09:00
Luis Vale Gonçalves 4e594287eb Revising ardupilot.com to .org
Revising ardupilot.com to .org
2016-04-23 22:49:39 -07:00
Randy Mackay 554affeaf5 Copter: fix scheduler comment 2016-04-22 21:30:39 +09:00
Randy Mackay 1f20a5ef69 Copter: access angle and rate PIDs through attitude controller 2016-04-01 11:59:30 +09:00
Leonard Hall c3403a128c Copter: throttle passed to compass in 0 to 1 range 2016-04-01 11:59:30 +09:00
Andrew Tridgell 224c99af72 Copter: change code URL 2016-03-25 20:46:54 +11:00
Andrew Tridgell 31000ac756 Copter: moved Log_Write_Rate() to common code 2016-03-25 12:13:59 +11:00
Andrew Tridgell 4efb9bd785 ArduCopter: update for changed AP_Camera API 2016-01-29 09:19:43 +11:00
Dario Lindo Andres 90bf13279b ArduCopter: Added precise camera trigger logging
Added update_trigger and check_digital_pin functions
added camera trigger precise time mark
detect camera feedback pin status
added support for simple digital pin
included support for digital pin. Already included in
APMrover2.
added support for TRIGGER MSG
corrected according to defines.h
2016-01-29 09:19:43 +11:00
Randy Mackay 27ed9e1561 Copter: allow mount to be disabled 2016-01-23 10:35:48 +09:00
Jonathan Challinger 22c3397657 Copter: make AP_Mount calls required by AP_Mount_SoloGimbal 2016-01-23 10:35:42 +09:00
bugobliterator 9a976963aa Copter: support AP_AccelCal 2015-12-29 10:46:34 -08:00
Jonathan Challinger 750cacc875 Copter: barometer ground effect compensation 2015-12-28 13:51:27 +09:00
Andrew Tridgell 4dd8714880 Copter: changed to Hz based task table 2015-12-27 14:57:21 +09:00
Jonathan Challinger 933ffb2b10 Copter: move prearm logic to arming_checks.cpp 2015-12-24 14:10:23 +09:00
Andre Kjellstrup eb0daee4b3 ArduCopter: Camera options for better camera control
All on one because they would not pass autotest if split up.
2015-12-18 18:16:11 +11:00
Randy Mackay 4ef53427f2 Copter: allow ADSB to be disabled 2015-11-27 15:02:17 +09:00
Tom Pittenger 34d6d985e9 Copter: Add support for ADS-B 2015-11-27 15:02:15 +09:00
Caio Marcelo de Oliveira Filho c7acc46d09 Copter: use millis/micros/panic functions 2015-11-20 12:26:31 +09:00
Randy Mackay 1b29a1af46 Copter: consolidate setting of using-iterlock state 2015-11-17 09:02:31 +09:00
Randy Mackay 731c44d053 Copter: allow terrain to be excluded from build 2015-11-14 12:38:47 +09:00
Robert Lefebvre 2632a2e348 Copter: Rework arming proceedures for interlock/Estop
to fix race condition.
2015-11-12 19:37:15 +09:00
Jonathan Challinger 6524222397 Copter: adapt auto disarm check to use a timer 2015-11-09 15:34:41 +09:00
lvale 549695181c Copter: revised and uniformization of severity messages 2015-11-05 12:20:49 +09:00
Lucas De Marchi 831d8acca5 Remove use of PROGMEM
Now variables don't have to be declared with PROGMEM anymore, so remove
them. This was automated with:

    git grep -l -z PROGMEM | xargs -0 sed -i 's/ PROGMEM / /g'
    git grep -l -z PROGMEM | xargs -0 sed -i 's/PROGMEM//g'

The 2 commands were done so we don't leave behind spurious spaces.

AVR-specific places were not changed.
2015-10-30 14:35:16 +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
Caio Marcelo de Oliveira Filho 3e3f13659d ArduCopter: implement HAL::Callbacks
Also removes includes for each board since they are not necessary
anymore.
2015-10-21 09:16:09 +11:00
José Roberto de Souza c581a702a0 ArduCopter: Fix typo: auxiliar to auxiliary 2015-10-16 10:16:24 +11:00
Stewart Loving-Gibbard 985be6dd86 Copter: Adding Logging of RSSI data. 2015-09-16 16:41:43 +09:00
Jonathan Challinger ee1209c03f Copter: run compass_accumulate at 100hz 2015-09-03 16:59:09 +10:00
Peter Barker 51a761656e Copter: DFMessageWriter; ability to trickle messages out to DF 2015-09-03 15:20:19 +10:00
Gustavo Jose de Sousa 19d1c28c06 ArduCopter: use function name for AP_Scheduler task name
That makes it easier to identify tasks when debug is enabled in AP_Scheduler.
2015-09-01 20:22:18 +10:00
Gustavo Jose de Sousa 79b8b15053 ArduCopter: use designated initializers for tasks structs
Makes code less prone to break build and semantics (e.g., when a new field is
added).
2015-09-01 20:22:18 +10:00
Randy Mackay 26ded641db Copter: integrate Precision Landing lib 2015-08-31 18:00:28 +09:00
Andrew Tridgell 1fdf7ec83f Copter: added RPM sensor support
send result via MAVLink
2015-08-12 15:03:50 +10:00
Randy Mackay 546d668d1d Copter: no set_hover_throttle for TradHeli 2015-07-21 16:26:07 +09:00
Randy Mackay 88b617707f Copter: call set_throttle_range for multicopters only 2015-07-21 16:26:05 +09:00
Randy Mackay 764fa36716 Copter: log ERR when compass, baro unhealthy 2015-07-12 22:11:35 +09:00
Lucas De Marchi 0bc09adc78 ArduCopter: use ARRAY_SIZE macro 2015-07-07 07:56:30 +10:00
Randy Mackay 814edfa457 Copter: shift yaw target if ekf yaw estimate resets 2015-06-24 11:49:35 +09:00
Randy Mackay 8cdfac8fcd Copter: remove baro and pilot thr from crash checks
Add acceleration < 3m/s/s check
Run crash and parachute checks at 400hz
2015-06-19 15:46:10 +09:00
Robert Lefebvre 62079226ff Copter: add Heli Dataflash message 2015-06-19 15:10:52 +09:00
Andrew Tridgell db4ac68f5e Copter: fixed logging of IMT without raw logging 2015-06-17 13:10:25 +10:00
Randy Mackay 5644dd8620 Copter: fix duplicate IMU logging
IMU logs could be written at FULL rate and at lower rates leading to duplicates
2015-06-17 12:46:55 +10:00
Randy Mackay cd9f62328e Copter: log IMUDT with IMU 2015-06-17 12:46:54 +10:00
Jonathan Challinger 5b14ce7694 Copter: remove comments that number scheduler table 2015-06-16 18:07:20 +09:00
Randy Mackay 9e08775cbf Copter: log vibration at 10hz 2015-06-12 21:36:31 +09:00
Lucas De Marchi a74113dde0 Copter: stop using alias FUNCTOR_BIND_VOID 2015-06-04 13:37:36 +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