diff --git a/documentation/doxygen/kernel.h b/documentation/doxygen/kernel.h index 15f6983e07..288688bfe6 100644 --- a/documentation/doxygen/kernel.h +++ b/documentation/doxygen/kernel.h @@ -32,10 +32,10 @@ * round-robin scheduling is used for this case. * - The time of scheduler to choose the next highest ready thread is determinant. * - There are four status in thread management - * -# Initialization - * -# Running/Ready - * -# Blocked - * -# Closed + * -# Initialization + * -# Running/Ready + * -# Blocked + * -# Closed * - The number of threads in the system is unlimited, only related with RAM. */ @@ -95,6 +95,15 @@ * - The send action for communication facilities is also safe for interrupt service routine. */ +/** + * @defgroup Signal Signal + * @brief signal is used for thread kill etc. + * + * A signal (also known as a soft interrupt signal), from a software perspective, + * is a simulation of interrupt mechanism. When it comes to its principle, + * thread receiving a signal is similar to processor receiving an interrupt request. + */ + /** * @defgroup MM Memory Management * @brief memory management for memory pool and heap memory diff --git a/include/rtdef.h b/include/rtdef.h index 2fc3bd671c..6985bb8f51 100644 --- a/include/rtdef.h +++ b/include/rtdef.h @@ -1024,6 +1024,11 @@ struct rt_ipc_object rt_list_t suspend_thread; /**< threads pended on this resource */ }; +/** + * @addtogroup semaphore + * @{ + */ + #ifdef RT_USING_SEMAPHORE /** * Semaphore structure @@ -1039,6 +1044,13 @@ struct rt_semaphore typedef struct rt_semaphore *rt_sem_t; #endif /* RT_USING_SEMAPHORE */ +/**@}*/ + +/** + * @addtogroup mutex + * @{ + */ + #ifdef RT_USING_MUTEX /** * Mutual exclusion (mutex) structure @@ -1059,6 +1071,13 @@ struct rt_mutex typedef struct rt_mutex *rt_mutex_t; #endif /* RT_USING_MUTEX */ +/**@}*/ + +/** + * @addtogroup event + * @{ + */ + #ifdef RT_USING_EVENT /** * flag definitions in event @@ -1080,6 +1099,13 @@ struct rt_event typedef struct rt_event *rt_event_t; #endif /* RT_USING_EVENT */ +/**@}*/ + +/** + * @addtogroup mailbox + * @{ + */ + #ifdef RT_USING_MAILBOX /** * mailbox structure @@ -1102,6 +1128,13 @@ struct rt_mailbox typedef struct rt_mailbox *rt_mailbox_t; #endif /* RT_USING_MAILBOX */ +/**@}*/ + +/** + * @addtogroup messagequeue + * @{ + */ + #ifdef RT_USING_MESSAGEQUEUE /** * message queue structure @@ -1129,6 +1162,8 @@ typedef struct rt_messagequeue *rt_mq_t; /**@}*/ +/**@}*/ + /** * @addtogroup MM */ diff --git a/include/rtthread.h b/include/rtthread.h index 87383d3428..43caf895ac 100644 --- a/include/rtthread.h +++ b/include/rtthread.h @@ -246,7 +246,7 @@ void rt_scheduler_ipi_handler(int vector, void *param); /**@}*/ /** - * @addtogroup Signals + * @addtogroup Signal * @{ */ #ifdef RT_USING_SIGNALS @@ -403,6 +403,11 @@ rt_err_t rt_thread_suspend_to_list(rt_thread_t thread, rt_list_t *susp_list, int /* only for a suspended thread, and caller must hold the scheduler lock */ rt_err_t rt_susp_list_enqueue(rt_list_t *susp_list, rt_thread_t thread, int ipc_flags); +/** + * @addtogroup semaphore + * @{ + */ + #ifdef RT_USING_SEMAPHORE /* * semaphore interface @@ -425,6 +430,13 @@ rt_err_t rt_sem_release(rt_sem_t sem); rt_err_t rt_sem_control(rt_sem_t sem, int cmd, void *arg); #endif /* RT_USING_SEMAPHORE */ +/**@}*/ + +/** + * @addtogroup mutex + * @{ + */ + #ifdef RT_USING_MUTEX /* * mutex interface @@ -457,6 +469,13 @@ rt_inline rt_ubase_t rt_mutex_get_hold(rt_mutex_t mutex) #endif /* RT_USING_MUTEX */ +/**@}*/ + +/** + * @addtogroup event + * @{ + */ + #ifdef RT_USING_EVENT /* * event interface @@ -487,6 +506,13 @@ rt_err_t rt_event_recv_killable(rt_event_t event, rt_err_t rt_event_control(rt_event_t event, int cmd, void *arg); #endif /* RT_USING_EVENT */ +/**@}*/ + +/** + * @addtogroup mailbox + * @{ + */ + #ifdef RT_USING_MAILBOX /* * mailbox interface @@ -521,6 +547,12 @@ rt_err_t rt_mb_recv_killable(rt_mailbox_t mb, rt_ubase_t *value, rt_int32_t time rt_err_t rt_mb_control(rt_mailbox_t mb, int cmd, void *arg); #endif /* RT_USING_MAILBOX */ +/**@}*/ + +/** + * @addtogroup messagequeue + * @{ + */ #ifdef RT_USING_MESSAGEQUEUE struct rt_mq_message @@ -599,6 +631,8 @@ rt_ssize_t rt_mq_recv_prio(rt_mq_t mq, #endif /* RT_USING_MESSAGEQUEUE_PRIORITY */ #endif /* RT_USING_MESSAGEQUEUE */ +/**@}*/ + /* defunct */ void rt_thread_defunct_enqueue(rt_thread_t thread); rt_thread_t rt_thread_defunct_dequeue(void);