From: sangorrin Date: Tue, 6 May 2008 18:27:03 +0000 (+0000) Subject: new tests and measures X-Git-Url: https://rtime.felk.cvut.cz/gitweb/frescor/fna.git/commitdiff_plain/26f3cf4f62c233198c74a139dab3f637bd463e45 new tests and measures git-svn-id: http://www.frescor.org/private/svn/frescor/fna/trunk@1154 35b4ef3e-fd22-0410-ab77-dab3279adceb --- diff --git a/tests/tests_frescan/test_frescan_send_basic.c b/tests/tests_frescan/test_frescan_fp_send_basic.c similarity index 100% rename from tests/tests_frescan/test_frescan_send_basic.c rename to tests/tests_frescan/test_frescan_fp_send_basic.c diff --git a/tests/tests_frescan/test_frescan_fp_send_receive_measures.c b/tests/tests_frescan/test_frescan_fp_send_receive_measures.c new file mode 100644 index 0000000..2d4e41e --- /dev/null +++ b/tests/tests_frescan/test_frescan_fp_send_receive_measures.c @@ -0,0 +1,125 @@ +#include // perror +#include // exit +#include // sleep +#include + +#include "frescan.h" +#include "frescan_servers.h" +#include "frescan_debug.h" + +#define NETWORK 0 +#define LOG_DEVICE LOG_ETHERNET + +#define NUM_MSG_BYTES 8 // 8 32 64 512 1488 +#define ENABLE_DEBUG false +#define NUM_MEASURES 100 + +#define LOCAL_NODE 0 // 0 1 + +#include +#include + +static const trace_point_id_t BEGIN = 0; +static const trace_point_id_t END = 1; + +int main () +{ + int i, ret; + frescan_send_params_t send_params; + frescan_recv_params_t recv_params; + char msg[1500]; // big enough for all the messages + frescan_init_params_t init_params; + frescan_node_t me; + size_t recv_bytes; + frescan_node_t from; + frescan_prio_t prio; + + me = LOCAL_NODE; + + DEBUG(ENABLE_DEBUG, ">> Initializing FRESCAN (me:%u)\n", me); + + init_params.net = NETWORK; + init_params.node = LOCAL_NODE; + init_params.tx_fp_max_prio = 10; + init_params.rx_num_of_channels = 5; + init_params.rx_channel_max_prio = NULL; + + ret = frescan_init(&init_params); + if (ret != 0) ERROR ("could not init FRESCAN"); + + DEBUG(ENABLE_DEBUG, ">> Enter in loop for sending packets\n"); + + send_params.net = NETWORK; + send_params.channel = 0; + send_params.flags = FRESCAN_FP | FRESCAN_ASYNC; + send_params.prio = 9; + send_params.to = (me == 0)? 1 : 0; + + recv_params.net = NETWORK; + recv_params.channel = 0; + recv_params.flags = FRESCAN_SYNC; + + if (me == 0) { + DEBUG(ENABLE_DEBUG, ">> Init logger and timer measurements\n"); + + ret = logger_init(LOG_DEVICE); + assert(ret == 0); + + ret = time_measure_hwtime_init(BEGIN, "frescan_begin"); + assert(ret == 0); + + ret = time_measure_hwtime_init(END, "frescan_end"); + assert(ret == 0); + + DEBUG(ENABLE_DEBUG, ">> Enter in loop for send-recv packets\n"); + + for (i=0; i> received %d bytes\n", recv_bytes); + } + + ret = time_measure_hwtime_write_membuffer(BEGIN); + assert(ret == 0); + + ret = time_measure_hwtime_write_membuffer(END); + assert(ret == 0); + + while (logger_manual_call() > 0); + + } else { + DEBUG(ENABLE_DEBUG, ">> Enter in loop for recv-send packets\n"); + + while(1) { + ret = frescan_recv(&recv_params, + (uint8_t *)msg, + sizeof(msg), + &recv_bytes, + &from, + &prio); + if (ret != 0) ERROR ("could not receive message"); + + ret = frescan_send(&send_params, + (uint8_t *)msg, + recv_bytes); + if (ret != 0) ERROR ("could not send message\n"); + } + } + + return 0; +} diff --git a/tests/tests_frescan/test_frescan_servers_send_receive_measures.c b/tests/tests_frescan/test_frescan_servers_send_receive_measures.c index 695a262..b15f9ff 100644 --- a/tests/tests_frescan/test_frescan_servers_send_receive_measures.c +++ b/tests/tests_frescan/test_frescan_servers_send_receive_measures.c @@ -5,12 +5,16 @@ #include "frescan.h" #include "frescan_servers.h" +#include "frescan_debug.h" -#define ERROR(s) {perror (s); exit (-1);} #define NETWORK 0 #define LOG_DEVICE LOG_ETHERNET -#define LOCAL_NODE 0 +#define NUM_MSG_BYTES 1488 // 8 32 64 512 1488 +#define ENABLE_DEBUG false +#define NUM_MEASURES 100 + +#define LOCAL_NODE 0 // 0 1 #include #include @@ -23,8 +27,7 @@ int main () int i, ret; frescan_send_params_t send_params; frescan_recv_params_t recv_params; - char msg[200]; - int written; + char msg[1500]; // big enough for all the messages frescan_init_params_t init_params; frescan_server_params_t server_params; frescan_node_t me; @@ -34,7 +37,7 @@ int main () me = LOCAL_NODE; - printf(">> Initializing FRESCAN (me:%u)\n", me); + DEBUG(ENABLE_DEBUG, ">> Initializing FRESCAN (me:%u)\n", me); init_params.net = NETWORK; init_params.node = LOCAL_NODE; @@ -45,10 +48,10 @@ int main () ret = frescan_init(&init_params); if (ret != 0) ERROR ("could not init FRESCAN"); - printf(">> Creating a Server\n"); + DEBUG(ENABLE_DEBUG, ">> Creating a Server\n"); - server_params.values.budget = 3; - server_params.values.period.tv_sec = 3; + server_params.values.budget = NUM_MSG_BYTES / 8; + server_params.values.period.tv_sec = 1; server_params.values.period.tv_nsec = 0; server_params.prio = 4; @@ -57,7 +60,7 @@ int main () &send_params.ss); if (ret != 0) ERROR ("could not create server"); - printf(">> Enter in loop for sending packets\n"); + DEBUG(ENABLE_DEBUG, ">> Enter in loop for sending packets\n"); send_params.net = NETWORK; send_params.channel = 0; @@ -69,7 +72,7 @@ int main () recv_params.flags = FRESCAN_SYNC; if (me == 0) { - printf(">> Init logger and timer measurements\n"); + DEBUG(ENABLE_DEBUG, ">> Init logger and timer measurements\n"); ret = logger_init(LOG_DEVICE); assert(ret == 0); @@ -80,16 +83,14 @@ int main () ret = time_measure_hwtime_init(END, "frescan_end"); assert(ret == 0); - printf(">> Enter in loop for send-recv packets\n"); - - for (i=0; i<=100; i++) { - written = snprintf(msg, sizeof(msg), "0123456789012345678901234567890123456789%d", i); + DEBUG(ENABLE_DEBUG, ">> Enter in loop for send-recv packets\n"); + for (i=0; i> received %d bytes\n", recv_bytes); } ret = time_measure_hwtime_write_membuffer(BEGIN); @@ -115,7 +115,7 @@ int main () while (logger_manual_call() > 0); } else { - printf(">> Enter in loop for recv-send packets\n"); + DEBUG(ENABLE_DEBUG, ">> Enter in loop for recv-send packets\n"); while(1) { ret = frescan_recv(&recv_params,