James Cotton
5e2a36aa03
Merge branch 'stac/allocate-device-instances-from-heap' into next
2011-09-04 12:03:42 -05:00
Mathieu Rondonneau
ae1dd945b1
Fix win32 sim macro problem
...
This is to get the macro in pios.win32 in sync with sim posix and
real flight.
2011-09-01 21:50:13 -04:00
Stacey Sheldon
43b31efb76
pios: allocate driver instance data from heap
...
Allocate per-instance data for drivers from the heap
rather than as static variables from the .data segment.
This converts > 800 bytes of RAM from being always consumed
as static data into being allocated from the heap only when
a particular feature is enabled in the hwsettings object.
A minimal config (no receivers, flexi port disabled, main port
disabled) leaves 2448 bytes of free heap. That's our new baseline.
Approximate RAM (heap) costs of enabling various features:
+ 632 Serial Telemetry (includes 400 bytes of Rx/Tx buffers)
+ 108 PWM Rcvr
+ 152 PPM Rcvr
+ 112 Spektrum Rcvr
+ 24 S.Bus (Should be closer to 68 since driver is still using
static memory)
There are still some drivers that pre-allocate all of their memory
as static data. It'll take some work to convert those over to
dynamically allocating their instance data.
2011-08-31 22:35:03 -04:00
Stacey Sheldon
86ce79af1d
openpilot: fix compile error on OP
2011-08-31 21:43:57 -04:00
Stacey Sheldon
2f86e4dd4f
Make PWM/PPM and Servo drivers play nicely together
...
PWM and PPM can now coexist in the same load and be
selected at boot time via the hwsettings UAVObject.
This is basically a complete restructuring of the
way the drivers interact with the TIM peripheral in
the STM32.
As a side effect, the PWM and PPM drivers are now
ready to support multiple instances of each.
This also provides the first step toward being able
to reassign some of the PWM input pins to be servo
output pins. Still more work required, but this is
a good start.
2011-08-27 21:39:56 -04:00
Stacey Sheldon
b3c43da90a
stdperiph: Make TIM related APIs use const pointers
...
This allows the configuration parameters to be stored in
flash instead of copied to RAM.
2011-08-27 21:39:17 -04: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
c5746335c6
Initialize GCSReceiver object if it is being used
2011-08-27 15:57:09 -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
James Cotton
274333a9bf
Merge branch 'next' into stac/use-malloc-failed-hook
2011-08-27 00:12:45 -05:00
James Cotton
55f64802d1
Also enable malloc error catching on OpenPilot
2011-08-27 00:12:16 -05:00
Corvus Corax
8b7fea0d19
Merge branch 'OP-567 GPS com layer fix' into next
2011-08-25 13:35:49 +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
James Cotton
5f7a9b513a
Merge branch 'sambas/dsmx_stuff' of ssh://git.openpilot.org/OpenPilot into next
...
Conflicts:
shared/uavobjectdefinition/hwsettings.xml
2011-08-24 11:37:30 -05: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
Corvus Corax
0ce337b42d
UAVTalk: fix off by one error preventing the largest UAvObject (gpssatellites) from being sent.
2011-08-21 18:15:10 +02:00
James Cotton
e4e952f270
Manual control settings needs to be initialized in OpenPilot board file for
...
spektrum to work
2011-08-21 02:21:09 -05:00
James Cotton
368323fd59
Merge remote-tracking branch 'origin/james/erase_settings' into next
2011-08-20 13:07:01 -05:00
Corvus Corax
85aef9c7b4
OpenPilot: bugfix: Add GPS tx buffer by default (needed until GPS has been refactored to not send or only send when configured so)
2011-08-19 20:22:05 +02:00
Corvus Corax
2062ec0aeb
AHRS_COM: Initialize transpherred objects before using them
2011-08-19 19:52:27 +02:00
Corvus Corax
5e4941f7cb
PiOS.posix: make PiOS.posix bail in case of a Panic with an error message
2011-08-19 18:41:59 +02:00
Corvus Corax
9bba1f7ae9
Posix: fix object initialization where necessary
2011-08-19 18:36:30 +02:00
James Cotton
03a8bd7674
Statically initialize object handles to null to make sure the uavobjectmanager
...
can catch it and return -1. Do NOT panic when they are null as this is
something that should be caugth at run time in some cases.
Ideally as a compromise in a task start it could have a set of
PIOS_Assert(ObjectNameHandle()) to make sure the minimal set of objects it
needs are there.
2011-08-19 10:12:39 -05: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
ced29e221e
Revert "Debugging: Add PIOS_DEBUG_Panic() call wen an UAVObject handle is requested but object is uninitialized, make PiOS.posix bail in case of a Panic with an error message"
...
We do not want to panic in this case as we want the ability to detect if
objects exist at run time
This reverts commit 78e42470d4
.
2011-08-19 09:45:10 -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
69f10cd6d0
PiOS.posix: bugfix in COM_UDP
2011-08-19 13:54:16 +02:00
Corvus Corax
adfb6eccc2
fixed usage of GPS buffer in sim_posix
2011-08-19 13:20:40 +02:00
Corvus Corax
9ad85e9b7b
Fixed modules that didn't initialize used UAVObjects correctly
2011-08-19 13:20:15 +02:00
Corvus Corax
78e42470d4
Debugging: Add PIOS_DEBUG_Panic() call wen an UAVObject handle is requested but object is uninitialized, make PiOS.posix bail in case of a Panic with an error message
2011-08-19 12:56:26 +02:00
Corvus Corax
01a844e0da
Fixed redefinition of configCHECK_FOR_STACK_OVERFLOW in OpenPilot/System/inc/FreeRTOSConfig.h
2011-08-19 12:11:05 +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
James Cotton
f85ae84ec3
Merge branch 'camera_stabilization' into next
...
Conflicts:
flight/OpenPilot/System/pios_board_posix.c
2011-08-19 01:48:24 -05: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
Corvus Corax
b75653a226
PiOS.posix: small corrections and bugfixes to make pios_com_udp work correctly. Telemetry works now.
2011-08-14 14:21:54 +02:00
Corvus Corax
5b240a2675
PiOS.posix: port pios_udp and pios_com to "next"
2011-08-14 14:21:54 +02:00
Corvus Corax
8a47ade16b
flight/Libraries/fifo_buffer: Use platform independent <stdint.h> instead of "stm32xxx.h" to get definition of intX_t types
2011-08-14 14:21:54 +02:00
James Cotton
f766ba47aa
Increase the size of the eventdispatcher task and lower the maximum queue size.
2011-08-13 19:21:58 -05: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
9c7799dfe6
UAVObject Init: Get rid of deprecated linker init code
2011-08-10 22:48:42 -05:00
James Cotton
c8313d7b3e
Add the camera stabilization files to the Pro build. Not functional though.
2011-08-10 22:31: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