mirror of
https://github.com/Show-maket/IR-protocol.git
synced 2025-05-03 23:00:16 +00:00
subBuffer overflow detect
This commit is contained in:
parent
24b68b953b
commit
db86bcf74c
@ -24,6 +24,7 @@ void IR_DecoderRaw::isr() {
|
||||
} else {
|
||||
if (firstUnHandledFront == &subBuffer[currentSubBufferIndex]) { // Если контроллер не успел обработать новый сигнал, принудительно пропускаем его
|
||||
firstUnHandledFront = firstUnHandledFront->next;
|
||||
isSubBufferOverflow = true;
|
||||
#ifdef IRDEBUG_INFO
|
||||
// Serial.println();
|
||||
Serial.println(" ISR BUFFER OVERFLOW ");
|
||||
@ -80,7 +81,7 @@ void IR_DecoderRaw::tick() {
|
||||
FrontStorage currentFront;
|
||||
noInterrupts();
|
||||
listenStart();
|
||||
if (firstUnHandledFront == nullptr) { interrupts(); return; } //Если данных нет - ничего не делаем
|
||||
if (firstUnHandledFront == nullptr) { isSubBufferOverflow = false; interrupts(); return; } //Если данных нет - ничего не делаем
|
||||
currentFront = *((FrontStorage*)firstUnHandledFront); //найти следующий необработанный фронт/спад
|
||||
interrupts();
|
||||
if (currentFront.next == nullptr) { isRecive = false; return; }
|
||||
|
@ -43,6 +43,7 @@ public:
|
||||
void tick(); // Обработка приёмника, необходима для работы
|
||||
|
||||
bool isOverflow() { return isBufferOverflow; }; // Буффер переполнился
|
||||
bool isSubOverflow() { return isSubBufferOverflow; }; // Буффер переполнился
|
||||
bool isReciving() { return isBufferOverflow; }; // Возвращает true, если происходит приём пакета
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
@ -54,6 +55,7 @@ private:
|
||||
volatile uint16_t isPairSending = 0; // Флаг передачи парного передатчика
|
||||
volatile bool isRecive = false; // Флаг приёма
|
||||
volatile bool isPreamb = false; // флаг начальной последовости
|
||||
volatile bool isSubBufferOverflow = false;
|
||||
bool isBufferOverflow = false; // Флаг переполнения буффера данных
|
||||
bool isWrongPack = false; // Флаг битого пакета
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user