1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-12-02 10:24:11 +01:00
Commit Graph

300 Commits

Author SHA1 Message Date
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
cb8d9c791c PiOS.posix: fixed missing defines in pios_config. removed platform specific inclde from Systemmod (pios_config.h gets included from pios.h) 2011-10-19 22:28:39 +02:00
Corvus Corax
b00751af91 Systemmod bugfix: UAVObject used without Initialization 2011-10-19 22:28:08 +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
c36297227d Stabilization fix typo 2011-09-12 11:56:01 -05:00
James Cotton
63bb80649b Merge branch 'max_rate_for_attitude' into next 2011-09-12 11:51:03 -05:00
James Cotton
8f2fad6918 Fix for merging with the collective channel with the swashplate fix. 2011-09-11 18:53:10 -05:00
James Cotton
6457276438 Merge branch 'input_configuration' into next 2011-09-11 18:52:35 -05:00
James Cotton
b38081bb1b Stabilization: When in none mode zero the integral accumulators for rate and
attitude loops.  When not using outer loop zero that accumulator.
2011-09-11 16:33:38 -05:00
James Cotton
6945f17eba Make the StabilizationSettings.MaxRate field only apply to the stabilized
modes.  That way ManualRate can exceed MaxRate.
2011-09-11 12:27:17 -05:00
James Cotton
199db1362d Actuator: Found a bug in actuator that affects how throttle and pitch curves
were used.  Basically 80% was always 100%.  This should make hovering better
and fix heli swash pitch.
2011-09-09 19:40:58 -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
8f7712435f Merge branch 'safer_failsafe' into next 2011-09-06 16:23:11 -05:00
James Cotton
b1e0366525 Merge remote-tracking branch 'origin/CorvusCorax_unidirectional-GPS-com' into next
Conflicts:
	flight/OpenPilot/System/pios_board.c
2011-09-04 13:33:52 -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
James Cotton
d3de8ff0ef OP-559: Process the arm status when disconnect and allow it to timeout and
disarm
2011-09-03 23:57:51 -05:00
James Cotton
697dbf4f5f OP-568 PIOS_RCVR: Standardize the values that are returned from the PIOS_RCVR and make
them symbolic constants.
- A timeout is 0
- A missing driver is 65534
- An invalid channel is 65535

ManualControl: Make it deal with the values explicitly.  A timed out value
should not be treated like a minimum duration signal.  Instead it does not
updated the scaled value but marks the data window as invalid to trigger the
failsafe.
2011-09-03 23:50:56 -05:00
Stacey Sheldon
a72c657e21 rcvr activity: Speed up activity acquisition
Activity detection logic can now move through
the active receivers more quickly.
2011-08-27 20:17:56 -04:00
James Cotton
6514fd95c7 Also initialize the ReceiverActivity object in manual control 2011-08-27 16:08:57 -05:00
James Cotton
dc340596f5 Merge branch 'next' into GCS_ChangesToUI-RuntimeCFG
Conflicts:
	flight/CopterControl/Makefile
	flight/OpenPilot/System/pios_board.c
	flight/OpenPilot/UAVObjects.inc
	flight/PiOS/STM32F10x/pios_spektrum.c
	ground/openpilotgcs/src/plugins/config/config.pro
	ground/openpilotgcs/src/plugins/config/configgadget.qrc
	ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
	shared/uavobjectdefinition/hwsettings.xml
