первый тест. непонятно что, но надо сделать эксельку для анализа всякого

This commit is contained in:
Razvalyaev 2025-09-04 15:53:43 +03:00
parent 64db7ec184
commit aee6552c5b
9 changed files with 1258 additions and 6136 deletions

View File

@ -1,11 +1,12 @@
#include <WiFi.h>
#include <Preferences.h>
#include "logs.h"
#include <Adafruit_NeoPixel.h>
// -------------------- НАСТРОЙКИ --------------------
char ssid[32] = "";
char password[32] = "";
char serverIP[32] = "198.168.0.1";
char serverIP[32] = "";
#define NEOPIXEL_PIN 48
#define NUMPIXELS 1
@ -14,13 +15,55 @@ char serverIP[32] = "198.168.0.1";
#define SERVER // раскомментировать для сервера
// -------------------- ФУНКЦИИ --------------------
#ifndef SERVER
#undef NEOPIXEL_PIN
#endif
#ifdef NEOPIXEL_PIN
Adafruit_NeoPixel pixels(NUMPIXELS, NEOPIXEL_PIN, NEO_GRB + NEO_KHZ800);
#endif
uint8_t brightness = 0; // 0 = выкл, 255 = макс
bool greenOn = false;
uint32_t sendInterval = 2000; // 500 мс между отправками
LogModule logger;
Preferences prefs; // для сохранения настроек
void saveSettings() {
prefs.begin("network", false);
prefs.putString("ssid", ssid);
prefs.putString("pass", password);
prefs.putString("ip", serverIP);
prefs.putUInt("delay", sendInterval); // сохраняем период отправки
prefs.end();
Serial.println("Settings saved");
}
void loadSettings() {
prefs.begin("network", true);
String s = prefs.getString("ssid", "Xiaomi 12");
String p = prefs.getString("pass", "890089JJ");
String ip = prefs.getString("ip", "10.251.43.192");
sendInterval = prefs.getUInt("delay", 2000); // восстанавливаем период
prefs.end();
s.toCharArray(ssid, sizeof(ssid));
p.toCharArray(password, sizeof(password));
ip.toCharArray(serverIP, sizeof(serverIP));
Serial.println("Settings loaded:");
Serial.print("SSID: "); Serial.println(ssid);
Serial.print("PASS: "); Serial.println(password);
Serial.print("IP: "); Serial.println(serverIP);
Serial.print("Send interval: "); Serial.println(sendInterval);
}
void toggleGreen() {
#ifdef NEOPIXEL_PIN
greenOn = !greenOn; // меняем состояние
if (greenOn) {
pixels.setPixelColor(0, pixels.Color(0, BRIGHTNESS, 0)); // включаем зелёный
@ -28,21 +71,28 @@ void toggleGreen() {
pixels.setPixelColor(0, pixels.Color(0, 0, 0)); // выключаем
}
pixels.show();
#endif
}
void setRed() {
#ifdef NEOPIXEL_PIN
pixels.setPixelColor(0, pixels.Color(BRIGHTNESS, 0, 0));
pixels.show();
#endif
}
void setYellow() {
#ifdef NEOPIXEL_PIN
pixels.setPixelColor(0, pixels.Color(BRIGHTNESS, BRIGHTNESS, 0));
pixels.show();
#endif
}
void clearLED() {
#ifdef NEOPIXEL_PIN
pixels.setPixelColor(0, pixels.Color(0, 0, 0));
pixels.show();
#endif
}
// -------------------- РЕЖИМЫ --------------------
#ifdef SERVER
@ -50,57 +100,166 @@ WiFiServer server(1234);
#else
WiFiClient client;
#endif
int run_client = 1;
int client_init = 0;
// -------------------- Wi-Fi --------------------
bool wifiConnecting = false;
bool wifiNeedReconnect = false;
uint32_t wifiStartMillis = 0;
void startWiFi() {
WiFi.disconnect(true);
Serial.println("Connecting to WiFi...");
WiFi.disconnect(true, true);
delay(1000);
WiFi.begin(ssid, password);
wifiConnecting = true;
Serial.print("Connecting to WiFi");
wifiStartMillis = millis();
}
void handleWiFi() {
static uint32_t lastCheck = 0;
const uint32_t interval = 500; // проверять каждые 500 мс
const uint32_t interval = 500;
if (millis() - lastCheck < interval) return;
lastCheck = millis();
if (WiFi.status() == WL_CONNECTED) {
if (wifiNeedReconnect) {
wifiNeedReconnect = false;
startWiFi();
return;
}
wl_status_t status = WiFi.status();
if (status == WL_CONNECTED) {
if (wifiConnecting) {
wifiConnecting = false;
clearLED();
Serial.println("\nWiFi connected");
Serial.println("WiFi connected");
Serial.print("IP: "); Serial.println(WiFi.localIP());
#ifdef SERVER
server.begin();
}
#else
else {
if (!client.connected()) {
if (WiFi.status() != WL_CONNECTED) return;
setYellow();
if(!client.connected())
{
if (client.connect(serverIP, 1234)) {
clearLED();
Serial.println("Connected to server");
clearLED();
client_init = 1;
Serial.println("Connected to server");
}
}
}
else
{
setRed();
Serial.println("Server connect error. Reconnecting...");
wifiConnecting = false;
}
}
#endif
}
} else {
setRed();
if (!wifiConnecting) {
Serial.println("\nWiFi disconnected. Reconnecting...");
if (wifiConnecting && millis() - wifiStartMillis > 10000) { // 10 секунд таймаут
Serial.println("WiFi connect timeout. Reconnecting...");
startWiFi();
} else if (!wifiConnecting) {
Serial.println("WiFi disconnected. Scheduling reconnect...");
wifiNeedReconnect = true;
} else {
Serial.print(".");
}
}
}
#ifndef SERVER
// -------------------- CLIENT --------------------
bool checkClientAlive() {
if (!client.connected()) return false;
client.write(""); // отправляем пустой пакет
if (!client.connected()) {
client.stop();
client_init = 0;
wifiConnecting = true;
return false;
}
return true;
}
#endif
#ifdef SERVER
// -------------------- SERVER --------------------
static String lastClientIP = "";
void handleServer() {
static WiFiClient clientConn;
if (!clientConn || !clientConn.connected()) {
clientConn = server.available();
if (clientConn) {
String clientIP = clientConn.remoteIP().toString();
Serial.println("Client connected: " + clientIP);
}
return;
}
if (clientConn.available()) {
String msg = clientConn.readStringUntil('\n');
msg.trim();
if (msg.length() == 0) return;
LogEntry entry;
entry.seq = 0;
entry.ts = 0;
entry.event_type = 0; // RECEIVE
memset(entry.payload, 0, sizeof(entry.payload));
int seqIndex = msg.indexOf("SEQ:");
int tsIndex = msg.indexOf("TS:");
int payloadIndex = msg.indexOf("PAYLOAD:");
if (seqIndex >= 0 && tsIndex > seqIndex && payloadIndex > tsIndex) {
String seqStr = msg.substring(seqIndex + 4, tsIndex); seqStr.trim();
String tsStr = msg.substring(tsIndex + 3, payloadIndex); tsStr.trim();
String payloadStr = msg.substring(payloadIndex + 8); payloadStr.trim();
entry.seq = seqStr.toInt();
entry.ts = strtoull(tsStr.c_str(), nullptr, 10);
int len = min((int)payloadStr.length(), 16);
payloadStr.toCharArray(entry.payload, len + 1);
}
// Сохраняем лог
logger.writeLog(entry);
Serial.print("Received: "); Serial.println(msg);
toggleGreen();
// Создаем SEND-запись
LogEntry sendEntry = entry;
sendEntry.ts = millis();
sendEntry.event_type = 1; // SEND
logger.writeLog(sendEntry);
// Echo для клиента
String echo = "SEQ:" + String(sendEntry.seq) +
" TS:" + String(sendEntry.ts) +
" EVT:SEND PAYLOAD:" + String(sendEntry.payload) + "\n";
if (clientConn.print(echo)) {
Serial.print("Sent: "); Serial.println(echo);
} else {
client_init = 0;
Serial.println("Error sending to client");
setRed();
}
}
}
#endif
// -------------------- UART ДЛЯ НАСТРОЕК --------------------
void handleUARTNetwork() {
@ -118,22 +277,48 @@ void handleUARTNetwork() {
if (cmd == "SSID") {
val.toCharArray((char*)ssid, 32);
Serial.print("\nSSID set to: "); Serial.println(ssid);
startWiFi();
saveSettings();
wifiNeedReconnect = true; // для клиента тоже полезно
}
else if (cmd == "PASS") {
val.toCharArray((char*)password, 32);
Serial.print("\nPassword set to: "); Serial.println(password);
startWiFi();
saveSettings();
wifiNeedReconnect = true; // для клиента тоже полезно
}
else if (cmd == "IP") {
val.toCharArray((char*)serverIP, 16);
Serial.print("\nServer IP set to: "); Serial.println(serverIP);
saveSettings();
wifiNeedReconnect = true; // для клиента тоже полезно
}
else if (cmd == "DELAY") {
uint32_t newDelay = val.toInt();
if (newDelay > 0) {
sendInterval = newDelay;
Serial.print("\nSend interval set to: "); Serial.println(sendInterval);
saveSettings();
} else {
Serial.println("Invalid DELAY value");
}
}
else {
logger.handleUART(buffer[0]); // передаем неизвестные команды в логгер
}
} else {
logger.handleUART(buffer[0]); // нет пробела — считаем команду неизвестной
String cmd = buffer.substring(0, 1);
if (cmd == "s")
{
run_client = 0;
}
else if (cmd == "r")
{
run_client = 1;
}
else
{
logger.handleUART(buffer[0]); // нет пробела — считаем команду неизвестной
}
}
}
buffer = "";
@ -151,8 +336,12 @@ void setup() {
delay(1000);
logger.begin();
#ifdef NEOPIXEL_PIN
pixels.begin();
pixels.show();
#endif
loadSettings(); // загружаем сохраненные настройки
#ifdef SERVER
Serial.println("SERVER MODE: Enter SSID and PASS via UART, e.g.:\nSSID MyWiFi\nPASS 12345678");
@ -167,80 +356,26 @@ void loop() {
if (WiFi.status() != WL_CONNECTED) return;
#ifdef SERVER
WiFiClient clientConn = server.available();
if (!clientConn) return;
Serial.println("Client connected");
while (clientConn.connected()) {
if (clientConn.available()) {
String msg = clientConn.readStringUntil('\n');
msg.trim();
if (msg.length() == 0) continue;
// Разбор входящего сообщения
LogEntry entry;
entry.seq = 0;
entry.ts = 0;
entry.event_type = 0; // RECEIVE
memset(entry.payload, 0, sizeof(entry.payload));
int seqIndex = msg.indexOf("SEQ:");
int tsIndex = msg.indexOf("TS:");
int payloadIndex = msg.indexOf("PAYLOAD:");
if (seqIndex >= 0 && tsIndex > seqIndex && payloadIndex > tsIndex) {
String seqStr = msg.substring(seqIndex + 4, tsIndex);
seqStr.trim();
String tsStr = msg.substring(tsIndex + 3, payloadIndex);
tsStr.trim();
String payloadStr = msg.substring(payloadIndex + 8);
payloadStr.trim();
entry.seq = seqStr.toInt();
entry.ts = strtoull(tsStr.c_str(), nullptr, 10);
int len = min((int)payloadStr.length(), 16);
payloadStr.toCharArray(entry.payload, len + 1);
}
// Сохраняем лог
logger.writeLog(entry);
Serial.print("Received: "); Serial.println(msg);
toggleGreen();
// Создаем SEND-запись
LogEntry sendEntry = entry;
sendEntry.ts = millis();
sendEntry.event_type = 1; // SEND
logger.writeLog(sendEntry);
// Echo для клиента
String echo = "SEQ:" + String(sendEntry.seq) +
" TS:" + String(sendEntry.ts) +
" EVT:SEND PAYLOAD:" + String(sendEntry.payload) + "\n";
if (clientConn.print(echo)) {
Serial.print("Sent: "); Serial.println(echo);
} else {
Serial.println("Error sending to client");
setRed();
}
}
}
clientConn.stop();
Serial.println("Client disconnected");
handleServer();
#else // CLIENT
static uint32_t lastSendMillis = 0; // время последней отправки
const uint32_t sendInterval = 500; // 500 мс между отправками
static uint16_t seqNum = 1;
if (!client.connected()) return;
if (run_client == 0) return;
checkClientAlive();
if (client_init == 0) {
client.stop();
client_init = 0;
wifiConnecting = true;
return;
}
// проверяем, пора ли отправлять сообщение
if (millis() - lastSendMillis >= sendInterval) {
lastSendMillis = millis(); // фиксируем время отправки
String msg = "SEQ:" + String(seqNum) + " TS:" + String(millis()) + " PAYLOAD:Hard!Text^?123\n";
@ -251,39 +386,76 @@ void loop() {
// Сохраняем SEND-запись
LogEntry entry;
entry.seq = seqNum;
entry.ts = millis();
entry.ts = lastSendMillis;
entry.event_type = 1; // SEND
msg.substring(msg.indexOf("PAYLOAD:") + 8).toCharArray(entry.payload, 16);
logger.writeLog(entry);
seqNum++;
// Ждем ответ от сервера с таймаутом 10 секунд
uint32_t startWait = millis();
bool ackReceived = false;
while (millis() - startWait < 5000) { // 10 секунд
if (client.available()) {
String resp = client.readStringUntil('\n');
resp.trim();
if (resp.length() == 0) continue;
Serial.print("Received: "); Serial.println(resp);
// Сохраняем RECEIVE-запись
LogEntry recvEntry;
int seqIndex = resp.indexOf("SEQ:");
int tsIndex = resp.indexOf("TS:");
int payloadIndex = resp.indexOf("PAYLOAD:");
if (seqIndex >= 0 && tsIndex > seqIndex && payloadIndex > tsIndex) {
String seqStr = resp.substring(seqIndex + 4, tsIndex);
String tsStr = resp.substring(tsIndex + 3, payloadIndex);
String payloadStr = resp.substring(payloadIndex + 8);
seqStr.trim();
tsStr.trim();
payloadStr.trim();
recvEntry.seq = seqStr.toInt();
recvEntry.ts = strtoull(tsStr.c_str(), nullptr, 10);
recvEntry.event_type = 0; // RECEIVE
memset(recvEntry.payload, 0, sizeof(recvEntry.payload));
int len = min((int)payloadStr.length(), 16);
payloadStr.toCharArray(recvEntry.payload, len + 1);
logger.writeLog(recvEntry);
}
toggleGreen();
// Проверяем, что это ответ на текущее сообщение
if (resp.startsWith("SEQ:" + String(seqNum))) {
ackReceived = true;
break;
}
}
delay(10); // небольшая пауза, чтобы не заблокировать loop
}
if (!ackReceived) {
Serial.println("No response from server for 10s. Reconnecting...");
client.stop();
client_init = 0;
wifiNeedReconnect = true;
setRed();
return;
}
seqNum++; // увеличиваем только после получения ответа
} else {
Serial.println("Error sending");
client.stop();
client_init = 0;
wifiNeedReconnect = true;
setRed();
}
}
// Чтение ответа без блокировки
while (client.available()) {
String resp = client.readStringUntil('\n');
resp.trim();
if (resp.length() == 0) continue;
Serial.print("Received: "); Serial.println(resp);
// Сохраняем RECEIVE-запись
LogEntry entry;
entry.seq = resp.indexOf("SEQ:");
entry.ts = resp.indexOf("TS:");
entry.event_type = 0; // RECEIVE
int payloadIndex = resp.indexOf("PAYLOAD:");
if (payloadIndex >= 0) {
String payloadStr = resp.substring(payloadIndex + 8);
payloadStr.toCharArray(entry.payload, 16);
}
logger.writeLog(entry);
toggleGreen();
}
#endif
}

221
RAW_client.csv Normal file
View File

@ -0,0 +1,221 @@
SEQ;TS;EVT;PAYLOAD
1;238759;SEND;Hard!Text^?123
1;3301;SEND;Hard!Text^?123
1;5238;SEND;Hard!Text^?123
1;8022;SEND;Hard!Text^?123
1;27779;SEND;Hard!Text^?123
1;116567;SEND;Hard!Text^?123
1;6312;RECV;Hard!Text^?123
2;118567;SEND;Hard!Text^?123
2;8514;RECV;Hard!Text^?123
3;120568;SEND;Hard!Text^?123
3;10358;RECV;Hard!Text^?123
4;122569;SEND;Hard!Text^?123
4;12407;RECV;Hard!Text^?123
5;124569;SEND;Hard!Text^?123
5;14454;RECV;Hard!Text^?123
6;126571;SEND;Hard!Text^?123
6;16513;RECV;Hard!Text^?123
7;128571;SEND;Hard!Text^?123
7;18344;RECV;Hard!Text^?123
8;130571;SEND;Hard!Text^?123
8;20392;RECV;Hard!Text^?123
9;132572;SEND;Hard!Text^?123
9;22440;RECV;Hard!Text^?123
10;134573;SEND;Hard!Text^?123
10;24490;RECV;Hard!Text^?123
11;136573;SEND;Hard!Text^?123
11;26332;RECV;Hard!Text^?123
12;138573;SEND;Hard!Text^?123
12;28387;RECV;Hard!Text^?123
13;140574;SEND;Hard!Text^?123
13;30750;RECV;Hard!Text^?123
14;142576;SEND;Hard!Text^?123
14;32477;RECV;Hard!Text^?123
15;144577;SEND;Hard!Text^?123
15;34834;RECV;Hard!Text^?123
16;147468;SEND;Hard!Text^?123
16;37803;RECV;Hard!Text^?123
17;149469;SEND;Hard!Text^?123
17;39235;RECV;Hard!Text^?123
18;151471;SEND;Hard!Text^?123
18;41282;RECV;Hard!Text^?123
19;153471;SEND;Hard!Text^?123
19;43330;RECV;Hard!Text^?123
20;155473;SEND;Hard!Text^?123
20;45378;RECV;Hard!Text^?123
21;157476;SEND;Hard!Text^?123
21;47324;RECV;Hard!Text^?123
22;159477;SEND;Hard!Text^?123
22;49272;RECV;Hard!Text^?123
23;161478;SEND;Hard!Text^?123
23;51525;RECV;Hard!Text^?123
24;163479;SEND;Hard!Text^?123
24;53366;RECV;Hard!Text^?123
25;165481;SEND;Hard!Text^?123
25;55311;RECV;Hard!Text^?123
26;167484;SEND;Hard!Text^?123
26;57256;RECV;Hard!Text^?123
27;169487;SEND;Hard!Text^?123
27;59308;RECV;Hard!Text^?123
28;171489;SEND;Hard!Text^?123
28;61252;RECV;Hard!Text^?123
29;173490;SEND;Hard!Text^?123
29;63549;RECV;Hard!Text^?123
30;175493;SEND;Hard!Text^?123
30;65557;RECV;Hard!Text^?123
31;177494;SEND;Hard!Text^?123
31;67292;RECV;Hard!Text^?123
32;179497;SEND;Hard!Text^?123
32;70981;RECV;Hard!Text^?123
33;181500;SEND;Hard!Text^?123
33;73028;RECV;Hard!Text^?123
34;183521;SEND;Hard!Text^?123
34;73437;RECV;Hard!Text^?123
35;185524;SEND;Hard!Text^?123
35;75491;RECV;Hard!Text^?123
36;187526;SEND;Hard!Text^?123
36;77430;RECV;Hard!Text^?123
37;192526;SEND;Hard!Text^?123
37;82346;RECV;Hard!Text^?123
38;197527;SEND;Hard!Text^?123
1;5874;SEND;Hard!Text^?123
1;6457;SEND;Hard!Text^?123
1;29689;SEND;Hard!Text^?123
1;5002;SEND;Hard!Text^?123
1;201690;SEND;Hard!Text^?123
1;664702;RECV;Hard!Text^?123
2;206691;SEND;Hard!Text^?123
2;669625;RECV;Hard!Text^?123
3;211692;SEND;Hard!Text^?123
3;674532;RECV;Hard!Text^?123
4;216692;SEND;Hard!Text^?123
4;679671;RECV;Hard!Text^?123
5;221694;SEND;Hard!Text^?123
5;684567;RECV;Hard!Text^?123
6;226694;SEND;Hard!Text^?123
6;689687;RECV;Hard!Text^?123
7;231695;SEND;Hard!Text^?123
7;694603;RECV;Hard!Text^?123
8;236695;SEND;Hard!Text^?123
8;699725;RECV;Hard!Text^?123
9;241696;SEND;Hard!Text^?123
9;704639;RECV;Hard!Text^?123
10;246696;SEND;Hard!Text^?123
10;709553;RECV;Hard!Text^?123
11;251697;SEND;Hard!Text^?123
11;714676;RECV;Hard!Text^?123
12;256697;SEND;Hard!Text^?123
12;719588;RECV;Hard!Text^?123
13;261699;SEND;Hard!Text^?123
13;724815;RECV;Hard!Text^?123
14;266699;SEND;Hard!Text^?123
14;729627;RECV;Hard!Text^?123
15;271700;SEND;Hard!Text^?123
15;734539;RECV;Hard!Text^?123
16;276700;SEND;Hard!Text^?123
16;739566;RECV;Hard!Text^?123
17;281702;SEND;Hard!Text^?123
17;744584;RECV;Hard!Text^?123
18;286702;SEND;Hard!Text^?123
18;749800;RECV;Hard!Text^?123
19;291702;SEND;Hard!Text^?123
19;754611;RECV;Hard!Text^?123
20;296703;SEND;Hard!Text^?123
20;759627;RECV;Hard!Text^?123
21;301703;SEND;Hard!Text^?123
21;764646;RECV;Hard!Text^?123
22;306704;SEND;Hard!Text^?123
22;769662;RECV;Hard!Text^?123
23;311704;SEND;Hard!Text^?123
23;774689;RECV;Hard!Text^?123
24;316704;SEND;Hard!Text^?123
24;779595;RECV;Hard!Text^?123
25;321705;SEND;Hard!Text^?123
25;784716;RECV;Hard!Text^?123
26;326707;SEND;Hard!Text^?123
26;789632;RECV;Hard!Text^?123
27;331709;SEND;Hard!Text^?123
27;794549;RECV;Hard!Text^?123
28;336709;SEND;Hard!Text^?123
28;799771;RECV;Hard!Text^?123
29;341710;SEND;Hard!Text^?123
29;804583;RECV;Hard!Text^?123
30;346712;SEND;Hard!Text^?123
30;809702;RECV;Hard!Text^?123
31;351712;SEND;Hard!Text^?123
31;814620;RECV;Hard!Text^?123
32;356712;SEND;Hard!Text^?123
32;819945;RECV;Hard!Text^?123
33;361712;SEND;Hard!Text^?123
33;824654;RECV;Hard!Text^?123
34;366713;SEND;Hard!Text^?123
34;829567;RECV;Hard!Text^?123
35;371714;SEND;Hard!Text^?123
35;834690;RECV;Hard!Text^?123
36;376714;SEND;Hard!Text^?123
36;839602;RECV;Hard!Text^?123
37;381716;SEND;Hard!Text^?123
37;844725;RECV;Hard!Text^?123
38;386716;SEND;Hard!Text^?123
38;849646;RECV;Hard!Text^?123
39;391716;SEND;Hard!Text^?123
39;854656;RECV;Hard!Text^?123
40;396718;SEND;Hard!Text^?123
40;859779;RECV;Hard!Text^?123
41;401720;SEND;Hard!Text^?123
41;864691;RECV;Hard!Text^?123
42;406720;SEND;Hard!Text^?123
42;869732;RECV;Hard!Text^?123
43;411722;SEND;Hard!Text^?123
43;874636;RECV;Hard!Text^?123
44;416722;SEND;Hard!Text^?123
44;879641;RECV;Hard!Text^?123
45;421724;SEND;Hard!Text^?123
45;884660;RECV;Hard!Text^?123
46;426725;SEND;Hard!Text^?123
46;889574;RECV;Hard!Text^?123
47;431725;SEND;Hard!Text^?123
47;894803;RECV;Hard!Text^?123
48;436726;SEND;Hard!Text^?123
48;899610;RECV;Hard!Text^?123
49;441726;SEND;Hard!Text^?123
49;906985;RECV;Hard!Text^?123
50;446727;SEND;Hard!Text^?123
50;909859;RECV;Hard!Text^?123
51;451728;SEND;Hard!Text^?123
51;914567;RECV;Hard!Text^?123
52;456729;SEND;Hard!Text^?123
52;921523;RECV;Hard!Text^?123
53;461731;SEND;Hard!Text^?123
53;924595;RECV;Hard!Text^?123
54;466731;SEND;Hard!Text^?123
54;932586;RECV;Hard!Text^?123
55;471733;SEND;Hard!Text^?123
55;934947;RECV;Hard!Text^?123
56;476735;SEND;Hard!Text^?123
56;942516;RECV;Hard!Text^?123
57;481736;SEND;Hard!Text^?123
57;944673;RECV;Hard!Text^?123
58;486738;SEND;Hard!Text^?123
58;949581;RECV;Hard!Text^?123
59;491738;SEND;Hard!Text^?123
59;957063;RECV;Hard!Text^?123
60;496739;SEND;Hard!Text^?123
60;959617;RECV;Hard!Text^?123
61;501741;SEND;Hard!Text^?123
61;966990;RECV;Hard!Text^?123
62;506742;SEND;Hard!Text^?123
62;969653;RECV;Hard!Text^?123
63;511744;SEND;Hard!Text^?123
63;974879;RECV;Hard!Text^?123
64;516746;SEND;Hard!Text^?123
64;979693;RECV;Hard!Text^?123
65;521748;SEND;Hard!Text^?123
65;984608;RECV;Hard!Text^?123
66;526750;SEND;Hard!Text^?123
66;989628;RECV;Hard!Text^?123
67;531750;SEND;Hard!Text^?123
67;994640;RECV;Hard!Text^?123
68;536752;SEND;Hard!Text^?123
68;999760;RECV;Hard!Text^?123
1 SEQ TS EVT PAYLOAD
2 1 238759 SEND Hard!Text^?123
3 1 3301 SEND Hard!Text^?123
4 1 5238 SEND Hard!Text^?123
5 1 8022 SEND Hard!Text^?123
6 1 27779 SEND Hard!Text^?123
7 1 116567 SEND Hard!Text^?123
8 1 6312 RECV Hard!Text^?123
9 2 118567 SEND Hard!Text^?123
10 2 8514 RECV Hard!Text^?123
11 3 120568 SEND Hard!Text^?123
12 3 10358 RECV Hard!Text^?123
13 4 122569 SEND Hard!Text^?123
14 4 12407 RECV Hard!Text^?123
15 5 124569 SEND Hard!Text^?123
16 5 14454 RECV Hard!Text^?123
17 6 126571 SEND Hard!Text^?123
18 6 16513 RECV Hard!Text^?123
19 7 128571 SEND Hard!Text^?123
20 7 18344 RECV Hard!Text^?123
21 8 130571 SEND Hard!Text^?123
22 8 20392 RECV Hard!Text^?123
23 9 132572 SEND Hard!Text^?123
24 9 22440 RECV Hard!Text^?123
25 10 134573 SEND Hard!Text^?123
26 10 24490 RECV Hard!Text^?123
27 11 136573 SEND Hard!Text^?123
28 11 26332 RECV Hard!Text^?123
29 12 138573 SEND Hard!Text^?123
30 12 28387 RECV Hard!Text^?123
31 13 140574 SEND Hard!Text^?123
32 13 30750 RECV Hard!Text^?123
33 14 142576 SEND Hard!Text^?123
34 14 32477 RECV Hard!Text^?123
35 15 144577 SEND Hard!Text^?123
36 15 34834 RECV Hard!Text^?123
37 16 147468 SEND Hard!Text^?123
38 16 37803 RECV Hard!Text^?123
39 17 149469 SEND Hard!Text^?123
40 17 39235 RECV Hard!Text^?123
41 18 151471 SEND Hard!Text^?123
42 18 41282 RECV Hard!Text^?123
43 19 153471 SEND Hard!Text^?123
44 19 43330 RECV Hard!Text^?123
45 20 155473 SEND Hard!Text^?123
46 20 45378 RECV Hard!Text^?123
47 21 157476 SEND Hard!Text^?123
48 21 47324 RECV Hard!Text^?123
49 22 159477 SEND Hard!Text^?123
50 22 49272 RECV Hard!Text^?123
51 23 161478 SEND Hard!Text^?123
52 23 51525 RECV Hard!Text^?123
53 24 163479 SEND Hard!Text^?123
54 24 53366 RECV Hard!Text^?123
55 25 165481 SEND Hard!Text^?123
56 25 55311 RECV Hard!Text^?123
57 26 167484 SEND Hard!Text^?123
58 26 57256 RECV Hard!Text^?123
59 27 169487 SEND Hard!Text^?123
60 27 59308 RECV Hard!Text^?123
61 28 171489 SEND Hard!Text^?123
62 28 61252 RECV Hard!Text^?123
63 29 173490 SEND Hard!Text^?123
64 29 63549 RECV Hard!Text^?123
65 30 175493 SEND Hard!Text^?123
66 30 65557 RECV Hard!Text^?123
67 31 177494 SEND Hard!Text^?123
68 31 67292 RECV Hard!Text^?123
69 32 179497 SEND Hard!Text^?123
70 32 70981 RECV Hard!Text^?123
71 33 181500 SEND Hard!Text^?123
72 33 73028 RECV Hard!Text^?123
73 34 183521 SEND Hard!Text^?123
74 34 73437 RECV Hard!Text^?123
75 35 185524 SEND Hard!Text^?123
76 35 75491 RECV Hard!Text^?123
77 36 187526 SEND Hard!Text^?123
78 36 77430 RECV Hard!Text^?123
79 37 192526 SEND Hard!Text^?123
80 37 82346 RECV Hard!Text^?123
81 38 197527 SEND Hard!Text^?123
82 1 5874 SEND Hard!Text^?123
83 1 6457 SEND Hard!Text^?123
84 1 29689 SEND Hard!Text^?123
85 1 5002 SEND Hard!Text^?123
86 1 201690 SEND Hard!Text^?123
87 1 664702 RECV Hard!Text^?123
88 2 206691 SEND Hard!Text^?123
89 2 669625 RECV Hard!Text^?123
90 3 211692 SEND Hard!Text^?123
91 3 674532 RECV Hard!Text^?123
92 4 216692 SEND Hard!Text^?123
93 4 679671 RECV Hard!Text^?123
94 5 221694 SEND Hard!Text^?123
95 5 684567 RECV Hard!Text^?123
96 6 226694 SEND Hard!Text^?123
97 6 689687 RECV Hard!Text^?123
98 7 231695 SEND Hard!Text^?123
99 7 694603 RECV Hard!Text^?123
100 8 236695 SEND Hard!Text^?123
101 8 699725 RECV Hard!Text^?123
102 9 241696 SEND Hard!Text^?123
103 9 704639 RECV Hard!Text^?123
104 10 246696 SEND Hard!Text^?123
105 10 709553 RECV Hard!Text^?123
106 11 251697 SEND Hard!Text^?123
107 11 714676 RECV Hard!Text^?123
108 12 256697 SEND Hard!Text^?123
109 12 719588 RECV Hard!Text^?123
110 13 261699 SEND Hard!Text^?123
111 13 724815 RECV Hard!Text^?123
112 14 266699 SEND Hard!Text^?123
113 14 729627 RECV Hard!Text^?123
114 15 271700 SEND Hard!Text^?123
115 15 734539 RECV Hard!Text^?123
116 16 276700 SEND Hard!Text^?123
117 16 739566 RECV Hard!Text^?123
118 17 281702 SEND Hard!Text^?123
119 17 744584 RECV Hard!Text^?123
120 18 286702 SEND Hard!Text^?123
121 18 749800 RECV Hard!Text^?123
122 19 291702 SEND Hard!Text^?123
123 19 754611 RECV Hard!Text^?123
124 20 296703 SEND Hard!Text^?123
125 20 759627 RECV Hard!Text^?123
126 21 301703 SEND Hard!Text^?123
127 21 764646 RECV Hard!Text^?123
128 22 306704 SEND Hard!Text^?123
129 22 769662 RECV Hard!Text^?123
130 23 311704 SEND Hard!Text^?123
131 23 774689 RECV Hard!Text^?123
132 24 316704 SEND Hard!Text^?123
133 24 779595 RECV Hard!Text^?123
134 25 321705 SEND Hard!Text^?123
135 25 784716 RECV Hard!Text^?123
136 26 326707 SEND Hard!Text^?123
137 26 789632 RECV Hard!Text^?123
138 27 331709 SEND Hard!Text^?123
139 27 794549 RECV Hard!Text^?123
140 28 336709 SEND Hard!Text^?123
141 28 799771 RECV Hard!Text^?123
142 29 341710 SEND Hard!Text^?123
143 29 804583 RECV Hard!Text^?123
144 30 346712 SEND Hard!Text^?123
145 30 809702 RECV Hard!Text^?123
146 31 351712 SEND Hard!Text^?123
147 31 814620 RECV Hard!Text^?123
148 32 356712 SEND Hard!Text^?123
149 32 819945 RECV Hard!Text^?123
150 33 361712 SEND Hard!Text^?123
151 33 824654 RECV Hard!Text^?123
152 34 366713 SEND Hard!Text^?123
153 34 829567 RECV Hard!Text^?123
154 35 371714 SEND Hard!Text^?123
155 35 834690 RECV Hard!Text^?123
156 36 376714 SEND Hard!Text^?123
157 36 839602 RECV Hard!Text^?123
158 37 381716 SEND Hard!Text^?123
159 37 844725 RECV Hard!Text^?123
160 38 386716 SEND Hard!Text^?123
161 38 849646 RECV Hard!Text^?123
162 39 391716 SEND Hard!Text^?123
163 39 854656 RECV Hard!Text^?123
164 40 396718 SEND Hard!Text^?123
165 40 859779 RECV Hard!Text^?123
166 41 401720 SEND Hard!Text^?123
167 41 864691 RECV Hard!Text^?123
168 42 406720 SEND Hard!Text^?123
169 42 869732 RECV Hard!Text^?123
170 43 411722 SEND Hard!Text^?123
171 43 874636 RECV Hard!Text^?123
172 44 416722 SEND Hard!Text^?123
173 44 879641 RECV Hard!Text^?123
174 45 421724 SEND Hard!Text^?123
175 45 884660 RECV Hard!Text^?123
176 46 426725 SEND Hard!Text^?123
177 46 889574 RECV Hard!Text^?123
178 47 431725 SEND Hard!Text^?123
179 47 894803 RECV Hard!Text^?123
180 48 436726 SEND Hard!Text^?123
181 48 899610 RECV Hard!Text^?123
182 49 441726 SEND Hard!Text^?123
183 49 906985 RECV Hard!Text^?123
184 50 446727 SEND Hard!Text^?123
185 50 909859 RECV Hard!Text^?123
186 51 451728 SEND Hard!Text^?123
187 51 914567 RECV Hard!Text^?123
188 52 456729 SEND Hard!Text^?123
189 52 921523 RECV Hard!Text^?123
190 53 461731 SEND Hard!Text^?123
191 53 924595 RECV Hard!Text^?123
192 54 466731 SEND Hard!Text^?123
193 54 932586 RECV Hard!Text^?123
194 55 471733 SEND Hard!Text^?123
195 55 934947 RECV Hard!Text^?123
196 56 476735 SEND Hard!Text^?123
197 56 942516 RECV Hard!Text^?123
198 57 481736 SEND Hard!Text^?123
199 57 944673 RECV Hard!Text^?123
200 58 486738 SEND Hard!Text^?123
201 58 949581 RECV Hard!Text^?123
202 59 491738 SEND Hard!Text^?123
203 59 957063 RECV Hard!Text^?123
204 60 496739 SEND Hard!Text^?123
205 60 959617 RECV Hard!Text^?123
206 61 501741 SEND Hard!Text^?123
207 61 966990 RECV Hard!Text^?123
208 62 506742 SEND Hard!Text^?123
209 62 969653 RECV Hard!Text^?123
210 63 511744 SEND Hard!Text^?123
211 63 974879 RECV Hard!Text^?123
212 64 516746 SEND Hard!Text^?123
213 64 979693 RECV Hard!Text^?123
214 65 521748 SEND Hard!Text^?123
215 65 984608 RECV Hard!Text^?123
216 66 526750 SEND Hard!Text^?123
217 66 989628 RECV Hard!Text^?123
218 67 531750 SEND Hard!Text^?123
219 67 994640 RECV Hard!Text^?123
220 68 536752 SEND Hard!Text^?123
221 68 999760 RECV Hard!Text^?123

215
RAW_server.csv Normal file
View File

@ -0,0 +1,215 @@
SEQ;TS;EVT;PAYLOAD
1;238759;RECV;Hard!Text^?123
1;38179;SEND;Hard!Text^?123
1;116567;RECV;Hard!Text^?123
1;6312;SEND;Hard!Text^?123
2;118567;RECV;Hard!Text^?123
2;8514;SEND;Hard!Text^?123
3;120568;RECV;Hard!Text^?123
3;10358;SEND;Hard!Text^?123
4;122569;RECV;Hard!Text^?123
4;12407;SEND;Hard!Text^?123
5;124569;RECV;Hard!Text^?123
5;14454;SEND;Hard!Text^?123
6;126571;RECV;Hard!Text^?123
6;16513;SEND;Hard!Text^?123
7;128571;RECV;Hard!Text^?123
7;18344;SEND;Hard!Text^?123
8;130571;RECV;Hard!Text^?123
8;20392;SEND;Hard!Text^?123
9;132572;RECV;Hard!Text^?123
9;22440;SEND;Hard!Text^?123
10;134574;RECV;Hard!Text^?123
10;24490;SEND;Hard!Text^?123
11;136573;RECV;Hard!Text^?123
11;26332;SEND;Hard!Text^?123
12;138573;RECV;Hard!Text^?123
12;28387;SEND;Hard!Text^?123
13;140574;RECV;Hard!Text^?123
13;30750;SEND;Hard!Text^?123
14;142576;RECV;Hard!Text^?123
14;32477;SEND;Hard!Text^?123
15;144577;RECV;Hard!Text^?123
15;34834;SEND;Hard!Text^?123
16;147468;RECV;Hard!Text^?123
16;37803;SEND;Hard!Text^?123
17;149469;RECV;Hard!Text^?123
17;39235;SEND;Hard!Text^?123
18;151471;RECV;Hard!Text^?123
18;41282;SEND;Hard!Text^?123
19;153471;RECV;Hard!Text^?123
19;43330;SEND;Hard!Text^?123
20;155473;RECV;Hard!Text^?123
20;45378;SEND;Hard!Text^?123
21;157476;RECV;Hard!Text^?123
21;47324;SEND;Hard!Text^?123
22;159477;RECV;Hard!Text^?123
22;49272;SEND;Hard!Text^?123
23;161478;RECV;Hard!Text^?123
23;51525;SEND;Hard!Text^?123
24;163479;RECV;Hard!Text^?123
24;53366;SEND;Hard!Text^?123
25;165481;RECV;Hard!Text^?123
25;55311;SEND;Hard!Text^?123
26;167484;RECV;Hard!Text^?123
26;57256;SEND;Hard!Text^?123
27;169487;RECV;Hard!Text^?123
27;59308;SEND;Hard!Text^?123
28;171489;RECV;Hard!Text^?123
28;61252;SEND;Hard!Text^?123
29;173490;RECV;Hard!Text^?123
29;63549;SEND;Hard!Text^?123
30;175493;RECV;Hard!Text^?123
30;65557;SEND;Hard!Text^?123
31;177494;RECV;Hard!Text^?123
31;67292;SEND;Hard!Text^?123
32;179497;RECV;Hard!Text^?123
32;70981;SEND;Hard!Text^?123
33;181500;RECV;Hard!Text^?123
33;73028;SEND;Hard!Text^?123
34;183521;RECV;Hard!Text^?123
34;73437;SEND;Hard!Text^?123
35;185524;RECV;Hard!Text^?123
35;75491;SEND;Hard!Text^?123
36;187526;RECV;Hard!Text^?123
36;77430;SEND;Hard!Text^?123
37;192526;RECV;Hard!Text^?123
37;82346;SEND;Hard!Text^?123
38;197527;RECV;Hard!Text^?123
38;91872;SEND;Hard!Text^?123
1;201690;RECV;Hard!Text^?123
1;664702;SEND;Hard!Text^?123
2;206691;RECV;Hard!Text^?123
2;669625;SEND;Hard!Text^?123
3;211692;RECV;Hard!Text^?123
3;674532;SEND;Hard!Text^?123
4;216692;RECV;Hard!Text^?123
4;679671;SEND;Hard!Text^?123
5;221694;RECV;Hard!Text^?123
5;684567;SEND;Hard!Text^?123
6;226694;RECV;Hard!Text^?123
6;689687;SEND;Hard!Text^?123
7;231695;RECV;Hard!Text^?123
7;694603;SEND;Hard!Text^?123
8;236695;RECV;Hard!Text^?123
8;699725;SEND;Hard!Text^?123
9;241696;RECV;Hard!Text^?123
9;704639;SEND;Hard!Text^?123
10;246696;RECV;Hard!Text^?123
10;709553;SEND;Hard!Text^?123
11;251697;RECV;Hard!Text^?123
11;714676;SEND;Hard!Text^?123
12;256697;RECV;Hard!Text^?123
12;719588;SEND;Hard!Text^?123
13;261699;RECV;Hard!Text^?123
13;724815;SEND;Hard!Text^?123
14;266699;RECV;Hard!Text^?123
14;729627;SEND;Hard!Text^?123
15;271700;RECV;Hard!Text^?123
15;734539;SEND;Hard!Text^?123
16;276700;RECV;Hard!Text^?123
16;739566;SEND;Hard!Text^?123
17;281702;RECV;Hard!Text^?123
17;744584;SEND;Hard!Text^?123
18;286702;RECV;Hard!Text^?123
18;749800;SEND;Hard!Text^?123
19;291702;RECV;Hard!Text^?123
19;754611;SEND;Hard!Text^?123
20;296703;RECV;Hard!Text^?123
20;759627;SEND;Hard!Text^?123
21;301703;RECV;Hard!Text^?123
21;764646;SEND;Hard!Text^?123
22;306704;RECV;Hard!Text^?123
22;769662;SEND;Hard!Text^?123
23;311704;RECV;Hard!Text^?123
23;774689;SEND;Hard!Text^?123
24;316704;RECV;Hard!Text^?123
24;779595;SEND;Hard!Text^?123
25;321705;RECV;Hard!Text^?123
25;784716;SEND;Hard!Text^?123
26;326707;RECV;Hard!Text^?123
26;789632;SEND;Hard!Text^?123
27;331709;RECV;Hard!Text^?123
27;794549;SEND;Hard!Text^?123
28;336709;RECV;Hard!Text^?123
28;799771;SEND;Hard!Text^?123
29;341710;RECV;Hard!Text^?123
29;804583;SEND;Hard!Text^?123
30;346712;RECV;Hard!Text^?123
30;809702;SEND;Hard!Text^?123
31;351712;RECV;Hard!Text^?123
31;814620;SEND;Hard!Text^?123
32;356712;RECV;Hard!Text^?123
32;819945;SEND;Hard!Text^?123
33;361712;RECV;Hard!Text^?123
33;824654;SEND;Hard!Text^?123
34;366713;RECV;Hard!Text^?123
34;829567;SEND;Hard!Text^?123
35;371715;RECV;Hard!Text^?123
35;834690;SEND;Hard!Text^?123
36;376714;RECV;Hard!Text^?123
36;839602;SEND;Hard!Text^?123
37;381716;RECV;Hard!Text^?123
37;844725;SEND;Hard!Text^?123
38;386716;RECV;Hard!Text^?123
38;849646;SEND;Hard!Text^?123
39;391716;RECV;Hard!Text^?123
39;854656;SEND;Hard!Text^?123
40;396718;RECV;Hard!Text^?123
40;859779;SEND;Hard!Text^?123
41;401720;RECV;Hard!Text^?123
41;864691;SEND;Hard!Text^?123
42;406720;RECV;Hard!Text^?123
42;869732;SEND;Hard!Text^?123
43;411722;RECV;Hard!Text^?123
43;874636;SEND;Hard!Text^?123
44;416722;RECV;Hard!Text^?123
44;879641;SEND;Hard!Text^?123
45;421724;RECV;Hard!Text^?123
45;884660;SEND;Hard!Text^?123
46;426725;RECV;Hard!Text^?123
46;889574;SEND;Hard!Text^?123
47;431725;RECV;Hard!Text^?123
47;894803;SEND;Hard!Text^?123
48;436727;RECV;Hard!Text^?123
48;899610;SEND;Hard!Text^?123
49;441726;RECV;Hard!Text^?123
49;906985;SEND;Hard!Text^?123
50;446727;RECV;Hard!Text^?123
50;909859;SEND;Hard!Text^?123
51;451728;RECV;Hard!Text^?123
51;914567;SEND;Hard!Text^?123
52;456729;RECV;Hard!Text^?123
52;921523;SEND;Hard!Text^?123
53;461731;RECV;Hard!Text^?123
53;924595;SEND;Hard!Text^?123
54;466731;RECV;Hard!Text^?123
54;932586;SEND;Hard!Text^?123
55;471733;RECV;Hard!Text^?123
55;934947;SEND;Hard!Text^?123
56;476735;RECV;Hard!Text^?123
56;942516;SEND;Hard!Text^?123
57;481736;RECV;Hard!Text^?123
57;944673;SEND;Hard!Text^?123
58;486738;RECV;Hard!Text^?123
58;949581;SEND;Hard!Text^?123
59;491738;RECV;Hard!Text^?123
59;957063;SEND;Hard!Text^?123
60;496739;RECV;Hard!Text^?123
60;959617;SEND;Hard!Text^?123
61;501741;RECV;Hard!Text^?123
61;966990;SEND;Hard!Text^?123
62;506742;RECV;Hard!Text^?123
62;969653;SEND;Hard!Text^?123
63;511744;RECV;Hard!Text^?123
63;974879;SEND;Hard!Text^?123
64;516746;RECV;Hard!Text^?123
64;979693;SEND;Hard!Text^?123
65;521748;RECV;Hard!Text^?123
65;984608;SEND;Hard!Text^?123
66;526750;RECV;Hard!Text^?123
66;989628;SEND;Hard!Text^?123
67;531750;RECV;Hard!Text^?123
67;994640;SEND;Hard!Text^?123
68;536752;RECV;Hard!Text^?123
68;999760;SEND;Hard!Text^?123
1 SEQ TS EVT PAYLOAD
2 1 238759 RECV Hard!Text^?123
3 1 38179 SEND Hard!Text^?123
4 1 116567 RECV Hard!Text^?123
5 1 6312 SEND Hard!Text^?123
6 2 118567 RECV Hard!Text^?123
7 2 8514 SEND Hard!Text^?123
8 3 120568 RECV Hard!Text^?123
9 3 10358 SEND Hard!Text^?123
10 4 122569 RECV Hard!Text^?123
11 4 12407 SEND Hard!Text^?123
12 5 124569 RECV Hard!Text^?123
13 5 14454 SEND Hard!Text^?123
14 6 126571 RECV Hard!Text^?123
15 6 16513 SEND Hard!Text^?123
16 7 128571 RECV Hard!Text^?123
17 7 18344 SEND Hard!Text^?123
18 8 130571 RECV Hard!Text^?123
19 8 20392 SEND Hard!Text^?123
20 9 132572 RECV Hard!Text^?123
21 9 22440 SEND Hard!Text^?123
22 10 134574 RECV Hard!Text^?123
23 10 24490 SEND Hard!Text^?123
24 11 136573 RECV Hard!Text^?123
25 11 26332 SEND Hard!Text^?123
26 12 138573 RECV Hard!Text^?123
27 12 28387 SEND Hard!Text^?123
28 13 140574 RECV Hard!Text^?123
29 13 30750 SEND Hard!Text^?123
30 14 142576 RECV Hard!Text^?123
31 14 32477 SEND Hard!Text^?123
32 15 144577 RECV Hard!Text^?123
33 15 34834 SEND Hard!Text^?123
34 16 147468 RECV Hard!Text^?123
35 16 37803 SEND Hard!Text^?123
36 17 149469 RECV Hard!Text^?123
37 17 39235 SEND Hard!Text^?123
38 18 151471 RECV Hard!Text^?123
39 18 41282 SEND Hard!Text^?123
40 19 153471 RECV Hard!Text^?123
41 19 43330 SEND Hard!Text^?123
42 20 155473 RECV Hard!Text^?123
43 20 45378 SEND Hard!Text^?123
44 21 157476 RECV Hard!Text^?123
45 21 47324 SEND Hard!Text^?123
46 22 159477 RECV Hard!Text^?123
47 22 49272 SEND Hard!Text^?123
48 23 161478 RECV Hard!Text^?123
49 23 51525 SEND Hard!Text^?123
50 24 163479 RECV Hard!Text^?123
51 24 53366 SEND Hard!Text^?123
52 25 165481 RECV Hard!Text^?123
53 25 55311 SEND Hard!Text^?123
54 26 167484 RECV Hard!Text^?123
55 26 57256 SEND Hard!Text^?123
56 27 169487 RECV Hard!Text^?123
57 27 59308 SEND Hard!Text^?123
58 28 171489 RECV Hard!Text^?123
59 28 61252 SEND Hard!Text^?123
60 29 173490 RECV Hard!Text^?123
61 29 63549 SEND Hard!Text^?123
62 30 175493 RECV Hard!Text^?123
63 30 65557 SEND Hard!Text^?123
64 31 177494 RECV Hard!Text^?123
65 31 67292 SEND Hard!Text^?123
66 32 179497 RECV Hard!Text^?123
67 32 70981 SEND Hard!Text^?123
68 33 181500 RECV Hard!Text^?123
69 33 73028 SEND Hard!Text^?123
70 34 183521 RECV Hard!Text^?123
71 34 73437 SEND Hard!Text^?123
72 35 185524 RECV Hard!Text^?123
73 35 75491 SEND Hard!Text^?123
74 36 187526 RECV Hard!Text^?123
75 36 77430 SEND Hard!Text^?123
76 37 192526 RECV Hard!Text^?123
77 37 82346 SEND Hard!Text^?123
78 38 197527 RECV Hard!Text^?123
79 38 91872 SEND Hard!Text^?123
80 1 201690 RECV Hard!Text^?123
81 1 664702 SEND Hard!Text^?123
82 2 206691 RECV Hard!Text^?123
83 2 669625 SEND Hard!Text^?123
84 3 211692 RECV Hard!Text^?123
85 3 674532 SEND Hard!Text^?123
86 4 216692 RECV Hard!Text^?123
87 4 679671 SEND Hard!Text^?123
88 5 221694 RECV Hard!Text^?123
89 5 684567 SEND Hard!Text^?123
90 6 226694 RECV Hard!Text^?123
91 6 689687 SEND Hard!Text^?123
92 7 231695 RECV Hard!Text^?123
93 7 694603 SEND Hard!Text^?123
94 8 236695 RECV Hard!Text^?123
95 8 699725 SEND Hard!Text^?123
96 9 241696 RECV Hard!Text^?123
97 9 704639 SEND Hard!Text^?123
98 10 246696 RECV Hard!Text^?123
99 10 709553 SEND Hard!Text^?123
100 11 251697 RECV Hard!Text^?123
101 11 714676 SEND Hard!Text^?123
102 12 256697 RECV Hard!Text^?123
103 12 719588 SEND Hard!Text^?123
104 13 261699 RECV Hard!Text^?123
105 13 724815 SEND Hard!Text^?123
106 14 266699 RECV Hard!Text^?123
107 14 729627 SEND Hard!Text^?123
108 15 271700 RECV Hard!Text^?123
109 15 734539 SEND Hard!Text^?123
110 16 276700 RECV Hard!Text^?123
111 16 739566 SEND Hard!Text^?123
112 17 281702 RECV Hard!Text^?123
113 17 744584 SEND Hard!Text^?123
114 18 286702 RECV Hard!Text^?123
115 18 749800 SEND Hard!Text^?123
116 19 291702 RECV Hard!Text^?123
117 19 754611 SEND Hard!Text^?123
118 20 296703 RECV Hard!Text^?123
119 20 759627 SEND Hard!Text^?123
120 21 301703 RECV Hard!Text^?123
121 21 764646 SEND Hard!Text^?123
122 22 306704 RECV Hard!Text^?123
123 22 769662 SEND Hard!Text^?123
124 23 311704 RECV Hard!Text^?123
125 23 774689 SEND Hard!Text^?123
126 24 316704 RECV Hard!Text^?123
127 24 779595 SEND Hard!Text^?123
128 25 321705 RECV Hard!Text^?123
129 25 784716 SEND Hard!Text^?123
130 26 326707 RECV Hard!Text^?123
131 26 789632 SEND Hard!Text^?123
132 27 331709 RECV Hard!Text^?123
133 27 794549 SEND Hard!Text^?123
134 28 336709 RECV Hard!Text^?123
135 28 799771 SEND Hard!Text^?123
136 29 341710 RECV Hard!Text^?123
137 29 804583 SEND Hard!Text^?123
138 30 346712 RECV Hard!Text^?123
139 30 809702 SEND Hard!Text^?123
140 31 351712 RECV Hard!Text^?123
141 31 814620 SEND Hard!Text^?123
142 32 356712 RECV Hard!Text^?123
143 32 819945 SEND Hard!Text^?123
144 33 361712 RECV Hard!Text^?123
145 33 824654 SEND Hard!Text^?123
146 34 366713 RECV Hard!Text^?123
147 34 829567 SEND Hard!Text^?123
148 35 371715 RECV Hard!Text^?123
149 35 834690 SEND Hard!Text^?123
150 36 376714 RECV Hard!Text^?123
151 36 839602 SEND Hard!Text^?123
152 37 381716 RECV Hard!Text^?123
153 37 844725 SEND Hard!Text^?123
154 38 386716 RECV Hard!Text^?123
155 38 849646 SEND Hard!Text^?123
156 39 391716 RECV Hard!Text^?123
157 39 854656 SEND Hard!Text^?123
158 40 396718 RECV Hard!Text^?123
159 40 859779 SEND Hard!Text^?123
160 41 401720 RECV Hard!Text^?123
161 41 864691 SEND Hard!Text^?123
162 42 406720 RECV Hard!Text^?123
163 42 869732 SEND Hard!Text^?123
164 43 411722 RECV Hard!Text^?123
165 43 874636 SEND Hard!Text^?123
166 44 416722 RECV Hard!Text^?123
167 44 879641 SEND Hard!Text^?123
168 45 421724 RECV Hard!Text^?123
169 45 884660 SEND Hard!Text^?123
170 46 426725 RECV Hard!Text^?123
171 46 889574 SEND Hard!Text^?123
172 47 431725 RECV Hard!Text^?123
173 47 894803 SEND Hard!Text^?123
174 48 436727 RECV Hard!Text^?123
175 48 899610 SEND Hard!Text^?123
176 49 441726 RECV Hard!Text^?123
177 49 906985 SEND Hard!Text^?123
178 50 446727 RECV Hard!Text^?123
179 50 909859 SEND Hard!Text^?123
180 51 451728 RECV Hard!Text^?123
181 51 914567 SEND Hard!Text^?123
182 52 456729 RECV Hard!Text^?123
183 52 921523 SEND Hard!Text^?123
184 53 461731 RECV Hard!Text^?123
185 53 924595 SEND Hard!Text^?123
186 54 466731 RECV Hard!Text^?123
187 54 932586 SEND Hard!Text^?123
188 55 471733 RECV Hard!Text^?123
189 55 934947 SEND Hard!Text^?123
190 56 476735 RECV Hard!Text^?123
191 56 942516 SEND Hard!Text^?123
192 57 481736 RECV Hard!Text^?123
193 57 944673 SEND Hard!Text^?123
194 58 486738 RECV Hard!Text^?123
195 58 949581 SEND Hard!Text^?123
196 59 491738 RECV Hard!Text^?123
197 59 957063 SEND Hard!Text^?123
198 60 496739 RECV Hard!Text^?123
199 60 959617 SEND Hard!Text^?123
200 61 501741 RECV Hard!Text^?123
201 61 966990 SEND Hard!Text^?123
202 62 506742 RECV Hard!Text^?123
203 62 969653 SEND Hard!Text^?123
204 63 511744 RECV Hard!Text^?123
205 63 974879 SEND Hard!Text^?123
206 64 516746 RECV Hard!Text^?123
207 64 979693 SEND Hard!Text^?123
208 65 521748 RECV Hard!Text^?123
209 65 984608 SEND Hard!Text^?123
210 66 526750 RECV Hard!Text^?123
211 66 989628 SEND Hard!Text^?123
212 67 531750 RECV Hard!Text^?123
213 67 994640 SEND Hard!Text^?123
214 68 536752 RECV Hard!Text^?123
215 68 999760 SEND Hard!Text^?123

BIN
analyze.xlsx Normal file

Binary file not shown.

153
df Normal file
View File

@ -0,0 +1,153 @@
SEQ;TS;EVT;PAYLOAD
1;39739;RECV;Hard!Text^?123
1;2804;SEND;Hard!Text^?123
2;40239;RECV;Hard!Text^?123
2;3215;SEND;Hard!Text^?123
3;40739;RECV;Hard!Text^?123
3;3632;SEND;Hard!Text^?123
4;41239;RECV;Hard!Text^?123
4;4237;SEND;Hard!Text^?123
5;41739;RECV;Hard!Text^?123
5;4649;SEND;Hard!Text^?123
6;42239;RECV;Hard!Text^?123
6;5261;SEND;Hard!Text^?123
7;42739;RECV;Hard!Text^?123
7;5672;SEND;Hard!Text^?123
8;43239;RECV;Hard!Text^?123
8;6285;SEND;Hard!Text^?123
9;43739;RECV;Hard!Text^?123
9;6696;SEND;Hard!Text^?123
10;44239;RECV;Hard!Text^?123
10;7130;SEND;Hard!Text^?123
11;44739;RECV;Hard!Text^?123
11;7719;SEND;Hard!Text^?123
12;45239;RECV;Hard!Text^?123
12;8131;SEND;Hard!Text^?123
13;45739;RECV;Hard!Text^?123
13;8743;SEND;Hard!Text^?123
14;46239;RECV;Hard!Text^?123
14;9153;SEND;Hard!Text^?123
15;46739;RECV;Hard!Text^?123
15;9811;SEND;Hard!Text^?123
16;47239;RECV;Hard!Text^?123
16;10178;SEND;Hard!Text^?123
17;47739;RECV;Hard!Text^?123
17;10632;SEND;Hard!Text^?123
18;48239;RECV;Hard!Text^?123
18;11203;SEND;Hard!Text^?123
19;48739;RECV;Hard!Text^?123
19;11632;SEND;Hard!Text^?123
20;49239;RECV;Hard!Text^?123
20;12225;SEND;Hard!Text^?123
21;49739;RECV;Hard!Text^?123
21;12637;SEND;Hard!Text^?123
22;50239;RECV;Hard!Text^?123
22;13250;SEND;Hard!Text^?123
23;50739;RECV;Hard!Text^?123
23;13660;SEND;Hard!Text^?123
24;51239;RECV;Hard!Text^?123
24;14272;SEND;Hard!Text^?123
25;51739;RECV;Hard!Text^?123
25;14684;SEND;Hard!Text^?123
26;52239;RECV;Hard!Text^?123
26;15131;SEND;Hard!Text^?123
27;52739;RECV;Hard!Text^?123
27;15706;SEND;Hard!Text^?123
28;53239;RECV;Hard!Text^?123
28;16130;SEND;Hard!Text^?123
29;53739;RECV;Hard!Text^?123
29;16730;SEND;Hard!Text^?123
30;54239;RECV;Hard!Text^?123
30;17143;SEND;Hard!Text^?123
31;54739;RECV;Hard!Text^?123
31;17754;SEND;Hard!Text^?123
32;55239;RECV;Hard!Text^?123
32;18166;SEND;Hard!Text^?123
33;55739;RECV;Hard!Text^?123
33;18780;SEND;Hard!Text^?123
34;56239;RECV;Hard!Text^?123
34;19188;SEND;Hard!Text^?123
35;56739;RECV;Hard!Text^?123
35;19635;SEND;Hard!Text^?123
36;57239;RECV;Hard!Text^?123
36;20212;SEND;Hard!Text^?123
37;57739;RECV;Hard!Text^?123
37;20635;SEND;Hard!Text^?123
38;58239;RECV;Hard!Text^?123
38;21237;SEND;Hard!Text^?123
39;58739;RECV;Hard!Text^?123
39;21646;SEND;Hard!Text^?123
40;59239;RECV;Hard!Text^?123
40;22360;SEND;Hard!Text^?123
41;59739;RECV;Hard!Text^?123
41;22670;SEND;Hard!Text^?123
42;60239;RECV;Hard!Text^?123
42;23389;SEND;Hard!Text^?123
43;60739;RECV;Hard!Text^?123
43;23900;SEND;Hard!Text^?123
44;61239;RECV;Hard!Text^?123
44;24308;SEND;Hard!Text^?123
45;61739;RECV;Hard!Text^?123
45;24718;SEND;Hard!Text^?123
46;62239;RECV;Hard!Text^?123
46;25130;SEND;Hard!Text^?123
47;62739;RECV;Hard!Text^?123
47;25742;SEND;Hard!Text^?123
48;63239;RECV;Hard!Text^?123
48;26153;SEND;Hard!Text^?123
49;63739;RECV;Hard!Text^?123
49;26765;SEND;Hard!Text^?123
50;64239;RECV;Hard!Text^?123
50;27176;SEND;Hard!Text^?123
51;64739;RECV;Hard!Text^?123
51;27636;SEND;Hard!Text^?123
52;65239;RECV;Hard!Text^?123
52;28303;SEND;Hard!Text^?123
53;65739;RECV;Hard!Text^?123
53;28634;SEND;Hard!Text^?123
54;66239;RECV;Hard!Text^?123
54;29224;SEND;Hard!Text^?123
55;66739;RECV;Hard!Text^?123
55;29634;SEND;Hard!Text^?123
56;67239;RECV;Hard!Text^?123
56;30247;SEND;Hard!Text^?123
57;67739;RECV;Hard!Text^?123
57;30657;SEND;Hard!Text^?123
58;68239;RECV;Hard!Text^?123
58;31271;SEND;Hard!Text^?123
59;68739;RECV;Hard!Text^?123
59;31682;SEND;Hard!Text^?123
60;69239;RECV;Hard!Text^?123
60;32134;SEND;Hard!Text^?123
61;69739;RECV;Hard!Text^?123
61;32704;SEND;Hard!Text^?123
62;70239;RECV;Hard!Text^?123
62;33133;SEND;Hard!Text^?123
63;70739;RECV;Hard!Text^?123
63;33730;SEND;Hard!Text^?123
64;71239;RECV;Hard!Text^?123
64;34142;SEND;Hard!Text^?123
65;71739;RECV;Hard!Text^?123
65;34753;SEND;Hard!Text^?123
66;72239;RECV;Hard!Text^?123
66;35164;SEND;Hard!Text^?123
67;72739;RECV;Hard!Text^?123
67;35777;SEND;Hard!Text^?123
68;73239;RECV;Hard!Text^?123
68;36232;SEND;Hard!Text^?123
69;73739;RECV;Hard!Text^?123
69;36801;SEND;Hard!Text^?123
70;74239;RECV;Hard!Text^?123
70;37253;SEND;Hard!Text^?123
71;74739;RECV;Hard!Text^?123
71;37632;SEND;Hard!Text^?123
72;75239;RECV;Hard!Text^?123
72;38235;SEND;Hard!Text^?123
73;75739;RECV;Hard!Text^?123
73;38954;SEND;Hard!Text^?123
74;76239;RECV;Hard!Text^?123
74;39260;SEND;Hard!Text^?123
75;76739;RECV;Hard!Text^?123
75;39675;SEND;Hard!Text^?123
76;77239;RECV;Hard!Text^?123
76;40282;SEND;Hard!Text^?123

View File

@ -122,15 +122,21 @@ class ESPLoggerTerminal(QWidget):
try:
self.status_label.setText("Connecting to ESP32...")
QApplication.processEvents()
ser = serial.Serial(port, baud, timeout=0.1) # короче таймаут
ser = serial.Serial(port, baud, timeout=2) # короче таймаут
ser.reset_input_buffer()
ser.reset_output_buffer()
ser.write(b's\n')
import time
# Ждем 100 мс
time.sleep(0.1)
ser.write(b'd\n')
# Ждём первую реакцию от ESP32 (например "=== LOG DUMP START ===")
pre_line = ser.readline().decode(errors='ignore').strip()
first_line = ser.readline().decode(errors='ignore').strip()
if not first_line or "LOG DUMP" not in first_line:
if not first_line or "LOG DUMP" not in (first_line or pre_line):
ser.close()
QMessageBox.warning(self, "Error", "Selected port is not responding like ESP32")
return
@ -139,7 +145,6 @@ class ESPLoggerTerminal(QWidget):
self.status_label.setText("Receiving log...")
QApplication.processEvents()
import time
lines = []
start_time = time.time()
timeout_sec = 30
@ -207,14 +212,22 @@ class ESPLoggerTerminal(QWidget):
return
try:
ser = serial.Serial(port, baud, timeout=0.1)
ser = serial.Serial(port, baud, timeout=2)
ser.reset_input_buffer()
ser.reset_output_buffer()
ser.write(b's\n')
import time
# Ждем 100 мс
time.sleep(0.1)
ser.write(b'c\n')
# Ждём первую реакцию от ESP32 (например "=== LOG DUMP START ===")
# Ждём первую реакцию от ESP32 (например "=== LOG ERASING ===")
pre_line = ser.readline().decode(errors='ignore').strip()
first_line = ser.readline().decode(errors='ignore').strip()
if not first_line or "LOG ERASING" not in first_line:
if not first_line or "LOG ERASING" not in (first_line or pre_line):
ser.close()
QMessageBox.warning(self, "Error", "Selected port is not responding like ESP32")
return
@ -223,7 +236,6 @@ class ESPLoggerTerminal(QWidget):
QApplication.processEvents()
import time
lines = []
start_time = time.time()
timeout_sec = 15

View File

@ -31,11 +31,11 @@ bool LogModule::verifyEntry(const LogEntry &entry) {
bool valid = (entry.crc == calculated_crc);
if (!valid) {
Serial.printf("CRC mismatch: stored=0x%02X, calculated=0x%02X\n",
entry.crc, calculated_crc);
//Serial.printf("CRC mismatch: stored=0x%02X, calculated=0x%02X\n",
// entry.crc, calculated_crc);
}
return valid;
return 1;
}
LogModule::LogModule() : partition(nullptr), write_pos(0), total_entries(0), partition_size(0) {}

File diff suppressed because it is too large Load Diff

358
sd Normal file
View File

@ -0,0 +1,358 @@
SEQ;TS;EVT;PAYLOAD
1;5096;SEND;Hard!Text^?123
1;299216;RECV;Hard!Text^?123
2;5596;SEND;Hard!Text^?123
2;299814;RECV;Hard!Text^?123
3;6096;SEND;Hard!Text^?123
3;300225;RECV;Hard!Text^?123
4;6596;SEND;Hard!Text^?123
4;300838;RECV;Hard!Text^?123
5;7096;SEND;Hard!Text^?123
5;301249;RECV;Hard!Text^?123
6;7596;SEND;Hard!Text^?123
6;301862;RECV;Hard!Text^?123
7;8096;SEND;Hard!Text^?123
7;302272;RECV;Hard!Text^?123
8;8596;SEND;Hard!Text^?123
8;302786;RECV;Hard!Text^?123
9;9096;SEND;Hard!Text^?123
9;303296;RECV;Hard!Text^?123
10;9596;SEND;Hard!Text^?123
10;303710;RECV;Hard!Text^?123
11;10096;SEND;Hard!Text^?123
12;10596;SEND;Hard!Text^?123
13;11096;SEND;Hard!Text^?123
14;11596;SEND;Hard!Text^?123
15;12096;SEND;Hard!Text^?123
16;12596;SEND;Hard!Text^?123
17;13096;SEND;Hard!Text^?123
18;13596;SEND;Hard!Text^?123
19;14096;SEND;Hard!Text^?123
20;14596;SEND;Hard!Text^?123
21;15096;SEND;Hard!Text^?123
22;15596;SEND;Hard!Text^?123
23;16096;SEND;Hard!Text^?123
24;16596;SEND;Hard!Text^?123
25;17096;SEND;Hard!Text^?123
26;17596;SEND;Hard!Text^?123
27;18096;SEND;Hard!Text^?123
28;18596;SEND;Hard!Text^?123
29;19096;SEND;Hard!Text^?123
30;19596;SEND;Hard!Text^?123
31;20096;SEND;Hard!Text^?123
32;20596;SEND;Hard!Text^?123
33;21096;SEND;Hard!Text^?123
34;21596;SEND;Hard!Text^?123
35;24962;SEND;Hard!Text^?123
35;9757;RECV;Hard!Text^?123
36;25462;SEND;Hard!Text^?123
36;10166;RECV;Hard!Text^?123
37;25962;SEND;Hard!Text^?123
37;10578;RECV;Hard!Text^?123
38;26462;SEND;Hard!Text^?123
38;11190;RECV;Hard!Text^?123
39;26962;SEND;Hard!Text^?123
39;11601;RECV;Hard!Text^?123
40;27462;SEND;Hard!Text^?123
40;12215;RECV;Hard!Text^?123
41;27962;SEND;Hard!Text^?123
41;12626;RECV;Hard!Text^?123
42;28462;SEND;Hard!Text^?123
42;13238;RECV;Hard!Text^?123
43;28962;SEND;Hard!Text^?123
44;29462;SEND;Hard!Text^?123
45;29962;SEND;Hard!Text^?123
46;30462;SEND;Hard!Text^?123
47;30962;SEND;Hard!Text^?123
48;31462;SEND;Hard!Text^?123
43;13650;RECV;Hard!Text^?123
44;16312;RECV;Hard!Text^?123
49;31962;SEND;Hard!Text^?123
45;16316;RECV;Hard!Text^?123
46;16320;RECV;Hard!Text^?123
47;16323;RECV;Hard!Text^?123
48;16367;RECV;Hard!Text^?123
50;32462;SEND;Hard!Text^?123
49;16723;RECV;Hard!Text^?123
51;32962;SEND;Hard!Text^?123
52;33462;SEND;Hard!Text^?123
53;33962;SEND;Hard!Text^?123
54;34462;SEND;Hard!Text^?123
55;34962;SEND;Hard!Text^?123
56;35462;SEND;Hard!Text^?123
57;35962;SEND;Hard!Text^?123
50;20406;RECV;Hard!Text^?123
51;20816;RECV;Hard!Text^?123
58;36462;SEND;Hard!Text^?123
52;20820;RECV;Hard!Text^?123
53;20823;RECV;Hard!Text^?123
54;20826;RECV;Hard!Text^?123
55;20831;RECV;Hard!Text^?123
56;20834;RECV;Hard!Text^?123
57;20837;RECV;Hard!Text^?123
59;36962;SEND;Hard!Text^?123
58;21226;RECV;Hard!Text^?123
59;21640;RECV;Hard!Text^?123
60;37462;SEND;Hard!Text^?123
60;22060;RECV;Hard!Text^?123
61;37962;SEND;Hard!Text^?123
61;22659;RECV;Hard!Text^?123
62;38462;SEND;Hard!Text^?123
62;23069;RECV;Hard!Text^?123
63;38962;SEND;Hard!Text^?123
63;23581;RECV;Hard!Text^?123
64;39462;SEND;Hard!Text^?123
64;24093;RECV;Hard!Text^?123
65;39962;SEND;Hard!Text^?123
66;40462;SEND;Hard!Text^?123
67;40962;SEND;Hard!Text^?123
68;41462;SEND;Hard!Text^?123
69;41962;SEND;Hard!Text^?123
70;42462;SEND;Hard!Text^?123
71;42962;SEND;Hard!Text^?123
72;43462;SEND;Hard!Text^?123
73;43962;SEND;Hard!Text^?123
74;44462;SEND;Hard!Text^?123
75;44962;SEND;Hard!Text^?123
76;45462;SEND;Hard!Text^?123
77;45962;SEND;Hard!Text^?123
78;46462;SEND;Hard!Text^?123
79;46962;SEND;Hard!Text^?123
80;47462;SEND;Hard!Text^?123
81;49462;SEND;Hard!Text^?123
82;51462;SEND;Hard!Text^?123
83;53462;SEND;Hard!Text^?123
84;55462;SEND;Hard!Text^?123
85;57462;SEND;Hard!Text^?123
86;59462;SEND;Hard!Text^?123
87;61462;SEND;Hard!Text^?123
88;63462;SEND;Hard!Text^?123
89;65462;SEND;Hard!Text^?123
90;67462;SEND;Hard!Text^?123
91;69462;SEND;Hard!Text^?123
92;71462;SEND;Hard!Text^?123
93;73462;SEND;Hard!Text^?123
94;75462;SEND;Hard!Text^?123
95;77462;SEND;Hard!Text^?123
96;79462;SEND;Hard!Text^?123
97;81462;SEND;Hard!Text^?123
98;83462;SEND;Hard!Text^?123
99;85462;SEND;Hard!Text^?123
100;87462;SEND;Hard!Text^?123
101;89462;SEND;Hard!Text^?123
102;91462;SEND;Hard!Text^?123
103;93462;SEND;Hard!Text^?123
104;95462;SEND;Hard!Text^?123
105;97462;SEND;Hard!Text^?123
106;99462;SEND;Hard!Text^?123
107;101462;SEND;Hard!Text^?123
108;103462;SEND;Hard!Text^?123
109;105462;SEND;Hard!Text^?123
110;107462;SEND;Hard!Text^?123
111;109462;SEND;Hard!Text^?123
112;111462;SEND;Hard!Text^?123
113;113462;SEND;Hard!Text^?123
114;115462;SEND;Hard!Text^?123
115;117462;SEND;Hard!Text^?123
116;119462;SEND;Hard!Text^?123
117;121462;SEND;Hard!Text^?123
118;123462;SEND;Hard!Text^?123
119;125462;SEND;Hard!Text^?123
120;127462;SEND;Hard!Text^?123
121;129462;SEND;Hard!Text^?123
122;131462;SEND;Hard!Text^?123
123;133462;SEND;Hard!Text^?123
124;135462;SEND;Hard!Text^?123
125;137462;SEND;Hard!Text^?123
126;139462;SEND;Hard!Text^?123
127;141462;SEND;Hard!Text^?123
128;143462;SEND;Hard!Text^?123
129;145462;SEND;Hard!Text^?123
130;147462;SEND;Hard!Text^?123
131;149462;SEND;Hard!Text^?123
132;151462;SEND;Hard!Text^?123
133;153462;SEND;Hard!Text^?123
134;155462;SEND;Hard!Text^?123
135;157462;SEND;Hard!Text^?123
136;159462;SEND;Hard!Text^?123
137;161462;SEND;Hard!Text^?123
138;178568;SEND;Hard!Text^?123
138;74925;RECV;Hard!Text^?123
139;180568;SEND;Hard!Text^?123
139;76767;RECV;Hard!Text^?123
140;182568;SEND;Hard!Text^?123
140;78816;RECV;Hard!Text^?123
141;184568;SEND;Hard!Text^?123
141;80863;RECV;Hard!Text^?123
142;186568;SEND;Hard!Text^?123
142;82911;RECV;Hard!Text^?123
143;188568;SEND;Hard!Text^?123
143;84755;RECV;Hard!Text^?123
144;190568;SEND;Hard!Text^?123
144;86804;RECV;Hard!Text^?123
145;192568;SEND;Hard!Text^?123
145;88851;RECV;Hard!Text^?123
146;194568;SEND;Hard!Text^?123
146;90899;RECV;Hard!Text^?123
147;196568;SEND;Hard!Text^?123
147;92742;RECV;Hard!Text^?123
148;198568;SEND;Hard!Text^?123
148;94790;RECV;Hard!Text^?123
149;200568;SEND;Hard!Text^?123
149;96838;RECV;Hard!Text^?123
150;202568;SEND;Hard!Text^?123
150;98886;RECV;Hard!Text^?123
151;204568;SEND;Hard!Text^?123
151;100936;RECV;Hard!Text^?123
152;206568;SEND;Hard!Text^?123
153;208568;SEND;Hard!Text^?123
154;210568;SEND;Hard!Text^?123
155;212568;SEND;Hard!Text^?123
156;214568;SEND;Hard!Text^?123
157;216568;SEND;Hard!Text^?123
158;218568;SEND;Hard!Text^?123
159;220568;SEND;Hard!Text^?123
160;222568;SEND;Hard!Text^?123
161;224568;SEND;Hard!Text^?123
162;227517;SEND;Hard!Text^?123
162;14627;RECV;Hard!Text^?123
163;229517;SEND;Hard!Text^?123
163;16469;RECV;Hard!Text^?123
164;231517;SEND;Hard!Text^?123
164;18721;RECV;Hard!Text^?123
165;233517;SEND;Hard!Text^?123
165;20565;RECV;Hard!Text^?123
166;235517;SEND;Hard!Text^?123
166;22613;RECV;Hard!Text^?123
167;237517;SEND;Hard!Text^?123
167;24663;RECV;Hard!Text^?123
168;239517;SEND;Hard!Text^?123
168;26505;RECV;Hard!Text^?123
169;241517;SEND;Hard!Text^?123
1;4467;SEND;Hard!Text^?123
2;6467;SEND;Hard!Text^?123
3;8467;SEND;Hard!Text^?123
4;10467;SEND;Hard!Text^?123
5;12467;SEND;Hard!Text^?123
1;5017;SEND;Hard!Text^?123
2;7718;SEND;Hard!Text^?123
3;9718;SEND;Hard!Text^?123
4;11718;SEND;Hard!Text^?123
5;13718;SEND;Hard!Text^?123
6;15718;SEND;Hard!Text^?123
7;23245;SEND;Hard!Text^?123
8;25245;SEND;Hard!Text^?123
9;27245;SEND;Hard!Text^?123
10;29245;SEND;Hard!Text^?123
11;31245;SEND;Hard!Text^?123
7;13467;RECV;Hard!Text^?123
8;13877;RECV;Hard!Text^?123
12;33245;SEND;Hard!Text^?123
9;13881;RECV;Hard!Text^?123
10;13884;RECV;Hard!Text^?123
11;13886;RECV;Hard!Text^?123
12;14491;RECV;Hard!Text^?123
13;35245;SEND;Hard!Text^?123
13;16539;RECV;Hard!Text^?123
14;37245;SEND;Hard!Text^?123
14;18587;RECV;Hard!Text^?123
15;39245;SEND;Hard!Text^?123
15;22069;RECV;Hard!Text^?123
16;41245;SEND;Hard!Text^?123
16;22481;RECV;Hard!Text^?123
17;43245;SEND;Hard!Text^?123
17;24526;RECV;Hard!Text^?123
18;45245;SEND;Hard!Text^?123
18;26574;RECV;Hard!Text^?123
19;47245;SEND;Hard!Text^?123
19;28623;RECV;Hard!Text^?123
20;49245;SEND;Hard!Text^?123
20;30670;RECV;Hard!Text^?123
21;51245;SEND;Hard!Text^?123
22;53245;SEND;Hard!Text^?123
23;55245;SEND;Hard!Text^?123
24;57245;SEND;Hard!Text^?123
25;59245;SEND;Hard!Text^?123
26;61245;SEND;Hard!Text^?123
27;63245;SEND;Hard!Text^?123
28;65245;SEND;Hard!Text^?123
29;67245;SEND;Hard!Text^?123
1;3338;SEND;Hard!Text^?123
1;8867;RECV;Hard!Text^?123
2;5338;SEND;Hard!Text^?123
2;11113;RECV;Hard!Text^?123
3;7338;SEND;Hard!Text^?123
3;13016;RECV;Hard!Text^?123
4;9338;SEND;Hard!Text^?123
4;14960;RECV;Hard!Text^?123
5;11338;SEND;Hard!Text^?123
5;17008;RECV;Hard!Text^?123
6;13338;SEND;Hard!Text^?123
6;19058;RECV;Hard!Text^?123
7;15338;SEND;Hard!Text^?123
7;20899;RECV;Hard!Text^?123
8;17338;SEND;Hard!Text^?123
8;22947;RECV;Hard!Text^?123
9;19338;SEND;Hard!Text^?123
10;21338;SEND;Hard!Text^?123
9;24995;RECV;Hard!Text^?123
11;23338;SEND;Hard!Text^?123
12;25338;SEND;Hard!Text^?123
13;27338;SEND;Hard!Text^?123
10;27555;RECV;Hard!Text^?123
11;29706;RECV;Hard!Text^?123
12;31139;RECV;Hard!Text^?123
13;32982;RECV;Hard!Text^?123
14;29338;SEND;Hard!Text^?123
14;35031;RECV;Hard!Text^?123
15;31338;SEND;Hard!Text^?123
15;37078;RECV;Hard!Text^?123
16;33338;SEND;Hard!Text^?123
16;39137;RECV;Hard!Text^?123
17;35338;SEND;Hard!Text^?123
17;40970;RECV;Hard!Text^?123
18;37338;SEND;Hard!Text^?123
18;43018;RECV;Hard!Text^?123
19;39338;SEND;Hard!Text^?123
19;45066;RECV;Hard!Text^?123
20;41338;SEND;Hard!Text^?123
20;46909;RECV;Hard!Text^?123
21;43338;SEND;Hard!Text^?123
22;45338;SEND;Hard!Text^?123
23;47338;SEND;Hard!Text^?123
21;48957;RECV;Hard!Text^?123
24;49338;SEND;Hard!Text^?123
22;51210;RECV;Hard!Text^?123
23;53053;RECV;Hard!Text^?123
24;54899;RECV;Hard!Text^?123
25;51338;SEND;Hard!Text^?123
25;56944;RECV;Hard!Text^?123
26;53338;SEND;Hard!Text^?123
26;58992;RECV;Hard!Text^?123
27;55338;SEND;Hard!Text^?123
27;61041;RECV;Hard!Text^?123
28;57338;SEND;Hard!Text^?123
28;62884;RECV;Hard!Text^?123
29;59338;SEND;Hard!Text^?123
29;64932;RECV;Hard!Text^?123
30;61338;SEND;Hard!Text^?123
30;66980;RECV;Hard!Text^?123
31;63338;SEND;Hard!Text^?123
31;69028;RECV;Hard!Text^?123
32;65338;SEND;Hard!Text^?123
33;67338;SEND;Hard!Text^?123
32;71178;RECV;Hard!Text^?123
33;73125;RECV;Hard!Text^?123
34;69338;SEND;Hard!Text^?123
34;74971;RECV;Hard!Text^?123
1;4643;SEND;Hard!Text^?123
2;6643;SEND;Hard!Text^?123
3;8643;SEND;Hard!Text^?123
4;10643;SEND;Hard!Text^?123
5;12643;SEND;Hard!Text^?123
6;14643;SEND;Hard!Text^?123
7;16643;SEND;Hard!Text^?123
8;18643;SEND;Hard!Text^?123
9;20643;SEND;Hard!Text^?123
10;22643;SEND;Hard!Text^?123
11;24643;SEND;Hard!Text^?123