Stacey Sheldon
54a161a3d4
Merge remote-tracking branch 'op-public/next' into revo-next
...
Conflicts:
shared/uavobjectdefinition/manualcontrolsettings.xml
2012-07-08 18:14:09 -04:00
Oleg Semyonov
727e67d7fd
Even more optimize FlightMode switch position calculation
...
This runs in a high frequency loop and should use as little of
floating point as possible. Thanks to Kenn for the idea.
2012-06-25 11:41:42 +03:00
Oleg Semyonov
2c896c9e91
Do not care about FlightMode channel if only one flight mode configured
2012-06-25 01:52:06 +03:00
Oleg Semyonov
02fa6fde09
Optimize FlightMode switch position calculation
2012-06-25 00:30:42 +03:00
Oleg Semyonov
cd6387d0a6
Add support for more than 3-pos FlightMode switches
...
It is now possible to have 1 to 6 flight mode switch positions
(usefull for guidance, position hold and similar use).
The input channel range is divided into N (1 to 6) zones and each
zone represents a flight mode. Default is 3 zones (backward compatible),
but more can be chosen.
How to use: configure Tx mixers in a way they provide required number
of different values for the same FlightMode channel. For instance,
using Turnigy 9X radio with ER9X firmware, one can create a mixer like
this:
-100 MAX ID0 Manual
R -50 MAX ID1 Stabilized1 (Rate)
R 0 MAX ID2 Stabilized2 (Attitude)
R 50 MAX RUD PositionHold
R 100 MAX ELE ReturnToBase
And set number of flight mode positions to 5. As a result, the 3-pos
switch (ID0, ID1, ID2) will provide first three flight modes, the rudder
D/R switch will override those and enable the 4th flight mode, and
elevator D/R switch will have highest precedence and activate the 5th
flight mode.
This will change the ManualControlSettings objectID.
2012-06-23 22:10:19 +03:00
Stacey Sheldon
c73cffce59
Merge remote-tracking branch 'op-public/next' into revo-next
...
Conflicts:
Makefile
flight/PiOS/Boards/STM32F4xx_Revolution.h
flight/Revolution/System/inc/pios_config.h
package/Makefile
Fixed CRLF line end clobbering in:
flight/Bootloaders/Revolution/inc/pios_config.h
flight/Modules/OveroSync/inc/overosync.h
flight/Modules/Sensors/inc/sensors.h
flight/PiOS.posix/posix/Libraries/FreeRTOS/Source/tasks.c
flight/PiOS/Boards/STM32F4xx_Revolution.h
flight/PiOS/Common/pios_usb_util.c
flight/PiOS/STM32F4xx/pios_iap.c
flight/PiOS/inc/pios_rfm22b_priv.h
flight/PiOS/inc/pios_usb_util.h
2012-06-10 19:01:11 -04:00
James Cotton
46a52fc5ce
Apply the virtual flybar stick scaling in stabilization.c because we need to
...
know the true stick position to dampen the gyros appropriately.
2012-06-04 12:22:39 -05:00
James Cotton
bda3f301cb
Rename VBar mode to VirtualBar
2012-06-04 12:22:39 -05:00
James Cotton
fe978504bc
Add friendly settings for the vbar mode including the VbarTau which acts like
...
the time constant.
2012-06-04 12:22:39 -05:00
James Cotton
1b55df733d
Create virtual flybar setting for stabilization modes
2012-06-04 12:22:38 -05:00
Corvus Corax
88f69daf64
Merge remote branch 'origin/corvuscorax/portugal_backports' into revo-next
2012-06-02 22:44:13 +02:00
Corvus Corax
2d3645cb0a
ManualControl: Do not process input channels at all if theres invalid values to prevent flightmode changes due to glitch
2012-06-02 08:41:35 +02:00
Corvus Corax
298b6233ed
Merge branch 'revo-next' into corvuscorax/new_navigation
...
Conflicts:
flight/Libraries/paths.c
flight/Modules/ManualControl/manualcontrol.c
flight/Revolution/Makefile
shared/uavobjectdefinition/taskinfo.xml
2012-05-30 00:51:52 +02:00
James Cotton
a89b880609
Fix compilation error on CopterControl because it doesn't support some of the
...
path functionality. These configurations that could result in
updatePathDesired or altitudeHoldDesired being called should result in an error
on startup to block arming.
2012-05-28 20:33:49 -05:00
Corvus Corax
e6f4a40d3e
path library: updated API and usage from pathfollowers, added new conditions and additional user feedback in pathstatus
2012-05-28 01:51:17 +02:00
Corvus Corax
48fcf12ef9
ManualControl: fixed new PathPlanner interface to compile on CopterControl stub
2012-05-22 13:29:42 +02:00
Corvus Corax
68fe938016
Implemented new programmable PathPlanner
2012-05-21 21:42:28 +02:00
Corvus Corax
09f25ab11b
Refactorted VTOLPathFollower to fit into new scheme: optional module, reports status and knows advanced FlightModes
2012-05-21 12:10:01 +02:00
Corvus Corax
84a0fd731f
Added ReturnToBase flightmode and correct behaviour in ManualControl
2012-05-21 12:10:01 +02:00
Corvus Corax
6a6eace700
Added forced disarming via systemalarm
2012-05-21 12:10:01 +02:00
James Cotton
37bb2cfb77
Finish getting rid of PositionDesired in favor of PathDesired and add the
...
ability to move the magic waypoint with the transmitter
2012-05-08 02:42:58 -05:00
James Cotton
0f2c41ac5d
Merge branch 'revolution' into navigation
...
Conflicts:
flight/Modules/ManualControl/manualcontrol.c
flight/Project/OpenPilotOSX/OpenPilotOSX.xcodeproj/project.pbxproj
2012-05-07 21:53:10 -05:00
James Cotton
a40a0b0e31
Small fix to be able to build CC for Revo branch and to include revo in
...
package.
2012-05-07 01:55:52 -05:00
James Cotton
3155324384
Merge branch 'next' into cc3d
...
Conflicts:
Makefile
ground/openpilotgcs/src/plugins/config/configahrswidget.cpp
shared/uavobjectdefinition/ahrscalibration.xml
shared/uavobjectdefinition/ahrssettings.xml
shared/uavobjectdefinition/attituderaw.xml
2012-05-03 16:31:49 -05:00
James Cotton
cfd92de87a
Add explicit casts in manualcontrol to avoid compiler warnings/errors
2012-04-03 09:16:24 -05:00
James Cotton
3eac69e953
Create stub for waypoint navigation
2012-04-03 03:42:32 -05:00
James Cotton
337d5b7079
Enable guidance in revo. Update manual control to set the position desired
...
when the switch is flipped.
2012-04-03 03:42:25 -05:00
Brian Webb
df0a1c2ac1
Upgraded Brian-Metadata-Mods to current next.
2012-04-01 12:25:13 -07:00
James Cotton
61d59828dc
Disable the new features if not revolution and set an error flag. Fixes
...
compilation errors.
2012-03-05 00:24:11 -06:00
James Cotton
7961aba83c
Clean up a few more compiler warnings
...
Conflicts:
flight/PiOS/Common/pios_ms5611.c
2012-03-03 13:32:56 -06:00
Brian Webb
43f6458f86
Reduced the sizeof the UAVObject metadata by:
...
1) Combining all binary or mode values into a single byte
2) Adding accessor functions to read/write the flag bits
3) Reduced the size of the time values from 32 bits to 16 bits
2012-02-20 18:45:18 -07:00
Oleg Semyonov
c721d001c0
Subtract deadband offset from then input to still have fine control
2012-02-18 10:21:51 +02:00
James Cotton
3026527801
Now the desired altitude is relative to when the switch was flipped so that the
...
baro altitude module can use a smoothed altitude estimate for the starting
point.
2012-02-08 23:02:29 -06:00
James Cotton
c6b1d6b8df
Rework the altitude hold code a bit
2012-02-08 09:42:10 -06:00
Oleg Semyonov
912bea559f
Add stick deadband option for Roll/Pitch/Yaw inputs to firmware
2012-01-15 21:13:22 +02:00
James Cotton
ef05cafaca
Merge branch 'revolution' into altitudehold
...
Conflicts:
flight/Libraries/insgps13state.c
flight/OpenPilot/Makefile
ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
2012-01-01 10:50:35 -06:00
James Cotton
33a12d829e
Merge branch 'next' into revolution
...
Conflicts:
flight/PiOS/Common/pios_flashfs_objlist.c
2011-12-11 22:55:54 -06:00
Corvus Corax
a0cd71abe6
UAVObjects ; Modules/ManualControl: Fixed metadata interface and segfault when retrieving it
2011-11-30 09:20:46 +01:00
James Cotton
c33816dd79
Force mode switch to be floating point so F4 works
2011-11-28 09:10:26 -06:00
James Cotton
57e7126979
Increase stack size for manualcontrol. This might need to be applied to main
...
code.
2011-11-27 01:51:23 -06:00
Oleg Semyonov
0116e6a007
spektrum: rework DSM2/DSMJ/DSMX driver for explicit DSMX resolution support
...
- both CC serial ports are now disabled by default (no telemetry);
- serial ports now have DSM2, DSMX (10bit) and DSMX (11bit) options;
- ReceiverGroups now have DSM (MainPort) and DSM (FlexiPort) options.
For DSM2 protocol there is an explicit resolution bit in the stream, so
the DSM2 should be selected. For DSMX there is no such bit, and user
should choose the resolution from the list configuring the spektrum port.
ReceiverGroups have single DSM option which is handled by the same driver.
Downside: this implementation saves received frame first, unrolls by the
end of frame. This should be ok, but may be improved by unrolling channels
on the fly in the rx callback.
Another minor difference is that a ChannelGroup is now bound to port:
DSM (MainPort) or DSM (FlexiPort). This was considered as acceptable
solution in order to not have 6 DSM options for each ChannelGroup and
even more in case of new DSM protocol variations.
Known problem: it is not possible to choose same protocols like
DSM2/DSM2 for two ports. It can be enabled by adding an exception to
common rule, though.
The DSMX throttle channel misbehavior (zero value) is not treated
specially yet. It should trigger the failsafe being out of bounds.
More info and data dumps are required to handle this properly.
2011-10-30 19:29:03 +02:00
Corvus Corax
425bc5abbe
PiOS.posix: PIOS_RCVR : fix posix port of pios_rcvr to allow compilation on 64bit systems
2011-10-11 18:07:04 +02:00
James Cotton
06190d1d95
Fix altitude hold dead band range
2011-09-13 10:34:56 -05:00
James Cotton
1783817b96
INS: First pass at altitude hold code
2011-09-13 01:44:53 -05:00
James Cotton
dfe91af686
UAVObjects: Space allocated in manualcontrolcommand did not match the number of
...
channels in settings. Fixed this and added assertion to catch in future.
2011-09-09 01:17:13 -05:00
James Cotton
1a5fd9f30e
Heli: Added an explicit collective channel. Also make the default channel
...
number 0 since that is not invalid.
2011-09-07 01:48:39 -05:00
James Cotton
72625d9971
PiOS RCVR: Make the public API use a 1 based indexing for channel numbers.
...
This may or may not get into next, but if so anyone following it MUST
reconfigure their inputs.
2011-09-06 16:39:08 -05:00
James Cotton
510a1760ca
When disconnected set any accessory channels to neutral. Otherwise the
...
actuator module could keep the pitch at high. However the "right" thing to do
seems very specific. For example negative pitch is probably preferable.
2011-09-04 03:45:36 -05:00
James Cotton
89e640ae7f
Make sure all receiver drivers return correct constants for invalid channels.
2011-09-04 01:24:16 -05:00
James Cotton
20de046292
Force system to be disarmed when a bad configuration is present
2011-09-04 00:43:33 -05:00