Commit Graph

924 Commits

Author SHA1 Message Date
Randy Mackay
e674626fd6 Plane: rename CUR and CURR to CURRENT for logging
Based on user complaint that log was enabled/disabled using CUR while
message that appeared in log was CURR.
2013-01-26 17:19:42 +09:00
Randy Mackay
6f46f4a7d0 Plane: logging changes to use new faster packet method
also RAW message renamed to IMU
2013-01-26 17:07:21 +09:00
Randy Mackay
d2767b911c AP_Math: switch get_distance_cm to return uint32_t
Includes changes required on ArduCopter and ArduPlane side as well
2013-01-26 17:04:12 +09:00
Andrew Tridgell
9178022a73 Plane: don't change trims if radio_in is zero 2013-01-25 20:44:36 +11:00
Andrew Tridgell
7ab3d93ed4 Plane: fixed typo 2013-01-23 10:06:22 +11:00
Andrew Tridgell
49356b790b Plane: limit number of bytes read per GCS check 2013-01-23 09:35:06 +11:00
Andrew Tridgell
9813468640 Plane: fixed mavlink fetch of 16 character parameter 2013-01-21 16:52:08 +11:00
Andrew Tridgell
4d9a74d742 Plane: cleanup driver declaration
remove a lot of the #if nesting
2013-01-21 16:08:55 +11:00
Andrew Tridgell
4deee014d6 Plane: setup PX4 airspeed analog port 2013-01-21 13:56:28 +11:00
Andrew Tridgell
96b87e3b44 Plane: fixed test baro printout 2013-01-20 22:13:21 +11:00
Andrew Tridgell
2e04d4827a Plane: run PX4 console at 57600 2013-01-20 22:13:21 +11:00
Andrew Tridgell
f9cb9e08ae Plane: fixed orientation of PX4 compass 2013-01-17 17:23:34 +11:00
Andrew Tridgell
9058949558 Plane: fixed some warnings 2013-01-16 14:19:25 +11:00
James Bielman
5631f865b2 Update floating point calculations to use floats instead of doubles.
- Allows use of hardware floating point on the Cortex-M4.
- Added "f" suffix to floating point literals.
- Call floating point versions of stdlib math functions.
2013-01-16 13:52:01 +11:00
Andrew Tridgell
fa3a4c68b6 Plane: use common log reading function 2013-01-15 14:03:51 +11:00
Andrew Tridgell
28352b3548 Plane: ensure ahrs.init() is called 2013-01-13 17:32:48 +11:00
Andrew Tridgell
92c9a4c1ce Plane: start update logging for new API 2013-01-13 17:31:42 +11:00
Andrew Tridgell
bfaf91affe Plane: use an enum for flash log message types 2013-01-13 17:31:42 +11:00
Andrew Tridgell
86f667f6cc Plane: added new SERIAL0_BAUD parameter
this is useful on PX4
2013-01-13 07:39:40 +11:00
Andrew Tridgell
bea9a9d558 Plane: move memcheck_init() earlier in setup() 2013-01-11 10:25:09 +11:00
James Bielman
ab37f833db MS5611: Fix CONFIG_MS5611_SERIAL definitions.
- Make sure the values are defined as integers.  We were always using
  SPI rather than using I2C when desired.
2013-01-09 11:19:51 -08:00
Andrew Tridgell
e0f052dd9a Plane: update for new AP_Param API 2013-01-09 13:30:55 +11:00
Andrew Tridgell
38f56be2c4 Plane: enable hardware sensors on PX4 2013-01-04 21:07:56 +11:00
Andrew Tridgell
2e2f96d721 Plane: cope with a HIL_STATE packet before GPS init 2013-01-04 12:47:08 +11:00
Andrew Tridgell
9e0096ddb5 Plane: fix handling of sensors HIL startup 2013-01-04 12:34:35 +11:00
James Bielman
264db3670e AP_Baro: Add CONFIG_MS5611_SERIAL option to choose between SPI and I2C.
- Update ArduCopter and ArduPlane modules to pass the correct serial
  driver to the MS5611 driver.
