Commit Graph

162 Commits

Author SHA1 Message Date
Amilcar Lucas 9b31938519 The mount type must be updated periodically 2012-08-04 18:44:08 +02:00
Andrew Tridgell 526344ab7c APM: added control switch debouncer
this adds a switch debouncer, similar to the one used in
ArduCopter. I'm adding this after a flight on the weekend where noise
on the control mode channel caused a mode change away from auto.

To prevent this change adding excessive mode switch latency, it also
moves the reading of the control switch to the 10Hz loop, away from
the 3.3Hz loop. That gives us 0.2s delay in mode switch changes and
allows for spikes in the control mode for 0.1 seconds without changing
mode.
2012-08-01 13:59:37 +10:00
rmackay9 717d0d25d4 ArduPlane: allow MPU6000's DMP to be used for attitude estimation.
Enable by adding this line to APM_Config.h:
#define DMP_ENABLED ENABLED
2012-07-28 19:50:40 +09:00
Andrew Tridgell cfe19c8f53 APM: update version for 2.50 release 2012-07-26 11:36:17 +10:00
Andrew Tridgell d4599aa4f0 APM: switch back to old nav_roll calculation
the old nav_roll will be used for the 2.50 release to prevent the need
for re-tuning. For the release after that we will use the new
calculation
2012-07-26 10:03:36 +10:00
Michael Oborne 7dd58227a6 AP fix sitl hil attitude mode. 2012-07-24 07:18:25 +08:00
Jeff Taylor c083ca5f35 APM: Fixed bug where landing_pitch wasnt initialized properly
this adds a new LAND_PITCH_CD parameter to control the landing pitch
when an airspeed sensor is not being used
2012-07-19 13:59:30 +10:00
Andrew Tridgell 2121491197 APM: rename airspeed_cruise to airspeed_cruise_cm to make the units clearer
it is in cm/s, not m/s
2012-07-19 11:50:41 +10:00
Amilcar Lucas d911e4f61e Support up to 11 servos in APM2
Conflicts:

	ArduPlane/ArduPlane.pde
2012-07-18 22:01:19 +02:00
Andrew Tridgell ead41670c4 Airspeed: change APM to use new AP_Airspeed library
the next step is AHRS dead reckoning
2012-07-16 11:21:50 +10:00
Andrew Tridgell d07593b3bb APM: added credit for FBW altitude limit code
thanks Yuri!
2012-07-10 08:36:50 +10:00
Andrew Tridgell 7bc724d118 APM: changed PID library to do automatic deltat calculation
this fixes a problem with the HDNG2RLL PID, which was using the wrong
time base and prevents similar bugs from happening in the future
2012-07-06 19:59:18 +10:00
Andrew Tridgell 6ced622da4 APM: fixed some build warnings and type errors 2012-07-06 19:59:18 +10:00
Andrew Tridgell d9351ff681 APM: use new location functions 2012-07-04 12:42:46 +10:00
Andrew Tridgell f150c645c8 Mount: enable mount control via eeprom parameters
this enables MNT_* parameter control of the camera mount code. It also
fixes the conversion of calculated angles between degrees and
integers, and fixes stabilised mount control when yaw control is not
available.
2012-07-03 10:21:01 +10:00
Andrew Tridgell 1cb96e14a9 SITL: enable the SIM_* parameters in ArduCopter and ArduPlane 2012-06-29 15:10:52 +10:00
Andrew Tridgell 44b7d94b1c APM: ArduPlane updates for new compass interface 2012-06-27 16:01:50 +10:00
Andrew Tridgell 4fda89beb7 APM: update for new barometer interface
the barometer can now calibrate and return altitude values.

