From 4a73d1b7e1523ac7f17866195d390e9dfffc296b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cenk=20G=C3=BCndo=C4=9Fan?= Date: Thu, 8 Jun 2017 21:40:42 +0200 Subject: [PATCH] tests: add trickle test --- tests/trickle/Makefile | 6 ++++ tests/trickle/main.c | 67 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 tests/trickle/Makefile create mode 100644 tests/trickle/main.c diff --git a/tests/trickle/Makefile b/tests/trickle/Makefile new file mode 100644 index 000000000..3c25ff48c --- /dev/null +++ b/tests/trickle/Makefile @@ -0,0 +1,6 @@ +APPLICATION = trickle +include ../Makefile.tests_common + +USEMODULE += trickle + +include $(RIOTBASE)/Makefile.include diff --git a/tests/trickle/main.c b/tests/trickle/main.c new file mode 100644 index 000000000..6b6c94846 --- /dev/null +++ b/tests/trickle/main.c @@ -0,0 +1,67 @@ +/* + * Copyright (C) 2017 HAW Hamburg + * + * This file is subject to the terms and conditions of the GNU Lesser + * General Public License v2.1. See the file LICENSE in the top level + * directory for more details. + */ + +/** + * @ingroup tests + * @{ + * + * @file + * @brief Trickle test application + * + * @author Cenk Gündoğan + * + * @} + */ + +#include + +#include "trickle.h" +#include "thread.h" +#include "msg.h" + +#define Q_LEN (8) +#define TRICKLE_MSG (0xfeef) +#define TR_IMIN (8) +#define TR_IDOUBLINGS (20) +#define TR_REDCONST (10) + +static msg_t _msg_q[Q_LEN]; + +static void callback(void *args) +{ + (void) args; + printf("now: %" PRIu32 "\n", xtimer_now_usec()); + return; +} + +static trickle_t trickle = { .callback.func = &callback, + .callback.args = NULL }; + +int main(void) +{ + msg_t msg; + + msg_init_queue(_msg_q, Q_LEN); + + trickle_start(sched_active_pid, &trickle, TRICKLE_MSG, TR_IMIN, + TR_IDOUBLINGS, TR_REDCONST); + + while (1) { + msg_receive(&msg); + + switch (msg.type) { + case TRICKLE_MSG: + trickle_callback((trickle_t *) msg.content.ptr); + break; + default: + break; + } + } + + return 0; +}