Code Conflict tussen TCPsocket & IrReceiver

Beste,

Ik probeer mijn volledige code werkende te krijgen.
Echter dit blijkt mij niet te lukken, wel in afzonderlijke stukken, m.a.w.:

  • De code om te communiceren met het TCP socket en de Node.js server werken perfect.
    Vervolgens voert de code een RC transmitter aan om een signaal te verzenden naar en KUKA ontvangen om verlichting aan te sturen.

  • De code om IR signalen te ontvangen van een afstandsbediening werkt afzonderlijk.
    Echter wanneer ik de code samenstel en laat runnen geraakt TCP socket volledig verstoort.
    Geen enkel commande kan nog worden uitgevoerd.

Enig idee waarom IrReceiver de andere code overruled?

RoPo-1.ino (2.57 KB)

Je geeft de 2 afzonderlijke stukken code niet waardoor ik niet zo snel kan zeggen dat dat het probleem is maar .... delay(100) in je loop en TCP klinkt mij als een probleem. Met vriendelijke groet Jantje

PS ik heb je andere post op je verzoek verwijderd.

Het lijkt mij dat je de "kaKuTransmitter.sendSignal()" code regels uit de "if (client.available()){.........} routine moet houden en in een aparte routine daarna moet plaatsen. Mogelijk als je de sluitings-accolade van de client.available wat hoger plaatst, voor de if(readString.indexOf())dat het dan beter gaat.

Een kaku zendsignaal kan wel eens 100 milliseconde duren en daarmee raakt de (client.available) routine misschien uit de tel.

Beste Jan & Cartoonist,

Heb onderstussen volgende testen gedaan: - delay naar 10 gebracht. - alsook de client.availible routine

Wanneer ik de code van IRreceiver enable werkt er niets. Bij het disablene van:

in Void Setup //irrecv.enableIRIn(); //Serial.println("IR receiver ready");

in Void Loop /* if (irrecv.decode(&results)){ Serial.println(results.value,HEX); switch (results.value){ case 1470210214: kaKuTransmitter.sendSignal('A',2,true); break; case 851019735: kaKuTransmitter.sendSignal('A',2,false); break; } irrecv.resume(); } delay(10);*/

Dan werkt alles opnieuw normaal van het TCP socket naar RF transmitter alsook de RF receiver Door een of anderen redenen eist de irrecv.enableIRIn() voorrang op alle andere code?