Commit Graph

283 Commits

Author SHA1 Message Date
Andrew Tridgell bb861117a3 apm2: fixed for new barometer code 2011-12-11 15:21:10 -08:00
Pat Hickey 85b82e75f6 ArduPlane: update AP_Baro construtors and initializers 2011-12-11 15:21:10 -08:00
Pat Hickey 6710cf5c5a Wire and SPI Init: move to sketch system.pde from libraries
* Wire.begin removed from AP_Baro_BMP085::init()
* SPI.begin  removed from AP_Baro_MS5611::init()
* SPI.begin  removed from AP_InertialSensor_MPU6000::hardware_init()

* Both Wire.begin and SPI.begin added very early in init_ardupilot in
  ArduCopter/system.pde and ArduPlane/system.pde
2011-12-11 15:21:10 -08:00
Pat Hickey 5fd8fea957 ArduCopter & ArduPlane: Added support for apm2beta build via APM2_BETA_HARDWARE define
* This enables the BMA085 driver for compatibility with beta boards.
* The CLI_SLIDER_ENABLED=DISABLED line does not need to be in the makefile.
  config.h takes care of this default.
2011-12-11 15:21:09 -08:00
Pat Hickey 6f27c4c779 ArduPlane: added config.h and defines.h to support CONFIG_BARO 2011-12-11 15:21:09 -08:00
Pat Hickey 63d3b6a278 ArduPlane: Rename APM_BMP085 classes to AP_Baro_BMP085 classes 2011-12-11 15:21:09 -08:00
Pat Hickey c64e3f5772 ArduPlane: calibrate accel with imu.init_accel after imu.init
* complements commit 73418559, where init_accel was eliminated
  from AP_IMU_INS::init cold start.
