Commit Graph

3407 Commits

Author SHA1 Message Date
Andrew Tridgell 9793d04ed1 SITL: increase the amount of noise in the simulated ADC
this increases the noise to 2 bits, which actually can have the effect
of improving accuracy, as it leads to better averaging
2012-02-18 19:27:15 +11:00
Andrew Tridgell d52cb7e574 DCM: only add in centripetal accel if we have GPS lock
if we don't have a GPS or the GPS doesn't have a good lock then we
can't rely on the ground speed for adjusting the acceleration vector
2012-02-18 19:27:15 +11:00
Andrew Tridgell ffa3330f93 autotest: fixed the calculation of the acceleration due to gravity
this fixes the attitude calculation for the multicopter simulation
2012-02-18 19:27:15 +11:00
Andrew Tridgell 16009777d9 APM: expanded parameter area to match ACM
this ensures waypoints and basic eeprom layout remain in sync
2012-02-18 10:51:57 +11:00
Andrew Tridgell 6929226b96 ACM: expanded EEPROM parameter area by 256 bytes 2012-02-18 10:51:57 +11:00
Andrew Tridgell bb352c6bcf don't need AP_Math.h here any more 2012-02-18 10:51:57 +11:00
Andrew Tridgell 718a5b70e3 AP_Param: fixed saving of sensor calibration
this fixes the saving of the accel and gyro calibration to EEPROM,
which was initially broken by the AP_Param conversion
2012-02-18 10:51:57 +11:00
Andrew Tridgell baac883eb1 IMU: move _sensor_cal to general IMU class
this makes it available both in shim and INS subclasses
2012-02-18 10:51:57 +11:00
Andrew Tridgell 882cd4ea83 AP_Param: moved AP_Vector3f and AP_Matrix3f declarations to AP_Math.h
this avoids us needing AP_Math.h in every utility sketch and example
2012-02-18 10:51:57 +11:00
Andrew Tridgell 85ecb05261 CPUInfo: added timing of sqrt() 2012-02-18 10:51:57 +11:00
Andrew Tridgell 78babd37fa APM: use set_and_save_ifchanged() for GCS stream rates
this avoids a lot of EEPROM scan operations when the groundstation
updates the stream rates
2012-02-18 10:51:57 +11:00
Andrew Tridgell 4b15b63d21 AP_Param: fixed copy-assignment operators for AP_Param vectors 2012-02-18 10:51:57 +11:00
Andrew Tridgell 7f3858cb7f AP_Param: added a set_and_save_ifchanged() method
this can be used to avoid the scan() in more frequenctly saved
variables, such as the MAVLink stream rates in APM
2012-02-18 10:51:57 +11:00
Andrew Tridgell 80a6773b8b AP_Param: added an initialised() method
this will be used by the compass code
2012-02-18 10:51:57 +11:00
Jason Short b532cb91b1 added Rate_D tuning value 2012-02-17 15:23:59 -08:00
Jason Short 0075901f77 upped rate loop to 250hz 2012-02-17 15:23:59 -08:00
justinbeech 62b104cbfa Found free extra 256 bytes of RAM eliminate _clz use from libgcc
Believe it or not, changing / 2^31 to >>31 saved 256 bytes in the "d" segment.

