Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

An OS_FLAG_NODE is created when a task desires to wait on bits of an event flag group and the node is ‘destroyed’ when the event(s) occur. In other words, a node is created by OSFlagPend() as we will see shortly. Before we discuss this, let’s look at the OS_FLAG_NODE data structure.

OS_FLAG_WAIT_CLR_ALL      
OS_FLAG_WAIT_CLR_AND      
OS_FLAG_WAIT_CLR_ANY      
OS_FLAG_WAIT_CLR_OR 
OS_FLAG_WAIT_SET_ALL 
OS_FLAG_WAIT_SET_AND      
OS_FLAG_WAIT_SET_ANY      
OS_FLAG_WAIT_SET_OR 

 

You should note that AND and ALL means the same thing and either one can be used. I prefer to use OS_FLAG_WAIT_???_ALL because it’s more obvious but you are certainly welcomed to use OS_FLAG_WAIT_???_AND. Similarly, OR or ANY means the same thing and either one can be used. Again, I prefer to use OS_FLAG_WAIT_???_ANY because it’s more obvious but again, you can use OS_FLAG_WAIT_???_OR. The other thing to notice is that you can wait for either bits to be SET or CLEARED.

...