1 // mgcc test_frescan_send_basic.c -L. -lfrescan -o mprogram_wifi2
2 // mgcc test_frescan_send_basic.c -DSENDER -L. -lfrescan -o mprogram_wifi1
4 #include <stdio.h> // perror
5 #include <stdlib.h> // exit
6 #include <unistd.h> // sleep
8 #include <drivers/frescan.h>
10 #define ERROR(s) {perror (s); exit (-1);}
15 // #define ENABLE_LOGGING
23 #include <drivers/console_switcher.h>
24 #include <misc/logger.h>
26 #define LOG_DEVICE LOG_ETHERNET
32 printf(" press Enter...");
39 frescan_send_params_t params;
42 frescan_init_params_t init_params;
44 init_params.net = NETWORK;
45 init_params.node = LOCAL_NODE;
46 init_params.tx_fp_max_prio = 10;
47 init_params.rx_num_of_channels = 5;
48 init_params.rx_channel_max_prio = NULL;
52 ret = logger_init(LOG_DEVICE);
55 printf("Changing to membuffer console\n");
56 MEMBUFFER_CONSOLE_INIT();
60 ret = frescan_init(&init_params);
61 if (ret != 0) ERROR ("could not init FRESCAN");
63 printf("FRESCAN initialized\n");
68 params.flags = FRESCAN_FP | FRESCAN_ASYNC;
73 for (i=0; i<=3; i++) {
74 written = snprintf(msg, sizeof(msg), "his number is... %d", i);
75 ret = frescan_send(¶ms, (uint8_t *)msg, written);
76 if (ret != 0) ERROR ("could not send message\n");
77 printf("SENT: %d\n", i);
80 while (logger_manual_call() > 0);
94 frescan_recv_params_t params;
98 frescan_init_params_t init_params;
101 init_params.net = NETWORK;
102 init_params.node = LOCAL_NODE;
103 init_params.tx_fp_max_prio = 10;
104 init_params.rx_num_of_channels = 5;
105 init_params.rx_channel_max_prio = NULL;
107 ret = frescan_init(&init_params);
108 if (ret != 0) ERROR ("could not init FRESCAN");
110 printf("FRESCAN initialized\n");
112 params.net = NETWORK;
114 params.flags = FRESCAN_SYNC;
117 printf("RECEIVING...\n");
118 ret = frescan_recv(¶ms, (uint8_t *)msg, sizeof(msg),
119 &recv_bytes, &from, &prio);
120 if (ret != 0) ERROR ("could not send message");
122 msg[recv_bytes] = '\0';
123 printf("RECEIVED: %s with prio:%u\n", msg, prio);
125 // for (i=0; i<recv_bytes; i++) {
126 // printf("msg[%d] = 0x%X;\n", i, msg[i]);