The reason is that GCC version prior to 4.3.5 does not have a count_leading_zeros (clz) assembler macro, so it uses a 256 byte lookup table called _clz
The _clz table gets pulled in if you do 64 bit division.
This tiny change is the only place that we do long long division.
Changing to a shift saves 256 bytes of ram.
2012-02-17 09:46:05 +00:00
Michael Oborne e2c15008c2 APM Planner 1.1.37
fix misc errors
update polish
fix linux/mac bug. - seems alot more stable
2012-02-17 17:09:27 +08:00
Jason Short 5218220f0f re-implemented WII Dampening filter for Marco. 2012-02-16 22:38:23 -08:00
Jason Short b052dab80d Adjusted gains to move closer to Marco's tests 2012-02-16 22:19:39 -08:00
Jason Short 24ce02c6a4 made I term return in same pattern as D term 2012-02-16 22:09:22 -08:00
Jason Short 17c6c7b294 added extra gain logging 2012-02-16 22:09:22 -08:00
Jason Short 908ca4e915 scaled X velocity 2012-02-16 22:09:22 -08:00
Jason Short bc1593e89c cast to float 2012-02-16 22:09:21 -08:00
Jason Short 632cc783a1 cast D term to float just in case 2012-02-16 22:09:21 -08:00
Jason Short 36a120d8df removed some unused vars,
formatting, made loop speed same as PIDT1 to eliminate variable.
2012-02-16 22:09:21 -08:00
Andrew Tridgell 79d622939a ADC: on channel overflow we should not zero last_ch6_micros
this happens every 64 seconds because of unused channels on the
ADC. Zeroing this creates a bad delta_t value for the DCM code.
2012-02-16 17:48:36 +11:00
Phil 9242c157ee APM: Fix rudder in elevon mode.
elevon planes can have rudders too
2012-02-16 14:43:24 +11:00
Jason Short a43ee36bee CH 6 Range setup 2012-02-15 11:47:54 -08:00
Jason Short 3d63bb6cd4 Added acro_p to the params 2012-02-15 11:29:25 -08:00
Jason Short e8b6f5ecee allow auto-land if failsafe is triggered 2012-02-15 10:53:54 -08:00
Jason Short fabeccad4a Marco's updated Motor testing code 2012-02-15 10:49:35 -08:00
Jason Short 73591a0ca5 Added lengthy note about motor testing 2012-02-15 10:49:11 -08:00
Jason Short 9a3e862b55 added option in code for Loiter specific gains 2012-02-15 09:10:15 -08:00
Jason Short e249c8466d AP slew rate 2012-02-15 09:10:15 -08:00
Jason Short 21856e7696 new defaults for params 2012-02-15 09:10:15 -08:00
Jason Short fcb24ee17d Added Acro_P 2012-02-15 09:10:14 -08:00
Jason Short 574b86b02e synced params 2012-02-15 09:10:14 -08:00
Jason Short 91edeeeef2 added RTL_land_enabled
added auto_pilot slew rate
2012-02-15 09:10:14 -08:00
Jason Short aa0662008b Added new params for CH6 Tuning
moved enums to give more room for additional PIDs for Loiter
added new Acro_P gain
added auto_land_enabled option
added pi_loiter_lon and pi_loiter_lat for separate tuning of loiter
2012-02-15 09:10:14 -08:00
Jason Short 05abe44f32 Added range setting via a parameter for CH6 tuning 2012-02-15 09:10:14 -08:00
Jason Short 026e4a6567 change constant to float 44330.0 2012-02-15 09:10:14 -08:00
Michael Oborne 2f81776b0d eedump ap param in perl 2012-02-15 21:31:58 +08:00
Andrew Tridgell a48a118128 SITL: adjust the SITL compass code to have saner z values 2012-02-15 22:34:16 +11:00
Andrew Tridgell 62326c0f72 Compass: enable compass offsets for HIL compass
this makes the null_offsets algorithm have an effect for the HIL
compass that is used for SITL, which makes for easier testing of
compass calibration
2012-02-15 22:33:50 +11:00
Andrew Tridgell 048aed5427 fixed dump size 2012-02-15 10:44:09 +11:00
Andrew Tridgell 089db43183 show group_element too 2012-02-15 10:42:21 +11:00
Andrew Tridgell ea6a46fc9b AP_Param: added eeprom_aaparam.c dump utility 2012-02-15 10:41:06 +11:00
Andrew Tridgell c14097ffa1 APM: changed hold_course for landing to be based on yaw_sensor
when we are in the final stages of a landing (less than 2 seconds from
landing waypoint, or less than 3m above landing altitude) we switch
the navigation to use a fixed course. The code previously used the
crosstrack_bearing for this, but this can lead to a large nav_roll in
this final stage of the approach, which can put a wing into the
runway. In autotest we were seeing a nav_roll value of -45 degrees as
we crossed the transition point for the landing, which often led to a
crash.

This changes the code to use the current yaw_sensor value instead,
which is much less likely to lead to large rolls in the final landing
stages.
2012-02-15 08:50:45 +11:00
Andrew Tridgell c662140a2b APM: report the nav_bearing as hold_course when enabled
this gives a more accurate view of the navigation code, as when
hold_course is not -1 it overrides nav_bearing
2012-02-15 08:50:45 +11:00