This commit is contained in:
2024-02-20 15:00:00 +03:00
parent e4aa7b47c5
commit 27dd448cb0
4 changed files with 192 additions and 136 deletions

View File

@ -28,10 +28,11 @@ class IR_Decoder : private IR_FOX {
friend IR_Encoder;
public:
uint16_t id;
Data gotData; /// @brief Контейнер с данными
Data gotRawData;
Accept gotAccept; /// @brief Контейнер с подтверждением
Request gotRequest; /// @brief Контейнер с запросом
Data gotData = Data(id); /// @brief Контейнер с данными
Data gotRawData = Data(id);
Accept gotAccept = Accept(id); /// @brief Контейнер с подтверждением
Request gotRequest = Request(id); /// @brief Контейнер с запросом
RawTune gotTune; /// @brief Контейнер с информацией подстройки
const uint8_t isrPin; // Пин прерывания
@ -73,8 +74,6 @@ private:
uint16_t addrWaitingFrom = 0; // Адрес, от кого ожидается подтверждение
uint16_t riseSyncTime = bitTime; // Подстраиваемое время бита в мкс
// bool HIGH_FIRST = true; //TODO: порядок приходящих битов
////////////////////////////////////////////////////////////////////////
volatile uint8_t currentSubBufferIndex; // Счетчик текущей позиции во вспомогательном буфере фронтов/спадов
@ -110,7 +109,7 @@ private:
/// @brief Запиь бита в буффер, а так же проверка битов синхранизации и их фильтрация
/// @param Бит данных
void writeToBuffer(bool);
void packToOutClass(uint8_t endBitOffset, uint8_t bytesToCheck, uint8_t addressForCheckOffset, IDataPack* objFine, IDataPack* objWrong = nullptr);
void packToOutClass(uint8_t packSize, IDataPack& obj, PackOffsets offsets);
////////////////////////////////////////////////////////////////////////
/// @brief Установка и сброс начальных значений и флагов в готовность к приёму данных
@ -128,4 +127,4 @@ private:
#endif
};
};