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

102 Commits

Author SHA1 Message Date
Stacey Sheldon
0c4facac46 heap: reduce stack size on IDLE and Event tasks
The FreeRTOS IDLE task was using 512 bytes of stack.
The UAVObject Event task was also using 512 bytes of stack.

Both have been reduced, recovering 400+ bytes of heap.
2011-07-05 20:13:00 -04:00
Mathieu Rondonneau
703919daf4 OP-423 Reduce IRQ stack limits (CC onlyt) 2011-06-22 06:32:27 -07:00
Mathieu Rondonneau
0ff5e9a46f Merge branch 'master' into OP-423_Mathieu_Change_Init_To_Reduce_Memory_Footprint 2011-06-21 22:02:13 -07:00
James Cotton
8976d22fad Merge remote-tracking branch 'origin/OP-159_os_sbus' 2011-06-21 17:51:22 -05:00
Oleg Semyonov
fba201c8b3 usart: move default port numbers from pios_config.h to pios_board.c 2011-06-22 01:32:18 +03:00
Oleg Semyonov
6272210df7 sbus: some code cleanup (no functional changes) 2011-06-19 14:30:13 +03:00
Mathieu Rondonneau
2b11395a67 OP-423 just move stack from systemmod back to heap (200 bytes) that are not needed anymore. 2011-06-18 17:31:29 -07:00
Oleg Semyonov
311902f1f2 sbus: implemented S.Bus stream decoding 2011-06-18 23:19:57 +03:00
Mathieu Rondonneau
b67a38661e OP-423: merge master into that branch, resolve conflicts and test with CC and bl_CC
heap reamining is low (about 500) but stacks can be ajusted (specially the 200 bytes from system) to give the level close to 1Ko if needed.

Merge branch 'master' into OP-423_Mathieu_Change_Init_To_Reduce_Memory_Footprint

Conflicts:
	flight/CopterControl/System/inc/FreeRTOSConfig.h
	flight/CopterControl/System/inc/pios_config.h
2011-06-17 19:04:09 -07:00
James Cotton
9720a8444f Make a few things optional if they are mostly for diagnostics to keep memory
down
2011-06-17 21:00:21 -05:00
Oleg Semyonov
aeda61d252 usart: serial telemetry can be disabled to free USART
It was tested being merged with OP-472_CorvusCorax_CopterControl-Guidance_v3
branch, Spektrum on USART3 and GPS on USART1 and seems to work.

Currently defaults mimic original behavior, that is, if USE_SPEKTRUM
is not defined - define USE_PWM and USE_GPS. Thsi should be refactored
later to make it configurable from the Makefile.

Also it was not ported to the OP MB: it currently does not support the
S.Bus hardware and still has original behavior with the patch. But this
is one more step to dynamic configuration of ports.
2011-06-16 15:06:01 +03:00
Oleg Semyonov
50e819192b usart: make CC USART ports compile-time configurable
TODO: This should be dynamic in the future.
But for now define any compatile combination of:
   USE_I2C (shared with USART3)
   USE_TELEMETRY
   USE_GPS
   USE_SPEKTRUM
   USE_SBUS (USART1 only, it needs an invertor)
and optionally define PIOS_PORT_* to USART port numbers

Defaults are:

#define PIOS_PORT_TELEMETRY 1
#define PIOS_PORT_GPS       3
#define PIOS_PORT_SPEKTRUM  3
#define PIOS_PORT_SBUS      1

#define USE_TELEMETRY
#define USE_GPS

