Skip to content

Commit 5ff36c1

Browse files
committed
libraries/WiFi: Write function.
Signed-off-by: IFX-Anusha <[email protected]>
1 parent 87edad8 commit 5ff36c1

File tree

2 files changed

+21
-5
lines changed

2 files changed

+21
-5
lines changed

libraries/WiFi/src/WiFiUdp.cpp

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,14 +59,26 @@ int WiFiUDP::beginPacket(const char *host, uint16_t port) {
5959
}
6060

6161
int WiFiUDP::endPacket() {
62+
return 0;
6263
}
6364

64-
size_t WiFiUDP::write(uint8_t) {
65-
return 0;
65+
size_t WiFiUDP::write(uint8_t byte) {
66+
return write(&byte, 1);
6667
}
6768

6869
size_t WiFiUDP::write(const uint8_t *buffer, size_t size) {
69-
return 0;
70+
size_t bytesStored = 0;
71+
72+
for (size_t i = 0; i < size; i++) {
73+
if (!txBuffer.isFull()) { // Check if the buffer is not full
74+
txBuffer.store_char(buffer[i]);
75+
bytesStored++;
76+
} else {
77+
break; // Stop if the buffer is full
78+
}
79+
}
80+
81+
return bytesStored; // Return the number of bytes successfully stored
7082
}
7183

7284
int WiFiUDP::parsePacket() {

libraries/WiFi/src/WiFiUdp.h

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@
1111

1212
class WiFiUDP: public arduino::UDP {
1313
public:
14+
15+
static const size_t WIFI_UDP_BUFFER_SIZE = 256;
16+
1417
WiFiUDP();
1518
uint8_t begin(uint16_t);
1619

@@ -19,9 +22,8 @@ class WiFiUDP: public arduino::UDP {
1922
int beginPacket(IPAddress ip, uint16_t port);
2023
int beginPacket(const char *host, uint16_t port);
2124
int endPacket();
22-
size_t write(uint8_t);
25+
size_t write(uint8_t byte);
2326
size_t write(const uint8_t *buffer, size_t size);
24-
2527
using Print::write;
2628
int parsePacket();
2729
int available();
@@ -44,6 +46,8 @@ class WiFiUDP: public arduino::UDP {
4446
IPAddress remote_ip;
4547
uint16_t _port;
4648

49+
arduino::RingBufferN < WIFI_UDP_BUFFER_SIZE > txBuffer;
50+
4751
};
4852

4953
#endif /* WIFI_UDP_H */

0 commit comments

Comments
 (0)