mirror of
https://github.com/Show-maket/IR-protocol.git
synced 2025-05-04 07:10:16 +00:00
tune as parameter
This commit is contained in:
parent
352835b6f5
commit
63e8328755
@ -1,7 +1,14 @@
|
||||
#include "IR_Encoder.h"
|
||||
#include "IR_Decoder.h"
|
||||
|
||||
IR_Encoder::IR_Encoder(uint16_t addr, uint8_t pin, IR_Decoder* decPair) : ir_out(pin), addrSelf(addr), decoder(decPair) {};
|
||||
IR_Encoder::IR_Encoder(uint16_t addr, uint8_t pin, uint8_t tune = 0, IR_Decoder* decPair) {
|
||||
ir_out = pin;
|
||||
addrSelf = addr;
|
||||
decoder = decPair;
|
||||
carrierTune = tune;
|
||||
halfPeriod = (carrierPeriod / 2) - carrierTune;
|
||||
|
||||
};
|
||||
IR_Encoder::~IR_Encoder() {};
|
||||
|
||||
void IR_Encoder::sendACK(uint16_t addrTo, uint8_t addInfo, bool forAll = false) {
|
||||
|
@ -9,9 +9,10 @@ public:
|
||||
uint16_t addrSelf;
|
||||
private:
|
||||
bool prevPreambBit = true; // предыдущий бит преамбулы
|
||||
|
||||
uint8_t carrierTune;
|
||||
uint8_t halfPeriod;
|
||||
public:
|
||||
IR_Encoder(uint16_t addr, uint8_t pin, IR_Decoder* decPair = nullptr);
|
||||
IR_Encoder(uint16_t addr, uint8_t pin, uint8_t tune, IR_Decoder* decPair = nullptr);
|
||||
|
||||
template<typename T>
|
||||
void sendData(uint16_t addrTo, T& data, bool needAccept = false);
|
||||
|
@ -2,6 +2,8 @@
|
||||
#include <Arduino.h>
|
||||
/*//////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
Для работы в паре положить декодер в энкодер
|
||||
|
||||
*/// Адресация с 1 до 65 499
|
||||
#define IR_Broadcast 6500 // 65 500 ~ 65 535 - широковещательные пакеты (всем), возможно разделить на 35 типов
|
||||
/*
|
||||
@ -63,7 +65,7 @@ msg type:
|
||||
#define bytePerPack 3 // колличество байтов в пакете
|
||||
#define freeFrec true
|
||||
|
||||
#define carrierTune 4
|
||||
//#define carrierTune 4
|
||||
#define preambPulse 3
|
||||
// 8 для gyverCore
|
||||
// 4~5 для arduino nano
|
||||
@ -92,10 +94,6 @@ typedef uint16_t crc_t;
|
||||
#define carrierFrec 38000U // частота несущей
|
||||
#define carrierPeriod (1000000U/carrierFrec) // период несущей в us
|
||||
|
||||
|
||||
#define halfPeriod ((carrierPeriod / 2) - carrierTune) //13 //8 // 14 при работе с регистрами, 14 -6 = 8 для digitalWrite()
|
||||
const auto _x_ = halfPeriod;
|
||||
|
||||
// В процессе работы значения будут отклонятся в соответствии с предыдущим битом
|
||||
#define bitActiveTakts 25U // длительность единицы в тактах
|
||||
#define bitPauseTakts 6U // длительность нуля в тактах
|
||||
|
Loading…
x
Reference in New Issue
Block a user