@@ -40,19 +40,12 @@ using namespace utest::v1;
40
40
namespace {
41
41
char tx_buffer[MBED_CFG_UDP_CLIENT_ECHO_BUFFER_SIZE] = {0 };
42
42
char rx_buffer[MBED_CFG_UDP_CLIENT_ECHO_BUFFER_SIZE] = {0 };
43
- const char ASCII_MAX = ' ~' - ' ' ;
44
43
const int ECHO_LOOPS = 16 ;
45
- char uuid[48 ] = {0 };
46
44
}
47
45
48
- void prep_buffer (char *uuid, char * tx_buffer, size_t tx_size) {
46
+ void prep_buffer (char *tx_buffer, size_t tx_size) {
49
47
size_t i = 0 ;
50
48
51
- memcpy (tx_buffer, uuid, strlen (uuid));
52
- i += strlen (uuid);
53
-
54
- tx_buffer[i++] = ' ' ;
55
-
56
49
for (; i<tx_size; ++i) {
57
50
tx_buffer[i] = (rand () % 10 ) + ' 0' ;
58
51
}
@@ -76,11 +69,29 @@ void test_udp_echo() {
76
69
sock.open (net);
77
70
sock.set_timeout (MBED_CFG_UDP_CLIENT_ECHO_TIMEOUT);
78
71
72
+ #if defined(MBED_CONF_APP_ECHO_SERVER_ADDR) && defined(MBED_CONF_APP_ECHO_SERVER_PORT)
79
73
SocketAddress udp_addr (MBED_CONF_APP_ECHO_SERVER_ADDR, MBED_CONF_APP_ECHO_SERVER_PORT);
74
+ #else /* MBED_CONF_APP_ECHO_SERVER_ADDR && MBED_CONF_APP_ECHO_SERVER_PORT */
75
+ char recv_key[] = " host_port" ;
76
+ char ipbuf[60 ] = {0 };
77
+ char portbuf[16 ] = {0 };
78
+ unsigned int port = 0 ;
79
+
80
+ greentea_send_kv (" target_ip" , net->get_ip_address ());
81
+ greentea_send_kv (" host_ip" , " " );
82
+ greentea_parse_kv (recv_key, ipbuf, sizeof (recv_key), sizeof (ipbuf));
83
+
84
+ greentea_send_kv (" host_port" , " " );
85
+ greentea_parse_kv (recv_key, portbuf, sizeof (recv_key), sizeof (ipbuf));
86
+ sscanf (portbuf, " %u" , &port);
87
+
88
+ printf (" MBED: UDP Server IP address received: %s:%d \n " , ipbuf, port);
89
+ SocketAddress udp_addr (ipbuf, port);
90
+ #endif /* MBED_CONF_APP_ECHO_SERVER_ADDR && MBED_CONF_APP_ECHO_SERVER_PORT */
80
91
81
92
int success = 0 ;
82
93
for (int i = 0 ; success < ECHO_LOOPS; i++) {
83
- prep_buffer (uuid, tx_buffer, sizeof (tx_buffer));
94
+ prep_buffer (tx_buffer, sizeof (tx_buffer));
84
95
const int ret = sock.sendto (udp_addr, tx_buffer, sizeof (tx_buffer));
85
96
if (ret >= 0 ) {
86
97
printf (" [%02d] sent %d bytes - %.*s \n " , i, ret, ret, tx_buffer);
@@ -127,14 +138,6 @@ void test_udp_echo() {
127
138
// Test setup
128
139
utest::v1::status_t test_setup (const size_t number_of_cases) {
129
140
GREENTEA_SETUP (240 , " udp_echo" );
130
-
131
- // create mac address based on uuid
132
- uint64_t mac = 0 ;
133
- for (int i = 0 ; i < sizeof (uuid); i++) {
134
- mac += uuid[i];
135
- }
136
- // mbed_set_mac_address((const char*)mac, /*coerce control bits*/ 1);
137
-
138
141
return verbose_test_setup_handler (number_of_cases);
139
142
}
140
143
0 commit comments