3 Commits

Author SHA1 Message Date
6c8ff18de0 cmd 2024-09-09 10:51:55 +03:00
3f29b8f596 delay TX 2024-09-04 13:49:04 +03:00
b6e181f7b6 CarCMD 2024-09-04 10:27:33 +03:00
3 changed files with 16 additions and 12 deletions

View File

@ -18,6 +18,8 @@
#define INFO "IR_FOX TEST"
#define SERIAL_SPEED 115200
constexpr uint8_t cmd_for_car = CarCmd::stop_Tmp_H_S; // <<<<<<<<< CMD FOR CAR
//////////////// Var /////////////////
IR_Decoder decForward(2, 555);
@ -191,6 +193,9 @@ void setup() {
bool testLed = false;
uint32_t testLed_timer;
bool responsponse_f = false;
uint32_t responsponse_tim;;
void loop() {
// digitalToggle(LoopOut);
Timer::tick();
@ -228,7 +233,11 @@ void loop() {
if(testLed && millis() - testLed_timer > 100){
testLed=false;
digitalWrite(12, LOW);
}
if(responsponse_f && millis() - responsponse_tim > 100) {
responsponse_f=false;
encForward.sendData(IR_Broadcast, cmd_for_car);
}
}
@ -237,7 +246,6 @@ void loop() {
//test
void status(IR_Decoder& dec) {
if (dec.gotData.available() && dec.gotData.getAddrFrom() != 42) {
@ -246,8 +254,8 @@ void status(IR_Decoder& dec) {
testLed = true;
testLed_timer = millis();
encForward.sendData(IR_Broadcast, CarCmd::stop); //<<<<<<<<<<<<<<<<<<<<<<<<<<< CMD IS HERE
responsponse_f = true;
responsponse_tim = testLed_timer;
String str;
if (/* dec.gotData.getDataPrt()[1] */1) {

View File

@ -48,10 +48,7 @@ void IR_Encoder::sendData(uint16_t addrTo, uint8_t dataByte, bool needAccept = f
delete[] dataPtr;
}
void IR_Encoder::sendData(uint16_t addrTo, uint8_t *data = nullptr, uint8_t len = 0, bool needAccept = false){
sendData(id, addrTo, data, len, needAccept);
}
void IR_Encoder::sendData(uint16_t addrFrom, uint16_t addrTo, uint8_t *data = nullptr, uint8_t len = 0, bool needAccept = false)
void IR_Encoder::sendData(uint16_t addrTo, uint8_t *data = nullptr, uint8_t len = 0, bool needAccept = false)
{
if (len > bytePerPack)
{
@ -68,8 +65,8 @@ void IR_Encoder::sendData(uint16_t addrFrom, uint16_t addrTo, uint8_t *data = nu
sendBuffer[0] = msgType;
// addr_self
sendBuffer[1] = addrFrom >> 8 & 0xFF;
sendBuffer[2] = addrFrom & 0xFF;
sendBuffer[1] = id >> 8 & 0xFF;
sendBuffer[2] = id & 0xFF;
// addr_to
sendBuffer[3] = addrTo >> 8 & 0xFF;

View File

@ -4,13 +4,13 @@
// TODO: Отложенная передача после завершения приема
class IR_DecoderRaw;
class IR_Encoder : public IR_FOX
class IR_Encoder : IR_FOX
{
friend IR_DecoderRaw;
public:
private:
// uint16_t id; /// @brief Адрес передатчика
uint16_t id; /// @brief Адрес передатчика
public:
/// @brief Класс передатчика
@ -49,7 +49,6 @@ public:
void sendData(uint16_t addrTo, uint8_t dataByte, bool needAccept = false);
void sendData(uint16_t addrTo, uint8_t *data = nullptr, uint8_t len = 0, bool needAccept = false);
void sendData(uint16_t addrFrom, uint16_t addrTo, uint8_t *data = nullptr, uint8_t len = 0, bool needAccept = false);
void sendAccept(uint16_t addrTo, uint8_t customByte = 0);
void sendRequest(uint16_t addrTo);