skyscraper
d9ab3baf84
RC_Channel: Refactor to make data members private
...
rename all public data members of RC_Channnels with
leading underscore and make all data members private.
Provide get_xx and set_xx methods for access
Rationale:
RC_Channel is a complicated class, which combines
several functionalities dealing with stick inputs
in pwm and logical units, logical and actual actuator
outputs, unit conversion etc, etc
The intent of this PR is to clarify existing use of
the class. At the basic level it should now be possible
to grep all places where private variable is set by
searching for the set_xx function.
(The wider purpose is to provide a more generic and
logically simpler method of output mixing. This is a small step)
add function to save radio trim
(expression where c is an object of type RC_Channel)
old public member(int16_t) get function -> int16_t set function (int16_t)
(expression where c is an object of type RC_Channel)
c.radio_in c.get_radio_in() c.set_radio_in(v)
c.control_in c.get_control_in() c.set_control_in(v)
c.servo_out c.get_servo_out() c.set_servo_out(v)
c.pwm_out c.get_pwm_out() // use existing
c.radio_out c.get_radio_out() c.set_radio_out(v)
c.radio_max c.get_radio_max() c.set_radio_max(v)
c.radio_min c.get_radio_min() c.set_radio_min(v)
c.radio_trim c.get_radio_trim() c.set_radio_trim(v);
// other
c.min_max_configured() // return true if min and max are configured
c.save_radio_trim() // save radio trim to eeprom
2016-05-10 16:21:15 +10:00
Gustavo Jose de Sousa
b594b5a08b
AP_Math: matrix_alg: disable FE_OVERFLOW in inverse4x4() for SITL
...
There are occasional overflows on the determinant calculation in inverse4x4()
when using calibration SITL model.
2016-05-10 16:16:37 +10:00
Gustavo Jose de Sousa
a7543d369f
AP_Math: matrix_alg: protect inverseixi() against overflow
...
Fail on inverse3x3() and inverse4x4() if there's float overflow during the
determinant calculation.
2016-05-10 16:16:37 +10:00
Gustavo Jose de Sousa
39f72610e2
AP_Math: quaternion: fix style
...
Remove trailing spaces and run astyle.
2016-05-10 16:16:37 +10:00
Gustavo Jose de Sousa
8c4c9ccfa6
AP_HAL_SITL: add calibration model
2016-05-10 16:16:37 +10:00
Gustavo Jose de Sousa
9fa85d9bcf
SITL: add SIM_Calibration
...
That model can be used to run compass and accelerometer calibration by rotating
the vehicle through the servos channels.
2016-05-10 16:16:37 +10:00
Gustavo Jose de Sousa
45754ef37c
SITL: Multicopter: remove leftover comment
...
That went unnoticed by 8a98ce4
("SITL: moved to common code for attitude/pos
update")
2016-05-10 16:16:37 +10:00
Gustavo Jose de Sousa
ce8766e1cd
SITL: remove set_yaw_degrees()
...
That function isn't being used anywhere.
2016-05-10 16:16:37 +10:00
Andrew Tridgell
50908edc91
RC_Channel: added parameter docs for missing RCn_FUNCTION values
2016-05-09 17:33:21 +10:00
Andrew Tridgell
31ed1eabfb
AP_Tuning: use better tones for next parameter
2016-05-09 17:24:56 +10:00
Andrew Tridgell
3e75fc4f3d
AP_Notify: improved tones for AP_Tuning
2016-05-09 17:24:38 +10:00
Andrew Tridgell
ea508f1b80
AP_NavEKF2: use LOG_REPLAY and EK2_LOG_MASK parameters
2016-05-09 12:26:57 +10:00
Andrew Tridgell
202eb3af35
DataFlash: added imu_mask to Log_Write_IMUDT
2016-05-09 12:26:30 +10:00
Andrew Tridgell
8ca6ed54c5
DataFlash: added LOG_REPLAY and LOG_DISARMED parameters
2016-05-09 12:00:55 +10:00
Andrew Tridgell
5398283c9b
DataFlash: fixed BAR2 and BAR3 log formats
2016-05-09 11:09:44 +10:00
Andrew Tridgell
25c7b43628
AP_Tuning: removed chans 1 to 4 from TUNE_CHAN choices
2016-05-08 21:06:56 +10:00
Andrew Tridgell
2a2abb8be6
GCS_MAVLink: log parameter changes to DataFlash
...
this means param notifies also get logged in the DF log
2016-05-08 19:12:09 +10:00
Andrew Tridgell
d72df80968
AP_Tuning: added a small dead-zone on mid-point detection
...
thanks to Leonard for the suggestion
2016-05-08 18:35:26 +10:00
Andrew Tridgell
aa38539ecb
AP_Tuning: move to using a nested parameter set for AP_Tuning
...
this allows the list of tunable parameters in the auto-docs to be
separated out
2016-05-08 18:35:26 +10:00
Andrew Tridgell
8a65481551
AP_Tuning: allow for tuning with no selector switch
...
this makes tuning with a single parameter possible
2016-05-08 14:47:51 +10:00
Andrew Tridgell
f69806deff
AP_Tuning: detect change to TUNE_PARMSET while tuning
2016-05-08 14:36:30 +10:00
Andrew Tridgell
6d1c7c9082
AP_Tuning: make it possible to tune a single parameter
2016-05-08 14:36:30 +10:00
Leandro Pereira
f23bd7e09d
GCS_MAVLink: Use a single stream_trigger() implementation
...
This has no side effects, but since all implementations were basically
the same, move the implementation to GCS_Common and the only part that
adjusts the rate based on which which stream to each individual
GCS_MAVLINK implementation.
2016-05-07 23:49:35 -03:00
Andrew Tridgell
9cd4f8a856
AP_Notify: added tones for tuning stages
2016-05-07 18:34:13 +10:00
Andrew Tridgell
ebee79fb3a
AP_Tuning: added transmitter tuning library
...
needs to be subclassed in vehicle code
2016-05-07 18:34:08 +10:00
Andrew Tridgell
a9f1b608ed
APM_Control: expose parameters as AP_Float
2016-05-07 18:34:06 +10:00
Andrew Tridgell
412dc10353
AC_PID: expose parameters as AP_Float
...
this enables full tuning capability
2016-05-07 18:34:03 +10:00
Andrew Tridgell
5ddb872b79
AP_GPS: allow Replay to set last sample time
2016-05-07 18:27:23 +10:00
Andrew Tridgell
2f4f38b85f
DataFlash: log the last message sample time for GPS
2016-05-07 18:27:23 +10:00
Andrew Tridgell
428923b4b1
AP_GPS: use 3D velocity for uBlox
...
this makes uBlox use the 3D velocity for ground course and speed,
ensuring we use a consistent value everywhere (so same vector in EKF
as in navigation)
2016-05-07 18:27:23 +10:00
Andrew Tridgell
679b43efc9
DataFlash: make timestamps in EKF messages all match
2016-05-07 18:27:22 +10:00
Andrew Tridgell
32af886ba9
AP_NavEKF2: use consistent logging timestamps for sensors
2016-05-07 18:27:22 +10:00
Andrew Tridgell
35c3adb1ad
DataFlash: use caller supplied timestamps for sensor logging
...
used to support EK2_LOGGING=1
2016-05-07 18:27:22 +10:00
Andrew Tridgell
6aa02f06a9
DataFlash: use INS_USE to prevent logging of unused IMUs
2016-05-07 18:27:22 +10:00
Andrew Tridgell
d24bbcd1ff
AP_GPS: convert vdop to cm
2016-05-07 18:27:22 +10:00
Andrew Tridgell
b424c49bc7
AP_GPS: change ground course to be in degrees
...
more accuracy for replay
2016-05-07 18:27:21 +10:00
Andrew Tridgell
e8142b0b5b
AP_Math: added wrap_360()
2016-05-07 18:27:21 +10:00
Andrew Tridgell
9300092840
DataFlash: changed GPS ground course to float and add VV for GPA
...
more accurate replay
2016-05-07 18:27:21 +10:00
Andrew Tridgell
8b7bf5cf7a
AP_Baro: allow setHIL to set last update time
2016-05-07 18:27:21 +10:00
Andrew Tridgell
1bf057be45
DataFlash: log last update time in BARO msg
2016-05-07 18:27:21 +10:00
Andrew Tridgell
d61ba14037
DataFlash: switched to float for GPS ground speed
...
same size and more precision
2016-05-07 18:27:21 +10:00
Andrew Tridgell
0b71652afc
AP_Baro; allow for exact replay of baro data
2016-05-07 18:27:20 +10:00
Andrew Tridgell
d97074dc9d
DataFlash: round baro temp to nearest centi-degree
...
makes replay logs a tiny bit closer
2016-05-07 18:27:20 +10:00
Andrew Tridgell
73d3797a7e
AP_AHRS: finish implementing have_ekf_logging()
2016-05-07 18:27:20 +10:00
Andrew Tridgell
4e4c575f16
AP_NavEKF2: added have_ekf_logging()
2016-05-07 18:27:20 +10:00
Andrew Tridgell
b7ba0fa458
AP_NavEKF2: added ad-hoc logging example to EKF2
2016-05-07 18:27:20 +10:00
Andrew Tridgell
4e5f1374da
AP_GPS: added setHil_Accuracy()
2016-05-07 18:27:19 +10:00
Andrew Tridgell
88a1ebaf0e
AP_Compass: allow setting of exact timestamp in HIL compass
2016-05-07 18:27:19 +10:00
Andrew Tridgell
4318fd0ab8
HAL_SITL: update for changed API
2016-05-07 18:27:19 +10:00
Andrew Tridgell
61da827c16
DataFlash: added sample timestamp to mag messages
...
allows for exact mag timings in replay
2016-05-07 18:27:19 +10:00
Andrew Tridgell
795080742e
AP_AHRS: added have_ekf_logging() API
2016-05-07 18:27:19 +10:00
Andrew Tridgell
7ab1367ec4
DataFlash: removed logging of relative alt in GPS messages
...
not related to GPS and makes it impossible to do bit-identical replay
2016-05-07 18:27:18 +10:00
Andrew Tridgell
223c512188
AP_NavEKF2: added logging of sensor data in EKF2
2016-05-07 18:27:18 +10:00
Andrew Tridgell
2718b0649b
HAL_SITL: fixed GPS rate in SITL when speedup used
2016-05-07 18:27:18 +10:00
Andrew Tridgell
8a987bf67d
AP_Baro: removed filtering of baro data in HIL/SITL
...
this was just causing lag in replay and doesn't actually help in SITL
2016-05-07 18:27:18 +10:00
Andrew Tridgell
c85607b80c
AP_GPS: added time_epoch_convert() function
...
used by replay to get identical timestamps
2016-05-07 18:27:18 +10:00
Andrew Tridgell
07060051cf
AP_AHRS: added API for forcing EKF to start
...
used by Replay to sync start times
2016-05-07 18:27:18 +10:00
Andrew Tridgell
f92279f436
AP_NavEKF2: allow logging of IMT data from inside EKF2
2016-05-07 18:27:17 +10:00
Andrew Tridgell
2965e67d5d
HAL_Linux: cope with non-root for Replay
2016-05-07 18:27:17 +10:00
Randy Mackay
4a06ca4be2
AC_AttControl: remove unused call to motors.set_stabilizing
...
Also minor change to order of a call to motors library to make stabilizing
and non-stabilizing calls consistent.
Non functional change
2016-05-07 10:08:38 +09:00
Randy Mackay
e41f798ba1
AP_Motors: remove unused set_stabilizing
2016-05-07 10:08:36 +09:00
Andrew Tridgell
ab0b76764f
RC_Channel: added set_servo_failsafe_pwm()
2016-05-07 07:25:27 +10:00
Andrew Tridgell
46f257fd9b
DataFlash: convert Log_Write() to use a linked list
...
this saves some memory and means we don't need to know how many we
will need in advance
2016-05-07 07:21:16 +10:00
Andrew Tridgell
9a1cbff850
DataFlash: allow access to DataFlash instance as a static singleton
2016-05-07 07:21:16 +10:00
Peter Barker
11dd254498
DataFlash: Log_Write optimisations
2016-05-07 07:21:16 +10:00
Peter Barker
cf15bb5f6e
DataFlash: AllTypes example also covers Log_Write
2016-05-07 07:21:16 +10:00
Peter Barker
b273514cf9
DataFlash: create example outputting all field types
2016-05-07 07:21:16 +10:00
Peter Barker
518fabe035
DataFlash: StopLogging method, virtual stop_logging on backends
2016-05-07 07:21:16 +10:00
Peter Barker
77dd170e03
DataFlash: Log_Write support
...
A generic logging method to avoid the need to set up a format and structures etc
2016-05-07 07:21:16 +10:00
Peter Barker
334af1ecd7
DataFlash: base class method for resetting state on log open
2016-05-07 07:21:16 +10:00
Peter Barker
eea2d5dcb5
DataFlash_File: avoid integer wrap when checking minimum time
2016-05-07 07:21:15 +10:00
Michael Day
62a7074dd7
AP_Mission: Added mavlink_cmd_long_to_mission_cmd method.
2016-05-06 11:59:44 -07:00
Lucas De Marchi
fea084a596
Global: use ap_version.h
...
This header is used by waf to contain the generated version macros,
particularly using the git hash. For waf it's better to be in a separate
header since it then can keep track of changes on it a trigger
recompilation.
For the make build system, a dummy ap_version.h file has been added in
the missing/ folder so both implementations can co-exist.
2016-05-06 13:11:28 -03:00
Lucas De Marchi
1238c872a9
AP_Common: remove unused Arduino.h header
2016-05-06 13:11:27 -03:00
Allan Matthew
d01db0edd6
AC_PrecLand: remove PI controller, speed limits as they are unused
2016-05-06 11:04:12 +09:00
skyscraper
134ea338da
RC_Channel: remove unused control_mix method
2016-05-05 18:58:17 -03:00
Andrew Tridgell
9c4dd024bf
AP_NavEKF2: auto change EK2_GPS_TYPE for NMEA
...
this fixes a problem where users of NMEA GPS receivers could not arm
with default EK2 parameters.
2016-05-05 19:46:33 +10:00
Andrew Tridgell
826cb0887a
AP_SerialManager: changed default for SERIAL4_PROTOCOL to 5
...
this makes it a documented protocol number. No functionality change
2016-05-05 08:08:30 +10:00
Lucas De Marchi
cf11776150
AP_HAL: fix signed and unsigned comparison warning
...
../../libraries/AP_HAL/examples/Printf/Printf.cpp:63:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (ret != strlen(float_tests[i].result)) {
^
...
ardupilot/modules/gtest/include/gtest/gtest.h:1448:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (expected == actual) {
^
And similar ones.
2016-05-04 08:58:37 -03:00
Lucas De Marchi
9ac63d7128
AP_HAL: examples: fix coding style
2016-05-04 08:58:37 -03:00
Lucas De Marchi
b5d3094738
AP_ADC: fix warning on printf
...
../../libraries/AP_ADC/examples/AP_ADC_test/AP_ADC_test.cpp: In function ‘void show_timing()’:
../../libraries/AP_ADC/examples/AP_ADC_test/AP_ADC_test.cpp:61:88: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘uint32_t {aka unsigned int}’ [-Wformat=]
hal.console->printf("timing: mint=%lu maxt=%lu avg=%lu\n", mint, maxt, totalt/count);
^
../../libraries/AP_ADC/examples/AP_ADC_test/AP_ADC_test.cpp:61:88: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘uint32_t {aka unsigned int}’ [-Wformat=]
../../libraries/AP_ADC/examples/AP_ADC_test/AP_ADC_test.cpp:61:88: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 5 has type ‘uint32_t {aka unsigned int}’ [-Wformat=]
2016-05-04 08:58:37 -03:00
Randy Mackay
53785d1f72
AP_RangeFinder: add Bebop and MAVLink types
...
Thanks OXINARF!
2016-05-04 15:00:48 +09:00
Randy Mackay
96f665061e
AP_RangeFinder: call handle_msg for all backends
2016-05-04 12:10:58 +09:00
Randy Mackay
9b940687c1
AP_RangeFinder: rename CompanionComputer files to MAVLink
2016-05-04 12:10:58 +09:00
Randy Mackay
c541cb27f8
AP_RangeFinder: rename CompanionComputer to MAVLink
2016-05-04 12:10:58 +09:00
Allan Matthew
d3831e4a5d
RangeFinder: add MAVLink rangefinder
2016-05-04 12:10:58 +09:00
Andrew Tridgell
7cdab2a6c9
SITL: FlightAxis can support 8 channels
2016-05-04 13:05:43 +10:00
Andrew Tridgell
9081310ff1
HAL_SITL: support simulator RC input
2016-05-04 12:51:28 +10:00
Andrew Tridgell
3b0cd9f101
SITL: added RC input from FlightAxis
...
use the interlink controller for input for 6 channels
2016-05-04 12:51:27 +10:00
Julien Beraud
33a699f29c
AP_RangeFinder: Add support for bebop Rangefinder
...
This rangefinder uses an spi device to send pulses and an iio driver
in buffer mode to get data
The data is then analyzed and the maximum pulse received is considered to
represent the echo of the pulses that have been sent. The distance in time
between the pulse that is sent and the pulse with the maximum amplitude
is used to calculate the altitude based on the speed of sound.
There is a dependency with libiio, and in order to build, there is a need
to provide a rootfs that includes libiio.a.
The other solution is to build dynamically after having updated the rootfs
to use on compiled with a more recent toolchain and include libiio
2016-05-03 16:43:39 -03:00
Julien Beraud
c22d791bfc
AP_HAL_Linux: Add SPI driver for bebop
2016-05-03 16:43:39 -03:00
Julien Beraud
d0114eac05
AP_HAL: Add bebop SPI Device to spi devices
...
Added to namespace
2016-05-03 16:43:39 -03:00
Julien Beraud
738096b3ae
AP_HAL_Linux: Add support for Sonar GPIO
2016-05-03 16:43:39 -03:00
Andrew Tridgell
664ce5c16e
AP_AHRS: don't use disabled gyro in rate controllers
...
obey INS_USE* parameters in gyro estimate
2016-05-01 22:16:06 +10:00
Andrew Tridgell
0e32c047c3
AP_Compass: allow for COMPASS_EXTERNAL=2 for forced external
...
this allows users with unusual compass bus connections to force the
compass to external
2016-05-01 10:54:46 +10:00
Michael du Breuil
a17ea5c121
GCS_MAVLink: Add POSITION_TARGET_GLOBAL_INT to the list of messages
2016-05-01 07:38:23 +10:00
Michael Oborne
848fa27d1c
GCS_MAVLink: support MAVLINK_MSG_ID_MISSION_ITEM_INT
2016-05-01 07:13:45 +10:00
Michael Oborne
fb3fc118f1
AP_Mission: support MAVLINK_MSG_ID_MISSION_ITEM_INT
2016-05-01 07:13:23 +10:00
Andrew Tridgell
ed999a283f
AP_Compass: added get_learn_type() API
...
this allows caller to determine if EKF offsets should be saved
2016-04-30 16:43:14 +10:00
Michael du Breuil
fff21a1db9
Mission: Remove support for CONDITION_CHANGE_ALT
2016-04-30 10:56:09 +09:00