2011-08-27 15:26:05 -05:00
James Cotton
1d77d77832 Merge branch 'stac/use-malloc-failed-hook' into next 2011-08-27 00:24:13 -05:00
Corvus Corax
54ecf233f3 Modules/PS: typo fix 2011-08-25 15:13:50 +02:00
Corvus Corax
7e396efbbf Modules/GPS: Assert buffer creation 2011-08-25 15:11:29 +02:00
Corvus Corax
dfdea16065 Modules/GPS: Make GPS COM unidirectional (rx only) and use smaller, runtime allocated heap buffers 2011-08-25 14:46:30 +02:00
Corvus Corax
697ac6067e OP-567 Modules/GPS: Block in PIOS_COM, not in TaskDelay - or we will miss updates! 2011-08-25 13:33:41 +02:00
Stacey Sheldon
edc0caf521 heap: set memory critical alarm on malloc failures
Activate the FreeRTOS malloc failed hook and use it
to set the memory critical alarm.
2011-08-21 23:14:32 -04:00
Corvus Corax
838149b53f GPS: homelocation init is optional, satellites must be initialized 2011-08-21 18:20:33 +02:00
James Cotton
368323fd59 Merge remote-tracking branch 'origin/james/erase_settings' into next 2011-08-20 13:07:01 -05:00
Corvus Corax
9bba1f7ae9 Posix: fix object initialization where necessary 2011-08-19 18:36:30 +02:00
James Cotton
ab7e57ad2b Initialize objects for guidance in the correct place. Init some objects in
pios_board_posix since AHRSComms not around.
2011-08-19 09:52:05 -05:00
James Cotton
482bec497b Revert "Fixed modules that didn't initialize used UAVObjects correctly"
Modules should initialize their settings and the objects they source.  Not just
everything.

This reverts commit 9ad85e9b7b.
2011-08-19 09:44:38 -05:00
Corvus Corax
9ad85e9b7b Fixed modules that didn't initialize used UAVObjects correctly 2011-08-19 13:20:15 +02:00
Corvus Corax
f86e53bf91 Merge branch 'OP-536_CorvusCorax_ObjectOrientedFirmwareUAVTalk' into next
Conflicts:
	flight/Modules/Telemetry/telemetry.c
2011-08-19 12:10:40 +02:00
Corvus Corax
6fe495c088 Merge remote branch 'origin/next' into OP-536_CorvusCorax_ObjectOrientedFirmwareUAVTalk
Conflicts:
	flight/Modules/Telemetry/telemetry.c
2011-08-17 08:30:32 +02:00
James Cotton
35eef66bfe OP-557: Add a UAVO access method to erase the entire flash chip. Normally not
needed by users because if too much changes I change the FS magic and trigger a
wipe.

Possibly the erase should require a particular "magic" object id value to
execute?  This would make it harder to do manually through UAVOs though.
2011-08-15 10:33:27 -05:00
James Cotton
86b652bbab Merge branch 'next' into camera_stabilization 2011-08-14 18:07:57 -05:00
zedamota
e736b17cc4 Merge remote-tracking branch 'remotes/origin/next' into GCS_ChangesToUI-RuntimeCFG
Conflicts:
	ground/openpilotgcs/src/plugins/config/config_cc_hw_widget.cpp
	ground/openpilotgcs/src/plugins/config/configgadgetwidget.h
	ground/openpilotgcs/src/plugins/config/configstabilizationwidget.cpp
2011-08-14 15:48:16 +01:00
James Cotton
a2b76adc33 Attitude: Do not start attitude estimation until accel data appears. This
fixes the NaN when AttitudeSettings not available.
2011-08-13 18:53:42 -05:00
James Cotton
ec4e23aff9 Camera Stabilization: Bound outputs to [-1,1] although this should be redundant
with checks in actuator.
2011-08-11 14:34:38 -05:00
James Cotton
bbe3c1533a Merge branch 'next' into camera_stabilization 2011-08-10 21:57:45 -05:00
James Cotton
ab288e95ab Stabilization: Small patch so that by default the integral is zeroed while
throttle is low (good for quads) but can be disabled (good for planes and also
testing helis).
2011-08-10 03:51:46 -05:00
James Cotton
f23eaa8273 Make the Actuator pull from the CameraDesired fields 2011-08-09 21:47:42 -05:00
James Cotton
f11aa80444 CameraStabilization: Make the CameraStabilization module put the desired
position into another object (will help with configuration).
2011-08-09 20:45:38 -05:00
James Cotton
c4e272b9ad Merge branch 'next' into camera_stabilization 2011-08-09 20:16:45 -05:00
James Cotton
ec2121bca8 Attitude: Keep first element of quaternion positive 2011-08-08 21:16:04 -05:00
James Cotton
fd86c25b49 Make sure OP compiles with new object init structure. 2011-08-04 15:01:54 -05:00