merge from TX and RX

This commit is contained in:
2023-10-10 18:06:13 +03:00
parent a4105021ce
commit e812f97f37
5 changed files with 107 additions and 24 deletions

View File

@ -63,6 +63,12 @@ msg type:
#define bytePerPack 3 // колличество байтов в пакете
#define freeFrec true
#define carrierTune 8
// 8 для gyverCore
// 4~5 для arduino nano
/////////////////////////////////////////////////////////////////////////////////////
#define bitPerByte 8U // Колличество бит в байте
@ -86,13 +92,17 @@ 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 5U // длительность промежутков в тактах
#define bitActiveTakts 30U // длительность активной части бита в тактах
#define bitPauseTakts 7U // длительность промежутков в тактах
#define bitTakts (bitActiveTakts+bitPauseTakts*2U) // Общая длительность бита в тактах
#define bitTime (bitTakts*carrierPeriod) // Общая длительность бита
//const auto viewValue = bitTime;
const auto viewValue = bitTime;
#define tolerance 300U
class IR_FOX {
@ -113,4 +123,34 @@ public:
}
return crc;
}
String printBytes(uint8_t* d ,uint8_t s , uint8_t mode = 10) {
String str = "";
uint8_t control = bitPerByte;
uint8_t* _data = d;
switch (mode) {
case 2:
for (size_t i = 0; i < s * 8; i++) {
if (i == control) {
str += " ";
control += bitPerByte;
}
str += _data[(i / 8)] >> (7 - (i % 8)) & 1;
}
break;
case 10:
for (size_t i = 0; i < s; i++) {
str += _data[i];
str += " ";
}
break;
default:
break;
}
str += " ";
return str;
}
};