2011-12-10 13:32:47 -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
Doug Weibel 77a7734111 Augment failsafe gcs_send_text message 2011-12-09 09:11:45 -07:00
Doug Weibel 4f6f9a6be4 Add hook to dump log filesystem index for debugging 2011-12-07 08:13:30 -07:00
Andrew Tridgell c1569e49a8 fixed the "reboot on GPS lock" bug
the problem was that with APM2 we may not have a 2nd GCS instance. The
"gps alt: xxx" message was being unconditionally sent to both GCS
instances, which caused a crash
2011-12-04 09:06:58 +11:00
Andrew Tridgell 899c1364cc test: removed the broken gyro test and merge it into the imu test
the gyro test assumed APM1 hardware, and would hang on APM2. The imu
test can just as easily display gyro and accelerometer data as well as
roll/pitch/yaw, so combine it in one test
2011-12-03 14:08:20 +11:00
Doug Weibel b3b218fa40 Fix for intermittent bug of log #1 starting on page 2 and confusing file system 2011-11-28 19:43:10 -07:00
Doug Weibel aa6c336479 Add DataFlash.Init before doing a forced log erase on eeprom reset.
Add progress indication during log erase
2011-11-28 19:42:27 -07:00
Andrew Tridgell 7f4c87eeec mavlink: don't force CLI and HIL with mavlink10 build 2011-11-28 16:22:33 +11:00
Andrew Tridgell e61d945874 mavlink: paranoia setting of failsafe when forcing AUTO mode
this shouldn't be needed, but will do no harm, and I thought I saw
this fail in a test
2011-11-28 16:22:33 +11:00
Andrew Tridgell 833f5f5895 mavlink: move Mavlink_compat.h to common code
this will allow it to be used by ArduCopter
2011-11-28 13:53:57 +11:00
Andrew Tridgell d295b7d76c build: CLI_SLIDER_ENABLED doesn't need to be forced off in apm2 build
this is handled by config.h now
2011-11-28 13:53:57 +11:00
Doug Weibel ca5560ef1c Add Guided mode to failsafe handling 2011-11-26 21:10:53 -07:00
Andrew Tridgell fb21e619fe Logs: don't print hundreds of bogus log boundaries
this can take quite a long time
2011-11-26 17:02:55 +11:00
Pat Hickey 0fa8ce9a52 ArduPlane: rev version number from 2.26 to 2.27 Alpha 2011-11-25 20:00:19 -08:00
Pat Hickey a6bf2d9cd6 ArduPlane: LED digital writes use LED_OFF and LED_ON 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 c8b592f8a7 purple: there are no dipswitches on the purple board 2011-11-25 20:00:18 -08:00
Andrew Tridgell 67e5c89226 compass: added AP_COMPASS_APM2_SHIELD
this makes the orientation clearer
2011-11-25 20:00:18 -08:00
Andrew Tridgell b6bab1d92d purple: adc test not useful if no ADC 2011-11-25 20:00:18 -08:00
Andrew Tridgell 6c856dde4e purple: fixed LED and IO pin defintitions 2011-11-25 20:00:18 -08:00
Andrew Tridgell 2db5a2b5e2 purple: add the remaining hw defines for purple hardware 2011-11-25 20:00:18 -08:00
Andrew Tridgell 01cfd64327 timer_scheduler doesn't exist in HIL_MODE_ATTITUDE 2011-11-25 20:00:18 -08:00
Andrew Tridgell 0d3e07c2f7 build: added hlsensors target 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 ee3254ef8f adc.Init() takes timer_scheduler 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 c93d7a9560 purple: added new parameters to Init() functions
this adapts the test code for the purple API changes
2011-11-25 20:00:17 -08:00
Pat Hickey ed74d1c987 test: added new passthru test
this passes radio inputs direct to servo outputs, which is useful for
hardware testing
2011-11-25 20:00:17 -08:00
Pat Hickey 71ebf1f543 removed old commented out code 2011-11-25 20:00:17 -08:00
Pat Hickey fefc7da1d1 purple: added new parameters needed for new library APIs
new APIs pass in timer_scheduler. We also to init the isr_registry
2011-11-25 20:00:17 -08:00
Pat Hickey 5626f4a127 purple: fixed APM_RC.Init() to add isr_registry parameter 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
Pat Hickey d5ebf30d74 purple: added config options for purple/APM1 hardware 2011-11-25 20:00:17 -08:00
Pat Hickey f580a4bea0 purple: added hardware defines for ArduPlane 2011-11-25 20:00:17 -08:00
Pat Hickey 395f43bee8 build: added new command line build targets
this makes it more convenient to build common options
2011-11-25 20:00:16 -08:00
Andrew Tridgell 32073eaa51 mod barometer.Init() based on hardware 2011-11-25 20:00:15 -08:00
Michael Oborne f66a6b4308 Add rc input to cli planner mode 2011-11-26 11:23:14 +08:00
Doug Weibel 516216f159 Change type to support "dump all with -1" 2011-11-24 18:55:33 -07:00
Doug Weibel 4a07bb3127 Logging cleanup. Fixed missing cast, removed erase warning, added -1 to dump all option, and fix intermittent bug for log number 1. 2011-11-24 18:55:33 -07:00
Doug Weibel 06c88cf07b Simplified logging logic for finding start/end of log files 2011-11-24 18:55:32 -07:00
Doug Weibel e02d615c8a Rework logging file system to be more robust 2011-11-22 20:20:17 -07:00
Andrew Tridgell a69b4c2d7e MAVLink: fixed throttle display in VFR_HUD 2011-11-21 20:29:19 +11:00
Andrew Tridgell 2cc0cd65b4 zero airspeed on ground start when initiated by MAVLink
If the users asks for a new calibration, that should include the
airspeed sensor
2011-11-21 20:29:18 +11:00
Andrew Tridgell 2137e91ede fixed disabling of GPS in ArduPlane
we may need a new hex
2011-11-21 20:29:18 +11:00
Andrew Tridgell d9f32ce5b8 Log: prevent looping forever
this happened with an empty dataflash
2011-11-20 19:06:24 +11:00
analoguedevices 1a610ba450 Rev version number 2011-11-19 23:43:47 +00:00
Jason Short 014204409a shortened strings 2011-11-19 14:02:45 -08:00
Doug Weibel 0bc31fa236 Remaining changes to the logging file system.
With these changes the logging system will allow overwriting of logs with no loss of functionality.  I have tested (successfully) logging with the Dataflash being filled and overwriting previous files.  I have also tested with a single long file that partially overwrites itself.
2011-11-17 21:25:51 -07: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
Jason Short fc3e7767ba Mission Scripting updates 2011-11-16 00:22:23 -08:00
analoguedevices fa4896ee91 Rev version number 2011-11-16 05:04:36 +00:00
Doug Weibel 1c6469d25b Fix Do_Jump bug. Also fix cross track bearing bug after Jump 2011-11-15 20:44:19 -07:00
Doug Weibel b23dd36f6d Missed hunk for last commit 2011-11-15 20:43:00 -07:00
Doug Weibel b7494774f7 Add logging of DCM drift correction integrator in PM
This may be a temporary feature…  Mostly added to check new (lower) integrator limit.
2011-11-15 20:42:59 -07:00
analoguedevices b4ccf3b41b Rev version number to 2.25 2011-11-14 05:31:27 +00:00
Michael Oborne 0a2f67a235 modify crosstrack calc 2011-11-13 08:25:24 +08:00
Andrew Tridgell 49053a9721 fixed a valgrind warning
need to initialise all fields
2011-11-08 17:26:53 +11:00
Andrew Tridgell a045e4ec7e Log: better way to check for -1 long portably 2011-11-08 07:58:34 +11:00
Andrew Tridgell 4113d04f70 Log: make find_last_log_page() portable
this makes it work with platforms with a larger 'long'
2011-11-07 23:50:49 +11:00
Andrew Tridgell 0775f57a89 Log: fixed a bug where we could index outside an array
when we first start up, num_existing_logs may be zero
2011-11-07 22:56:13 +11:00
Jason Short 80c7e135d5 renamed some command variables to align with Arduplane
reworked the arming code and moved the DCM gains out.
updated climb_rate to include sonar data.
2011-11-04 21:41:51 -07: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 ac4c604a6b GCS: fixed timeout loading waypoints
while loading waypoints we could saturate the link
2011-10-31 21:25:35 +11:00
James Goppert 663ed536c4 Merge branch 'master' of https://code.google.com/p/ardupilot-mega 2011-10-30 23:12:53 -04:00
James Goppert 249ce91d78 Switching to new eclipse project style. 2011-10-30 22:57:34 -04:00
Michael Oborne 193940f2e2 Revert Changes
switch back to old nav_rol lcalc
switch back to old planner - non mavlink 1.0
2011-10-31 07:23:20 +08:00
Michael Oborne 95479e29ae Add MAVLINK_MSG_ID_HIL_STATE message 2011-10-30 18:17:37 +08:00
Michael Oborne 6d2be49304 Merge branch 'master' of https://code.google.com/p/ardupilot-mega 2011-10-30 14:27:13 +08:00
Andrew Tridgell e6f7bf9df8 MAVLink: use new MAV_MODE_FLAG_CUSTOM_MODE_ENABLED flag
this enables us to tell if custom_mode is set
2011-10-30 13:00:54 +11:00
Andrew Tridgell 3f7d46b17e fixed uninitialised variable warning 2011-10-30 11:48:56 +11:00
Andrew Tridgell c914b11504 use C++ tricks to minimise differences for MAVLink 1.0
this should make maintainence/testing a bit easier
2011-10-30 11:48:56 +11:00
Michael Oborne 0707198bd5 Merge branch 'master' of https://code.google.com/p/ardupilot-mega 2011-10-30 07:35:10 +08:00
James Goppert b655482b98 Merge branch 'master' of https://code.google.com/p/ardupilot-mega 2011-10-29 15:09:35 -04:00
James Goppert c56c3e33e1 Working on cmake support. 2011-10-29 15:01:05 -04: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
Michael Oborne 63c884a6df better crosstrack 2011-10-29 12:54:13 +08:00
Michael Oborne abed7fa5f2 Merge branch 'master' of https://code.google.com/r/meee146-hil 2011-10-29 11:37:54 +08:00
Andrew Tridgell 4a92048ef0 fixed "Free RAM" display on bootup 2011-10-28 21:34:10 +11:00
Michael Oborne 357f299d61 APM track following change 2011-10-28 12:05:22 +08:00
Doug Weibel c7d91a199c Bug fixes for command logic re-write 2011-10-27 13:45:57 -06: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
Andrew Tridgell c0c771042f CLI: enable "hit enter 3 times" support for CLI
if you hit enter 3 times before you send any mavlink packets, we will
enter CLI mode
2011-10-27 21:54:07 +11:00
Andrew Tridgell 6cd604e510 mavlink: fixed WP upload
The previous code accepted arbitrary command codes here, and ACKed
them. Later we should specifically list which ones are OK
2011-10-26 12:18:24 +11:00
Andrew Tridgell d18071d6c2 MAVLink: MAVLink 1.0 support now builds
not testing at all - so be careful!
2011-10-24 12:21:26 +11:00
Andrew Tridgell 2c4c00ece8 mavlink: started adding support for MAVLink 1.0
this is nowhere near complete, and does not compile yet
2011-10-24 10:20:36 +11: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 6987e6c4b2 hil sensor cleanup 2011-10-14 18:14:32 +08:00
Michael Oborne 392160314e Sensor hil fix's 2011-10-13 22:22:03 +08:00
Andrew Tridgell 52dc221969 support building with common Makefile.desktop 2011-10-11 17:49:40 +11:00
Michael Oborne ec7fa70fd6 Merge branch 'master' of https://code.google.com/p/ardupilot-mega 2011-10-11 08:05:14 +08:00
Michael Oborne a28a0f9433 Merge branch 'desktop-wip' of https://code.google.com/r/tridge60-apm-wip 2011-10-10 07:22:57 +08:00
Andrew Tridgell ed2bec75b9 added build makefiles 2011-10-10 07:18:38 +11:00
Amilcar Lucas ea27d1604a More optimizations
I forgot these ones.
2011-10-09 15:34:47 +02:00
Amilcar Lucas 282722eae6 Optimize the code a bit more, only perform calculations if they are necessary 2011-10-09 15:27:17 +02:00
Amilcar Lucas 02f023a9ec Use a single if instead of four 2011-10-09 15:27:17 +02:00
Amilcar Lucas 758ae5a78e Use the shorter macro call instead 2011-10-09 13:57:35 +02:00
Andrew Tridgell 2cb93f5a16 fixed a crash in HIL
The g_rc_function[RC_Channel_aux::k_flap_auto] ptr came out as NULL
during one HIL run on a desktop CPU, which led to ArduPlane
crashing. I am not yet sure if this can happen in real flight, but I
think the NULL check is worthwhile to be sure.
2011-10-09 22:09:00 +11:00
Andrew Tridgell 1195c4750e fixed some ambiguous if/else combinations
gcc was complaining about the logic
2011-10-09 22:09:00 +11:00
Andrew Tridgell dcc6f30af1 don't initialise DataFlash if logging is disabled
this fixes HIL without an IMU
2011-10-09 22:08:59 +11:00
Andrew Tridgell e927cf94d7 use memcheck_available_memory() instead of freeRAM()
this gives a more accurate view of free memory
2011-10-09 22:08:59 +11: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 6a5d6889b7 Only use radio_in values if the channel is not used as flight_mode_channel 2011-10-08 22:15:54 +02:00
Amilcar Lucas 101dc83239 Fix compilation 2011-10-02 14:52:02 +02: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
Doug Weibel 8f2ae139a4 Fix missing capitalization 2011-09-30 07:25:35 -06:00
Doug Weibel b6cd0ad9b8 Rework prev commit a bit cleaner as suggested by Janne Mäntyharju 2011-09-30 07:25:35 -06:00
Doug Weibel aac8eac0cb Add code to disable throttle if we are on the ground and in FBW_B or higher
Add code to disable throttle if we are on the ground and in FBW_B or higher.  We believe we are on the ground if speed < 5 and alt < 5.  Also check that we are not trying to perform a takeoff.
2011-09-30 07:25:35 -06:00
James Goppert 204c6bb6e7 Added makefiles for ArduCopter/ArduPlane.
These files are not generated by cmake. They are necessary for
the make based build to work. To build using this method
type make in the directoy such as ArudPlane/ArduCopter. Make
sure that you do not call cmake in the ArduPlane etc directory
as this will overwrite this Makefile with the autogenerated cmake
version. Cmake should be called from withing a build directory.
2011-09-30 07:16:48 -04:00
Janne M cd02e78af7 Fixed board setting in cmake-file. Removed now autogenerated Makefile 2011-09-30 11:17:08 +03:00
James Goppert 112d5e9531 Improvements to cmake. 2011-09-29 21:23:26 -04:00
James Goppert bfe0331803 Corrected makefile. 2011-09-29 18:57:19 -04:00
James Goppert a0db0fc25f Added missing files. 2011-09-29 14:18:05 -04:00
James Goppert 3a00ceb593 Added ArduBoat/ ArduRover/ and APO library. 2011-09-29 14:12:15 -04:00
Jason Short 1243e76f29 Dead Zone fix - Now the range is full instead of clipped. Should make the Yaw much more smooth. 2011-09-26 22:12:39 -07:00
Amilcar Lucas cd0bbd718b Fix issue #285 2011-09-25 11:36:31 +02:00
Amilcar Lucas a3152b2410 Moved mavlink_check_target() to the libraries/.
This allows it to be reused by the other libraries and by other projects ArduPlane, ArduCopter, ArduRover ... etc.
It also reduces code duplication
2011-09-24 14:40:07 +02:00
Doug Weibel 5767575a73 Correct bug in auto flap handling 2011-09-22 20:50:15 -06:00
Andrew Tridgell c5bf8312b8 removed some more unused defines
mavlink is now the only choice for HIL and GCS
2011-09-19 11:04:02 +10:00
Andrew Tridgell 3a81e12866 get rid of the last active uses of the SendDebug macros
please use gcs_send_text*() from now on, to ensure serial queueing
2011-09-19 11:04:02 +10:00
Andrew Tridgell e7bc74a38e remove unused climb_rate code 2011-09-19 11:04:02 +10:00
Andrew Tridgell c2126e127d use gcs_send_text_fmt() and cleanup a few old debug lines 2011-09-19 11:04:02 +10:00
Andrew Tridgell 943c234c62 GCS: added new gcs_send_text_fmt() method
this allows low priorty formatted messages to be sent to the ground
station, without causing a CPU stall on the serial send buffer
2011-09-19 11:04:02 +10:00
Andrew Tridgell f71674ffa4 GCS: don't send low priority messages unless they fit
check the serial transmit buffer, and don't send low priority messages
unless they can go straight out without blocking the CPU
2011-09-19 11:04:02 +10:00
Andrew Tridgell 8f604a1035 added gcs_severity enum
this makes it harder to mixup defines
2011-09-19 11:04:02 +10:00
Andrew Tridgell 4e346a0cc5 remove some more old cruft 2011-09-19 11:04:02 +10:00
Andrew Tridgell 225e6d760f remove Mavlink_Common.h and used deferred logic for params/waypoints
this moves the mavlink send logic into GCS_Mavlink.pde, and also
ensures we only ever send parameters and waypoints when there is
sufficient space in the serial send buffer
2011-09-19 11:04:02 +10:00
Andrew Tridgell ef6e2c2adf remove some more unused code in the GCS interface 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 83492f92f2 MAVLink: use enum ap_message and remove unused param argument
saves us another 200 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 7d6301976e remove unused MESSAGE_COMMAND_LIST 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 46d6974da2 remove unsued MSG_LOCAL_LOCATION
this saves us a bit of code
2011-09-18 11:07:24 +10:00
Andrew Tridgell ee1541cda7 rework the MAVLink send code to avoid excessive stack usage
this avoids a varient of the gcc excessive stack usage bug, by
wrapping the send calls in NOINLINE functions. This saves us a lot of
stack space, and strangely enough produces slightly smaller code!
2011-09-18 11:05:21 +10:00
Janne M 326f913e64 Merge branch 'divider' 2011-09-17 23:56:41 +03:00
Janne M 95dd8cc35b Added voltage divider, input voltage and amps per volt to parameters. 2011-09-17 22:32:19 +03:00
Amilcar Lucas c9d9ee0d3b Merge some small misc improvements from APM_Camera branch 2011-09-17 20:25:31 +02: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