Arthur Benemann
a05fe7e117
AP_Gimbal: Re-implement the target low-pass filter
2015-04-21 21:45:40 +09:00
Arthur Benemann
b3dd8891c8
AP_Mount: Use AP_Gimbal on the AP_Mount_MAVLink class
2015-04-21 21:45:38 +09:00
Arthur Benemann
558a69bdca
Mount_MAVLink: remove code now in AP_Gimbal
2015-04-21 21:44:56 +09:00
Randy Mackay
44d2ae06fb
Mount: unix style line endings
2015-04-17 22:59:34 +09:00
Andrew Tridgell
df948e7358
AP_Mount: fixed for new GIMBAL_REPORT message
2015-04-06 16:42:23 -07:00
Randy Mackay
1ed7737669
Mount: integrate Serial Manager instance
2015-04-01 14:59:21 -07:00
Randy Mackay
8a3a7bdcd1
Mount: add set_angle_target method
2015-03-21 21:52:22 +09:00
Randy Mackay
2189b16165
Mount_SToRM: remove message throttling
...
recent versions of gimbal firmware can handle 50hz update rate
2015-03-21 05:56:18 +09:00
Randy Mackay
b3362d5829
Mount: calc_angle_to_location returns vehicle relative yaw
2015-03-21 05:56:16 +09:00
Randy Mackay
d2739c5ce5
Mount_SToRM: slow updates to 10hz, reverse yaw, pitch
2015-03-20 20:46:45 +09:00
Paul Riseborough
9c2f1ce869
AP_Mount: Fix bug in mavlink gimbal attitude control
2015-03-16 09:54:43 +11:00
Jonathan Challinger
dff899647f
AP_Mount: use AP_AHRS_TYPE instead of AP_AHRS_MOUNT
2015-03-16 09:14:03 +11:00
Jonathan Challinger
7b0e806db1
AP_Mount: correct status_msg to conform to MAVLink specification
2015-02-21 08:33:50 +09:00
Randy Mackay
73e00108e4
Mount: SToRM32 remove unnecessary include
2015-02-20 11:27:15 +09:00
Randy Mackay
23f0bab5d6
Mount: integrate SToRM32 backend
2015-02-20 11:05:40 +09:00
Randy Mackay
92c7949355
Mount: SToRM32 mount backend
2015-02-20 11:05:31 +09:00
Andrew Tridgell
50a11c7d5a
AP_Mount: added an alternative tilt-only gimbal control method
...
this adds some nice control characteristics based on work by Paul and
Arthur, but is tilt only
2015-02-16 16:48:55 +11:00
Andrew Tridgell
2f3b5006e7
AP_Mount: fixed build of example sketches
2015-02-09 11:49:10 +11:00
Andrew Tridgell
fa7c584733
AP_Mount: fixed build on non-EKF systems
2015-02-03 09:49:17 +11:00
Andrew Tridgell
f77f919588
AP_Mount: enable pan pointing in MAVLink backend
2015-02-03 09:49:17 +11:00
Andrew Tridgell
81f60bde06
AP_Mount: fill in all Location flags in ROI pointing
2015-02-03 09:49:17 +11:00
Andrew Tridgell
cf76dcfbf3
AP_Mount: fixed mount MAVLink backend to match SITL sim behaviour
...
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2015-02-03 09:49:17 +11:00
Andrew Tridgell
75b1330843
AP_Mount: fixed radians to degrees error
2015-02-03 09:49:17 +11:00
Andrew Tridgell
032dcc3660
AP_Mount: fixed references to state in backends
2015-02-03 09:49:17 +11:00
Paul Riseborough
8d6f0d08c9
AP_Mount: Update attitude control calculations and debug printing
2015-02-03 09:49:17 +11:00
Paul Riseborough
1660aefc90
AP_Mount: Add a simple attitude control loop to the gimbal report handling
2015-02-03 09:49:16 +11:00
Andrew Tridgell
79017096e2
AP_Mount: prototype code to send biases
2015-02-03 09:49:16 +11:00
Andrew Tridgell
da27a8696d
AP_Mount: added initial ekf estimation of gimbal bias
...
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2015-02-03 09:49:16 +11:00
Andrew Tridgell
01b264951a
AP_Mount: added handling of GIMBAL_REPORT messages
2015-02-03 09:49:15 +11:00
Andrew Tridgell
79cad28a25
AP_Mount: simplify some uses of frontend
2015-01-29 17:23:33 +11:00
Andrew Tridgell
60f266da19
AP_Mount: update for new find_serial() interface
2015-01-29 15:36:38 +11:00
Matthias Badaire
5f432eaa2d
AP_Mount_Alexmos : take into account available negative numbers
...
uartdriver->available () function brings back a signed int, we should be carefull to avoid an endless loop if that happens.
2015-01-29 14:05:15 +11:00
Randy Mackay
4a4387530a
Mount: remove unused num_instances
2015-01-29 14:05:14 +11:00
Randy Mackay
d6433266d2
Mount_MAVLink: use SerialManager for init
...
use serial_manager's get_mavlink_channel
2015-01-29 14:05:14 +11:00
Randy Mackay
4848b03ac6
Mount_AlexMos: use SerialManager for init
2015-01-29 14:05:14 +11:00
Randy Mackay
56f872b38c
Mount_Servo: use SerialManager for init
2015-01-29 14:05:13 +11:00
Randy Mackay
886cc9aa46
Mount: use SerialManager for init
2015-01-29 14:05:13 +11:00
Randy Mackay
ee369f8a0d
Mount_AlexMos: use reference to state
2015-01-29 14:05:11 +11:00
Randy Mackay
b083c99966
Mount_MAVLink: use reference to state
2015-01-29 14:05:11 +11:00
Randy Mackay
32ea258594
Mount_Servo: use reference to state
2015-01-29 14:05:10 +11:00
Randy Mackay
acbcf3c54e
Mount: backends use reference to their state
2015-01-29 14:05:10 +11:00
Randy Mackay
bf82e82282
Mount_MAVLink: remove unused _enable and find_mount
2015-01-29 14:05:10 +11:00
Randy Mackay
b5127b680f
Mount: set primary to first instance
2015-01-29 14:05:10 +11:00
Matthias Badaire
24af65a41a
AP_Mount_Alexmos: critical fix to avoid endless loop if byte arrive to fast in serial buffer
...
This fix reads the number of bytes available and iterates on it instead of looking for new bytes in the serial buffer (potentially forever)
2015-01-29 14:05:10 +11:00
Matthias Badaire
46e92f99fe
AP_Mount_Alexmos: use struct for CMD_CONTROL command
...
new struct created in header and used in control_axis function
2015-01-29 14:05:09 +11:00
Matthias Badaire
81d60af4a8
AP_Mount_Alexmos : cleanup initialization of class fields
2015-01-29 14:05:09 +11:00
Randy Mackay
c5ef5d21d3
Mount: add Alexmos to MNT2_TYPE param description
2015-01-29 14:05:09 +11:00
Randy Mackay
93323e2136
Mount_Alexmos: comments and formatting
...
No functional change
2015-01-29 14:05:09 +11:00
Matthias Badaire
1e5ddf3ce7
AP_Mount_Alexmos : make sure get_angles is called to get the real angles from the gimbal
...
get_angles calls the Alexmos API to get the current angles. It was not being called before.
2015-01-29 14:05:09 +11:00
Matthias Badaire
0b88f15a37
AP_Mount: fix Backend enum for AP_Mount_Alexmos and add comments
...
fix Backend enum for AP_Mount_Alexmos and add comments
2015-01-29 14:05:09 +11:00
Matthias Badaire
cdeb1fb8f3
AP_Mount_Alexmos : changes some define to avoid conflicting
...
change SPEED to AP_MOUNT_ALEXMOS_SPEED and the control mode defines as well
2015-01-29 14:05:08 +11:00
Matthias Badaire
6e5e438b0f
AP_Mount: Make use of the new AP_Mount_Alexmos backend
...
This is adding AP_Mount_Alexmos as one of the available backend
2015-01-29 14:05:08 +11:00
Matthias Badaire
dfc086f9e9
AP_Mount_Alexmos : Add Alexmos Serial support for 8bit cards
...
This is the initial implementation of Alemox gimbal protocol. the uart output is for the moment hard coded but should become a parameter.
2015-01-29 14:05:08 +11:00
Randy Mackay
66ad56161b
Mount_MAVLink: fix to calc_angle_to_location params
2015-01-29 14:05:08 +11:00
Randy Mackay
f509dad991
Mount_Servo: bug fix to calc_angle_to_location params
2015-01-29 14:05:08 +11:00
Randy Mackay
a78309734d
Mount_MAVLink: remove set_roi_target, configure
...
These methods are now in the backend
2015-01-29 14:05:07 +11:00
Randy Mackay
99c35d5cf7
Mount_Servo: remove set_roi_target, configure
...
These methods are now in the backend
2015-01-29 14:05:07 +11:00
Randy Mackay
72fec52f0f
Mount_Backend: move set_roi_target, configure to backend
2015-01-29 14:05:07 +11:00
Randy Mackay
efeb05876e
AP_Mount: initialise mode to default
2015-01-29 14:05:07 +11:00
Randy Mackay
ace1fd8740
Mount_MAVLink: handle RC and GPS targeting in lib
...
Previously we expected the mount to do this but it is likely that the
first versions of MAVLink enable mounts will only be capable of pointing
at a particular angle
2015-01-29 14:05:07 +11:00
Randy Mackay
9d4210b82a
Mount_Backend: move RC target handling to backend
2015-01-29 14:05:07 +11:00
Randy Mackay
b3044ced1f
Mount_Backend: move calc_angle_to_lcoation to backend
2015-01-29 14:05:07 +11:00
Randy Mackay
8fabacf5ff
Mount_MAVLink: use sysid from vehicle, compid of 10
2015-01-29 14:05:06 +11:00
Randy Mackay
6af5a6687f
Mount: add params for second mount
2015-01-29 13:57:19 +11:00
Randy Mackay
5d30af233a
Mount: move param underscore to lib
2015-01-29 13:57:18 +11:00
Randy Mackay
2ed4ca409c
Mount_Servo: check_servo_map every 3sec
2015-01-29 13:57:18 +11:00
Randy Mackay
cb5a122dab
Mount_Servo: add set_mode
2015-01-29 13:57:17 +11:00
Randy Mackay
a41ff2375b
Mount_Backend: add set_mode virtual method
2015-01-29 13:57:17 +11:00
Randy Mackay
ef719b145b
Mount: rename MODE to DFLT_MODE, move set_mode to backend
2015-01-29 13:57:17 +11:00
Randy Mackay
6c766051e8
Mount_MAVLink: minimalist mavlink backend
...
We assume MAVLink enabled mount will do all the hard work of support all modes
2015-01-29 13:57:17 +11:00
Randy Mackay
8a9df1c894
Mount_Servo: Servo functions moved to backend
2015-01-29 13:57:17 +11:00
Randy Mackay
7df2892b8d
Mount_Backend: add backend class
2015-01-29 13:57:17 +11:00
Randy Mackay
88db50c3a7
Mount: parent class becomes front-end
2015-01-29 13:57:17 +11:00
Randy Mackay
314eb2536f
Mount: fix example sketch
2015-01-28 17:15:46 +09:00
Andrew Tridgell
411766f45a
AP_Mount: removed use of mavlink_check_target()
2014-12-11 12:32:27 +09:00
Andrew Tridgell
78db698108
AP_Mount: allow a MOUNT_CONTROL message to reset RC targetting
...
fixes issue #1617
2014-11-18 13:35:11 +11:00
Andrew Tridgell
14467b75a1
AP_Mount: use norm_input_dz()
...
this makes rc targeting much easier without drift
2014-11-18 12:44:29 +11:00
Arthur Benemann
f7f9bedc38
AP_Mount: update the status_msg() method to match the new definition
2014-11-17 15:59:23 -08:00
Jason Short
7ee5b58535
AP_Mount: Axis mask speedup
...
Using a simple bit mask to avoid calculating an unneeded ATAN2() for AVR users.
2014-11-14 13:51:16 +11:00
Jonathan Challinger
d03ed7a2c3
AP_Mount: Added lead filter
2014-11-06 07:35:32 +11:00
Ju1ien
1c96bf0b1d
AP_Mount.cpp - correct units in description
...
That should be corrected also in MP as the current code is expecting
degrees, not centidegrees.
2014-08-25 15:55:07 +09:00
Randy Mackay
039f4740ce
Mount: correct comment on set_mode_to_default time
2014-08-14 11:27:34 +09:00
Randy Mackay
5614e42063
Mount: init members to resolve compiler warnings
2014-08-14 11:27:33 +09:00
Andrew Tridgell
fddf895d66
AP_Mount: fixed example build
2014-08-13 21:48:36 +10:00
Andrew Tridgell
6ea68b318e
AP_Mount: fixed example build
2014-07-25 17:54:58 +10:00
svefro
be9bfc5530
Mount: set_mode method made public
2014-07-10 13:03:43 +09:00
Michael Oborne
30a3927ea8
AP_Mount: fix where status_msg() is sent
...
send to the channel where the trigger msg was sent from
2014-06-18 12:03:18 +10:00
Andrew Tridgell
eb67948171
AP_Mount: convert to new GPS API
2014-04-01 06:38:24 +11:00
Andrew Tridgell
6eece3a278
AP_Mount: fixed example build
2014-03-19 12:13:50 +09:00
Randy Mackay
1c457d8448
Mount: add get_mode and set_mode_to_default methods
2014-03-05 16:01:11 +09:00
Don Gagne
e68cf2d1c5
Plane: Fix parameter documentation
...
Fixes some problems with incorrect docs which would in turn generate
bad amp.pdef.xml files for ground stations.
merge with below
2014-01-09 14:02:21 +09:00
Andrew Tridgell
4de2a654ab
AP_Mount: changed ahrs to be a const reference
...
saves a bit of code
2013-10-13 11:03:24 +09:00
Andrew Tridgell
a67413d495
AP_Mount: changed to AP_Vehicle.h
2013-09-13 11:44:54 +10:00
Andrew Tridgell
905e07edf9
AP_Mount: fixed examples build
2013-08-30 13:01:39 +10:00
Andrew Tridgell
206ed04e76
AP_Mount: fixed example build
2013-07-15 14:10:50 +10:00
Andrew Tridgell
033828aeb6
AP_Mount: make the code a bit easier to read
2013-06-03 16:23:48 +10:00
Andrew Tridgell
9076f6a1d0
AP_Mount: use RC_Channel::rc_channel() instead of rc_ch[]
2013-06-03 16:23:47 +10:00
Andrew Tridgell
1cc02836a0
AP_Mount: fixed indent-tabs-mode
2013-05-30 09:51:24 +10:00
tobias
217b8d7a59
cleanup: use const for struct Location pointers and references
...
this allows the compiler to generate more efficient code
2013-04-09 12:10:32 +10:00
Andrew Tridgell
26fedc543c
AP_Mount: fixed scaling of the joystick speed to give better control
...
thanks to Chris Miser for reporting this problem
2013-03-08 14:39:32 +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
rmackay9
cf409abc63
AP_Mount: add parameter descriptions
2013-01-02 16:47:39 +09:00
Andrew Tridgell
374af1cd14
build: change from Arduino.mk to apm.mk
2013-01-02 17:29:37 +11:00
Andrew Tridgell
ceb3f577d8
libraries: use new math functions
2012-12-20 14:53:22 +11:00
Andrew Tridgell
a1187519a8
AP_HAL: use AP_HAL_BOARD_DRIVER in remaining test sketches
2012-12-20 14:52:37 +11:00
Pat Hickey
eb530b86e8
move Arduino.mk to /mk/Arduino.mk
2012-12-20 14:52:35 +11:00
Andrew Tridgell
7d27e420ae
AP_HAL: remove unnecessary Arduino.h includes
2012-12-20 14:52:30 +11:00
Andrew Tridgell
9d1f43928c
Mount: updates for new AP_Param API
2012-12-20 14:51:39 +11:00
Pat Hickey
475da4eca4
CONFIG_HAL_BOARD - test sketches fixed up, build all passes
2012-12-20 14:51:37 +11:00
Pat Hickey
6cc231ae7d
AP_Mount: ported to AP_HAL
...
I do not have the hardware required to test this
2012-12-20 14:51:29 +11:00
rmackay9
6bbf66697b
AP_Mount: resolve compiler warning about unused mount_open variable
2012-11-07 23:29:25 +09:00
Andrew Tridgell
f41270a3ce
AP_Mount: updated for new RC_Channel_aux API
2012-09-08 15:12:52 +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
Amilcar Lucas
7a0c47d049
Improve comment aligment
2012-08-27 00:37:10 +02:00
uncrustify
7ffa44c324
uncrustify libraries/AP_Mount/AP_Mount.h
2012-08-21 19:04:08 -07:00
uncrustify
ff555dfb7a
uncrustify libraries/AP_Mount/AP_Mount.cpp
2012-08-21 19:04:08 -07:00
Amilcar Lucas
32e354be4e
AP_Mount: Reduce parameter name length, to allow MNT2_* strings to be smaller than the limit of 15 characters
2012-08-10 00:16:52 +02:00
Amilcar Lucas
0b0b9c29a2
Allow fully independent operation of two AP_Mount instances
2012-08-08 23:11:23 +02:00
Amilcar Lucas
530ea0bebd
AP_Mount: Enable Joystick speed code, now that the framework supports more than 16 parameters per group.
...
Save some bytes by skiping the redundant *_rc_in initialization in the AP_Mount() constructor
2012-08-08 22:45:36 +02:00
Andrew Tridgell
45c27317ef
AP_Mount: fixed defaults for angles
...
this saves some eeprom space by not saving the 4500 values
2012-08-08 13:04:49 +10:00
Andrew Tridgell
518d6365ff
AP_Param: update remaining libraries for new constructor syntax
2012-08-08 12:11:57 +10:00
Amilcar Lucas
2c4a0636f3
AP_Mount: move mount to a "retracted position" into the fuselage with a fourth servo
2012-08-06 01:27:29 +02:00
Amilcar Lucas
107155fa1a
AP_Mount: Allow using any RC channel to control any of the mount axes.
...
This has the added benefit of saving 60 bytes and simplifying Mission Planner gui.
Moved some code from RC_Channel_aux to AP_Mount class
The servos get written by the update_mount_position() function, this simplifies main()
PS: The beauty of using libraries: I did not have to touch a single line of ArduPlane's code!
2012-08-05 23:48:57 +02:00
rmackay9
bb05dab924
AP_Mount: addition of Amilcar's mount_type
...
set_roi_cmd modified to take a Location. I know the intention was for set_roi_cmd to interpret the MAVLink command directly but unfortunately in arduCopter missions are only made up of waypoints (which are Locations).
2012-07-25 11:00:38 +09:00
rmackay9
e61cf0e1f9
AP_Mount: added set_manual_rc_channel and set_manual_rc_channel_function to allow input of pitch, roll and yaw controls from a regular RC_Channel (i.e. not RC_Channel_aux)
...
For now, angles red in are always of the range -45 deg ~ 45 deg which is consistent with the existing arducopter implementation but should be improved to scale the pilot's input to the mount's actual range.
2012-07-18 23:20:05 +09:00
Amilcar Lucas
1da0ce20ce
Improve parameter documentation, it still does not work, but is an improvement.
...
I just do not understand why these parameters do not appear in Mission planner :(
2012-07-17 23:32:30 +02:00
Amilcar Lucas
cc02d85cdf
AP_Mount: add support for non-spring-loaded joysticks
2012-07-11 00:07:33 +02:00
Amilcar Lucas
46d20c2d6b
Remove unused function, remove unnecessary angle wrapping.
2012-07-11 00:06:45 +02:00
Amilcar Lucas
bccb07cbd0
Allow mount control when no AHRS exists
...
Allow mount control on non stabilized axes
2012-07-11 00:06:26 +02:00
Amilcar Lucas
46552b4222
AP_Mount: Fix radians/degrees scaling regressions
...
Rename calculate() into stabilize()
Implement MAV_MOUNT_MODE_RC_TARGETING initialization
Document to make sure this radians/degrees mess up does not happen again
2012-07-07 21:56:56 +02:00
Amilcar Lucas
0febf76d9d
Document++
2012-07-05 00:33:46 +02:00
Amilcar Lucas
e9c72822dc
Remove unused function
2012-07-05 00:33:10 +02:00
Andrew Tridgell
060cbe2030
AP_Mount: removed unused enum
2012-07-03 10:39:34 +10:00
Andrew Tridgell
99b11e4f19
Mount: enable mount control via eeprom parameters
...
this enables MNT_* parameter control of the camera mount code. It also
fixes the conversion of calculated angles between degrees and
integers, and fixes stabilised mount control when yaw control is not
available.
2012-07-03 10:21:01 +10:00
Amilcar Lucas
f4e9587aca
Move local temp variables to the stack it saves 1952 bytes
...
Add function comments
Only use _ on class member variables
Only point to a 3D GPS point if GPS has a fix
Implement MAV_MOUNT_MODE_MAVLINK_TARGETING
2012-06-17 22:25:51 +02:00
Amilcar Lucas
a32b7c200b
Add "3 axis camera stabilization" and "point camera to 3D point" functionality
...
Patch by Gregory Fletcher and reviewed by me
2012-06-13 20:55:19 +02:00
Andrew Tridgell
8ae0ea7e37
AP_Mount: adapt library for AHRS framework
2012-03-19 17:29:02 +11:00
rmackay9
952e5d7bbc
AP_Mount - #include FastSerial first to allow it to compile under Arduino 1.0
2012-02-26 15:31:56 +09:00
Amilcar Lucas
ab730ff919
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
Amilcar Lucas
b3d4bb1478
Again remove some more files from the APM_Camera branch
2011-09-10 12:51:48 +02:00
Amilcar Lucas
a8e68040f5
These files are not meant to be in master, they should only be in the APM_Camera branch for now
2011-09-09 16:37:42 +02:00
joeholdsworth@gmail.com
85bcbef695
nightly check in, version not stable.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3164 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-08-23 20:36:30 +00:00
joeholdsworth@gmail.com
085ca253be
Checkin before beddy byes
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3154 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-08-22 21:50:11 +00:00
joeholdsworth@gmail.com
bf4058c6e1
change of mind payloads should be split into their separate folders.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3144 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-08-21 19:58:15 +00:00