- Update barometer examples, assuming SPI.
2013-01-03 13:48:06 -08:00
Andrew Tridgell
868269e037 Plane: switch PX4 to attitude HIL for now
a bit easier to debug
2013-01-03 13:38:54 +11:00
Andrew Tridgell
e8075b1657 Plane: for HIL_SENSORS for PX4 for now
until we have sensor drivers
2013-01-03 11:03:24 +11:00
Andrew Tridgell
07eed60ae4 Plane: use new apm.mk 2013-01-02 17:28:21 +11:00
Andrew Tridgell
2fe77fa6fa Plane: check for APPDIR to pull in px4 build logic 2013-01-02 17:06:44 +11:00
Andrew Tridgell
4cdb3cd390 Plane: use GRAVITY_MSS 2013-01-02 14:45:08 +11:00
Andrew Tridgell
1a49549e3e Plane: start port of main ArduPlane code to AP_HAL_PX4 2013-01-02 14:45:08 +11:00
Andrew Tridgell
b6295c12e1 Plane: fixes for new AP_Relay interface 2013-01-02 10:18:45 +11:00
Craig@3DR
0ed25cf719 Global change all references from
GPS_PROTOCOL_MTK16
to
GPS_PROTOCOL_MTK19
2013-01-02 09:24:31 +11:00
Andrew Tridgell
edad43611d Plane: reset last heartbeat time on startup completion
this gives more time for the GCS to send its first heartbeat
2012-12-26 08:46:36 +11:00
Andrew Tridgell
85e4f67e68 Plane: added a note about the dangers of the FS_GCS_ENABL option 2012-12-25 21:18:39 +11:00
Andrew Tridgell
cf8e648558 CLI: fixed accel setup
disable mavlink callback in CLI
2012-12-24 08:51:33 +11:00
Andrew Tridgell
d54c6989ab Plane: fixed the last build warnings
we now build with no warnings for APM1, APM2 and SITL. Yay!
2012-12-20 22:46:48 +11:00
Andrew Tridgell
dc2b11704f Plane: fixed a build warning 2012-12-20 22:42:44 +11:00
Andrew Tridgell
feca411943 Plane: added new TRAINING mode
this mode gives manual control when the roll or pitch is within the
set limits (the same limits as FBW mode), and prevents the pilot from
flying beyond those limits, essentially a "attitude limited manual"
mode
2012-12-20 22:41:58 +11:00
Andrew Tridgell
1cb4724b7f Plane: fixes for 1280 build 2012-12-20 14:53:24 +11:00
Andrew Tridgell
9a2e77b797 Plane: fully disable relay and mount code on APM1-1280
this saves some more flash space
2012-12-20 14:53:23 +11:00
Andrew Tridgell
772f93ea10 Plane: fixed config for 1280 2012-12-20 14:53:23 +11:00
Pat Hickey
5231e5a959 ArduPlane: fixes for AP_InertialSensor_UserInteract 2012-12-20 14:53:23 +11:00
Andrew Tridgell
3c0440b0b4 Math: use common degrees() and radians() functions 2012-12-20 14:53:22 +11:00
Andrew Tridgell
c63c4f22e2 Plane: fixed formatting 2012-12-20 14:53:22 +11:00
Andrew Tridgell
cf18534163 Plane: use new functions 2012-12-20 14:53:22 +11:00
Pat Hickey
2ad4fed8cd Rover/Copter/Plane: change from vsnprintf to vsnprintf_P 2012-12-20 14:52:38 +11:00
Pat Hickey
edb076a6c5 ArduPlane: use hal's vsnprintf 2012-12-20 14:52:38 +11:00
Andrew Tridgell
62d7fd1a26 Plane: fixed HIL builds 2012-12-20 14:52:37 +11:00
Andrew Tridgell
940cbc900f Plane: use targets.mk 2012-12-20 14:52:35 +11:00
Andrew Tridgell
4913aff8cd Plane: remove unused send_text() function 2012-12-20 14:52:35 +11:00
Pat Hickey
eb530b86e8 move Arduino.mk to /mk/Arduino.mk 2012-12-20 14:52:35 +11:00
Andrew Tridgell
c20481dc94 Plane: SITL has a I2C driver now 2012-12-20 14:52:34 +11:00
Andrew Tridgell
761ab5c3e8 Plane: use AP_HAL_BOARD_DRIVER 2012-12-20 14:52:33 +11:00
Andrew Tridgell
a3e20324ac Plane: added CONFIG_INS_STUB 2012-12-20 14:52:32 +11:00
Andrew Tridgell
41272614ce Plane: simplify board config defines 2012-12-20 14:52:32 +11:00
Andrew Tridgell
73f70cc596 Plane: moved to new GPS init syntax 2012-12-20 14:52:32 +11:00
Andrew Tridgell
18db7b2efd GPS: move _port setting to init()
this is needed to avoid constructor ordering dependencies
2012-12-20 14:52:32 +11:00
Pat Hickey
a70a299c49 ArduPlane: refactor Makefile targets in terms of Arduino.mk targets 2012-12-20 14:52:31 +11:00
Andrew Tridgell
7d27e420ae AP_HAL: remove unnecessary Arduino.h includes 2012-12-20 14:52:30 +11:00
Andrew Tridgell
d473203737 Build: added global board targets 2012-12-20 14:52:30 +11:00
Andrew Tridgell
678947c65d Plane: more fixes for SITL and new AP_Param startup 2012-12-20 14:52:29 +11:00
Pat Hickey
1e48d0fc69 Makefile Targets rewritten to use per-target extension style 2012-12-20 14:52:29 +11:00
Andrew Tridgell
e82deca305 Plane: updates to support AP_HAL SITL 2012-12-20 14:51:40 +11:00
Andrew Tridgell
a78699113d Plane: fixed Makefile for new AP_HAL build approach 2012-12-20 14:51:39 +11:00
Andrew Tridgell
7046fc05e2 Plane: change to send_text_P() for progmem strings 2012-12-20 14:51:39 +11:00
Andrew Tridgell
7c6dd0736e Plane: use hal.storage for eeprom access 2012-12-20 14:51:39 +11:00
Andrew Tridgell
81d77d2bf4 Plane: fixed Makefile targets for AP_HAL 2012-12-20 14:51:38 +11:00
Pat Hickey
f8dec9ae4a ArduPlane: fixes to use CONFIG_HAL_BOARD instead of CONFIG_APM_HARDWARE 2012-12-20 14:51:37 +11:00
Pat Hickey
c441f02426 ArduPlane: init DataFlash obj 2012-12-20 14:51:37 +11:00
Pat Hickey
a14621534c ArduPlane: port from hal.dataflash to old DataFlash api 2012-12-20 14:51:36 +11:00
Pat Hickey
92b0c302f2 ArduPlane: Ported to AP_HAL 2012-12-20 14:51:36 +11:00
Pat Hickey
a4f1f6a5db AP_Progmem: fix dependencies for all sketches touched by AP_HAL_AVR 2012-12-20 14:51:28 +11:00
Pat Hickey
3f1d9d7f69 AP_Param: #include <AP_Param.h> fixups for libraries & sketches
* I mostly went through with grep and added an #include <AP_Param.h> below
  every #include <AP_Common.h>. Not all of these example sketches might
  strictly need AP_Param.
