lwIP bindings improvements. Added new function chRegSetThreadNamex().
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@8058 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
parent
32490c00b3
commit
8131d84ea7
|
@ -148,11 +148,8 @@ extern "C" {
|
|||
* @return Thread name as a zero terminated string.
|
||||
* @retval NULL if the thread name has not been set.
|
||||
*
|
||||
* @iclass
|
||||
*/
|
||||
static inline const char *chRegGetThreadNameI(thread_t *tp) {
|
||||
|
||||
chDbgCheckClassI();
|
||||
static inline const char *chRegGetThreadNameX(thread_t *tp) {
|
||||
|
||||
#if CH_CFG_USE_REGISTRY == TRUE
|
||||
return tp->p_name;
|
||||
|
@ -162,6 +159,26 @@ static inline const char *chRegGetThreadNameI(thread_t *tp) {
|
|||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Changes the name of the specified thread.
|
||||
* @pre This function only sets the name if the option
|
||||
* @p CH_CFG_USE_REGISTRY is enabled else it does
|
||||
* nothing.
|
||||
*
|
||||
* @param[in] tp pointer to the thread
|
||||
* @param[in] name name to be set
|
||||
*
|
||||
* @xclass
|
||||
*/
|
||||
static inline void chRegSetThreadNameX(thread_t *tp, const char *name) {
|
||||
|
||||
#if CH_CFG_USE_REGISTRY == TRUE
|
||||
tp->p_name = name;
|
||||
#else
|
||||
(void)tp;
|
||||
(void)name;
|
||||
#endif
|
||||
}
|
||||
#endif /* CH_CFG_USE_REGISTRY == TRUE */
|
||||
|
||||
#endif /* _CHREGISTRY_H_ */
|
||||
|
|
|
@ -65,7 +65,7 @@
|
|||
static void _idle_thread(void *p) {
|
||||
|
||||
(void)p;
|
||||
chRegSetThreadName("idle");
|
||||
|
||||
while (true) {
|
||||
/*lint -save -e522 [2.2] Apparently no side effects because it contains
|
||||
an asm instruction.*/
|
||||
|
@ -135,11 +135,17 @@ void chSysInit(void) {
|
|||
chRegSetThreadName((const char *)&ch_debug);
|
||||
|
||||
#if CH_CFG_NO_IDLE_THREAD == FALSE
|
||||
{
|
||||
/* This thread has the lowest priority in the system, its role is just to
|
||||
serve interrupts in its context while keeping the lowest energy saving
|
||||
mode compatible with the system status.*/
|
||||
(void) chThdCreateStatic(ch.idle_thread_wa, sizeof(ch.idle_thread_wa),
|
||||
IDLEPRIO, (tfunc_t)_idle_thread, NULL);
|
||||
thread_t *tp = chThdCreateStatic(ch.idle_thread_wa,
|
||||
sizeof(ch.idle_thread_wa),
|
||||
IDLEPRIO,
|
||||
(tfunc_t)_idle_thread,
|
||||
NULL);
|
||||
chRegSetThreadNameX(tp, "idle");
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
@ -202,28 +202,43 @@ void sys_mbox_set_invalid(sys_mbox_t *mbox) {
|
|||
|
||||
sys_thread_t sys_thread_new(const char *name, lwip_thread_fn thread,
|
||||
void *arg, int stacksize, int prio) {
|
||||
|
||||
size_t wsz;
|
||||
void *wsp;
|
||||
syssts_t sts;
|
||||
thread_t *tp;
|
||||
|
||||
(void)name;
|
||||
wsz = THD_WORKING_AREA_SIZE(stacksize);
|
||||
wsp = chCoreAlloc(wsz);
|
||||
if (wsp == NULL)
|
||||
return NULL;
|
||||
return (sys_thread_t)chThdCreateStatic(wsp, wsz, prio, (tfunc_t)thread, arg);
|
||||
|
||||
#if CH_DBG_FILL_THREADS == TRUE
|
||||
_thread_memfill((uint8_t *)wsp,
|
||||
(uint8_t *)wsp + sizeof(thread_t),
|
||||
CH_DBG_THREAD_FILL_VALUE);
|
||||
_thread_memfill((uint8_t *)wsp + sizeof(thread_t),
|
||||
(uint8_t *)wsp + wsz,
|
||||
CH_DBG_STACK_FILL_VALUE);
|
||||
#endif
|
||||
|
||||
sts = chSysGetStatusAndLockX();
|
||||
tp = chThdCreateI(wsp, wsz, prio, (tfunc_t)thread, arg);
|
||||
chRegSetThreadNameX(tp, name);
|
||||
chThdStartI(tp);
|
||||
chSysRestoreStatusX(sts);
|
||||
|
||||
return (sys_thread_t)tp;
|
||||
}
|
||||
|
||||
sys_prot_t sys_arch_protect(void) {
|
||||
|
||||
osalSysLock();
|
||||
return 0;
|
||||
return chSysGetStatusAndLockX();
|
||||
}
|
||||
|
||||
void sys_arch_unprotect(sys_prot_t pval) {
|
||||
|
||||
(void)pval;
|
||||
osalSysUnlock();
|
||||
osalSysRestoreStatusX((syssts_t)pval);
|
||||
}
|
||||
|
||||
u32_t sys_now(void) {
|
||||
|
|
|
@ -56,7 +56,7 @@
|
|||
typedef semaphore_t * sys_sem_t;
|
||||
typedef mailbox_t * sys_mbox_t;
|
||||
typedef thread_t * sys_thread_t;
|
||||
typedef int sys_prot_t;
|
||||
typedef syssts_t sys_prot_t;
|
||||
|
||||
#define SYS_MBOX_NULL (mailbox_t *)0
|
||||
#define SYS_THREAD_NULL (thread_t *)0
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
|
||||
/** @brief IP Address. */
|
||||
#if !defined(LWIP_IPADDR) || defined(__DOXYGEN__)
|
||||
#define LWIP_IPADDR(p) IP4_ADDR(p, 192, 168, 1, 20)
|
||||
#define LWIP_IPADDR(p) IP4_ADDR(p, 192, 168, 1, 10)
|
||||
#endif
|
||||
|
||||
/** @brief IP Gateway. */
|
||||
|
|
Loading…
Reference in New Issue