Files
Tools_CPP/devices/Acquiring/BluePad/DataToSend.h
2024-11-01 12:23:13 +05:00

45 lines
1.2 KiB
C++

/*
* DataToSend.h
*
* Created on: 19 ÿíâàðÿ 2022 ã.
* Author: Igor
*/
//---------------------------------------------------------------------------
#ifndef DATATOSEND_H_
#define DATATOSEND_H_
//---------------------------------------------------------------------------
#include <cstdlib>
#include <cstring>
#include <string>
//---------------------------------------------------------------------------
//Äëÿ îðãàíèçàöèè FIFO áóôåðà îòïðàâêè äàííûõ â òåðìèíàë èç ðàçíûõ ïîòîêîâ
class DataToSend
{
public:
static int uid;
int id; //
char mas[65535]; //Áóôåð äëÿ îòïðàâêè
int len; //Äëèíà âñåõ áàéò â ìàññèâå mas
int pos; //Ïîçèöèÿ â êîòîðóþ çàïèñûâàþòñÿ äàííûå
DataToSend* child;
std::string log_text; //Òåêñò êîòîðûé áóäåò çàïèñàí ïðè ëîãèðîâàíèè
DataToSend() {
id = uid++;
memset(mas, 0, sizeof(mas));
len = 0;
pos = 0;
child = NULL;
};
int addStringTag(int tag, std::string data); //Äîáàâèòü ñòðîêîâûé òåã â ìàññèâ
int addUIntTag(int tag, unsigned int data);
int addChar(char ch);
int addUChar(unsigned char ch);
void calcCRC(); //Ïîñ÷èòàòü CRC è çàïèñàòü â ïîñëåäíèé áàéò (len - 1)
};
//---------------------------------------------------------------------------
#endif