2012-12-20 14:51:19 +11:00
Andrew Tridgell
898aa0b260 Plane: fixed spelling error 2012-12-04 11:38:29 +11:00
Andrew Tridgell
e4949291e5 Plane: preparing for 2.68 release 2012-12-04 11:24:24 +11:00
Andrew Tridgell
805a340350 Plane: enable attitude and raw logging in HIL modes 2012-12-04 11:13:33 +11:00
Andrew Tridgell
cbb97f7294 Plane: added apm2 hilsensors target 2012-12-04 09:05:02 +11:00
Andrew Tridgell
24e1af1c82 Plane: fixed sensors and attitude HIL
we now use the Stub version of the InertialSensor driver. In sensors
HIL we can now correctly drive the AHRS code.
2012-12-03 23:26:39 +11:00
Andrew Tridgell
53951f995a Plane: fixed GPS course in HIL 2012-12-03 17:38:55 +11:00
Andrew Tridgell
567cb47d35 Plane: fixed SERVO_OUTPUT_RAW for HIL 2012-12-03 17:38:31 +11:00
Andrew Tridgell
1104287aa2 Plane: use enum FlightMode in more places 2012-12-01 08:15:48 +11:00
Andrew Tridgell
f5abc2c25e Plane: switch to an enum for flight modes 2012-12-01 08:08:54 +11:00
Andrew Tridgell
a6d8dbeac2 Plane: update ArduPlane for new ins interface 2012-11-30 07:15:18 +11:00
Andrew Tridgell
0260559147 Plane: fixed throttle slew limit code
starting at 1000 is a very bad idea - a petrol engine could cut out
2012-11-28 12:13:09 +11:00
Andrew Tridgell
697c386075 Plane: use correct throttle range in slewrate 2012-11-28 11:42:05 +11:00
Andrew Tridgell
845dd88091 Plane: make THR_SLEWRATE docs clearer 2012-11-28 11:41:39 +11:00
Andrew Tridgell
92cd631ce5 Plane: added THR_PASS_STAB parameter
this allows direct passthru of throttle in STABILIZE and FBWA, which
is useful for nitro planes wher you have a throttle cut switch that
drops the throttle below normal minimum.
2012-11-26 23:33:05 +11:00
Andrew Tridgell
1059ef2a54 Plane: fixed secondary aileron and manual aux servos in failsafe
the servo value wasn't being written to APM_RC while in failsafe for
these aux channels
2012-11-26 23:32:57 +11:00
Andrew Tridgell
a87394fff2 Plane: don't do accel calibration in HIL mode
this should fix the hang on startup
2012-11-25 21:53:37 +11:00
Andrew Tridgell
56e4cbfb1d Plane: allow reboot on APM1, and add reboot to main CLI menu 2012-11-24 18:20:37 +11:00
Andrew Tridgell
f8a95e4084 APM: preparing for 2.67 release 2012-11-21 22:28:30 +11:00
Andrew Tridgell
84300c85d6 APM: make it possible to run the CLI on any serial port 2012-11-21 21:41:34 +11:00
Andrew Tridgell
704da2a5d9 MAVLink: make it possible to enter the CLI over the radio
this only works on the APM2, where UART0 is also the radio port
2012-11-21 14:11:05 +11:00
Andrew Tridgell
8f108e2eb3 APM: added AMP_OFFSET option
thanks to Alexey Kozin!
2012-11-21 13:34:27 +11:00
Andrew Tridgell
61f2e18e2e APM: allow ailerons to move fully during servo demo 2012-11-21 13:34:27 +11:00
Andrew Tridgell
fcbd3a823b APM: added a new type of auxilary aileron, with rc input
a AileronWithInput assumes you have setup your RC transmitter to give
the right trim and input on the secondary aileron
2012-11-21 13:34:26 +11:00
Michael Oborne
a5e3ce4655 remove cli planner mode - no longer used 2012-11-21 07:45:45 +08:00
Andrew Tridgell
a600ccece5 APM: support 16 character parameter names 2012-11-20 21:36:13 +11:00
Andrew Tridgell
a5ed0de2cf APM: set MANUAL_LEVEL to 1 on successful accel calibration 2012-11-20 19:27:52 +11:00
Andrew Tridgell
fd3993287d INS: disable accel calibration on the 1280
this would put us well over 128k in sketch size
2012-11-20 18:41:04 +11:00
Andrew Tridgell
2f287846b5 APM: don't use mavlink msgs for accel cal in cli 2012-11-20 18:32:27 +11:00
Andrew Tridgell
3aeaf2ece6 APM: k_param_imu is now unused 2012-11-20 18:32:27 +11:00
Andrew Tridgell
69fbcc8683 MAVLink: fixed accel and gyro sensor offsets in MAVLink 2012-11-20 18:32:26 +11:00
Andrew Tridgell
f80783665f APM: fixed throttle display to always be between 0 and 100
when rc3 is below RC3_MIN, don't give an invalid value
2012-11-20 13:50:19 +11:00
Andrew Tridgell
7b733cd12b APM: fixed altitude_filter for new LowPassFilter syntax 2012-11-19 08:09:44 +11:00
Andrew Tridgell
8d1905a40b APM: change WIND direction to match convention
Thanks to Leo Hogg for pointing this out
2012-11-19 07:16:47 +11:00
Andrew Tridgell
531e62d3b5 MAVLink: improve usefulness of logged GPS velocities
we need them to align with time to use them for accelerations
2012-11-17 17:45:30 +11:00
rmackay9
cdfd3f9ccc ArduCopter, ArduPlane: rename ap variable in GCS_Mavlink.pde to resolve compiler warning re shadowing of variable 'ap'
Changed ArduPlane to keep function consistent with ArduCopter
2012-11-12 13:30:04 +09:00
Andrew Tridgell
fddfb0b1a3 MAVLink: update compass health in SYS_STATUS
this will make it easier to tell if a I2C error occurred in flight
2012-11-12 11:26:54 +11:00
rmackay9
2df7a407da ArduPlane: fix HIL build 2012-11-07 21:23:07 +09:00
rmackay9
d9b4407e64 AP_InertialSensor: changes after review with Tridge.
sanity checking added to accelerometer calibration routine.
user feedback is sent using gcs_send_text_fmt instead of Serial.printf.
moved ins parameters to new eeprom number to avoid conflicts with older parameters.
other small changes including renaming of functions and parameters.
2012-11-07 19:21:15 +09:00
rmackay9
ef727bbb3c ArduPlane: move to use new INS library instead of IMU library 2012-11-07 19:21:03 +09:00
Andrew Tridgell
8652bfee8d APM: added RSSI_PIN option for receiver RSSI
this allows you to configure the pin for receiver RSSI without
recompiling
2012-11-06 22:04:41 +11:00
Andrew Tridgell
c7b47a0e47 APM: allow for arbitrary ranges and reversal on 2nd aileron
this ensures you can setup a 2nd aileron with different reversal from
main aileron
2012-11-05 23:37:58 +11:00
Andrew Tridgell
9c140356f5 APM: remove unused variable 2012-11-05 15:22:56 +11:00
Andrew Tridgell
2793e432ff APM: use raw GPS velocity in GLOBAL_POSITION_INT
a much more useful value to log
2012-11-05 14:58:40 +11:00
Andrew Tridgell
aa236c43f8 APM: prepare for 2.66 2012-10-31 13:25:19 +11:00
Andrew Tridgell
81d507d39e APM: fixed differential spoilers in manual mode
make them follow the elevons
2012-10-31 12:43:53 +11:00
Andrew Tridgell
8c0296b27a APM: fixed additional aileron channels in manual mode 2012-10-31 12:43:53 +11:00
Xichen Shi
8c46fced16 APM: Added functionality to use differential spoilers in elevon mode
spoiler 1 and 2 are connected to 2 auxiliary channels, functions are
set to 16 on left wing and 17 om right wing respectively. Worked in
FBW + mode (auto etc.). No manual mode supported yet (need more
channels in my case).
2012-10-31 12:43:42 +11:00
Andrew Tridgell
e479af67ff APM: fixed loiter radius docs to reflect new limit 2012-10-30 16:19:24 +11:00
Pat Hickey
d4bb8a10d7 Update ArduCopter and ArduPlane dependencies on AP_Menu 2012-10-18 20:53:39 -07:00
Andrew Tridgell
07c291bb73 APM: fixed a comment typo 2012-10-16 17:21:04 +11:00
Andrew Tridgell
f828956cb8 battery: use set_pin() to allow pins to be changed at runtime 2012-10-16 17:20:49 +11:00
rmackay9
775489d658 ArduPlane: added BATT_VOLT_PIN and BATT_CURR_PIN parameters to allow support for new 3DR IV battery monitor 2012-10-13 20:51:41 +09:00
Andrew Tridgell
0bc1f89f27 APM: fixed typo 2012-10-11 15:03:52 +11:00
Andrew Tridgell
c9f10f0e00 APM: fixed auto-takeoff with zero lat/lng
consider a non-zero altitude to mean that we should use the relative
altitude specified
2012-10-11 15:03:00 +11:00
Andrew Tridgell
0495a0debc APM: make error msg clearer 2012-10-11 11:51:24 +11:00
rmackay9
f695db61ea ArduPlane: added AP_Semaphore.h to list of includes 2012-10-06 13:14:28 +09:00
Michael Oborne
a38fef65c7 AP,AC Add ability to override an altitude in any auto mode, on the current active target 2012-09-30 07:29:33 +08:00
rmackay9
8c6fd340d7 AP_AHRS: added scheduler parameter to init
Required by the AP_AHRS_MPU6000 class which needs to disable timed processes that could interfere with it's communication with the mpu6000
2012-09-29 13:51:21 +09:00
rmackay9
41fbb19cf5 AP_InertialSensor_MPU6000: replaced _cs_pin parameter with #define and saved 1 byte of memory
Updated ArduCopter, ArduPlane and example sketches in AP_InertialSensor, AP_IMU and AP_AHRS libraries because they no longer need to pass in cs_pin to the constructor
2012-09-28 19:21:59 +09:00
Andrew Tridgell
bbec662483 APM: fixed build warning 2012-09-25 07:21:03 +10:00
Andrew Tridgell
fbc053e6e4 APM: change to one low priority status buffer per GCS instance
this allows us to operate the low priority messages on each link
independently.

