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_Encoder.h"
|
||||||
#include "IR_Decoder.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() {};
|
IR_Encoder::~IR_Encoder() {};
|
||||||
|
|
||||||
void IR_Encoder::sendACK(uint16_t addrTo, uint8_t addInfo, bool forAll = false) {
|
void IR_Encoder::sendACK(uint16_t addrTo, uint8_t addInfo, bool forAll = false) {
|
||||||
|
@ -9,9 +9,10 @@ public:
|
|||||||
uint16_t addrSelf;
|
uint16_t addrSelf;
|
||||||
private:
|
private:
|
||||||
bool prevPreambBit = true; // предыдущий бит преамбулы
|
bool prevPreambBit = true; // предыдущий бит преамбулы
|
||||||
|
uint8_t carrierTune;
|
||||||
|
uint8_t halfPeriod;
|
||||||
public:
|
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>
|
template<typename T>
|
||||||
void sendData(uint16_t addrTo, T& data, bool needAccept = false);
|
void sendData(uint16_t addrTo, T& data, bool needAccept = false);
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
#include <Arduino.h>
|
#include <Arduino.h>
|
||||||
/*//////////////////////////////////////////////////////////////////////////////////////
|
/*//////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
Для работы в паре положить декодер в энкодер
|
||||||
|
|
||||||
*/// Адресация с 1 до 65 499
|
*/// Адресация с 1 до 65 499
|
||||||
#define IR_Broadcast 6500 // 65 500 ~ 65 535 - широковещательные пакеты (всем), возможно разделить на 35 типов
|
#define IR_Broadcast 6500 // 65 500 ~ 65 535 - широковещательные пакеты (всем), возможно разделить на 35 типов
|
||||||
/*
|
/*
|
||||||
@ -63,7 +65,7 @@ msg type:
|
|||||||
#define bytePerPack 3 // колличество байтов в пакете
|
#define bytePerPack 3 // колличество байтов в пакете
|
||||||
#define freeFrec true
|
#define freeFrec true
|
||||||
|
|
||||||
#define carrierTune 4
|
//#define carrierTune 4
|
||||||
#define preambPulse 3
|
#define preambPulse 3
|
||||||
// 8 для gyverCore
|
// 8 для gyverCore
|
||||||
// 4~5 для arduino nano
|
// 4~5 для arduino nano
|
||||||
@ -92,10 +94,6 @@ typedef uint16_t crc_t;
|
|||||||
#define carrierFrec 38000U // частота несущей
|
#define carrierFrec 38000U // частота несущей
|
||||||
#define carrierPeriod (1000000U/carrierFrec) // период несущей в us
|
#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 bitActiveTakts 25U // длительность единицы в тактах
|
||||||
#define bitPauseTakts 6U // длительность нуля в тактах
|
#define bitPauseTakts 6U // длительность нуля в тактах
|
||||||
|
Loading…
x
Reference in New Issue
Block a user