|
2 | 2 | #include "pt-sleep.h" |
3 | 3 |
|
4 | 4 | /** |
5 | | -* ADDED BY STRAWBEES |
| 5 | +* Simplifed interface |
| 6 | +* ------------------- |
| 7 | +* Author: Strawbees |
6 | 8 | * Provides a simplied interface to Protothreads. |
7 | 9 | */ |
8 | 10 | #define PT_POINTER_VAR(name) pt_##name##_pointer |
9 | 11 | #define PT_THREAD_VAR(name) pt_##name##_thread |
10 | 12 |
|
11 | | -#define ptDefine(name, ...)\ |
| 13 | +#define ptDeclare(name, ...)\ |
12 | 14 | static struct pt PT_POINTER_VAR(name);\ |
13 | | - static PT_THREAD (PT_THREAD_VAR(name)(struct pt* __pt__, ##__VA_ARGS__)); |
14 | | -#define ptDeclare(name, ...) static PT_THREAD (PT_THREAD_VAR(name)(struct pt* __pt__, ##__VA_ARGS__)) |
| 15 | + static PT_THREAD (PT_THREAD_VAR(name)(struct pt* __pt__, ##__VA_ARGS__)) |
| 16 | +#define ptDeclareThread ptDeclare |
| 17 | +#define ptDeclareProcedure ptDeclare |
| 18 | +#define ptDefine(name, ...) static PT_THREAD (PT_THREAD_VAR(name)(struct pt* __pt__, ##__VA_ARGS__)) |
| 19 | +#define ptDefineThread ptDefine |
| 20 | +#define ptDefineProcedure ptDefine |
15 | 21 | #define ptInit(name) PT_INIT(&PT_POINTER_VAR(name)) |
16 | 22 | #define ptBegin() PT_BEGIN(__pt__) |
17 | 23 | #define ptSleep(ms) PT_SLEEP(__pt__, ms) |
|
25 | 31 | #define ptExit() PT_EXIT(__pt__) |
26 | 32 | #define ptEnd() PT_END(__pt__) |
27 | 33 | #define ptSchedule(name, ...) PT_SCHEDULE(PT_THREAD_VAR(name)(&PT_POINTER_VAR(name), ##__VA_ARGS__)) |
| 34 | +#define ptBeginThread() ptBegin() |
| 35 | +#define ptBeginProcedure() ptBegin();ptYield() |
| 36 | +#define ptEndThread() ptYieldUntil(false);ptEnd() |
| 37 | +#define ptEndProcedure() ptExit();ptEnd() |
0 commit comments