This commit is contained in:
DashyFox 2024-02-29 13:14:43 +03:00
parent eac364b0d3
commit 60a8e58cc3
3 changed files with 5 additions and 2 deletions

View File

@ -17,6 +17,7 @@ public:
PacketTypes::DataBack gotBackData; PacketTypes::DataBack gotBackData;
PacketTypes::Accept gotAccept; PacketTypes::Accept gotAccept;
PacketTypes::Request gotRequest; PacketTypes::Request gotRequest;
PacketTypes::BasePack gotRaw;
IR_Decoder(const uint8_t isrPin, uint16_t addr, IR_Encoder* encPair = nullptr) : IR_DecoderRaw(isrPin, addr, encPair) {} IR_Decoder(const uint8_t isrPin, uint16_t addr, IR_Encoder* encPair = nullptr) : IR_DecoderRaw(isrPin, addr, encPair) {}
@ -26,6 +27,7 @@ public:
#ifdef IRDEBUG_INFO #ifdef IRDEBUG_INFO
Serial.println("PARSING RAW DATA"); Serial.println("PARSING RAW DATA");
#endif #endif
gotRaw.set(&packInfo, id);
isWaitingAcceptSend = false; isWaitingAcceptSend = false;
switch (packInfo.buffer[0] >> 5 & IR_MASK_MSG_TYPE) { switch (packInfo.buffer[0] >> 5 & IR_MASK_MSG_TYPE) {
case IR_MSG_DATA_ACCEPT: case IR_MSG_DATA_ACCEPT:

View File

@ -28,6 +28,7 @@ class IR_DecoderRaw : virtual public IR_FOX {
protected: protected:
PackInfo packInfo; PackInfo packInfo;
IR_Encoder* encoder; // Указатель на парный передатчик IR_Encoder* encoder; // Указатель на парный передатчик
bool availableRaw() { if (isAvailable) { isAvailable = false; return true; } else { return false; } };
public: public:
const uint8_t isrPin; // Пин прерывания const uint8_t isrPin; // Пин прерывания
@ -40,7 +41,7 @@ public:
void isr(); // Функция прерывания void isr(); // Функция прерывания
void tick(); // Обработка приёмника, необходима для работы void tick(); // Обработка приёмника, необходима для работы
bool availableRaw() { if (isAvailable) { isAvailable = false; return true; } else { return false; } };
bool isOverflow() { return isBufferOverflow; }; // Буффер переполнился bool isOverflow() { return isBufferOverflow; }; // Буффер переполнился
bool isReciving() { return isBufferOverflow; }; // Возвращает true, если происходит приём пакета bool isReciving() { return isBufferOverflow; }; // Возвращает true, если происходит приём пакета

View File

@ -18,7 +18,7 @@ namespace PacketTypes {
IR_FOX::PackInfo* packInfo; IR_FOX::PackInfo* packInfo;
uint16_t id; uint16_t id;
virtual bool checkAddress(); virtual bool checkAddress(){return true;};
void set(IR_FOX::PackInfo* packInfo, uint16_t id) { void set(IR_FOX::PackInfo* packInfo, uint16_t id) {
this->packInfo = packInfo; this->packInfo = packInfo;
this->id = id; this->id = id;