mirror of
https://github.com/Show-maket/IR-protocol.git
synced 2025-05-04 07:10:16 +00:00
little opti
This commit is contained in:
parent
4fd4983bb9
commit
434e1aaa90
@ -66,7 +66,7 @@ Timer t1(500, millis, []() {
|
|||||||
|
|
||||||
switch (sig) {
|
switch (sig) {
|
||||||
case 0:
|
case 0:
|
||||||
encForward.sendData(targetAddr, data0, sizeof(data0));
|
encForward.sendData(targetAddr);
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
encForward.sendData(targetAddr, data1, sizeof(data1));
|
encForward.sendData(targetAddr, data1, sizeof(data1));
|
||||||
|
@ -103,7 +103,8 @@ void IR_DecoderRaw::tick() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (preambFrontCounter > 0) { // в преамбуле
|
if (preambFrontCounter) { // в преамбуле
|
||||||
|
uint32_t risePeriod;
|
||||||
risePeriod = currentFront.time - prevRise;
|
risePeriod = currentFront.time - prevRise;
|
||||||
if (currentFront.dir && risePeriod < IR_timeout) { // __/``` ↑ и мы в внутри пакета
|
if (currentFront.dir && risePeriod < IR_timeout) { // __/``` ↑ и мы в внутри пакета
|
||||||
|
|
||||||
|
@ -72,7 +72,6 @@ private:
|
|||||||
////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////
|
||||||
uint8_t dataBuffer[dataByteSizeMax] { 0 }; // Буффер данных
|
uint8_t dataBuffer[dataByteSizeMax] { 0 }; // Буффер данных
|
||||||
uint32_t prevRise, prevPrevRise, prevFall, prevPrevFall; // Время предыдущих фронтов/спадов
|
uint32_t prevRise, prevPrevRise, prevFall, prevPrevFall; // Время предыдущих фронтов/спадов
|
||||||
uint32_t risePeriod;
|
|
||||||
uint16_t errorCounter = 0; // Счётчик ошибок
|
uint16_t errorCounter = 0; // Счётчик ошибок
|
||||||
int8_t preambFrontCounter = 0; // Счётчик __/``` ↑ преамбулы
|
int8_t preambFrontCounter = 0; // Счётчик __/``` ↑ преамбулы
|
||||||
int16_t bufBitPos = 0; // Позиция для записи бита в буффер
|
int16_t bufBitPos = 0; // Позиция для записи бита в буффер
|
||||||
|
10
IR_config.h
10
IR_config.h
@ -1,7 +1,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include <Arduino.h>
|
#include <Arduino.h>
|
||||||
|
|
||||||
// #define IRDEBUG_INFO
|
#define IRDEBUG_INFO
|
||||||
/*//////////////////////////////////////////////////////////////////////////////////////
|
/*//////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
Для работы в паре положить декодер в энкодер
|
Для работы в паре положить декодер в энкодер
|
||||||
@ -66,10 +66,10 @@ customByte - контрольная сумма принятых данных п
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
/`````````````````````` Задний сигнал машинки без адресации ``````````````````````\ В (IR_MASK_MSG_INFO & 15U) содержится количество байт
|
/`````````````````````` Задний сигнал машинки без адресации ``````````````````````\
|
||||||
сквозных команд, максимум 15
|
|
||||||
{``````````} [````````````````````````] [````````````````````````] [``````````````] Если полезных байт информации нет, отправляется один
|
{``````````} [````````````````````````] [````````````````````````] [``````````````]
|
||||||
{ msg type } [ addr_from uint16_t ] [====== data bytes ======] [ CRC Bytes ] байт нулей
|
{ msg type } [ addr_from uint16_t ] [====== data bytes ======] [ CRC Bytes ]
|
||||||
{..........} [........................] [........................] [..............]
|
{..........} [........................] [........................] [..............]
|
||||||
|
|
||||||
{ 0000xxxx } [addr_from_H][addr_from_L] [data_H][data_n..][data_L] [ crc1 ][ crc2 ]
|
{ 0000xxxx } [addr_from_H][addr_from_L] [data_H][data_n..][data_L] [ crc1 ][ crc2 ]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user