Thanks to David Buzz for the suggestion!
2012-09-24 17:39:19 +10:00
Andrew Tridgell
51aeb2dd4c APM: prepare for 2.65 2012-09-24 07:14:30 +10:00
Andrew Tridgell
d5c35fcc8b APM: fixed stick mixing for STABILISE mode
this is embarrassing
2012-09-24 07:14:30 +10:00
Andrew Tridgell
a4c3c5973d APM: prepare for 2.64 release 2012-09-23 19:32:56 +10:00
Andrew Tridgell
56c354eb4f APM: fixed stick mixing in CIRCLE mode on throttle failsafe
Many thanks to Andke for finding this bug!
2012-09-23 19:27:42 +10:00
Andrew Tridgell
41017442f8 APM: removed unnecessary waypoint_sending flag 2012-09-22 20:17:19 +10:00
Andrew Tridgell
f0f47f929a APM: send right parameter index when possible 2012-09-22 20:17:17 +10:00
Andrew Tridgell
764d86216e APM: fixed mission reset by setting waypoint to zero
this does a full mission reset (equivalent to rebooting)
2012-09-22 20:17:13 +10:00
Andrew Tridgell
6bae5ecd51 APM: added THR_SUPP_MAN option
this allows for manual throttle control during auto throttle
suppression. This is useful for keeping a petrol engine idling before
takeoff
2012-09-22 20:17:06 +10:00
Andrew Tridgell
5c402fa398 APM: allow RawSensors stream rate to be saved if <= 5
this makes it possible to configure all stream rates via a parameter
file
2012-09-22 20:17:02 +10:00
Andrew Tridgell
63940d3ab6 APM: don't send GPS_STATUS MAVLink message
it now provides no useful information as satellites_visible is in
GPS_RAW_INT in MAVLink 1.0
2012-09-22 20:12:43 +10:00
Andrew Tridgell
cbc4a57abb APM: send airspeed sensor value, not estimate, when enabled
this solves the problem of people reporting that airspeed is not shown
when ARSPD_USE is zero.
2012-09-20 08:00:54 +10:00
Andrew Tridgell
832c5e996e APM: make it possible to fetch parameters by index 2012-09-20 07:42:46 +10:00
Andrew Tridgell
3077de0d33 APM: much faster parameter fetching
allow up to 30% of bandwidth to be used for parameter send
2012-09-20 07:29:23 +10:00
Andrew Tridgell
68f1b6336f APM: tweak the default options for an APM1 1280 board
this allows a few more things to fit in
2012-09-19 19:36:19 +10:00
Andrew Tridgell
cebb67e1df APM: removed the unused sonar code
when we start supporting a sonar we'll add a AP_Sonar library, like
AP_Airspeed
2012-09-19 19:35:22 +10:00
Andrew Tridgell
2324997e16 APM: added ALT_OFFSET parameter
useful to adjust for barometric pressure changes during a long flight
2012-09-19 16:23:25 +10:00
Andrew Tridgell
37cb56f3e1 APM: save another few bytes 2012-09-18 13:58:50 +10:00
Andrew Tridgell
df962d25a8 APM: fixed a comment 2012-09-18 13:58:49 +10:00
Andrew Tridgell
12dc2e79cf APM: save 100 bytes of memory
remove flight_mode_strings array
2012-09-18 13:58:49 +10:00
Andrew Tridgell
86face0a03 APM: preparing for 2.63 release 2012-09-17 17:32:13 +10:00
Andrew Tridgell
4d4a95501f APM: updates for new GPS detection 2012-09-17 14:45:47 +10:00
Andrew Tridgell
7e8ef0ae95 APM: fixed handling of DO_REPEAT_SERVO and DO_REPEAT_RELAY 2012-09-17 14:45:47 +10:00
Andrew Tridgell
c8e84d18a4 APM: tidy up a comment 2012-09-16 15:51:13 +10:00
Andrew Tridgell
c0798730a8 APM: only copy manual channels in failsafe
this prevents non-manual channels changing value away from the trim
value on startup
2012-09-16 15:51:01 +10:00
Andrew Tridgell
127117b640 APM: ensure DO_SET_SERVO channels are enabled 2012-09-16 15:08:14 +10:00
Andrew Tridgell
208b878988 APM: allow update of last waypoint
fixed off by one error
2012-09-16 15:06:26 +10:00
Michael Oborne
94f956a0ca fix AP attitude hil - with randys help 2012-09-15 16:47:18 +08:00
Andrew Tridgell
b55e7903aa APM: prepare for 2.62 release 2012-09-13 12:02:18 +10:00
Andrew Tridgell
bad73b0686 APM: fixed elevon mixing
this was broken in 2.61
2012-09-13 12:01:40 +10:00
Andrew Tridgell
6e9abb616a APM: show real raw RC input, not mixed input
this makes it easier to diagnose elevon mixing issues
2012-09-13 12:00:49 +10:00
Andrew Tridgell
589c8fcc12 APM: report throttle and ground speed mission changes 2012-09-12 13:09:32 +10:00
Andrew Tridgell
b1408008c9 APM: allow for landing pitch control until final stage 2012-09-12 13:09:16 +10:00
Andrew Tridgell
05e72c6e68 APM: fixed roll in landing approach 2012-09-12 11:53:17 +10:00
Andrew Tridgell
5f3ffe4839 APM: switch to Randys new IMU rate control method
this drives the speed of the 50Hz loop by the number of samples
accumulated in the IMU. This should give much more consistent timing
in DCM.

