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

76 Commits

Author SHA1 Message Date
Stacey Sheldon
bfe6676eed exti: rewrite exti layer to improve portability
The exti layer now allows drivers to register interrupt callbacks
during board initialization.  All details of the driver using a
particular EXTI pin have been removed from the EXTI layer so it
can now be used on any board without board-specific modification.

This includes some nice refinements provided by Mike Smith during
initial review.  His original commits have been squashed into this
one.
2012-01-22 23:23:41 -05:00
Corvus Corax
e244581b18 PiOS.posix: bugfix in pios_udp com driver - data send loop 2011-10-19 13:37:35 +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
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
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
Corvus Corax
69f10cd6d0 PiOS.posix: bugfix in COM_UDP 2011-08-19 13:54:16 +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
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
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
James Cotton
9c7799dfe6 UAVObject Init: Get rid of deprecated linker init code 2011-08-10 22:48:42 -05:00
Stacey Sheldon
b70d5ae148 Merge remote branch 'origin/msmith-delay-timer' into next 2011-07-26 09:04:06 -04:00
Mike Smith
dae4b44100 Remove commented code that refers to the now-obsolete PIOS_DELAY_TIMER 2011-07-23 13:49:36 -07:00
James Cotton
abee34e551 Getting posix simulation compatible with init and receiver changes 2011-07-22 07:50:06 -05:00
Mathieu Rondonneau
b3740ec025 OP-423: Clean startup and add weak function call for stack swap. 2011-07-03 12:43:38 -07:00
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
de55c56427 OP-423: Change capital on macro to be uppercase for consistency. 2011-06-24 22:03:03 -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
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
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
Corvus Corax
a7841a523a bugfix: forgot to add header file (pios.posix) 2011-06-10 22:04:54 +02:00
Corvus Corax
47a6643318 PiOS.posix: ported PiOS_CRC to PiOS.posix to fix compilation error on OpenPilot introduced by new dependency 2011-06-10 17:16:15 +02: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
corvus
be1837ecd5 SiTL/SimPosix: Fixed compilation issue because of Timer macro eedeclaration in portmacro.h
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3005 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-07 22:43:20 +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
peabody124
d33d044088 Revert "Revert "Fix to make stacs auto-loading of UAVObjects downwards compatible, since its not working on all architectures""
Putting Corvus patch back in.  Need to delete uavobjects-synthetics directory
for this to work.

This reverts commit 9cd98bec8fb5e0679c625eb256a94d161a8ce345.

Conflicts:

	flight/CopterControl/Makefile

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2671 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 15:46:59 +00:00
peabody124
bbbdea26b9 Revert "Fix to make stacs auto-loading of UAVObjects downwards compatible, since its not working on all architectures"
Note: This patch did not build after a clean build.

This reverts commit 7e75b5d16481a32689433c868b67916816d8b9fb.

Conflicts:

	flight/CopterControl/Makefile

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2651 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 01:56:02 +00:00
corvus
c2ba1f517b Fix to make stacs auto-loading of UAVObjects downwards compatible, since its not working on all architectures
On architectures supporting automatic initializing, flight/UAVObjects/uavobjectsinit_linker.c is used
On architectures NOT supporting automatic initializing, an uavobjectgenerated file build/uavobject-synthetics/flight/init/uavobjectsinit.c is used
build/uavobjects-synthetics/flight/uavobjectsinit.c went away, so that a wildcard include in the Makefile will not include the (wrong) initialisation code in either version



git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2640 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-31 20:37:11 +00:00
corvus
dcb9764647 added include file for auto-linking to sim_posix
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2639 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-31 17:39:23 +00:00
corvus
e6004ae95e PiOS.posix - split up FreeRTOS port into a linux version (original FreeRTOS linux code) and a non linux POSIX compatible version (Mac OSX, BSD, ...) - OS detection by Makefile.posix
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2604 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-28 12:26:45 +00:00
corvus
115a581d7c PiOS.posix: porting some of the recent updates to PiOS.posix - compiles now
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2449 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-16 15:17:57 +00:00
cwabbott
0f965df11e SiTL: Updates for UAVObjects, and for the recent Actuator and Watchdog changes to compile with SiTL. Posix needs to be tested.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2387 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-12 00:39:18 +00:00
edouard
d8edab8371 Added a (fake) pios_servo module in PiOS.posix, this makes it possible to compile the Actuator module and see servo output values, or at least
what they would be on a real board. Also fixed a typo in stabilization.c which made me lose time when trying to understand the code...




git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2260 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-20 16:38:17 +00:00
corvus
ba781dec9a port.c optimized for linux
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2051 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-11-01 11:54:02 +00:00
corvus
7a37dc1f32 PiOS.posix - added some debugging code
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1977 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-17 16:27:49 +00:00
peabody124
ebeffa4392 Linux compiler error fix
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1097 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-14 15:45:36 +00:00
peabody124
700af355d4 Moved platform dependent configurations to FreeRTOSConfig.h and set windows to run without preemption to reduce CPU usage
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1096 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-14 15:34:57 +00:00
corvus
48db68fe3c add some self made FreeRTOS scheduler documentation
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1088 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-13 18:55:26 +00:00
peabody124
53b90b9492 Updated to use sigwait as an alternative to signals for the timer. Also, added per task suspend/resume flags which should make sure things behave nicely
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1087 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-13 18:29:39 +00:00
corvus
65d0c93680 Added some comment lines for peabody124 to read ;)
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1078 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-12 17:15:00 +00:00
peabody124
68be63bc50 Conditional signaling now works on linux
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1075 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-11 21:42:59 +00:00
peabody124
cd5c03b809 Ugh, cross platform development.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1073 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-11 20:46:22 +00:00
peabody124
0bc526a142 Got the tick handler working on linux so it doesnt jump onto the wrong thread
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1072 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-11 20:38:20 +00:00
peabody124
4c4d1ca420 Also added sched_yield().
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1071 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-11 20:27:03 +00:00
peabody124
9ff624bc0f I'm an idiot. I put ifndef __darwin__ when I meant ifdef. Works on linux now with minimal CPU.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1070 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-11 20:23:34 +00:00
corvus
ae4a52e0ed test cases for signal handling
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1069 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-11 16:43:41 +00:00
corvus
71589d2246 simple segfault reproduction
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1068 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-11 15:11:26 +00:00
corvus
0efc69055e fix in print function *ducks*
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1067 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-11 13:57:20 +00:00
corvus
1dd60b54f6 thread safe printf implementation now
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1066 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-11 13:20:22 +00:00