Skip to content

Commit ae6f2e1

Browse files
committed
libraries/WiFi: Code cleanup.
Signed-off-by: IFX-Anusha <[email protected]>
1 parent d68e6a1 commit ae6f2e1

File tree

4 files changed

+21
-27
lines changed

4 files changed

+21
-27
lines changed

libraries/WiFi/src/SecSocket.cpp

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
#include <SecSocket.h>
2-
#include <Arduino.h>
32

43
#define socket_assert(cy_ret) if (cy_ret != CY_RSLT_SUCCESS) { \
54
_status = SOCKET_STATUS_ERROR; \
@@ -16,7 +15,7 @@ Socket::Socket():
1615
_last_error(CY_RSLT_SUCCESS),
1716
remote_ip(0, 0, 0, 0),
1817
_port(0),
19-
_protocol(0) {
18+
_protocol(SOCKET_PROTOCOL_TCP) {
2019

2120
}
2221

@@ -238,10 +237,6 @@ cy_rslt_t Socket::getLastError() {
238237
return _last_error;
239238
}
240239

241-
void Socket::setPeerAddress(cy_socket_sockaddr_t *peer_addr) {
242-
_peer_ip = IPAddress(peer_addr->ip_address.ip.v4);
243-
_peer_port = peer_addr->port;
244-
}
245240

246241
bool Socket::connect(cy_socket_sockaddr_t *addr) {
247242
_last_error = cy_socket_connect(socket, addr, sizeof(cy_socket_sockaddr_t));
@@ -271,11 +266,9 @@ void Socket::receiveCallback(cy_socket_sockaddr_t *peer_addr) {
271266
case SOCKET_PROTOCOL_UDP:
272267
_last_error = cy_socket_recvfrom(socket, temp_rx_buff, bytes_rcvd_request,
273268
CY_SOCKET_FLAGS_RECVFROM_NONE, peer_addr, nullptr, &bytes_received);
274-
setPeerAddress(peer_addr);
275269
break;
276270
}
277271
socket_assert(_last_error);
278-
279272
for (uint32_t i = 0; i < bytes_received; i++) {
280273
rx_buf.store_char(temp_rx_buff[i]);
281274
}

libraries/WiFi/src/SecSocket.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,6 @@ class Socket {
6565
IPAddress remote_ip;
6666
uint16_t _port;
6767
socket_protocol_t _protocol;
68-
IPAddress _peer_ip;
69-
uint16_t _peer_port;
7068

7169
void setOptCallback(int optname, cy_socket_callback_t cback, void *arg);
7270

@@ -75,7 +73,6 @@ class Socket {
7573

7674
bool connect(cy_socket_sockaddr_t *addr);
7775
void receiveCallback(cy_socket_sockaddr_t *peer_addr = nullptr);
78-
void setPeerAddress(cy_socket_sockaddr_t *peer_addr);
7976

8077
static bool global_socket_initialized;
8178
static uint32_t global_socket_count;

libraries/WiFi/src/WiFiUdp.cpp

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#include "WiFiUdp.h"
2-
#include "Arduino.h"
2+
33

44
#define udp_assert(cy_ret) if (cy_ret != CY_RSLT_SUCCESS) { \
55
_status = SOCKET_STATUS_ERROR; \
@@ -11,7 +11,6 @@
1111
}
1212

1313
WiFiUDP::WiFiUDP() :
14-
client_handle(nullptr),
1514
_status(SOCKET_STATUS_UNINITED),
1615
_last_error(CY_RSLT_SUCCESS),
1716
remote_ip(0, 0, 0, 0),
@@ -20,37 +19,35 @@ WiFiUDP::WiFiUDP() :
2019
}
2120

2221
uint8_t WiFiUDP::begin(uint16_t port) {
23-
_port = port;
2422
_parsedPacketSize = 0;
2523

2624
// Initialize the socket for UDP
2725
socket.begin(SOCKET_PROTOCOL_UDP);
2826
if (socket.status() != SOCKET_STATUS_CREATED) {
29-
return 0; // Return 0 if socket creation fails
27+
return 0;
3028
}
3129

3230
socket.setReceiveOptCallback(receiveCallback, this);
3331

3432
// Bind the socket to the specified port
3533
socket.bind(port);
3634
if (socket.status() != SOCKET_STATUS_BOUND) {
37-
return 0; // Return 0 if binding fail
35+
return 0;
3836

3937
}
4038
return socket.status(); // Return the socket status
4139
}
4240

4341

4442
void WiFiUDP::stop() {
45-
// Stop the UDP socket
4643
socket.end();
4744
}
4845

4946
int WiFiUDP::beginPacket(IPAddress ip, uint16_t port) {
5047
remote_ip = ip;
5148
_port = port;
5249
txBuffer.clear();
53-
return 1; // Return 1 if successful
50+
return 1;
5451
}
5552

5653
int WiFiUDP::beginPacket(const char *host, uint16_t port) {
@@ -72,9 +69,9 @@ int WiFiUDP::endPacket() {
7269
}
7370
size_t bytes_sent = socket.send(temp_buffer, size, remote_ip, _port);
7471
if (bytes_sent != size) {
75-
return 0; // Return 0 if not all bytes were sent
72+
return 0;
7673
}
77-
return 1; // Return 1 if all bytes were sent successfully
74+
return 1;
7875
}
7976

8077
size_t WiFiUDP::write(uint8_t byte) {
@@ -146,19 +143,27 @@ int WiFiUDP::peek() {
146143
}
147144

148145
void WiFiUDP::flush() {
149-
return;
146+
socket.flush();
147+
_parsedPacketSize = 0;
150148
}
151149

152150
IPAddress WiFiUDP::remoteIP() {
153-
return IPAddress();
151+
return _senderIP;
154152
}
155153

156154
uint16_t WiFiUDP::remotePort() {
157-
return 0;
155+
return _senderPort;
158156
}
159157

160158
cy_rslt_t WiFiUDP::receiveCallback(cy_socket_t socket_handle, void *arg) {
161159
WiFiUDP *udp = (WiFiUDP *)arg;
162-
udp->socket.receiveCallback();
160+
161+
cy_socket_sockaddr_t peer_addr;
162+
udp->socket.receiveCallback(&peer_addr);
163+
164+
// store the sender's IP address and port
165+
udp->_senderIP = IPAddress(peer_addr.ip_address.ip.v4);
166+
udp->_senderPort = peer_addr.port;
167+
163168
return CY_RSLT_SUCCESS;
164169
}

libraries/WiFi/src/WiFiUdp.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@ class WiFiUDP: public arduino::UDP {
1616

1717
WiFiUDP();
1818
uint8_t begin(uint16_t);
19-
20-
// yet to implement these functions
2119
void stop();
2220
int beginPacket(IPAddress ip, uint16_t port);
2321
int beginPacket(const char *host, uint16_t port);
@@ -42,11 +40,12 @@ class WiFiUDP: public arduino::UDP {
4240

4341
static cy_rslt_t receiveCallback(cy_socket_t socket_handle, void *arg);
4442

45-
cy_socket_t client_handle;
4643
socket_status_t _status;
4744
cy_rslt_t _last_error;
4845
IPAddress remote_ip;
4946
uint16_t _port;
47+
IPAddress _senderIP; // Stores the sender's IP address
48+
uint16_t _senderPort; // Stores the sender's port
5049
int _parsedPacketSize;
5150

5251
arduino::RingBufferN < WIFI_UDP_BUFFER_SIZE > txBuffer;

0 commit comments

Comments
 (0)