A 0.3 low pass filter is used on altitude to match the previous code
2012-06-27 16:01:50 +10:00
Andrew Tridgell 7941abad16 APM: prepare for 2.40 release 2012-06-16 10:11:26 +10:00
Amilcar Lucas a12cb8fd9a Added camera trigger functionality 2012-06-13 21:00:20 +02:00
Amilcar Lucas f7ef60565e Add "3 axis camera stabilization" and "point camera to 3D point" functionality
Patch by Gregory Fletcher and reviewed by me
2012-06-13 20:55:19 +02:00
Amilcar Lucas e9226d6f0a Spellcheck 2012-06-13 20:44:35 +02:00
Jason Short 8e570fa2d0 Cosmetic changes only. 2012-06-10 13:10:07 -07:00
Andrew Tridgell c034a3a6f7 APM: ready for 2.40-beta 2012-06-08 18:03:21 +10:00
Andrew Tridgell 43fe5bab78 re-enable the AP_Mount build 2012-06-04 19:32:11 +10:00
Andrew Tridgell 18b5933240 AP_Mount: disable AP_Mount until it works with MAVLINK10 2012-06-04 13:14:51 +10:00
Andrew Tridgell 557834f9a9 AirSpeed: added parameter ARSPD_USE
setting ARSPD_ENABLE to 1 and ARSPD_USE to 0 allows the airspeed
sensor to be initialised and logged without it being used for flight
control. This is very useful when initially testing an airspeed sensor
in a new plane. It also makes it possible to enable/disable the use of
the airspeed sensor during a flight at any time.
2012-05-22 20:02:23 +10:00
Andrew Tridgell 116ed39e77 APM: prepare for 2.34 2012-05-14 14:29:59 +10:00
Andrew Tridgell 78d273fa34 Telemetry: make it possible to use UART2 on APM2
building with TELEMETRY_UART2=ENABLED allows you to use the solder
bridge on the APM2 to enable telemetry on UART2. This allows both USB
telemetry and a radio at the same time.
2012-05-04 10:39:44 +10:00
Andrew Tridgell 9d56d28615 MAVLink: make APM build with MAVLink 1.0 possible with arduino GUI 2012-04-24 22:24:58 +10:00
Andrew Tridgell 840f7f87ca ready for 2.33 release 2012-04-09 18:16:49 +10:00
Andrew Tridgell 222009002e MAVLink: allow for find grained stream rate control
streams can now be requested at any multiple of 20ms. So if you ask
for a stream at 7Hz then you will get it at close to 7Hz.
2012-04-02 11:18:53 +10:00
Andrew Tridgell 5dbd2a2b60 APM: enable AP_Declination by default 2012-03-30 14:25:27 +11:00
Andrew Tridgell eb98442ed0 APM: Change version to 2.32 2012-03-29 12:50:12 +11:00
Andrew Tridgell 491b73c4e2 APM: increase ArduPlane version to 2.31 2012-03-27 16:13:29 +11:00
Andrew Tridgell 3a325541f6 APM: enable the new offset nulling in APM 2012-03-27 15:37:24 +11:00
Andrew Tridgell c1e4f63907 APM: adapt ArduPlane for AHRS framework 2012-03-19 17:29:02 +11:00
Michael Oborne 80b356367e update AP version to 2.30 2012-03-18 10:27:49 +08:00
Andrew Tridgell 1e47ab26f2 AP_Declination: disable library when AUTOMATIC_DECLINATION is not ENABLED
unfortunately this library was causing avrdude to fail to load the hex
to my APM2. Until we work out why, it's disabled.
2012-03-11 21:46:41 +11:00
Adam M Rivera 2e1cacd67f AP_Declination: Added call to compass.set_initial_location if the compass is enabled when the 3D fix is obtained.
Signed-off-by: Andrew Tridgell <tridge@samba.org>
2012-03-11 20:59:47 +11:00
Andrew Tridgell 3239a00b23 APM: avoid fetching the DCM matrix twice
also no special case for quaternions
2012-03-10 10:34:32 +11:00
Andrew Tridgell aa4beb9753 APM: make it possible to build ArduPlane with quaternion support 2012-03-10 10:34:29 +11:00
rmackay9 630de04bd1 ArduPlane - updated to use new filter library 2012-02-28 21:03:04 +09:00
rmackay9 4501c488b4 ArduPlane - added Filter.h to unbreak the build! 2012-02-26 17:05:56 +09:00
rmackay9 6363da2829 ArduPlane - switch sonar to use new mode filter from filter library 2012-02-26 15:35:42 +09:00
Andrew Tridgell 3fe5b3151b allow MAG_ENABLE to be changed in flight
this disables the compass in DCM if MAG_ENABLE is changed in
flight. Without this we would use a fixed yaw once the compass is
disabled

This also makes sure we don't pass the compass to DCM till we have
done a read. This ensures we have a good compass fix for the initial
DCM heading
2012-02-25 14:51:09 +11:00
Andrew Tridgell 252a2d0c9b APM: added some comments related to hold_course
hold_course is either -1 (for disabled) or a course to hold for
takeoff/landing. This makes the code a bit clearer.

