SAMV71 Xplained Ultra Software Package 1.5

Pt

Collaboration diagram for Pt:

Data Structures

struct  pt

Modules

 Local continuations

Files

file  pt.h

Defines

#define PT_WAITING   0
#define PT_EXITED   1
#define PT_ENDED   2
#define PT_YIELDED   3

Initialization



#define PT_INIT(pt)

Declaration and definition



#define PT_THREAD(name_args)
#define PT_BEGIN(pt)
#define PT_END(pt)

Blocked wait



#define PT_WAIT_UNTIL(pt, condition)
#define PT_WAIT_WHILE(pt, cond)

Hierarchical protothreads



#define PT_WAIT_THREAD(pt, thread)
#define PT_SPAWN(pt, child, thread)

Exiting and restarting



#define PT_RESTART(pt)
#define PT_EXIT(pt)

Calling a protothread



#define PT_SCHEDULE(f)

Yielding from a protothread



#define PT_YIELD(pt)
#define PT_YIELD_UNTIL(pt, cond)
 Yield from the protothread until a condition occurs.

Define Documentation

#define PT_BEGIN (   pt  ) 

Declare the start of a protothread inside the C function implementing the protothread.

This macro is used to declare the starting point of a protothread. It should be placed at the start of the function in which the protothread runs. All C statements above the PT_BEGIN() invokation will be executed each time the protothread is scheduled.

Parameters:
pt A pointer to the protothread control structure.

Definition at line 115 of file pt.h.

#define PT_END (   pt  ) 

Declare the end of a protothread.

This macro is used for declaring that a protothread ends. It must always be used together with a matching PT_BEGIN() macro.

Parameters:
pt A pointer to the protothread control structure.

Definition at line 127 of file pt.h.

#define PT_EXIT (   pt  ) 

Exit the protothread.

This macro causes the protothread to exit. If the protothread was spawned by another protothread, the parent protothread will become unblocked and can continue to run.

Parameters:
pt A pointer to the protothread control structure.

Definition at line 246 of file pt.h.

#define PT_INIT (   pt  ) 

Initialize a protothread.

Initializes a protothread. Initialization must be done prior to starting to execute the protothread.

Parameters:
pt A pointer to the protothread control structure.
See also:
PT_SPAWN()

Definition at line 80 of file pt.h.

#define PT_RESTART (   pt  ) 

Restart the protothread.

This macro will block and cause the running protothread to restart its execution at the place of the PT_BEGIN() call.

Parameters:
pt A pointer to the protothread control structure.

Definition at line 229 of file pt.h.

#define PT_SCHEDULE (   f  ) 

Schedule a protothread.

This function shedules a protothread. The return value of the function is non-zero if the protothread is running or zero if the protothread has exited.

Parameters:
f The call to the C function implementing the protothread to be scheduled

Definition at line 271 of file pt.h.

#define PT_SPAWN (   pt,
  child,
  thread 
)

Spawn a child protothread and wait until it exits.

This macro spawns a child protothread and waits until it exits. The macro can only be used within a protothread.

Parameters:
pt A pointer to the protothread control structure.
child A pointer to the child protothread's control structure.
thread The child protothread with arguments

Definition at line 206 of file pt.h.

#define PT_THREAD (   name_args  ) 

Declaration of a protothread.

This macro is used to declare a protothread. All protothreads must be declared with this macro.

Parameters:
name_args The name and arguments of the C function implementing the protothread.

Definition at line 100 of file pt.h.

#define PT_WAIT_THREAD (   pt,
  thread 
)

Block and wait until a child protothread completes.

This macro schedules a child protothread. The current protothread will block until the child protothread completes.

Note:
The child protothread must be manually initialized with the PT_INIT() function before this function is used.
Parameters:
pt A pointer to the protothread control structure.
thread The child protothread with arguments
See also:
PT_SPAWN()

Definition at line 192 of file pt.h.

#define PT_WAIT_UNTIL (   pt,
  condition 
)

Block and wait until condition is true.

This macro blocks the protothread until the specified condition is true.

Parameters:
pt A pointer to the protothread control structure.
condition The condition.

Definition at line 148 of file pt.h.

#define PT_WAIT_WHILE (   pt,
  cond 
)

Block and wait while condition is true.

This function blocks and waits while condition is true. See PT_WAIT_UNTIL().

Parameters:
pt A pointer to the protothread control structure.
cond The condition.

Definition at line 167 of file pt.h.

#define PT_YIELD (   pt  ) 

Yield from the current protothread.

This function will yield the protothread, thereby allowing other processing to take place in the system.

Parameters:
pt A pointer to the protothread control structure.

Definition at line 290 of file pt.h.

#define PT_YIELD_UNTIL (   pt,
  cond 
)

Yield from the protothread until a condition occurs.

Parameters:
pt A pointer to the protothread control structure.
cond The condition.

This function will yield the protothread, until the specified condition evaluates to true.

Definition at line 310 of file pt.h.

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines