48 #if (CH_CFG_USE_MESSAGES == TRUE) || defined(__DOXYGEN__) 66 #if CH_CFG_USE_MESSAGES_PRIORITY == TRUE 67 #define msg_insert(tp, qp) queue_prio_insert(tp, qp) 69 #define msg_insert(tp, qp) queue_insert(tp, qp) #define CH_STATE_WTMSG
Waiting for a message.
static void chSysLock(void)
Enters the kernel lock state.
thread_t * chSchReadyI(thread_t *tp)
Inserts a thread in the Ready List placing it behind its peers.
#define CH_STATE_SNDMSG
Sent a message, waiting answer.
static void chMsgReleaseS(thread_t *tp, msg_t msg)
Releases the thread waiting on top of the messages queue.
#define currp
Current thread pointer access macro.
msg_t rdymsg
Thread wakeup code.
static void chSysUnlock(void)
Leaves the kernel lock state.
threads_queue_t msgqueue
Messages queue.
#define CH_STATE_SNDMSGQ
Sending a message, in queue.
msg_t chMsgSend(thread_t *tp, msg_t msg)
Sends a message to the specified thread.
void chSchGoSleepS(tstate_t newstate)
Puts the current thread to sleep into the specified state.
msg_t sentmsg
Thread sent message.
#define chDbgCheck(c)
Function parameters check.
static bool chMsgIsPendingI(thread_t *tp)
Evaluates to true if the thread has pending messages.
#define chDbgAssert(c, r)
Condition assertion.
thread_t * chMsgWait(void)
Suspends the thread and waits for an incoming message.
void chMsgRelease(thread_t *tp, msg_t msg)
Releases a sender thread specifying a response message.
tstate_t state
Current thread state.
union ch_thread::@0 u
State-specific fields.
ChibiOS/RT main include file.
thread_t * queue_fifo_remove(threads_queue_t *tqp)
Removes the first-out thread from a queue and returns it.
Structure representing a thread.