Thanks to Randy for introducing this scheme in ArduCopter!
2012-09-11 16:39:36 +10:00
Andrew Tridgell
7e672628ea APM: removed the GPS_enabled flag
this fixes using GPS_PROTOCOL to specify a specific GPS with a GPS
that takes a few updates before it works (eg. needing baud rate
changes).

This makes it easier to use an APM1-1280 with more features enabled
2012-09-11 13:37:34 +10:00
Andrew Tridgell
c9a299665c APM: added speed scaling to wheeled steering
this allows for a larger amount of steering control at low speeds
without causing osciallation after takeoff
2012-09-11 13:37:34 +10:00
Andrew Tridgell
0812fc4890 APM: reboot only works on the APM2 2012-09-10 11:50:48 +10:00
Andrew Tridgell
cb88681914 APM: added support for MAV_CMD_PREFLIGHT_REBOOT_SHUTDOWN
this allows for remote reboot of APM
2012-09-10 11:42:30 +10:00
Andrew Tridgell
e2779523ea APM: fixed fetch of relative altitude waypoints
when we fetch relative altitude waypoints from APM to a file, we need
to preserve the altitude
2012-09-10 09:40:29 +10:00
Andrew Tridgell
feb3fe77ce APM: simplify radio_trim code
this removes the duplicate code. Throttle trim is not changed.
2012-09-09 19:39:09 +10:00
Andrew Tridgell
5c3595e0dc APM: fixed throttle nudging
The nudge value depended on RC3_TRIM, which is not a reliable
value. It tried to only take effect when the throttle stick was above
50%, but if RC3_TRIM was high for some reason (say 1500) then it would
actually depress the throttle by a large amount, which could cause the
plane to stall.

