mirror of
https://github.com/espressif/esp-nimble.git
synced 2026-11-01 01:56:10 +00:00
porting/linux: Fix some coding style issues
This code didn't follow coding style guidelines.
This commit is contained in:
@@ -31,15 +31,15 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define BLE_NPL_OS_ALIGNMENT (__WORDSIZE / 8)
|
||||
#define BLE_NPL_OS_ALIGNMENT (__WORDSIZE / 8)
|
||||
|
||||
#define BLE_NPL_TIME_FOREVER UINT32_MAX
|
||||
#define BLE_NPL_TIME_FOREVER UINT32_MAX
|
||||
|
||||
struct ble_npl_eventq * ble_npl_eventq_dflt_get(void);
|
||||
struct ble_npl_eventq *ble_npl_eventq_dflt_get(void);
|
||||
void ble_npl_eventq_run(struct ble_npl_eventq *evq);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _NPL_H_ */
|
||||
#endif /* _NPL_H_ */
|
||||
|
||||
@@ -24,14 +24,14 @@
|
||||
#include <stdio.h>
|
||||
|
||||
/* Example on how to use macro to generate module logging functions */
|
||||
#define BLE_NPL_LOG_IMPL(lvl) \
|
||||
static inline void _BLE_NPL_LOG_CAT(BLE_NPL_LOG_MODULE, \
|
||||
_BLE_NPL_LOG_CAT(_, lvl))(const char *fmt, ...)\
|
||||
{ \
|
||||
va_list args; \
|
||||
va_start(args, fmt); \
|
||||
vprintf(fmt, args); \
|
||||
va_end(args); \
|
||||
}
|
||||
#define BLE_NPL_LOG_IMPL(lvl) \
|
||||
static inline void _BLE_NPL_LOG_CAT( \
|
||||
BLE_NPL_LOG_MODULE, _BLE_NPL_LOG_CAT(_, lvl))(const char *fmt, ...) \
|
||||
{ \
|
||||
va_list args; \
|
||||
va_start(args, fmt); \
|
||||
vprintf(fmt, args); \
|
||||
va_end(args); \
|
||||
}
|
||||
|
||||
#endif /* _NIMBLE_NPL_OS_LOG_H_ */
|
||||
#endif /* _NIMBLE_NPL_OS_LOG_H_ */
|
||||
|
||||
@@ -32,50 +32,49 @@
|
||||
typedef uint32_t ble_npl_time_t;
|
||||
typedef int32_t ble_npl_stime_t;
|
||||
|
||||
//typedef int os_sr_t;
|
||||
typedef int ble_npl_stack_t;
|
||||
|
||||
|
||||
struct ble_npl_event {
|
||||
uint8_t ev_queued;
|
||||
ble_npl_event_fn *ev_cb;
|
||||
void *ev_arg;
|
||||
uint8_t ev_queued;
|
||||
ble_npl_event_fn *ev_cb;
|
||||
void *ev_arg;
|
||||
};
|
||||
|
||||
struct ble_npl_eventq {
|
||||
void *q;
|
||||
void *q;
|
||||
};
|
||||
|
||||
struct ble_npl_callout {
|
||||
struct ble_npl_event c_ev;
|
||||
struct ble_npl_eventq *c_evq;
|
||||
uint32_t c_ticks;
|
||||
timer_t c_timer;
|
||||
bool c_active;
|
||||
struct ble_npl_event c_ev;
|
||||
struct ble_npl_eventq *c_evq;
|
||||
uint32_t c_ticks;
|
||||
timer_t c_timer;
|
||||
bool c_active;
|
||||
};
|
||||
|
||||
struct ble_npl_mutex {
|
||||
pthread_mutex_t lock;
|
||||
pthread_mutexattr_t attr;
|
||||
struct timespec wait;
|
||||
pthread_mutex_t lock;
|
||||
pthread_mutexattr_t attr;
|
||||
struct timespec wait;
|
||||
};
|
||||
|
||||
struct ble_npl_sem {
|
||||
sem_t lock;
|
||||
sem_t lock;
|
||||
};
|
||||
|
||||
struct ble_npl_task {
|
||||
pthread_t handle;
|
||||
pthread_attr_t attr;
|
||||
struct sched_param param;
|
||||
const char* name;
|
||||
pthread_t handle;
|
||||
pthread_attr_t attr;
|
||||
struct sched_param param;
|
||||
const char *name;
|
||||
};
|
||||
|
||||
typedef void *(*ble_npl_task_func_t)(void *);
|
||||
|
||||
int ble_npl_task_init(struct ble_npl_task *t, const char *name, ble_npl_task_func_t func,
|
||||
void *arg, uint8_t prio, ble_npl_time_t sanity_itvl,
|
||||
ble_npl_stack_t *stack_bottom, uint16_t stack_size);
|
||||
int ble_npl_task_init(struct ble_npl_task *t, const char *name,
|
||||
ble_npl_task_func_t func, void *arg, uint8_t prio,
|
||||
ble_npl_time_t sanity_itvl,
|
||||
ble_npl_stack_t *stack_bottom, uint16_t stack_size);
|
||||
|
||||
int ble_npl_task_remove(struct ble_npl_task *t);
|
||||
|
||||
@@ -83,4 +82,4 @@ uint8_t ble_npl_task_count(void);
|
||||
|
||||
void ble_npl_task_yield(void);
|
||||
|
||||
#endif // _NPL_OS_TYPES_H
|
||||
#endif /* _NPL_OS_TYPES_H */
|
||||
|
||||
@@ -31,7 +31,9 @@ static void
|
||||
ble_npl_callout_timer_cb(union sigval sv)
|
||||
{
|
||||
struct ble_npl_callout *c = (struct ble_npl_callout *)sv.sival_ptr;
|
||||
|
||||
assert(c);
|
||||
|
||||
c->c_active = false;
|
||||
if (c->c_evq) {
|
||||
ble_npl_eventq_put(c->c_evq, &c->c_ev);
|
||||
@@ -40,12 +42,11 @@ ble_npl_callout_timer_cb(union sigval sv)
|
||||
}
|
||||
}
|
||||
|
||||
void ble_npl_callout_init(struct ble_npl_callout *c,
|
||||
struct ble_npl_eventq *evq,
|
||||
ble_npl_event_fn *ev_cb,
|
||||
void *ev_arg)
|
||||
void
|
||||
ble_npl_callout_init(struct ble_npl_callout *c, struct ble_npl_eventq *evq,
|
||||
ble_npl_event_fn *ev_cb, void *ev_arg)
|
||||
{
|
||||
struct sigevent event;
|
||||
struct sigevent event;
|
||||
|
||||
/* Initialize the callout. */
|
||||
memset(c, 0, sizeof(*c));
|
||||
@@ -55,29 +56,32 @@ void ble_npl_callout_init(struct ble_npl_callout *c,
|
||||
c->c_active = false;
|
||||
|
||||
event.sigev_notify = SIGEV_THREAD;
|
||||
event.sigev_value.sival_ptr = c; // put callout obj in signal args
|
||||
event.sigev_value.sival_ptr = c; // put callout obj in signal args
|
||||
event.sigev_notify_function = ble_npl_callout_timer_cb;
|
||||
event.sigev_notify_attributes = NULL;
|
||||
|
||||
timer_create(CLOCK_REALTIME, &event, &c->c_timer);
|
||||
}
|
||||
|
||||
bool ble_npl_callout_is_active(struct ble_npl_callout *c)
|
||||
bool
|
||||
ble_npl_callout_is_active(struct ble_npl_callout *c)
|
||||
{
|
||||
// TODO: seek native posix method to determine whether timer_t is active.
|
||||
// TODO: fix bug where one-shot timer is still active after fired.
|
||||
/* TODO: seek native posix method to determine whether timer_t is active.
|
||||
* TODO: fix bug where one-shot timer is still active after fired.
|
||||
*/
|
||||
return c->c_active;
|
||||
}
|
||||
|
||||
int ble_npl_callout_inited(struct ble_npl_callout *c)
|
||||
int
|
||||
ble_npl_callout_inited(struct ble_npl_callout *c)
|
||||
{
|
||||
return (c->c_timer != NULL);
|
||||
}
|
||||
|
||||
ble_npl_error_t ble_npl_callout_reset(struct ble_npl_callout *c,
|
||||
ble_npl_time_t ticks)
|
||||
ble_npl_error_t
|
||||
ble_npl_callout_reset(struct ble_npl_callout *c, ble_npl_time_t ticks)
|
||||
{
|
||||
struct itimerspec its;
|
||||
struct itimerspec its;
|
||||
|
||||
if (ticks < 0) {
|
||||
return BLE_NPL_EINVAL;
|
||||
@@ -90,7 +94,7 @@ ble_npl_error_t ble_npl_callout_reset(struct ble_npl_callout *c,
|
||||
c->c_ticks = ble_npl_time_get() + ticks;
|
||||
|
||||
its.it_interval.tv_sec = 0;
|
||||
its.it_interval.tv_nsec = 0; // one shot
|
||||
its.it_interval.tv_nsec = 0; // one shot
|
||||
its.it_value.tv_sec = (ticks / 1000);
|
||||
its.it_value.tv_nsec = (ticks % 1000) * 1000000; // expiration
|
||||
its.it_value.tv_nsec %= 1000000000;
|
||||
@@ -100,16 +104,17 @@ ble_npl_error_t ble_npl_callout_reset(struct ble_npl_callout *c,
|
||||
return BLE_NPL_OK;
|
||||
}
|
||||
|
||||
int ble_npl_callout_queued(struct ble_npl_callout *c)
|
||||
int
|
||||
ble_npl_callout_queued(struct ble_npl_callout *c)
|
||||
{
|
||||
struct itimerspec its;
|
||||
timer_gettime(c->c_timer, &its);
|
||||
|
||||
return ((its.it_value.tv_sec > 0) ||
|
||||
(its.it_value.tv_nsec > 0));
|
||||
return ((its.it_value.tv_sec > 0) || (its.it_value.tv_nsec > 0));
|
||||
}
|
||||
|
||||
void ble_npl_callout_stop(struct ble_npl_callout *c)
|
||||
void
|
||||
ble_npl_callout_stop(struct ble_npl_callout *c)
|
||||
{
|
||||
if (!ble_npl_callout_inited(c)) {
|
||||
return;
|
||||
@@ -137,13 +142,12 @@ ble_npl_callout_set_arg(struct ble_npl_callout *co, void *arg)
|
||||
}
|
||||
|
||||
uint32_t
|
||||
ble_npl_callout_remaining_ticks(struct ble_npl_callout *co,
|
||||
ble_npl_time_t now)
|
||||
ble_npl_callout_remaining_ticks(struct ble_npl_callout *co, ble_npl_time_t now)
|
||||
{
|
||||
ble_npl_time_t rt;
|
||||
uint32_t exp;
|
||||
|
||||
struct itimerspec its;
|
||||
|
||||
timer_gettime(co->c_timer, &its);
|
||||
|
||||
exp = its.it_value.tv_sec * 1000;
|
||||
|
||||
@@ -34,23 +34,22 @@ extern "C" {
|
||||
* and sets the task as ready to run, and inserts it into the operating
|
||||
* system scheduler.
|
||||
*
|
||||
* @param t The task to initialize
|
||||
* @param name The name of the task to initialize
|
||||
* @param func The task function to call
|
||||
* @param arg The argument to pass to this task function
|
||||
* @param prio The priority at which to run this task
|
||||
* @param sanity_itvl The time at which this task should check in with the
|
||||
* sanity task. OS_WAIT_FOREVER means never check in
|
||||
* here.
|
||||
* @param stack_bottom A pointer to the bottom of a task's stack
|
||||
* @param stack_size The overall size of the task's stack.
|
||||
* @param t The task to initialize
|
||||
* @param name The name of the task to initialize
|
||||
* @param func The task function to call
|
||||
* @param arg The argument to pass to this task function
|
||||
* @param prio The priority at which to run this task
|
||||
* @param sanity_itvl The time at which this task should check in with the
|
||||
* sanity task. OS_WAIT_FOREVER means never check in here.
|
||||
* @param stack_bottom A pointer to the bottom of a task's stack
|
||||
* @param stack_size The overall size of the task's stack.
|
||||
*
|
||||
* @return 0 on success, non-zero on failure.
|
||||
*/
|
||||
int
|
||||
ble_npl_task_init(struct ble_npl_task *t, const char *name, ble_npl_task_func_t func,
|
||||
void *arg, uint8_t prio, ble_npl_time_t sanity_itvl,
|
||||
ble_npl_stack_t *stack_bottom, uint16_t stack_size)
|
||||
void *arg, uint8_t prio, ble_npl_time_t sanity_itvl,
|
||||
ble_npl_stack_t *stack_bottom, uint16_t stack_size)
|
||||
{
|
||||
int err;
|
||||
if ((t == NULL) || (func == NULL)) {
|
||||
@@ -58,14 +57,21 @@ ble_npl_task_init(struct ble_npl_task *t, const char *name, ble_npl_task_func_t
|
||||
}
|
||||
|
||||
err = pthread_attr_init(&t->attr);
|
||||
if (err) return err;
|
||||
err = pthread_attr_getschedparam (&t->attr, &t->param);
|
||||
if (err) return err;
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
err = pthread_attr_getschedparam(&t->attr, &t->param);
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
err = pthread_attr_setschedpolicy(&t->attr, SCHED_RR);
|
||||
if (err) return err;
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
t->param.sched_priority = prio;
|
||||
err = pthread_attr_setschedparam (&t->attr, &t->param);
|
||||
if (err) return err;
|
||||
err = pthread_attr_setschedparam(&t->attr, &t->param);
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
t->name = name;
|
||||
err = pthread_create(&t->handle, &t->attr, func, arg);
|
||||
@@ -101,12 +107,14 @@ ble_npl_get_current_task_id(void)
|
||||
return (void *)pthread_self();
|
||||
}
|
||||
|
||||
bool ble_npl_os_started(void)
|
||||
bool
|
||||
ble_npl_os_started(void)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
void ble_npl_task_yield(void)
|
||||
void
|
||||
ble_npl_task_yield(void)
|
||||
{
|
||||
sched_yield();
|
||||
}
|
||||
|
||||
@@ -33,9 +33,11 @@ ble_npl_time_t
|
||||
ble_npl_time_get(void)
|
||||
{
|
||||
struct timespec now;
|
||||
|
||||
if (clock_gettime(CLOCK_MONOTONIC, &now)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return now.tv_sec * 1000.0 + now.tv_nsec / 1000000.0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user