Improved messages.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@8707 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
parent
5fc0cb9764
commit
0c827780f0
|
@ -38,7 +38,7 @@ PROJECT_NAME = ChibiOS/RT
|
|||
# could be handy for archiving the generated documentation or if some version
|
||||
# control system is used.
|
||||
|
||||
PROJECT_NUMBER = 3.1.0
|
||||
PROJECT_NUMBER = 3.2.0
|
||||
|
||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||
# for a project that appears at the top of each page and should give viewer a
|
||||
|
|
|
@ -38,7 +38,7 @@ PROJECT_NAME = ChibiOS/RT
|
|||
# could be handy for archiving the generated documentation or if some version
|
||||
# control system is used.
|
||||
|
||||
PROJECT_NUMBER = 3.1.0
|
||||
PROJECT_NUMBER = 3.2.0
|
||||
|
||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||
# for a project that appears at the top of each page and should give viewer a
|
||||
|
|
|
@ -48,7 +48,7 @@
|
|||
/**
|
||||
* @brief Kernel version string.
|
||||
*/
|
||||
#define CH_KERNEL_VERSION "3.1.0"
|
||||
#define CH_KERNEL_VERSION "3.2.0"
|
||||
|
||||
/**
|
||||
* @brief Kernel version major number.
|
||||
|
@ -58,7 +58,7 @@
|
|||
/**
|
||||
* @brief Kernel version minor number.
|
||||
*/
|
||||
#define CH_KERNEL_MINOR 1
|
||||
#define CH_KERNEL_MINOR 2
|
||||
|
||||
/**
|
||||
* @brief Kernel version patch number.
|
||||
|
|
|
@ -95,7 +95,9 @@ static inline bool chMsgIsPendingI(thread_t *tp) {
|
|||
*/
|
||||
static inline msg_t chMsgGet(thread_t *tp) {
|
||||
|
||||
return tp->p_msg;
|
||||
chDbgAssert(tp->p_state == CH_STATE_SNDMSG, "invalid state");
|
||||
|
||||
return tp->p_u.sentmsg;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -276,6 +276,12 @@ struct ch_thread {
|
|||
* state.
|
||||
*/
|
||||
thread_reference_t *wttrp;
|
||||
#if (CH_CFG_USE_MESSAGES == TRUE) || defined(__DOXYGEN__)
|
||||
/**
|
||||
* @brief Thread sent message.
|
||||
*/
|
||||
msg_t sentmsg;
|
||||
#endif
|
||||
#if (CH_CFG_USE_SEMAPHORES == TRUE) || defined(__DOXYGEN__)
|
||||
/**
|
||||
* @brief Pointer to a generic semaphore object.
|
||||
|
@ -314,10 +320,6 @@ struct ch_thread {
|
|||
* @brief Messages queue.
|
||||
*/
|
||||
threads_queue_t p_msgqueue;
|
||||
/**
|
||||
* @brief Thread message.
|
||||
*/
|
||||
msg_t p_msg;
|
||||
#endif
|
||||
#if (CH_CFG_USE_EVENTS == TRUE) || defined(__DOXYGEN__)
|
||||
/**
|
||||
|
|
|
@ -90,8 +90,7 @@ msg_t chMsgSend(thread_t *tp, msg_t msg) {
|
|||
chDbgCheck(tp != NULL);
|
||||
|
||||
chSysLock();
|
||||
ctp->p_msg = msg;
|
||||
ctp->p_u.wtobjp = &tp->p_msgqueue;
|
||||
ctp->p_u.sentmsg = msg;
|
||||
msg_insert(ctp, &tp->p_msgqueue);
|
||||
if (tp->p_state == CH_STATE_WTMSG) {
|
||||
(void) chSchReadyI(tp);
|
||||
|
|
|
@ -72,6 +72,11 @@
|
|||
*** Releases and Change Log ***
|
||||
*****************************************************************************
|
||||
|
||||
*** RT 3.2.0 ***
|
||||
- OPT: Removed the p_msg field from the thread_t structure saving a
|
||||
msg_t-sized field from the structure. Messages now use a new field
|
||||
into the p_u union. Now synchnorous messages are even faster.
|
||||
|
||||
*** 16.1.0 ***
|
||||
- RT: Added CodeWarrior compiler support to the e200 port.
|
||||
- HAL: Added support for STM32F446.
|
||||
|
|
Loading…
Reference in New Issue