add listen and fix

This commit is contained in:
2023-10-17 17:35:02 +03:00
parent 63e8328755
commit 791d90ee00
3 changed files with 54 additions and 40 deletions

View File

@ -36,6 +36,8 @@ public:
// @return Буффер переполнился
bool isOverflow() { return isBufferOverflow; };
bool isReciving() { return isRecive; };
void listen();
//////////////////////////////////////////////////////////////////////////
@ -43,15 +45,15 @@ public:
friend IR_Decoder;
protected:
bool _isAvaliable = false;
uint8_t _msgType;
uint8_t _msgType = 0;
uint16_t _addrFrom = 0;
uint16_t _addrTo = 0;
uint8_t* _data = nullptr;
uint8_t _dataRawSize = 0;
uint16_t _crcPackVal;
uint16_t _crcCalcVal;
uint16_t _errCount;
uint16_t _bitPeriod;
uint16_t _crcPackVal = 0;
uint16_t _crcCalcVal = 0;
uint16_t _errCount = 0;
uint16_t _bitPeriod = 0;
void _set(uint8_t* ptr, uint8_t len, uint16_t crc, uint16_t err, uint16_t rTime) {
_crcCalcVal = crc;
@ -65,6 +67,7 @@ public:
ini();
_isAvaliable = true;
}
private:
virtual void ini();
@ -97,6 +100,7 @@ public:
String printData(uint8_t mode = 10) {
return printBytes(data(), dataSize(), mode);
}
~Data(){};
private:
void ini() override {
_addrFrom = (_data[1] << 8) | _data[2];
@ -105,9 +109,9 @@ public:
}
};
class RawData : public Data {
// class RawData : public Data {
};
// };
class Accept : public InputData {
public:
@ -135,10 +139,12 @@ public:
friend IR_Decoder;
private:
bool _isAvaliable = false;
uint16_t _tune;
uint16_t _errCount = 0;
uint16_t _tune = 0;
public:
bool avaliable() { return _isAvaliable; };
uint16_t getTune() { return _tune; };
uint16_t errorCount() { return _errCount; };
void resetAvaliable() { _isAvaliable = false; };
private:
void _set(uint16_t val) {
@ -148,7 +154,8 @@ public:
};
Data gotData;
RawData gotRawData;
Data gotRawData;
// RawData gotRawData;
Accept gotAccept;
Request gotRequest;
RawTune gotTune;
@ -159,6 +166,9 @@ private:
bool isPairSending = false;
bool IsPairSendLOW = false;
volatile bool isRecive = false;
bool isWaitingAccept = false;
uint16_t addrWaitingFrom = 0;