It also resets hold_course in all non-auto modes, to ensure it isn't
used
2012-02-15 08:50:45 +11:00
Andrew Tridgell faa098b2b6 adapt mainline APM code to AP_Param 2012-02-13 16:22:51 +11:00
Michael Oborne 9dafc668cd fix SITL attitude hil 2012-01-20 16:04:49 +08:00
analoguedevices 40f37c1037 Increment version number in anticipation of a firmware hex push. 2012-01-16 22:48:46 +00:00
Doug Weibel 78ac65d6c3 Additional commenting on global variables
First pass done.
2012-01-16 10:28:03 -07:00
Doug Weibel a3f9fee3d2 Additional commenting on global variables 2012-01-16 09:45:42 -07:00
Doug Weibel 17b3e514dc Just a little more commenting work on global variables 2012-01-15 16:11:02 -07:00
Doug Weibel fd8dc84fac Update battery monitoring code for ArduPlane
Fixes compatibility for APM2.  Also a significant update to the battery monitoring code:  We previously had monitoring modes for individual cell voltages for 3 and 4 cell lipos.  These have been removed as they were never really supported (the cell voltages were computed but were not reported or recorded anywhere).  Also, some clean-up/prep work was done for supporting monitoring 2 separate battery packs.  The CLI battery and current monitoring tests were consolidated into 1 test.
2012-01-15 16:10:28 -07:00
Doug Weibel 6f9c6a3b8e Adding comments for global variables 2012-01-11 12:37:43 -07:00
Doug Weibel 35fba5d4a3 Tweak to FBW min altitude
Patch from Yury
2011-12-31 15:44:40 -07:00
Andrew Tridgell 5aca951438 APM: added error checking on barometer read
if the barometer is dead and the GPS has a fix, use the GPS for
altitude
2011-12-28 20:41:53 +11:00
Andrew Tridgell 2c41264a9b APM: added error checking on compass read 2011-12-28 20:41:53 +11:00
Andrew Tridgell c6b8a08918 APM: convert to new I2C library 2011-12-28 20:41:53 +11:00
analoguedevices fefda548d2 Added contributor names, removed "alpha" from firmware name 2011-12-26 17:13:37 +00:00
Andrew Tridgell 0aab4da1a1 mainloop_count should be uint16_t 2011-12-21 23:31:38 +11:00
Andrew Tridgell 61b2b2e32a always declare a timer_scheduler
we should always run this code
2011-12-21 23:31:38 +11:00
Andrew Tridgell 5d2301ef47 fixed airspeed sensor for ArduPlane on APM2
we were trying to use a non-existant ADC chip!
2011-12-17 07:29:09 +11:00
Andrew Tridgell 4bbd5392ef removed AperiodicProcess code
this code was never being used, and was more complex than it was
worth.
2011-12-17 07:29:09 +11:00
Andrew Tridgell b3327c64de geofence: added fence status reporting and faster altitude check 2011-12-16 20:11:51 +11:00
Andrew Tridgell 1b64185b18 geofence: main geo-fence code
this implements the primary logic of geo-fencing
2011-12-16 20:11:51 +11:00
Andrew Tridgell 1455ff4a91 removed an unused variable 2011-12-16 20:09:49 +11:00
Andrew Tridgell 4e4a4a685c fixed two more CONFIG_HARDWARE #ifdef bugs 2011-12-13 17:05:48 +11:00
Andrew Tridgell 80a0dfe862 fixed hardware config check for barometer 2011-12-12 15:14:55 +11:00
Andrew Tridgell faf58a355b airspeed: use floating point values and better averaging in zero_airspeed()
this makes the calibration of airspeed a bit more accurate, and
prevents truncation of airspeed values
2011-12-12 15:14:55 +11:00
Pat Hickey 85b82e75f6 ArduPlane: update AP_Baro construtors and initializers 2011-12-11 15:21:10 -08:00
Pat Hickey 63d3b6a278 ArduPlane: Rename APM_BMP085 classes to AP_Baro_BMP085 classes 2011-12-11 15:21:09 -08:00
Doug Weibel f34333d42b Minimum ground speed patch from Claudio Natoli. Thanks Claudio!
This patch will boost the target airspeed as necessary to keep the ground speed above a parameter value - param_min_groundspeed.  Airspeed is still limited to FBW-max.  Setting min_groundspeed to zero (default) disables the feature.
2011-12-09 16:43:25 -07:00
Pat Hickey 0fa8ce9a52 ArduPlane: rev version number from 2.26 to 2.27 Alpha 2011-11-25 20:00:19 -08:00
Andrew Tridgell 7467bf649c ArduPlane: rename purple to APM2 2011-11-25 20:00:19 -08:00
Andrew Tridgell 0604f2c667 USB-MUX: auto-switch telemetry port based on UXB mux for ArduPlane
when USB is unplugged, switch baud rate to the SERIAL3_BAUD rate from
EEPROM
2011-11-25 20:00:19 -08:00
Andrew Tridgell 2bed1dcfd5 desktop: first version of register level SITL support
this adds register level emulation of the ADS7844 and the RC
input/output hardware on the APM1, allowing for SITL testing without
enabling HIL in the code
2011-11-25 20:00:18 -08:00
Andrew Tridgell 446a9aac84 re-organiser sensor declarations
this tries to make the #ifdef nesting easier to understand
2011-11-25 20:00:17 -08:00
Andrew Tridgell 992fc87112 purple: always declare timer_scheduler 2011-11-25 20:00:17 -08:00
Pat Hickey d3a45a053d purple: declare sensors for purple library rework
we need some different declarations to match the new APIs
2011-11-25 20:00:17 -08:00
analoguedevices 1a610ba450 Rev version number 2011-11-19 23:43:47 +00:00
Doug Weibel a11ea12ca8 Change to logging file system.
This commit is somewhat temporary as I have come up with a better scheme and will be modifying this.  Just making this commit in case I need to roll back
2011-11-17 21:25:51 -07:00
analoguedevices fa4896ee91 Rev version number 2011-11-16 05:04:36 +00:00
analoguedevices b4ccf3b41b Rev version number to 2.25 2011-11-14 05:31:27 +00:00
Amilcar Lucas 01df18b292 Added camera and/or antenna mount support.
It is fully configurable with the mission planner, there is no need to change
the source code to adapt to your setup.
It needs more testing, but the SIL is not working for me.
2011-10-31 22:55:58 +01:00
Andrew Tridgell 3991f9eff3 move g_rc_function[] to RC_Channel library
libraries should not rely on data declared in the main program. This
caused a build error for the Desktop build for ArduCopter under cygwin
2011-10-29 18:42:18 +11:00
Doug Weibel 1cd3c21774 Initial rewrite of command logic.
Changes mission structure so that conditional and immediate commands are located between associated waypoints instead of after the second waypoint.
2011-10-27 13:45:52 -06:00
Doug Weibel 86ea3a9558 Add a feature for a minimum altitude parameter while flying in FBW-B
This patch written by YureZzZ - Thank you!
2011-10-16 23:11:40 -06:00
Michael Oborne 392160314e Sensor hil fix's 2011-10-13 22:22:03 +08:00
Andrew Tridgell 657367426b avoid the need for compiler optimisation for HIL build
read_airspeed() is only available when in a non-HIL build. The
optimiser normally removes this call, but when debugging in a desktop
build, it is nice to avoid using the optimiser
2011-10-09 22:08:58 +11:00
Amilcar Lucas 4b35757a1e Moved relay control functions to it's own library 2011-10-02 01:00:27 +02:00
Amilcar Lucas 213e731061 Correct/update channel assigment comment 2011-10-02 00:06:44 +02:00
Doug Weibel dd8367eae4 Add auto flap functionality to FBW-B 2011-09-30 07:25:36 -06:00
Andrew Tridgell e7bc74a38e remove unused climb_rate code 2011-09-19 11:04:02 +10:00
Andrew Tridgell de18df06b5 GCS: make the two GCS links gcs0 and gcs3
the artifical separation between 'gcs' and 'hil' just leads to
confusion. This also simplifies the code a bit more, and saves us a
bit more text
2011-09-19 11:04:02 +10:00
Andrew Tridgell 35fcd6dae7 GCS: simplify the API for sending messages
this makes the code clearer, and saves us another 100 bytes of text
2011-09-19 11:04:02 +10:00
Andrew Tridgell 9fed709be2 removed some more dead messages, and convert MSG_* to an enum
this make it safer to add a new message while keeping deferred queue
the right size
2011-09-19 11:04:02 +10:00
Andrew Tridgell bc1bfed22d HIL: first step in simplifying the HIL/GCS code
this gets rid of the messy #ifdefs around HIL_PORT, and removes
non-MAVLink GCS and HIL support
2011-09-19 11:04:01 +10:00
Andrew Tridgell 4fed88ffbf ArduPilot updates for new DCM code
G_Dt is no longer needed, and scale ADC values by 8 to match old
constants
2011-09-17 14:58:02 +10:00
Amilcar Lucas ef955eace4 These changes were meant to be inside commit a14c06adc06b. I'm sorry but reverting stuff is not that easy 2011-09-13 01:54:47 +02:00