t41_to_t41_comm/eth_tcp_receiv.ino

66 lines
1.8 KiB
Arduino
Raw Permalink Normal View History

2025-02-17 06:24:35 +01:00
#include <NativeEthernet.h>
#include <NativeEthernetServer.h>
byte mac[] = { 0x04, 0xE9, 0xE5, 0x10, 0x00, 0x02 };
IPAddress ip(192, 168, 1, 101);
const int localPort = 8888;
EthernetServer server(localPort);
EthernetClient client;
2025-02-17 09:01:57 +01:00
#define package_size 1024
byte packetBuffer[package_size];
2025-02-17 06:24:35 +01:00
void setup() {
2025-02-17 09:01:57 +01:00
Serial.begin(921600);
2025-02-17 06:24:35 +01:00
//while (!Serial);
Serial.println("Initializing Ethernet...");
Ethernet.begin(mac, ip);
if (Ethernet.hardwareStatus() == EthernetNoHardware) {
Serial.println("Ethernet hardware not found!");
while (true);
}
if (Ethernet.linkStatus() == LinkOFF) {
Serial.println("Ethernet cable not connected!");
}
server.begin();
Serial.println("TCP Server Ready. Waiting for connections...");
}
void loop() {
if (!client || !client.connected()) {
client = server.available();
if (client) {
Serial.println("Client connected!");
}
return;
}
static int bytesReceived = 0;
while (client.available()) { // Keep reading while data is available
2025-02-17 09:01:57 +01:00
int byteRead = client.read(packetBuffer + bytesReceived, package_size - bytesReceived);
2025-02-17 06:24:35 +01:00
if (byteRead > 0) {
bytesReceived += byteRead;
}
2025-02-17 09:01:57 +01:00
if (bytesReceived == package_size) { // Full packet received
//Serial.print("Received packet at: ");
Serial.println(micros());
//Serial.println(" us");
2025-02-17 06:24:35 +01:00
2025-02-17 09:01:57 +01:00
//for (int i = 0; i < package_size; i++) {
//Serial.print(packetBuffer[i], DEC);
//Serial.print(" ");
//if ((i + 1) % 256 == 0) Serial.println();
//}
//Serial.println();
2025-02-17 06:24:35 +01:00
bytesReceived = 0; // Reset for the next packet
}
}
}