This also adds a boolean option THROTTLE_NUDGE to allow disabling of
throttle nudging
2012-09-09 19:39:04 +10:00
Andrew Tridgell
657dd5969f APM: preparing for 2.61 release 2012-09-08 18:36:17 +10:00
Andrew Tridgell
49468953a3 APM: updated for new RC_Channel_aux API 2012-09-08 15:14:41 +10:00
Andrew Tridgell
a6422be8fb APM: added mtk and mtk16 build targets
useful for testing non-auto gps detection
2012-09-08 12:43:36 +10:00
Andrew Tridgell
f26b9ab286 APM: prevent crosstrack from takeoff point after takeoff completion 2012-09-08 11:37:14 +10:00
Andrew Tridgell
dec12c7370 APM: use ahrs.airspeed_estimate() in two more places
this applies the wind constraint
2012-09-08 11:37:11 +10:00
Andrew Tridgell
cde7d8c5e7 APM: fixed some compiler warnings 2012-09-08 10:14:32 +10:00
Andrew Tridgell
d07d42403e APM: tidy up an if() statement 2012-09-08 10:14:20 +10:00
Andrew Tridgell
164c60d25f APM: added RUDDER_STEER option
when enabled, this uses only the rudder to steer during takeoff and
landing, using aileron only for levelling
2012-09-08 10:07:03 +10:00
Andrew Tridgell
130b26e1f9 APM: support DO_SET_SERVO command 2012-09-08 10:06:53 +10:00
Andrew Tridgell
96ea350143 APM: added XTRK_MIN_DIST option
this allows you to disable crosstrack correction on short legs
2012-09-08 10:06:44 +10:00
Andrew Tridgell
a446a7a9ed APM: allow serial buffer size to be configured
very useful for packet forwarding setups
2012-09-08 10:06:35 +10:00
Andrew Tridgell
9b2ad55773 APM: added forwarding of unknown MAVLink types 2012-09-08 10:06:15 +10:00
Andrew Tridgell
68705fe7e6 APM: accumulate mag readings during spare cycles in ArduPlane
With this change we average over 100 mag readings per compass.read()
call, which means we are reading the compass at over 1kHz instead of
10Hz. The noise reduction is huge.
2012-09-08 10:05:58 +10:00
Michael Oborne
cd08420c3e AP fix takeoff alt issue
issue 733
2012-09-06 20:19:12 +08:00
Pat Hickey
b02340fe10 APM_Config.h for ArduCopter/ArduPlane: better descr of APM2_BETA_HARDWARE 2012-09-05 15:36:57 -07:00
Andrew Tridgell
83153eebd4 APM: obey pitch limits in FBWA as well
this means pitch limits are constrained by LIM_PITCH_MIN and
LIM_PITCH_MAX
2012-08-30 20:15:42 +10:00
Andrew Tridgell
9a987ce116 APM: fixed docs for LIM_PITCH_MIN 2012-08-30 14:55:08 +10:00
Michael Oborne
1e7adac365 AP fix attitude hil.
we where waiting on new_data that had no way of getting there.
2012-08-30 07:54:20 +08:00
Andrew Tridgell
f6c3197cd2 APM: added new TELEM_DELAY parameter
number of seconds to delay telemetry
2012-08-30 08:59:39 +10:00
Craig Elder
4ad516c445 Arducopter: increased MAVLINK delay to 6s to reduce the chance of xBee bricking
Arduplane:  increased MAVLINK delay to 6s to reduce the chance of xBee bricking
Ardurover:  increased MAVLINK delay to 6s to reduce the chance of xBee bricking
2012-08-28 20:09:10 -07:00
Andrew Tridgell
e2b8817a89 APM: added the ability to forcibly crash the plane on OBC failsafe breach
this allows a user to setup the OBC failsafe system to forcibly crash
the plane (surfaces at limits, zero throttle) when the failsafe system
triggers. This is to allow APM to be used in the Outback Challenge. In
the OBC an external failsafe board also does this using the heartbeat
control pin, so this is an extra safety mechanism.

