mirror of
https://github.com/Show-maket/IR-protocol.git
synced 2025-06-28 05:09:40 +00:00
add listen and fix
This commit is contained in:
28
IR_Decoder.h
28
IR_Decoder.h
@ -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;
|
||||
|
||||
|
Reference in New Issue
Block a user