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

167 Commits

Author SHA1 Message Date
Corvus Corax
fc62f6e522 Module initialisation rework ported to PiOS.posix 2011-06-26 00:25:06 +02:00
Mathieu Rondonneau
6683ce8570 OP-423: Make it more obvious that MODULE_TASKCREATE_ALL and MODULE_INITIALIZE_ALL are macro (for now):
- remove the ;
  - also encapsulate the macro by {} in his own scope.
2011-06-25 11:40:01 -07:00
Mathieu Rondonneau
dcd2774103 OP-423 Fix some comment from code review:
- update example module
- use module init macro for POSIX and WIN to make code cleaner.
2011-06-24 06:59:51 -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
Mathieu Rondonneau
fc1e3f574c OP-423: Split task create and module init in order to postpone task creation once the full heap is available.
Also implement some ordering (quite ugly still) in the module init and task creation order so we can decide which module to start/init first
and which module to start/init last.
This will be replaced/adapter with the uavobject list later (once it's implemented).
reserving some space for module init and task create parameters to customize module/task creation (this will be usefull once we get the list and customization from customer).

Changes have been made for OP and CC. Tested comped with CC,OP, sim_posix.
Only ran on bench with CC for couple of minutes (code increase expected but no dropping of stack which is good).

This gives task creation at the time wherethe all heap is available.
2011-06-19 22:35:40 -07: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
Mathieu Rondonneau
65cf467ca4 OP-423: move the module initialize funtion into a specific section for OP and CC.
- create linker section for those <module>Initialize()
- later this list will incorporate parameters as well. (this probably will be more a OP feature to swap/remove/delete module on the fly.
- this is not done at compile time anymore by Makefile.
- this will allow us to have control on the module start at run-time (not implemented but build the ground for it).
- this simplify the startup (Part of code re-org).
- this change does not affect sim_posix and win32 (since they don't need that)
- ensure it's compiling for PiOS.posix
- port to PiOS.win32 but not tested (not compiled)
- tested on CC
- compile on OP.
- this free ~200 bytes.
- current avalable bytes (is we keep the same remaining bytes on the stack than before) is easily passed the 1.2Ko mark on CC with new gcc (4.5.2)
- this does not include init-reorg for each module (I still think more can be freed)
2011-06-16 22:13:19 -07:00
Oleg Semyonov
d8201ec45b sbus: provide a stub based on Spektrum driver (for CC only) 2011-06-15 22:35:21 +03:00
Mathieu Rondonneau
3780de8d3e OP-423 port to OP (heap2) the previous changes done in CC (heap1) (see c95b199166)
I managed to test CC with heap2 changes and the init stack claimed back to heap once scheduler starts.

the changes of this commit are OP related (just cleanup on CC side):
Arch specific stuff (in reset vector) to hide this from portable code:
     - switch back to MSP stack before starting the scheduler so that the sheduler can use the IRQ stack (when/if needed).
     - call the C portable function in heap2 to claim some stack back (the number to claim is taken from linker file).
     - start the scheduler from reset vector (I move this here from main because it make sense to not go back to C (so that I don't need to copy the rolled stack in case the sheduler returns). This make it more clean.
     - Also I have added the call to the mem manager if sheduler return. that way, we don't reset indefinitely if memory runs out. We will go to this handler and figure things out (right now, it's just looping but at least not rebooting. Probably trap NMI would be better (later improvement).
2011-06-14 20:10:53 -07:00
Mathieu Rondonneau
1f54e32ea9 OP-423 also add changes to OP. (I can not test it because I don't have a board so only compile test) 2011-06-13 17:10:14 -07:00
James Cotton
404c026188 Patch from Zippe to use cycle timer for CPU monitoring. 2011-06-13 00:24:30 -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
James Cotton
bdf862a712 PIOS/RTC: Add functions to get the rate. Also changed Start to Init to be more
consistent with pios.
2011-05-18 01:45:21 -05:00
Corvus Corax
59dd0637a3 PiOS_posix: Add support for pios_debug API, to allow building of GPS module in x86 environment 2011-05-05 14:57:30 +02:00
James Cotton
819bc9d441 Merge branch 'master' into OP-430_Ligi_UAVTalk-Code-Review 2011-04-26 12:49:32 -05:00
Corvus Corax
cdb6b65e64 Merge branch 'master' into OP-383_Edouard_CPUSerial_in_FirmwareIAP 2011-04-25 02:36:44 +02:00
marcus bueschleb
06ac71b784 do not force telemetry update when alarm is changed - this was bypassing the MetaData of the UAVObject and seem to be a relict from times where no metadata existed - now doing it the MetaData way with onchange as updatemode - see http://forums.openpilot.org/topic/4208-systemalarms-bypassing-updatemode-from-metadata/ and OP-431 2011-04-24 03:43:05 +02:00
Corvus Corax
357bc369db PIOS: Bootloader Helper functions should sit in HAL, not duplicated in every single architecture. 2011-04-23 19:40:41 +02:00
Corvus Corax
2bf7ea2271 Modules/GPS: Make code to deal with home location optional to allow a sleeker GPS module for RAM challenged systems 2011-04-23 16:49:07 +02:00
sambas
dabc33c71c OP-22 Flight/PiOS: fix for 11ms framerate, Spektrum supervisor timer must have atleast one interrupt between frames
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3134 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-04-09 14:51:39 +00:00
corvus
8a49dbb6ab OpenPilot_posix: Added ENABLE_QUATERNION_STABILIZATION define
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3116 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-04-01 15:14:33 +00:00
sambas
0eeacb44bd PPM driver for OP, first test
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3007 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-08 18:08:13 +00:00
FredericG
5f52ef6aaa fix: PIOS_DEBUG_Init() was no longer called
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2970 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-05 09:21:32 +00:00
peabody124
e4d9ef98a5 OP-315: Display run time as a percentage
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2944 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-03 04:28:45 +00:00
peabody124
ec29920a8d OP-315: Clean up RTC calls into a separate function. Unfortunately still need
to add function headers into portmacro.h

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2942 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-03 04:28:38 +00:00
peabody124
3e2c542eef OP-315 Use RTC at 65 khz as time base for task switching
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2941 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-03 04:28:34 +00:00
peabody124
528f74b512 OP-315: Extend TaskInfo to include run time stats. Still need to configure a
timer to run at around 10 khz.  RTC a good option.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2940 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-03 04:28:29 +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
pip
c214833346 oops!! .. enabled PPM and disable PWM by default .. sorry
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2817 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-20 13:40:19 +00:00
pip
d733f08a0e Fixed PPM compile option (missing pin defines)
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2816 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-20 13:12:08 +00:00
FredericG
ec634ef3e7 debug-pins, small fix
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2808 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-19 09:11:00 +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
sambas
f3bce1705b OP-22 Flight/PiOS: Spektrum fix, OP tested on ground not flown yet, CC not tested.
pios_rcinput.[ch] outdated

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2775 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-13 13:10:02 +00:00
stac
66a9d53d0a hwinit: Convert I2C driver to dynamic init
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2773 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-12 22:19:54 +00:00
stac
3fda65c5d3 hwinit: Convert SPI drivers to dynamic init
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2772 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-12 22:19:50 +00:00
stac
841b0d3d6d hwinit: Convert COM and USART to dynamic init
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2771 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-12 22:19:43 +00:00
stac
4e6b539086 debugpins: Add definitions for debug pins
Not yet used anywhere but will eventually allow
debug pins to be assigned during runtime init based
on configuration found in a new uavobject.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2741 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-06 01:03:06 +00:00
peabody124
f97d853c80 Make the PriTx queue optional which saves 700 bytes
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2729 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-05 10:52:52 +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
c3aa5ed8f3 Posix: Add the constants for telemetry queue sizes and also make the actuator
SetHz calls compatible with the PiOS API change

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2672 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 15:47:02 +00:00
sambas
ba5ebb6b13 OP-303 PIOS/Sonar: preliminary support for HCSR04 ultrasound altimeter module, tested and working :)
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2610 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-28 19:21:22 +00:00
peabody124
ac031d9b0d OP-256 RC 3 is using TIM5 but wasn't previously handling this ISR. Passing to
the PWM ISR now.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2607 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-28 16:01:40 +00:00
sambas
d917ced2f6 Fix for pwm input reset problem? Try the line I commented out because I can't test this.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2606 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-28 13:30:12 +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
92dd78db51 OP-256 PIOS/PWM: Disable from the pios_board.c file when not using PWM
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2589 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-24 23:17:39 +00:00
peabody124
3b0be12b67 OP-291 PIOS/Servo: Fix a few interrupt mappins for OP
Also keep the priority of actuator at idle+4, dropping it down slipped through

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2580 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-24 07:52:20 +00:00
peabody124
7554021ed0 OP-256 PIOS/PWM: Set the interrupts correctly
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2577 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-24 07:52:11 +00:00