Documentation improvements and code comments reformatting.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@3248 35acf78f-673a-0410-8e92-d51de3d6d3f4master
parent
334ee69708
commit
2d55ac3059
|
@ -139,6 +139,7 @@
|
||||||
<files visible="yes" title=""/>
|
<files visible="yes" title=""/>
|
||||||
<functions title=""/>
|
<functions title=""/>
|
||||||
<variables title=""/>
|
<variables title=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
<defines title=""/>
|
<defines title=""/>
|
||||||
<typedefs title=""/>
|
<typedefs title=""/>
|
||||||
<enums title=""/>
|
<enums title=""/>
|
||||||
|
@ -150,7 +151,6 @@
|
||||||
<events title=""/>
|
<events title=""/>
|
||||||
<properties title=""/>
|
<properties title=""/>
|
||||||
<friends title=""/>
|
<friends title=""/>
|
||||||
<membergroups visible="yes"/>
|
|
||||||
</memberdecl>
|
</memberdecl>
|
||||||
<memberdef>
|
<memberdef>
|
||||||
<pagedocs/>
|
<pagedocs/>
|
||||||
|
|
|
@ -42,6 +42,10 @@
|
||||||
*/
|
*/
|
||||||
#define CH_KERNEL_VERSION "2.3.3unstable"
|
#define CH_KERNEL_VERSION "2.3.3unstable"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @name Kernel version
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
/**
|
/**
|
||||||
* @brief Kernel version major number.
|
* @brief Kernel version major number.
|
||||||
*/
|
*/
|
||||||
|
@ -56,6 +60,7 @@
|
||||||
* @brief Kernel version patch number.
|
* @brief Kernel version patch number.
|
||||||
*/
|
*/
|
||||||
#define CH_KERNEL_PATCH 3
|
#define CH_KERNEL_PATCH 3
|
||||||
|
/** @} */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Common values.
|
* Common values.
|
||||||
|
|
|
@ -78,10 +78,14 @@ typedef void (*evhandler_t)(eventid_t);
|
||||||
*/
|
*/
|
||||||
#define EVENTSOURCE_DECL(name) EventSource name = _EVENTSOURCE_DATA(name)
|
#define EVENTSOURCE_DECL(name) EventSource name = _EVENTSOURCE_DATA(name)
|
||||||
|
|
||||||
/** All events allowed mask.*/
|
/**
|
||||||
|
* @brief All events allowed mask.
|
||||||
|
*/
|
||||||
#define ALL_EVENTS ((eventmask_t)-1)
|
#define ALL_EVENTS ((eventmask_t)-1)
|
||||||
|
|
||||||
/** Returns the event mask from the event identifier.*/
|
/**
|
||||||
|
* @brief Returns an event mask from an event identifier.
|
||||||
|
*/
|
||||||
#define EVENT_MASK(eid) ((eventmask_t)(1 << (eid)))
|
#define EVENT_MASK(eid) ((eventmask_t)(1 << (eid)))
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -36,6 +36,9 @@
|
||||||
*/
|
*/
|
||||||
typedef void *(*memgetfunc_t)(size_t size);
|
typedef void *(*memgetfunc_t)(size_t size);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @name Alignment support macros
|
||||||
|
*/
|
||||||
/**
|
/**
|
||||||
* @brief Alignment size constant.
|
* @brief Alignment size constant.
|
||||||
*/
|
*/
|
||||||
|
@ -61,6 +64,7 @@ typedef void *(*memgetfunc_t)(size_t size);
|
||||||
* the type @p align_t.
|
* the type @p align_t.
|
||||||
*/
|
*/
|
||||||
#define MEM_IS_ALIGNED(p) (((size_t)(p) & MEM_ALIGN_MASK) == 0)
|
#define MEM_IS_ALIGNED(p) (((size_t)(p) & MEM_ALIGN_MASK) == 0)
|
||||||
|
/** @} */
|
||||||
|
|
||||||
#if CH_USE_MEMCORE || defined(__DOXYGEN__)
|
#if CH_USE_MEMCORE || defined(__DOXYGEN__)
|
||||||
|
|
||||||
|
|
|
@ -31,16 +31,16 @@
|
||||||
|
|
||||||
#if CH_USE_QUEUES || defined(__DOXYGEN__)
|
#if CH_USE_QUEUES || defined(__DOXYGEN__)
|
||||||
|
|
||||||
/** @brief Returned by the queue functions if the operation is successful.*/
|
/**
|
||||||
#define Q_OK RDY_OK
|
* @name Queue functions returned status value
|
||||||
/** @brief Returned by the queue functions if a timeout occurs.*/
|
* @{
|
||||||
#define Q_TIMEOUT RDY_TIMEOUT
|
*/
|
||||||
/** @brief Returned by the queue functions if the queue has been reset.*/
|
#define Q_OK RDY_OK /**< @brief Operation successful. */
|
||||||
#define Q_RESET RDY_RESET
|
#define Q_TIMEOUT RDY_TIMEOUT /**< @brief Timeout condition. */
|
||||||
/** @brief Returned by the queue functions if the queue is empty.*/
|
#define Q_RESET RDY_RESET /**< @brief Queue has been reset. */
|
||||||
#define Q_EMPTY -3
|
#define Q_EMPTY -3 /**< @brief Queue empty. */
|
||||||
/** @brief Returned by the queue functions if the queue is full.*/
|
#define Q_FULL -4 /**< @brief Queue full, */
|
||||||
#define Q_FULL -4
|
/** @} */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Type of a generic I/O queue structure.
|
* @brief Type of a generic I/O queue structure.
|
||||||
|
|
|
@ -29,22 +29,35 @@
|
||||||
#ifndef _CHSCHD_H_
|
#ifndef _CHSCHD_H_
|
||||||
#define _CHSCHD_H_
|
#define _CHSCHD_H_
|
||||||
|
|
||||||
/** @brief Default thread wakeup low level message.*/
|
/**
|
||||||
#define RDY_OK 0
|
* @name Wakeup status codes
|
||||||
/** @brief Low level message sent to a thread awakened by a timeout.*/
|
* @{
|
||||||
#define RDY_TIMEOUT -1
|
*/
|
||||||
/** @brief Low level message sent to a thread awakened by a reset operation.*/
|
#define RDY_OK 0 /**< @brief Normal wakeup message. */
|
||||||
#define RDY_RESET -2
|
#define RDY_TIMEOUT -1 /**< @brief Wakeup caused by a timeout
|
||||||
|
condition. */
|
||||||
|
#define RDY_RESET -2 /**< @brief Wakeup caused by a reset
|
||||||
|
condition. */
|
||||||
|
/** @} */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @name Priority constants
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
#define NOPRIO 0 /**< @brief Ready list header priority. */
|
#define NOPRIO 0 /**< @brief Ready list header priority. */
|
||||||
#define IDLEPRIO 1 /**< @brief Idle thread priority. */
|
#define IDLEPRIO 1 /**< @brief Idle thread priority. */
|
||||||
#define LOWPRIO 2 /**< @brief Lowest user priority. */
|
#define LOWPRIO 2 /**< @brief Lowest user priority. */
|
||||||
#define NORMALPRIO 64 /**< @brief Normal user priority. */
|
#define NORMALPRIO 64 /**< @brief Normal user priority. */
|
||||||
#define HIGHPRIO 127 /**< @brief Highest user priority. */
|
#define HIGHPRIO 127 /**< @brief Highest user priority. */
|
||||||
#define ABSPRIO 255 /**< @brief Greatest possible priority. */
|
#define ABSPRIO 255 /**< @brief Greatest possible priority. */
|
||||||
|
/** @} */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Zero time specification for some syscalls with a timeout
|
* @name Special time constants
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* @brief Zero time specification for some functions with a timeout
|
||||||
* specification.
|
* specification.
|
||||||
* @note Not all functions accept @p TIME_IMMEDIATE as timeout parameter,
|
* @note Not all functions accept @p TIME_IMMEDIATE as timeout parameter,
|
||||||
* see the specific function documentation.
|
* see the specific function documentation.
|
||||||
|
@ -52,10 +65,11 @@
|
||||||
#define TIME_IMMEDIATE ((systime_t)0)
|
#define TIME_IMMEDIATE ((systime_t)0)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Infinite time specification for all the syscalls with a timeout
|
* @brief Infinite time specification for all functions with a timeout
|
||||||
* specification.
|
* specification.
|
||||||
*/
|
*/
|
||||||
#define TIME_INFINITE ((systime_t)-1)
|
#define TIME_INFINITE ((systime_t)-1)
|
||||||
|
/** @} */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Returns the priority of the first thread on the given ready list.
|
* @brief Returns the priority of the first thread on the given ready list.
|
||||||
|
|
|
@ -29,6 +29,42 @@
|
||||||
#ifndef _CHTHREADS_H_
|
#ifndef _CHTHREADS_H_
|
||||||
#define _CHTHREADS_H_
|
#define _CHTHREADS_H_
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @name Thread states
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
#define THD_STATE_READY 0 /**< @brief Waiting on the ready list. */
|
||||||
|
#define THD_STATE_CURRENT 1 /**< @brief Currently running. */
|
||||||
|
#define THD_STATE_SUSPENDED 2 /**< @brief Created in suspended state. */
|
||||||
|
#define THD_STATE_WTSEM 3 /**< @brief Waiting on a semaphore. */
|
||||||
|
#define THD_STATE_WTMTX 4 /**< @brief Waiting on a mutex. */
|
||||||
|
#define THD_STATE_WTCOND 5 /**< @brief Waiting on a condition
|
||||||
|
variable. */
|
||||||
|
#define THD_STATE_SLEEPING 6 /**< @brief Waiting in @p chThdSleep()
|
||||||
|
or @p chThdSleepUntil(). */
|
||||||
|
#define THD_STATE_WTEXIT 7 /**< @brief Waiting in @p chThdWait(). */
|
||||||
|
#define THD_STATE_WTOREVT 8 /**< @brief Waiting for an event. */
|
||||||
|
#define THD_STATE_WTANDEVT 9 /**< @brief Waiting for several events. */
|
||||||
|
#define THD_STATE_SNDMSGQ 10 /**< @brief Sending a message, in queue.*/
|
||||||
|
#define THD_STATE_SNDMSG 11 /**< @brief Sent a message, waiting
|
||||||
|
answer. */
|
||||||
|
#define THD_STATE_WTMSG 12 /**< @brief Waiting for a message. */
|
||||||
|
#define THD_STATE_WTQUEUE 13 /**< @brief Waiting on an I/O queue. */
|
||||||
|
#define THD_STATE_FINAL 14 /**< @brief Thread terminated. */
|
||||||
|
/** @} */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @name Thread flags and attributes
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
#define THD_MEM_MODE_MASK 3 /**< @brief Thread memory mode mask. */
|
||||||
|
#define THD_MEM_MODE_STATIC 0 /**< @brief Static thread. */
|
||||||
|
#define THD_MEM_MODE_HEAP 1 /**< @brief Thread allocated from Heap. */
|
||||||
|
#define THD_MEM_MODE_MEMPOOL 2 /**< @brief Thread allocated from Memory
|
||||||
|
Pool. */
|
||||||
|
#define THD_TERMINATE 4 /**< @brief Termination requested flag. */
|
||||||
|
/** @} */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @extends ThreadsQueue
|
* @extends ThreadsQueue
|
||||||
*
|
*
|
||||||
|
@ -163,46 +199,6 @@ struct Thread {
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
/** @brief Thread state: Ready to run, waiting on the ready list.*/
|
|
||||||
#define THD_STATE_READY 0
|
|
||||||
/** @brief Thread state: Currently running.*/
|
|
||||||
#define THD_STATE_CURRENT 1
|
|
||||||
/** @brief Thread state: Thread created in suspended state.*/
|
|
||||||
#define THD_STATE_SUSPENDED 2
|
|
||||||
/** @brief Thread state: Waiting on a semaphore.*/
|
|
||||||
#define THD_STATE_WTSEM 3
|
|
||||||
/** @brief Thread state: Waiting on a mutex.*/
|
|
||||||
#define THD_STATE_WTMTX 4
|
|
||||||
/** @brief Thread state: Waiting in @p chCondWait().*/
|
|
||||||
#define THD_STATE_WTCOND 5
|
|
||||||
/** @brief Thread state: Waiting in @p chThdSleep() or @p chThdSleepUntil().*/
|
|
||||||
#define THD_STATE_SLEEPING 6
|
|
||||||
/** @brief Thread state: Waiting in @p chThdWait().*/
|
|
||||||
#define THD_STATE_WTEXIT 7
|
|
||||||
/** @brief Thread state: Waiting in @p chEvtWaitXXX().*/
|
|
||||||
#define THD_STATE_WTOREVT 8
|
|
||||||
/** @brief Thread state: Waiting in @p chEvtWaitAllTimeout().*/
|
|
||||||
#define THD_STATE_WTANDEVT 9
|
|
||||||
/** @brief Thread state: Waiting in @p chMsgSend() (queued).*/
|
|
||||||
#define THD_STATE_SNDMSGQ 10
|
|
||||||
/** @brief Thread state: Waiting in @p chMsgSend() (not queued).*/
|
|
||||||
#define THD_STATE_SNDMSG 11
|
|
||||||
/** @brief Thread state: Waiting in @p chMsgWait().*/
|
|
||||||
#define THD_STATE_WTMSG 12
|
|
||||||
/** @brief Thread state: Waiting on an I/O queue.*/
|
|
||||||
#define THD_STATE_WTQUEUE 13
|
|
||||||
/** @brief Thread state: After termination.*/
|
|
||||||
#define THD_STATE_FINAL 14
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Various flags into the thread p_flags field.
|
|
||||||
*/
|
|
||||||
#define THD_MEM_MODE_MASK 3 /**< @brief Thread memory mode mask. */
|
|
||||||
#define THD_MEM_MODE_STATIC 0 /**< @brief Thread memory mode: static. */
|
|
||||||
#define THD_MEM_MODE_HEAP 1 /**< @brief Thread memory mode: heap. */
|
|
||||||
#define THD_MEM_MODE_MEMPOOL 2 /**< @brief Thread memory mode: pool. */
|
|
||||||
#define THD_TERMINATE 4 /**< @brief Termination requested. */
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Thread function.
|
* @brief Thread function.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -29,6 +29,10 @@
|
||||||
#ifndef _CHVT_H_
|
#ifndef _CHVT_H_
|
||||||
#define _CHVT_H_
|
#define _CHVT_H_
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @name Time conversion utilities
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
/**
|
/**
|
||||||
* @brief Time conversion utility.
|
* @brief Time conversion utility.
|
||||||
* @details Converts from seconds to system ticks number.
|
* @details Converts from seconds to system ticks number.
|
||||||
|
@ -49,6 +53,7 @@
|
||||||
* @note The result is rounded upward to the next tick boundary.
|
* @note The result is rounded upward to the next tick boundary.
|
||||||
*/
|
*/
|
||||||
#define US2ST(usec) ((systime_t)(((((usec) - 1L) * CH_FREQUENCY) / 1000000L) + 1L))
|
#define US2ST(usec) ((systime_t)(((((usec) - 1L) * CH_FREQUENCY) / 1000000L) + 1L))
|
||||||
|
/** @} */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Virtual Timer callback function.
|
* @brief Virtual Timer callback function.
|
||||||
|
@ -115,20 +120,6 @@ extern VTList vtlist;
|
||||||
} \
|
} \
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Virtual Timers APIs.
|
|
||||||
*/
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
void _vt_init(void);
|
|
||||||
void chVTSetI(VirtualTimer *vtp, systime_t time, vtfunc_t vtfunc, void *par);
|
|
||||||
void chVTResetI(VirtualTimer *vtp);
|
|
||||||
bool_t chTimeIsWithin(systime_t start, systime_t end);
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Returns TRUE if the speciified timer is armed.
|
* @brief Returns TRUE if the speciified timer is armed.
|
||||||
*
|
*
|
||||||
|
@ -149,6 +140,20 @@ extern "C" {
|
||||||
*/
|
*/
|
||||||
#define chTimeNow() (vtlist.vt_systime)
|
#define chTimeNow() (vtlist.vt_systime)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Virtual Timers APIs.
|
||||||
|
*/
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
void _vt_init(void);
|
||||||
|
void chVTSetI(VirtualTimer *vtp, systime_t time, vtfunc_t vtfunc, void *par);
|
||||||
|
void chVTResetI(VirtualTimer *vtp);
|
||||||
|
bool_t chTimeIsWithin(systime_t start, systime_t end);
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* _CHVT_H_ */
|
#endif /* _CHVT_H_ */
|
||||||
|
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|
Loading…
Reference in New Issue