git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@442 35acf78f-673a-0410-8e92-d51de3d6d3f4

This commit is contained in:
gdisirio 2008-09-24 12:28:07 +00:00
parent b721770076
commit c9205e2fd9
11 changed files with 23 additions and 20 deletions

View File

@ -46,7 +46,7 @@ int main(int argc, char **argv) {
*/
chSysInit();
chThdCreateFast(NORMALPRIO, waThread1, sizeof(waThread1), Thread1);
chThdCreateStatic(waThread1, sizeof(waThread1), NORMALPRIO, Thread1, NULL);
while (TRUE) {
chThdSleep(500);

View File

@ -51,8 +51,8 @@ int main(int argc, char **argv) {
*/
chSysInit();
chThdCreateFast(NORMALPRIO, waThread1, sizeof(waThread1), Thread1);
chThdCreateFast(NORMALPRIO - 1, waWebThread, sizeof(waWebThread), WebThread);
chThdCreateStatic(waThread1, sizeof(waThread1), NORMALPRIO, Thread1, NULL);
chThdCreateStatic(waWebThread, sizeof(waWebThread), NORMALPRIO - 1, WebThread, NULL);
while (TRUE) {
chThdSleep(500);

View File

@ -69,8 +69,8 @@ int main(int argc, char **argv) {
/*
* Creates the blinker threads.
*/
chThdCreateFast(NORMALPRIO, waThread1, sizeof(waThread1), Thread1);
chThdCreateFast(NORMALPRIO, waThread2, sizeof(waThread2), Thread2);
chThdCreateStatic(waThread1, sizeof(waThread1), NORMALPRIO, Thread1, NULL);
chThdCreateStatic(waThread2, sizeof(waThread2), NORMALPRIO, Thread2, NULL);
/*
* Normal main() thread activity, in this demo it does nothing except

View File

@ -131,8 +131,8 @@ int main(int argc, char **argv) {
* are not started in order to make accurate benchmarks.
*/
if ((IO0PIN & 0x00018000) == 0x00018000) {
chThdCreateFast(NORMALPRIO, waThread1, sizeof(waThread1), Thread1);
chThdCreateFast(NORMALPRIO, waThread2, sizeof(waThread2), Thread2);
chThdCreateStatic(waThread1, sizeof(waThread1), NORMALPRIO, Thread1, NULL);
chThdCreateStatic(waThread2, sizeof(waThread2), NORMALPRIO, Thread2, NULL);
}
/*

View File

@ -50,9 +50,9 @@ int main(int argc, char **argv) {
chSysInit();
/*
* Creates the blinker threads.
* Creates the blinker thread.
*/
chThdCreateFast(NORMALPRIO, waThread1, sizeof(waThread1), Thread1);
chThdCreateStatic(waThread1, sizeof(waThread1), NORMALPRIO, Thread1, NULL);
/*
* Normal main() thread activity, in this demo it does nothing except

View File

@ -69,7 +69,7 @@ int main(int argc, char **argv) {
/*
* Starts the LED blinker thread.
*/
chThdCreateFast(NORMALPRIO, waThread1, sizeof(waThread1), Thread1);
chThdCreateStatic(waThread1, sizeof(waThread1), NORMALPRIO, Thread1, NULL);
while(TRUE)
chEvtWait(ALL_EVENTS, handlers);

View File

@ -80,7 +80,7 @@ int main(int argc, char **argv) {
/*
* Starts the LED blinker thread.
*/
chThdCreateFast(NORMALPRIO, waThread1, sizeof(waThread1), Thread1);
chThdCreateStatic(waThread1, sizeof(waThread1), NORMALPRIO, Thread1, NULL);
while(TRUE)
chEvtWait(ALL_EVENTS, handlers);

View File

@ -54,9 +54,9 @@ int main(int argc, char **argv) {
chSysInit();
/*
* Creates the blinker threads.
* Creates the blinker thread.
*/
chThdCreateFast(NORMALPRIO, waThread1, sizeof(waThread1), Thread1);
chThdCreateStatic(waThread1, sizeof(waThread1), NORMALPRIO, Thread1, NULL);
/*
* Normal main() thread activity, in this demo it does nothing except

View File

@ -177,10 +177,14 @@ extern "C" {
tprio_t prio, tfunc_t pf, void *arg);
Thread *chThdCreateStatic(void *workspace, size_t wsize,
tprio_t prio, tfunc_t pf, void *arg);
#if defined(CH_USE_DYNAMIC) && defined(CH_USE_WAITEXIT) && defined(CH_USE_HEAP)
Thread *chThdCreateFromHeap(size_t wsize, tprio_t prio,
tfunc_t pf, void *arg);
#endif
#if defined(CH_USE_DYNAMIC) && defined(CH_USE_WAITEXIT) && defined(CH_USE_MEMPOOLS)
Thread *chThdCreateFromMemoryPool(MemoryPool *mp, tprio_t prio,
tfunc_t pf, void *arg);
#endif
Thread *chThdCreate(tprio_t prio, tmode_t mode, void *workspace,
size_t wsize, tfunc_t pf, void *arg);
Thread *chThdCreateFast(tprio_t prio, void *workspace,
@ -218,7 +222,6 @@ extern "C" {
* Returns the exit event source for the specified thread. The source is
* signaled when the thread terminates.
* @param tp the pointer to the thread
* @deprecated
* @note When registering on a thread termination make sure the thread
* is still alive, if you do that after the thread termination
* then you would miss the event. There are two ways to ensure

View File

@ -74,9 +74,9 @@ namespace chibios_rt {
return ((BaseThread *)arg)->Main();
}
BaseThread::BaseThread(tprio_t prio, tmode_t mode, void *workspace, size_t wsize) {
BaseThread::BaseThread(void *workspace, size_t wsize, tprio_t prio) {
thread_ref = chThdCreate(prio, mode, workspace, wsize, thdstart, this);
thread_ref = chThdCreateStatic(workspace, wsize, prio, thdstart, this);
}
void BaseThread::Exit(msg_t msg) {

View File

@ -101,7 +101,7 @@ namespace chibios_rt {
/**
* Thread constructor.
*/
BaseThread(tprio_t prio, tmode_t mode, void *workspace, size_t wsize);
BaseThread(void *workspace, size_t wsize, tprio_t prio);
/**
* Thread exit.
@ -196,8 +196,8 @@ namespace chibios_rt {
* Full constructor. It allows to set a priority level for the new thread
* and specify the special option flags.
*/
EnhancedThread(const char *tname, tprio_t prio, tmode_t mode) :
BaseThread(prio, mode, wa, sizeof wa) {
EnhancedThread(const char *tname, tprio_t prio) :
BaseThread(wa, sizeof wa, prio) {
name = tname;
}
@ -208,7 +208,7 @@ namespace chibios_rt {
* and no special option flags.
*/
EnhancedThread(const char *tname) :
BaseThread(NORMALPRIO, 0, wa, sizeof wa) {
BaseThread(wa, sizeof wa, NORMALPRIO) {
name = tname;
}