To prevent users accidentially triggering a crash, this code only
activates if FS_TERM_ACTION is set to to the magic value 42.
2012-08-28 20:18:24 +10:00
Andrew Tridgell
fce01464b1 APM: added ALT_CTRL_ALG parameter
this allows you to select different altitude control algorithms. The
current choices are for the default (automatic based on if airspeed is
available), or to force a non-airspeed algorithm

The idea is to make it possible to use airspeed for some things (like
wind speed, speed scaling) but not for alt control
2012-08-28 20:18:24 +10:00
Andrew Tridgell
85e9fa8c3b APM: fixed another problem with DO_JUMP
off by one error!
2012-08-28 20:18:24 +10:00
Andrew Tridgell
ded64fd9ea APM: check for geofence fence total of 0 2012-08-28 20:18:24 +10:00
Andrew Tridgell
d13d117e61 APM: removed reset_I() and instead auto-reset integrator in PID library
this prevents us resetting key integrators on waypoint change, while
still preventing old integrators being used when a PID starts to be
used again
2012-08-28 20:18:23 +10:00
Andrew Tridgell
dcbd0fbd44 APM: cleanup throttle suppression code and don't use airspeed to unsupress
this removes the throttle suppression when any of the conditions are
met once, as otherwise flying slow below 10m could zero the throttle.

It also removes the use of airspeed for disabling throttle
supression. Otherwise a strong gust of wind can cause ArduPlane to
try to takeoff!
2012-08-28 20:18:23 +10:00
Amilcar Lucas
b48a1f1fc4 ArduPlane: Fix 1280 builds
Added fine-granular features in the AP_Mount class to reduce code size on 1280 chips
Remove camera trigger support on 1280 chips
2012-08-27 01:33:45 +02:00
Amilcar Lucas
769f04b7d6 Improve comments, no functional changes 2012-08-27 01:32:27 +02:00
Andrew Tridgell
ecc6a52904 APM: report estimated airspeed if airspeed not available 2012-08-25 17:49:26 +10:00
Andrew Tridgell
3c7d7ba228 APM: use airspeed estimate for speed scaling if available 2012-08-25 17:49:26 +10:00
Andrew Tridgell
c9cf483822 APM: added XTRK_USE_WIND parameter
when enabled this will use the wind estimation code to adjust the
navigation bearing, allowing the navigation code to cope with much
higher levels of wind while using a compass
2012-08-25 17:49:26 +10:00
Andrew Tridgell
abe5bbfa4d APM: support forcing MANUAL of FBWA mode over MAVLink 2012-08-24 15:18:22 +10:00
Andrew Tridgell
b4134de550 APM: ensure fence_total is positive
thanks to David Buzz for the suggestion
2012-08-24 14:56:46 +10:00
Andrew Tridgell
c35530c362 APM: fixed wheeled takeoff with Jons new controllers 2012-08-22 17:34:01 +10:00
Andrew Tridgell
c730d9072e APM: prepare for ArduPlane 2.60 2012-08-22 16:28:38 +10:00
Andrew Tridgell
2d8f99433c APM: removed factor of 0.5 in non-airspeed takeoff pitch
this limited the pitch far below the specified target pitch
2012-08-22 16:28:38 +10:00
Andrew Tridgell
4668f8b7db APM: ensure takeoff_complete is reset 2012-08-22 16:17:55 +10:00
Andrew Tridgell
95c941664f APM: fixed bug in do_jump() navigation
this avoids a problem where the jump can cause the next command to be
reset to 0
2012-08-22 15:29:46 +10:00
Andrew Tridgell
6ab2a861f7 APM: added RSSI to RC_CHANNELS_RAW as well
and prevent double read
2012-08-22 13:58:25 +10:00
Andrew Tridgell
2d5bb7c51b APM: added RSSI in raw message too 2012-08-22 13:48:09 +10:00
Andrew Tridgell
c0c0b8c976 APM: added RECEIVER_RSSI_PIN option
this allows for the receiver RSSI to be sent over MAVLink

