Corvus Corax
5b240a2675
PiOS.posix: port pios_udp and pios_com to "next"
2011-08-14 14:21:54 +02: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
peabody124
c6b495cdcc
This version runs stably on all three platforms for me. Corvus, please feel free to revert these changes if you want or have a better solution. Also only Mac tested with GCS, the rest just sit there running nicely
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1063 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-11 02:23:11 +00:00
peabody124
dd598a75a4
This version runs stably on all three platforms for me. Corvus, please feel free to revert these changes if you want or have a better solution. Also only Mac tested with GCS, the rest just sit there running nicely
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1062 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-11 02:22:24 +00:00
peabody124
bd197886e5
Added some include files for task.c and removed an asserting that is sometimes violated in the signal handler
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1059 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-10 14:07:28 +00:00
peabody124
083886615a
Ok, so its run for a bit on my windows and mac computer, although I've seen a few glitches. Also, need the version of tasks.c in peabody124 which disables interrupts while in the nanosleep command. Unfortunately for windows I have to turn of all the cpu optimization code to make it reliable for now, so it eats cycles
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1057 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-10 07:31:58 +00:00
peabody124
db1dde5d8c
Pretty major rewrite which can either run with thread monitoring (windows) or with conditional waits. Definitions in file set mode, but robust for all modes on OSX, now for windows testing
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1054 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-10 06:25:33 +00:00
peabody124
60fda40c42
Much more stable on windows now
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1048 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-08 16:24:34 +00:00
corvus
cb9afef32d
Pios.posix - FreeRTOS port for cygwin - test-file to debug signal and mutex handling
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1047 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-08 10:28:50 +00:00
peabody124
c2cb17ffe7
Working on windows
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1046 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-07 20:43:05 +00:00
peabody124
bd13811255
A ridiculously simple version that just avoids almost all signal handling needs
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1045 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-07 18:36:05 +00:00
corvus
2ebe830624
reverting accidental commit
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1044 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-07 17:47:22 +00:00