ChibiOS/NIL  3.1.0
ch.c File Reference

Nil RTOS main source file. More...

#include "ch.h"

Go to the source code of this file.

Functions

static thread_tnil_find_thread (tstate_t state, void *p)
 Retrieves the highest priority thread in the specified state and associated to the specified object. More...
 
static cnt_t nil_ready_all (void *p, cnt_t cnt, msg_t msg)
 Puts in ready state all thread matching the specified status and associated object. More...
 
void _dbg_check_disable (void)
 Guard code for chSysDisable(). More...
 
void _dbg_check_suspend (void)
 Guard code for chSysSuspend(). More...
 
void _dbg_check_enable (void)
 Guard code for chSysEnable(). More...
 
void _dbg_check_lock (void)
 Guard code for chSysLock(). More...
 
void _dbg_check_unlock (void)
 Guard code for chSysUnlock(). More...
 
void _dbg_check_lock_from_isr (void)
 Guard code for chSysLockFromIsr(). More...
 
void _dbg_check_unlock_from_isr (void)
 Guard code for chSysUnlockFromIsr(). More...
 
void _dbg_check_enter_isr (void)
 Guard code for CH_IRQ_PROLOGUE(). More...
 
void _dbg_check_leave_isr (void)
 Guard code for CH_IRQ_EPILOGUE(). More...
 
void chDbgCheckClassI (void)
 I-class functions context check. More...
 
void chDbgCheckClassS (void)
 S-class functions context check. More...
 
void chSysInit (void)
 Initializes the kernel. More...
 
void chSysHalt (const char *reason)
 Halts the system. More...
 
void chSysTimerHandlerI (void)
 Time management handler. More...
 
void chSysUnconditionalLock (void)
 Unconditionally enters the kernel lock state. More...
 
void chSysUnconditionalUnlock (void)
 Unconditionally leaves the kernel lock state. More...
 
syssts_t chSysGetStatusAndLockX (void)
 Returns the execution status and enters a critical zone. More...
 
void chSysRestoreStatusX (syssts_t sts)
 Restores the specified execution status and leaves a critical zone. More...
 
bool chSysIsCounterWithinX (rtcnt_t cnt, rtcnt_t start, rtcnt_t end)
 Realtime window test. More...
 
void chSysPolledDelayX (rtcnt_t cycles)
 Polled delay. More...
 
thread_tchSchReadyI (thread_t *tp, msg_t msg)
 Makes the specified thread ready for execution. More...
 
bool chSchIsPreemptionRequired (void)
 Evaluates if preemption is required. More...
 
void chSchDoReschedule (void)
 Switches to the first thread on the runnable queue. More...
 
void chSchRescheduleS (void)
 Reschedules if needed. More...
 
msg_t chSchGoSleepTimeoutS (tstate_t newstate, sysinterval_t timeout)
 Puts the current thread to sleep into the specified state with timeout specification. More...
 
msg_t chThdSuspendTimeoutS (thread_reference_t *trp, sysinterval_t timeout)
 Sends the current thread sleeping and sets a reference variable. More...
 
void chThdResumeI (thread_reference_t *trp, msg_t msg)
 Wakes up a thread waiting on a thread reference object. More...
 
void chThdResume (thread_reference_t *trp, msg_t msg)
 Wakes up a thread waiting on a thread reference object. More...
 
void chThdSleep (sysinterval_t timeout)
 Suspends the invoking thread for the specified time. More...
 
void chThdSleepUntil (systime_t abstime)
 Suspends the invoking thread until the system time arrives to the specified value. More...
 
msg_t chThdEnqueueTimeoutS (threads_queue_t *tqp, sysinterval_t timeout)
 Enqueues the caller thread on a threads queue object. More...
 
void chThdDoDequeueNextI (threads_queue_t *tqp, msg_t msg)
 Dequeues and wakes up one thread from the threads queue object. More...
 
void chThdDequeueNextI (threads_queue_t *tqp, msg_t msg)
 Dequeues and wakes up one thread from the threads queue object, if any. More...
 
void chThdDequeueAllI (threads_queue_t *tqp, msg_t msg)
 Dequeues and wakes up all threads from the threads queue object. More...
 
msg_t chSemWaitTimeout (semaphore_t *sp, sysinterval_t timeout)
 Performs a wait operation on a semaphore with timeout specification. More...
 
msg_t chSemWaitTimeoutS (semaphore_t *sp, sysinterval_t timeout)
 Performs a wait operation on a semaphore with timeout specification. More...
 
void chSemSignal (semaphore_t *sp)
 Performs a signal operation on a semaphore. More...
 
void chSemSignalI (semaphore_t *sp)
 Performs a signal operation on a semaphore. More...
 
void chSemReset (semaphore_t *sp, cnt_t n)
 Performs a reset operation on the semaphore. More...
 
void chSemResetI (semaphore_t *sp, cnt_t n)
 Performs a reset operation on the semaphore. More...
 
void chEvtSignal (thread_t *tp, eventmask_t mask)
 Adds a set of event flags directly to the specified thread_t. More...
 
void chEvtSignalI (thread_t *tp, eventmask_t mask)
 Adds a set of event flags directly to the specified thread_t. More...
 
eventmask_t chEvtWaitAnyTimeout (eventmask_t mask, sysinterval_t timeout)
 Waits for any of the specified events. More...
 

Variables

nil_system_t nil
 System data structures. More...
 

Detailed Description

Nil RTOS main source file.

Definition in file ch.c.