Thanks to Burt Green for the suggestion
2012-08-22 13:33:12 +10:00
Andrew Tridgell
d445482ace APM: added optional use of new APM_Control library
thanks to Jon Challinger for the new controllers!
2012-08-22 12:45:14 +10:00
Andrew Tridgell
9e926eae51 APM: optional build with new controller libs 2012-08-22 12:39:07 +10:00
uncrustify
70048f3d6f uncrustify ArduPlane/Parameters.h 2012-08-21 19:19:51 -07:00
uncrustify
3bee769405 uncrustify ArduPlane/config.h 2012-08-21 19:19:51 -07:00
uncrustify
d0ed723c1e uncrustify ArduPlane/planner.pde 2012-08-21 19:19:51 -07:00
uncrustify
a8e5900624 uncrustify ArduPlane/system.pde 2012-08-21 19:19:51 -07:00
uncrustify
8c2d604971 uncrustify ArduPlane/test.pde 2012-08-21 19:19:51 -07:00
uncrustify
d504ae680a uncrustify ArduPlane/setup.pde 2012-08-21 19:19:51 -07:00
uncrustify
f7b8fecad9 uncrustify ArduPlane/GCS_Mavlink.pde 2012-08-21 19:19:51 -07:00
uncrustify
0e8a76ccdd uncrustify ArduPlane/ArduPlane.pde 2012-08-21 19:19:51 -07:00
uncrustify
ff4afa767b uncrustify ArduPlane/commands.pde 2012-08-21 19:19:51 -07:00
uncrustify
43991712be uncrustify ArduPlane/radio.pde 2012-08-21 19:19:50 -07:00
uncrustify
d5767ef817 uncrustify ArduPlane/Attitude.pde 2012-08-21 19:19:50 -07:00
uncrustify
0f415bbc6a uncrustify ArduPlane/Parameters.pde 2012-08-21 19:19:50 -07:00
uncrustify
39ab309b87 uncrustify ArduPlane/Log.pde 2012-08-21 19:19:50 -07:00
uncrustify
b960619195 uncrustify ArduPlane/defines.h 2012-08-21 18:59:05 -07:00
uncrustify
2c56e5c690 uncrustify ArduPlane/APM_Config.h 2012-08-21 18:59:05 -07:00
uncrustify
bd0146f776 uncrustify ArduPlane/GCS.h 2012-08-21 18:58:53 -07:00
uncrustify
5267ea6aad uncrustify ArduPlane/sensors.pde 2012-08-21 18:58:40 -07:00
uncrustify
e212c152f7 uncrustify ArduPlane/geofence.pde 2012-08-21 18:58:31 -07:00
uncrustify
326ca1b7cd uncrustify ArduPlane/failsafe.pde 2012-08-21 18:58:24 -07:00
uncrustify
4e795d4f1e uncrustify ArduPlane/commands_process.pde 2012-08-21 18:58:17 -07:00
uncrustify
909e39d667 uncrustify ArduPlane/navigation.pde 2012-08-21 18:58:17 -07:00
uncrustify
4793162a9d uncrustify ArduPlane/commands_logic.pde 2012-08-21 18:58:11 -07:00
uncrustify
9b133019b3 uncrustify ArduPlane/events.pde 2012-08-21 18:57:59 -07:00
uncrustify
0683be294b uncrustify ArduPlane/climb_rate.pde 2012-08-21 18:57:21 -07:00
uncrustify
c69772388b uncrustify ArduPlane/control_modes.pde 2012-08-21 18:57:21 -07:00
Andrew Tridgell
343f7d2de0 APM: removed DMP support from ArduPlane
Without centripetal correction the DMP code will almost certainly
crash a plane
2012-08-22 11:46:35 +10:00
Andrew Tridgell
6d11940ada AHRS: removed Quaternion build support from APM/ACM/rover 2012-08-22 10:42:21 +10:00
Andrew Tridgell
bf2319a0fc AHRS: fixed reference to AHRS var_info for APM and ACM 2012-08-21 15:58:32 +10:00
Andrew Tridgell
c5b77f3909 APM: reset steering PID integrator in reset_I() 2012-08-21 15:01:01 +10:00
rmackay9
11e946eb54 ArduCopter, ArduPilot: revert mavlink delay callback to be "unsigned long" 2012-08-18 20:34:41 +09:00