Telemetry, GPS and PWM input are enabled by default.
2011-06-15 22:37:44 +03:00
Oleg Semyonov
d8201ec45b sbus: provide a stub based on Spektrum driver (for CC only) 2011-06-15 22:35:21 +03:00
James Cotton
144f36dfb7 Merge branch 'bugfix-flight' 2011-06-14 10:02:55 -05:00
James Cotton
404c026188 Patch from Zippe to use cycle timer for CPU monitoring. 2011-06-13 00:24:30 -05:00
Mathieu Rondonneau
7598e898fa OP-423 Step-1: split system stack and implement water mark for IRQstack:
- use IRQStack for ISRs (at begening of SRAM) (let's call it the irq stack)
- use end of heap for stack needed during initialization (let's call it the init stack).
- the systemStats in GCS indicate the remaining bytes in the IRQ stack (this is realy usefull to monitor our (nested) IRQs.

This is the base ground to provide as much memory as possible available at task creation time.

Next step is to re-organize the initialization in order to move all the init out of the thread's stacks onto the init stack.
This will provide as much memory as possible available at task creation time.
Basically the stack during initialization will be destroyed once the scheduler starts and dynamic alloc are made (since the init stack is at the end of the heap). We will need to make sure we don't clobber the heap during initialization otherwise this will lead to stack corruption.
2011-06-12 20:23:00 -07:00
James Cotton
4a59c03b0e OP-493: Unfortuantely have to change stack alarms for this to work :( 2011-06-07 10:31:40 -05:00
James Cotton
efe50012cb Merge branch 'spektrum_rtc_supervisor' 2011-05-29 17:19:48 -05:00
sambas
17fb31a7fa Spektrum rtc supervisor working, tested on CC and all outputs are activated. Needs review and testing before merge. 2011-05-29 14:52:22 +03:00
Stacey Sheldon
5be27fda83 coptercontrol: Increase stack size for system module
When running flight software from master (cf74908), my
config was pushing the system module stack usage to within
16 bytes of its limit.  This triggers a stack overflow
alarm which prevents the quad from arming/flying.

This change increases the available stack size such
that there are 72 bytes of stack free (a previously stated
safe margin) when my quad is sitting idle and unarmed on
the bench.
2011-05-29 00:12:26 -04:00
James Cotton
5d28276c49 Reshuffle memory allocation on CC after FlightStatus object introduced 2011-05-11 17:35:52 -05:00
James Cotton
8e06eb3162 Get the "IDLE_NO_LOAD" level closer for CC with optimizations on, but it would
be great if someone actually calibrated this for me!
2011-05-07 15:07:14 -05:00
zedamota
8dd46e1465 Should fix the CC showing as OP.
Added a compile flag to make a CC fw version that will erase flash.

Signed-off-by: zedamota <josembarros@hotmail.com>
2011-04-29 23:38:26 +01:00
zedamota
6172e45c0d Should fix CopterControl showing as Openpilot on DropDown box. 2011-04-29 21:42:59 +01:00
Corvus Corax
0a05896146 CopterControl: Added dependency: pios_bl_helper 2011-04-23 19:56:48 +02:00
chebuzz
183ca03cc9 CC/Makefile - Make I2C conditional compilation, disabled by default. Unterminated I2C can cause boot process to hang. Thus disabling I2C by default should help to avoid problems in the future.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3059 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-21 09:18:21 +00:00
edouard
aa097ec400 OP-339 Update USB descriptors on CopterControl and OpenPilot to reflect the new convention.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3015 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-09 07:21:01 +00:00
peabody124
8930ec01de OP-313 Quaternion based stabilization, gets rid of lots of checking angle
signs, should be stable for all orientations

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2932 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-02 01:25:34 +00:00
osnwt
899c1fe0bf Moved CPU and heap alarm thresholds into pios_config.h.
Fixed heap thresholds for the CC (prevented arming).

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2886 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-26 11:46:39 +00:00
peabody124
52f09e5d55 Add compile time flag (USE_SPEKTRUM) to enable spektrum support until the
dynamic switching is done.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2778 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-13 17:43:44 +00:00
peabody124
56d4d54a97 CC: Increase the memory for the modules after removing PriTxTask from CC and
also increase the telem queue to decrease event errors (can be reverted later if
we need the memory back)

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2730 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-05 10:52:59 +00:00
peabody124
e5b26bc67d More memory tweaks to keep CC flowing
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2709 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-03 02:42:49 +00:00
peabody124
cf2e9fb349 Memory: Also allow overriding Stabilization stack size
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2690 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-02 08:57:34 +00:00
peabody124
877bcca880 Delete hardcoded min and max servo PWM times, they weren't used. Use the
configuration settings.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2676 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 21:04:58 +00:00
peabody124
f93ed5f01f CC Module memory: Make it clean for CC to override the stack sizes of modules
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2668 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 02:18:35 +00:00
peabody124
b1e4b65f3d CC-1 Bigger oversampling window for CC sensor data
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2667 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 02:18:31 +00:00
peabody124
97acaa2402 CC-15 Gets settings saved to flash chip on CC using crude sector based storage.
Sector based on Object ID so could overlap :-(.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2662 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 02:18:12 +00:00
peabody124
e27c9c0b7a CC-6 Rename Flash function to not be all upper case consistent with other PIOS
functions

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2660 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 02:18:04 +00:00
sambas
195b63b6bb OP-22 PIOS/Spektrum: Made spektrum input driver, NOT YET TESTED!!!, also preliminary support for CC, sync/supv timer not yet fixed.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2602 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-28 09:25:30 +00:00
peabody124
21e3441f00 CC-3 Set gyro to downsample 10x to 250 Hz
Conflicts:

	flight/CopterControl/System/inc/FreeRTOSConfig.h

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2575 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-24 07:52:05 +00:00
peabody124
99fcd089d4 OP-291 PIOS/Servo: Make the remapping of timers a part of the driver structure
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2569 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-24 07:51:48 +00:00
peabody124
da96ce15b9 OP-256 PIOS/PWM: Converting PWM input to use standard driver structure.
Beginning of unifying the input types into PIOS_RECEIVER.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2568 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-24 07:51:45 +00:00
peabody124
2d9f7f32d1 OP-291 PiOS/Servo: Converting output to use driver system
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2499 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-21 03:40:21 +00:00
peabody124
18deba48c1 CC-6 PIOS/ADXL345: Helper functions for the ADXL345 chip. Need to add
semaphores for sharing the bus between the flash chip and this though.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2473 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-17 08:45:37 +00:00
peabody124
94ff276522 OP-265 CC: Tweaking objects included and the memory requirements
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2426 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-14 01:38:49 +00:00
peabody124
8a32d88b10 OP-265 CC: More work to get it running
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2425 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-14 01:38:47 +00:00
peabody124
c59a1ff018 OP-265 OP-266: FreeRTOS configuration per project because of available heap
size (may eventually need to be per revision if we get bigger ram).  Typo in a
the ifdefs to get allow disabling SDCARD

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2423 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-14 01:38:42 +00:00
peabody124
ea851803af OP-266 CopterControl: Continue trying to strip out as much as possible to get
it to fit

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2422 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-14 01:38:39 +00:00
peabody124
2c335edd7f OP-266 CopterControl: For now no USB support for code size
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2419 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-14 01:38:32 +00:00
peabody124
79caad654b CopterControl: Don't need altitude sensor support
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2418 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-14 01:38:30 +00:00
peabody124
9cf3ee9fb3 OP-267 Flight/UAVObjectManager: Make all references to DFS function depend on
PIOS_USD_SDCARD.  However, this needs to be cleaned up and abstracted out of
the UAVObjectManager who shouldn't care about the storage layer.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2417 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-14 01:38:27 +00:00
peabody124
fc54159369 OP-265 Flight reorganization of UAVObjects and Modules up a directory
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2415 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-14 01:38:19 +00:00