Commit Graph

855 Commits

Author SHA1 Message Date
Michael Warren 9697ff5d6d Plane: Added extra parameter to specify at what speed in auto-takeoff throttle should engage
This adds TKOFF_THR_MINSPD in m/s
2013-03-09 14:19:48 +11:00
Andrew Tridgell 87c6545ac6 Plane: don't trigger GCS failsafe if GCS never connected
The we have never received a heartbeat message from the GCS then don't
use the lack of heartbeat to trigger a failsafe event
2013-03-09 13:48:39 +11:00
Andrew Tridgell e93888dee9 Plane: make a throttle_cruise of 0 mean always zero throttle
this can be used for parachute landing missions

Thanks to Chris Miser for the suggestion
2013-03-09 13:48:39 +11:00
Andrew Tridgell e0e22b63a7 Plane: removed INPUT_VOLTS parameter
no longer needed
2013-03-08 10:01:33 +11:00
Andrew Tridgell 2331c84423 Plane: use voltage_average() to not depend on INPUT_VOLTS 2013-03-03 16:16:01 +11:00
Andrew Tridgell de55e19eec Plane: updates for new dataflash API 2013-03-01 07:18:26 +11:00
Andrew Tridgell b3213b7113 Plane: fixes for new DataFlash API 2013-03-01 07:18:25 +11:00
Andrew Tridgell 5f4c5f8201 Plane: update SERIAL0_BAUD parameter description 2013-02-22 08:39:02 +11:00
Andrew Tridgell 139acc0530 Plane: ignore control mode changes when in throttle failsafe
this prevents the receiver causing a temporary mode change
2013-02-21 11:21:39 +11:00
Andrew Tridgell 1ebaa14a99 Plane: prepare for 2.70 release 2013-02-21 09:49:15 +11:00
Andrew Tridgell 0a0b51cc63 Plane: reset AHRS trim after a level operation 2013-02-20 11:56:02 +11:00
Andrew Tridgell 24826c0c74 Plane: default the stream rates to 1Hz 2013-02-20 10:08:49 +11:00
Andrew Tridgell 1007f2ef07 Plane: fixed a bug with setting stream rates
this is what caused the "no sensors" problem in the 2.69 release
2013-02-20 09:32:01 +11:00
Randy Mackay 9c984b18db Plane: integrate automatic roll and pitch trims 2013-02-19 13:30:51 +09:00
Andrew Tridgell c989099665 Plane: enable PX4IO dual telemetry devices 2013-02-18 13:56:21 +11:00
Andrew Tridgell e8806b14ec Plane: enable MAV_CMD_DO_DIGICAM_CONTROL 2013-02-14 09:35:56 +11:00
Andrew Tridgell 8c0f065ee4 Plane: fixed an integer multiply error that caused poor altitude on landing
the control of altitude between waypoints was broken due to an integer
overflow
2013-02-13 19:32:44 +11:00
Andrew Tridgell 2f677acf3b Plane: update firmware version to 2.69 2013-02-11 15:02:08 +11:00
Andrew Tridgell 9f70c6c70d Plane: make CIRCLE mode hold altitude
this will prevent us losing a lot of altitude during the initial
failsafe phase
2013-02-11 13:52:25 +11:00
Andrew Tridgell 9d3224ef34 Plane: fixed target speed reload on landing
thanks to Doug for this fix!
2013-02-11 11:40:36 +11:00
Michael Oborne 88840eb759 Send FS state to gcs for AP 2013-02-09 10:11:26 +08:00
Andrew Tridgell c41b927a15 Plane: added shell command for px4
used to launch nsh for PX4IO firmware upgrades
2013-02-07 15:04:33 +11:00
Andrew Tridgell 3913c42183 Plane: fixed bit combination
bitwise, not arithmetic
2013-02-05 10:33:10 +11:00
Jochen Tuchbreiter c5f19f5df8 Plane: Implement issue 80: counterclockwise loiter
- libraries/AP_Common/AP_Common.h: Use bit 2 of Location.options to store
  loiter direction
- ArduPlane/defines.h: New bitmask MASK_OPTIONS_LOITER_DIRECTION for struct
  Location bit 2
- ArduPlane/ArduPlane.pde: New variable loiter_direction
- ArduPlane/GCS_Mavlink.pde: For mavlink loiter-commands use sign of param3 to
  detemine direction. Set Location.option flag accordingly
- ArduPlane/commands.pde: Make sure loiter-directions get saved into EEPROM
  correctly
- ArduPlane/commands_logic.pde: Set loiter_direction on all loiter-actions
  as well as RTL/instant loiter
- ArduPlane/navigation.pde: Yield loiter_direction in update_loiter
2013-02-05 10:29:31 +11:00
Brandon Jones fa7839941f After Plane: cleanup driver declaration 4d9a74d, HIL_MODE_ATTITUDE with MAG_ENABLE=1 set results in continuous reboot/APM crash. Added define for AP_COMPASS_HIL when HIL_MODE_ATTITUDE is enabled. 2013-02-05 09:04:34 +11:00
Michael b9a5be6c8b Plane: added secondary elevator support 2013-02-05 08:57:58 +11:00
Andrew Tridgell e762c43312 Plane: switch to an array for stream rates
this saves a couple of hundred bytes of flash.
2013-02-05 08:20:41 +11:00
Pat Hickey 85d783d5a9 ArduPlane: fixed memory unsafe member access in GCS_MAVLINK 2013-02-02 22:43:59 -08:00
Andrew Tridgell ebb7f27962 Plane: minor signed/type fixups 2013-01-27 13:16:26 +11:00
Andrew Tridgell 3caaa27526 Plane: fixed build errors in logging 2013-01-27 12:58:50 +11:00
Randy Mackay 7297a1ff83 Plane: renamed RAW dataflash message to IMU 2013-01-26 17:29:29 +09:00
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