Skip to content

Commit b590051

Browse files
authored
Merge pull request #5808 from SenRamakri/sen_ESP8266TestConfig
ESP8266 Test Config and fixes for tests tcp_echo/tcp_hello_world
2 parents 45d7f50 + d82566c commit b590051

File tree

5 files changed

+60
-11
lines changed

5 files changed

+60
-11
lines changed

TESTS/netsocket/tcp_echo/main.cpp

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,13 @@
2828

2929
using namespace utest::v1;
3030

31-
#ifndef MBED_CFG_TCP_CLIENT_ECHO_BUFFER_SIZE
32-
#define MBED_CFG_TCP_CLIENT_ECHO_BUFFER_SIZE 256
31+
#ifndef MBED_CONF_APP_TCP_CLIENT_ECHO_BUFFER_SIZE
32+
#define MBED_CONF_APP_TCP_CLIENT_ECHO_BUFFER_SIZE 256
3333
#endif
3434

3535
namespace {
36-
char tx_buffer[MBED_CFG_TCP_CLIENT_ECHO_BUFFER_SIZE] = {0};
37-
char rx_buffer[MBED_CFG_TCP_CLIENT_ECHO_BUFFER_SIZE] = {0};
36+
char tx_buffer[MBED_CONF_APP_TCP_CLIENT_ECHO_BUFFER_SIZE] = {0};
37+
char rx_buffer[MBED_CONF_APP_TCP_CLIENT_ECHO_BUFFER_SIZE] = {0};
3838
}
3939

4040
void prep_buffer(char *tx_buffer, size_t tx_size) {
@@ -44,7 +44,7 @@ void prep_buffer(char *tx_buffer, size_t tx_size) {
4444
}
4545

4646
void test_tcp_echo() {
47-
47+
int n = 0;
4848
NetworkInterface* net = MBED_CONF_APP_OBJECT_CONSTRUCTION;
4949
int err = MBED_CONF_APP_CONNECT_STATEMENT;
5050

@@ -86,7 +86,12 @@ void test_tcp_echo() {
8686

8787
prep_buffer(tx_buffer, sizeof(tx_buffer));
8888
#if defined(MBED_CONF_APP_TCP_ECHO_PREFIX)
89-
sock.recv(rx_buffer, sizeof(MBED_CONF_APP_TCP_ECHO_PREFIX));
89+
n = sock.recv(rx_buffer, sizeof(MBED_CONF_APP_TCP_ECHO_PREFIX));
90+
if (n >= 0) {
91+
printf("recv-ed prefix: %d bytes - %.*s \n", n, n, rx_buffer);
92+
} else {
93+
printf("Network error in receiving prefix: %d\n", n);
94+
}
9095
#endif /* MBED_CONF_APP_TCP_ECHO_PREFIX */
9196
const int ret = sock.send(tx_buffer, sizeof(tx_buffer));
9297
if (ret >= 0) {
@@ -95,7 +100,7 @@ void test_tcp_echo() {
95100
printf("Network error %d\n", ret);
96101
}
97102

98-
int n = sock.recv(rx_buffer, sizeof(rx_buffer));
103+
n = sock.recv(rx_buffer, sizeof(rx_buffer));
99104
if (n >= 0) {
100105
printf("recv %d bytes - %.*s \n", n, n, rx_buffer);
101106
} else {

TESTS/netsocket/tcp_hello_world/main.cpp

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,9 +76,15 @@ void test_tcp_hello_world() {
7676
sock.send(buffer, strlen(buffer));
7777

7878
// Server will respond with HTTP GET's success code
79-
const int ret = sock.recv(buffer, sizeof(buffer) - 1);
80-
buffer[ret] = '\0';
79+
int ret = 0;
80+
int bytes_recvd = 0;
8181

82+
do {
83+
ret += bytes_recvd;
84+
bytes_recvd = sock.recv(buffer+ret, sizeof(buffer) - 1 - ret);
85+
}while(bytes_recvd > 0);
86+
buffer[ret] = '\0';
87+
8288
// Find 200 OK HTTP status in reply
8389
bool found_200_ok = find_substring(buffer, buffer + ret, HTTP_OK_STR, HTTP_OK_STR + strlen(HTTP_OK_STR));
8490
// Find "Hello World!" string in reply
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
{
2+
"config": {
3+
"header-file": {
4+
"help" : "String for including your driver header file",
5+
"value" : "\"ESP8266Interface.h\""
6+
},
7+
"object-construction" : {
8+
"value" : "new ESP8266Interface( D1, D0, false )"
9+
},
10+
"connect-statement" : {
11+
"help" : "Must use 'net' variable name, replace WIFI_SSID, WIFI_PASSWORD, WIFI_SECURITY, WIFI_CHANNEL with your WiFi settings",
12+
"value" : "((ESP8266Interface *)net)->connect(WIFI_SSID, WIFI_PASSWORD, WIFI_SECURITY, WIFI_CHANNEL)"
13+
},
14+
"echo-server-addr" : {
15+
"help" : "IP address of echo server",
16+
"value" : "\"195.34.89.241\""
17+
},
18+
"echo-server-port" : {
19+
"help" : "Port of echo server",
20+
"value" : "7"
21+
},
22+
"tcp-echo-prefix" : {
23+
"help" : "Some servers send a prefix before echoed message",
24+
"value" : "\"u-blox AG TCP/UDP test service\\n\""
25+
},
26+
"tcp-client-echo-buffer-size" : {
27+
"help" : "Number of bytes to be send to echo server",
28+
"value" : "200"
29+
},
30+
"ESP8266-TX": {
31+
"value":"D1"
32+
},
33+
"ESP8266-RX": {
34+
"value":"D0"
35+
}
36+
}
37+
}

tools/test_configs/config_paths.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,6 @@
44
"HEAPBLOCKDEVICE_AND_ETHERNET": "HeapBlockDeviceAndEthernetInterface.json",
55
"ODIN_WIFI" : "OdinInterface.json",
66
"ODIN_ETHERNET" : "Odin_EthernetInterface.json",
7-
"REALTEK_WIFI" : "RealtekInterface.json"
7+
"REALTEK_WIFI" : "RealtekInterface.json",
8+
"ESP8266_WIFI" : "ESP8266Interface.json"
89
}

tools/test_configs/target_configs.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
},
1010
"K64F": {
1111
"default_test_configuration": "HEAPBLOCKDEVICE_AND_ETHERNET",
12-
"test_configurations": ["HEAPBLOCKDEVICE_AND_ETHERNET"]
12+
"test_configurations": ["HEAPBLOCKDEVICE_AND_ETHERNET", "ESP8266_WIFI", "ETHERNET"]
1313
},
1414
"NUCLEO_F429ZI": {
1515
"default_test_configuration": "HEAPBLOCKDEVICE_AND_ETHERNET",

0 commit comments

Comments
 (0)