net: lwm2m: Convert to new timeout API

Align LWM2M stack implementation with the new timeout API.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
This commit is contained in:
Robert Lubos 2020-04-24 15:32:39 +02:00 committed by Jukka Rissanen
commit 40ac0a7a7d
5 changed files with 22 additions and 22 deletions

View file

@ -122,7 +122,7 @@ static int start_buzzer(struct ipso_buzzer_data *buzzer)
lwm2m_engine_set_bool(path, true);
float2ms(&buzzer->delay_duration, &temp);
k_delayed_work_submit(&buzzer->buzzer_work, temp);
k_delayed_work_submit(&buzzer->buzzer_work, K_MSEC(temp));
return 0;
}

View file

@ -153,7 +153,7 @@ static int start_timer(struct ipso_timer_data *timer)
lwm2m_engine_set_bool(path, true);
float2ms(&timer->delay_duration, &temp);
k_delayed_work_submit(&timer->timer_work, temp);
k_delayed_work_submit(&timer->timer_work, K_MSEC(temp));
return 0;
}

View file

@ -53,7 +53,7 @@ LOG_MODULE_REGISTER(LOG_MODULE_NAME);
#include "lwm2m_rd_client.h"
#endif
#define ENGINE_UPDATE_INTERVAL K_MSEC(500)
#define ENGINE_UPDATE_INTERVAL_MS 500
#define WELL_KNOWN_CORE_PATH "</.well-known/core>"
@ -116,8 +116,8 @@ static struct observe_node observe_node_data[CONFIG_LWM2M_ENGINE_MAX_OBSERVER];
struct service_node {
sys_snode_t node;
k_work_handler_t service_work;
u32_t min_call_period;
u64_t last_timestamp;
u32_t min_call_period; /* ms */
u64_t last_timestamp; /* ms */
};
static struct service_node service_node_data[MAX_PERIODIC_SERVICE];
@ -140,7 +140,7 @@ static int sock_nfds;
#define NUM_BLOCK1_CONTEXT CONFIG_LWM2M_NUM_BLOCK1_CONTEXT
/* TODO: figure out what's correct value */
#define TIMEOUT_BLOCKWISE_TRANSFER K_SECONDS(30)
#define TIMEOUT_BLOCKWISE_TRANSFER_MS (MSEC_PER_SEC * 30)
#define GET_BLOCK_NUM(v) ((v) >> 4)
#define GET_BLOCK_SIZE(v) (((v) & 0x7))
@ -262,7 +262,7 @@ init_block_ctx(const u8_t *token, u8_t tkl, struct block_context **ctx)
}
if (timestamp - block1_contexts[i].timestamp >
TIMEOUT_BLOCKWISE_TRANSFER) {
TIMEOUT_BLOCKWISE_TRANSFER_MS) {
*ctx = &block1_contexts[i];
/* TODO: notify application for block
* transfer timeout
@ -1043,7 +1043,7 @@ int lwm2m_send_message(struct lwm2m_message *msg)
}
k_delayed_work_submit(&msg->ctx->retransmit_work,
msg->pending->timeout);
K_MSEC(msg->pending->timeout));
} else {
lwm2m_reset_message(msg, true);
}
@ -3752,7 +3752,8 @@ static void retransmit_request(struct k_work *work)
/* don't error here, retry until timeout */
}
k_delayed_work_submit(&client_ctx->retransmit_work, pending->timeout);
k_delayed_work_submit(&client_ctx->retransmit_work,
K_MSEC(pending->timeout));
}
static int notify_message_reply_cb(const struct coap_packet *response,
@ -3881,8 +3882,7 @@ s32_t engine_next_service_timeout_ms(u32_t max_timeout)
u32_t timeout = max_timeout;
SYS_SLIST_FOR_EACH_CONTAINER(&engine_service_list, srv, node) {
time_left_ms = srv->last_timestamp +
K_MSEC(srv->min_call_period);
time_left_ms = srv->last_timestamp + srv->min_call_period;
/* service is due */
if (time_left_ms < timestamp) {
@ -3945,7 +3945,7 @@ static int lwm2m_engine_service(void)
*/
if (obs->event_timestamp > obs->last_timestamp &&
timestamp > obs->last_timestamp +
K_SECONDS(obs->min_period_sec)) {
MSEC_PER_SEC * obs->min_period_sec) {
obs->last_timestamp = k_uptime_get();
generate_notify_message(obs, true);
@ -3954,7 +3954,7 @@ static int lwm2m_engine_service(void)
* - current timestamp > last_timestamp + max_period_sec
*/
} else if (timestamp > obs->last_timestamp +
K_SECONDS(obs->max_period_sec)) {
MSEC_PER_SEC * obs->max_period_sec) {
obs->last_timestamp = k_uptime_get();
generate_notify_message(obs, false);
}
@ -3964,7 +3964,7 @@ static int lwm2m_engine_service(void)
timestamp = k_uptime_get();
SYS_SLIST_FOR_EACH_CONTAINER(&engine_service_list, srv, node) {
service_due_timestamp = srv->last_timestamp +
K_MSEC(srv->min_call_period);
srv->min_call_period;
/* service is due */
if (timestamp >= service_due_timestamp) {
srv->last_timestamp = k_uptime_get();
@ -3973,7 +3973,7 @@ static int lwm2m_engine_service(void)
}
/* calculate how long to sleep till the next service */
return engine_next_service_timeout_ms(ENGINE_UPDATE_INTERVAL);
return engine_next_service_timeout_ms(ENGINE_UPDATE_INTERVAL_MS);
}
int lwm2m_engine_context_close(struct lwm2m_ctx *client_ctx)
@ -4062,7 +4062,7 @@ static void socket_receive_loop(void)
while (1) {
/* wait for sockets */
if (sock_nfds < 1) {
k_sleep(lwm2m_engine_service());
k_msleep(lwm2m_engine_service());
continue;
}
@ -4073,14 +4073,14 @@ static void socket_receive_loop(void)
if (poll(sock_fds, sock_nfds, lwm2m_engine_service()) < 0) {
LOG_ERR("Error in poll:%d", errno);
errno = 0;
k_sleep(ENGINE_UPDATE_INTERVAL);
k_msleep(ENGINE_UPDATE_INTERVAL_MS);
continue;
}
for (i = 0; i < sock_nfds; i++) {
if (sock_fds[i].revents & POLLERR) {
LOG_ERR("Error in poll.. waiting a moment.");
k_sleep(ENGINE_UPDATE_INTERVAL);
k_msleep(ENGINE_UPDATE_INTERVAL_MS);
continue;
}

View file

@ -64,7 +64,7 @@ LOG_MODULE_REGISTER(LOG_MODULE_NAME);
#define DEVICE_STRING_SHORT 8
#define DEVICE_SERVICE_INTERVAL K_SECONDS(10)
#define DEVICE_SERVICE_INTERVAL_MS (MSEC_PER_SEC * 10)
/*
* Calculate resource instances as follows:
@ -371,7 +371,7 @@ static int lwm2m_device_init(struct device *dev)
/* call device_periodic_service() every 10 seconds */
ret = lwm2m_engine_add_service(device_periodic_service,
DEVICE_SERVICE_INTERVAL);
DEVICE_SERVICE_INTERVAL_MS);
return ret;
}

View file

@ -62,7 +62,7 @@ LOG_MODULE_REGISTER(LOG_MODULE_NAME);
#define LWM2M_RD_CLIENT_URI "rd"
#define SECONDS_TO_UPDATE_EARLY 6
#define STATE_MACHINE_UPDATE_INTERVAL K_MSEC(500)
#define STATE_MACHINE_UPDATE_INTERVAL_MS 500
/* Leave room for 32 hexadeciaml digits (UUID) + NULL */
#define CLIENT_EP_LEN 33
@ -912,7 +912,7 @@ void lwm2m_rd_client_stop(struct lwm2m_ctx *client_ctx,
static int lwm2m_rd_client_init(struct device *dev)
{
return lwm2m_engine_add_service(lwm2m_rd_client_service,
STATE_MACHINE_UPDATE_INTERVAL);
STATE_MACHINE_UPDATE_INTERVAL_MS);
}
SYS_INIT(lwm2m_rd_client_init, APPLICATION,