Bonjour à tous,
Je galère depuis pas mal de temps sur l'infrarouge et l'ESP32 S3...
La librairie IRremote ESP ne fonctionne pas mais c'est connue. J'ai bien testé la freenove qui fonctionne mais elle crée une interruption dans l'attente d'un signal, hors j'ai besoin qu'il n'y ai pas d'interruption...A priori"esp-rmt-ir.h" fonctionne bien, puisque cela fonctionne (esp32-rmt-ir/README.md at main · junkfix/esp32-rmt-ir · GitHub)...MAIS ...Je n'arrive pas à récupérer le code pour le mettre dans une variable...
Si quelqu'un a une idée...Je suis preneur.
Je vous joint le code exemple...il affiche bien le code sur le port serial....Mais...il n'y a pas de serial.print...Et je ne connais que ça...Même en ouvrant la biblio....Bref, je nage...Un maître nageur dans le coin ? Milles mercis
/*
#include "esp32-rmt-ir.h"
void irReceived(irproto brand, uint32_t code, size_t len, rmt_symbol_word_t *item){
if( code ){
Serial.printf("IR %s, code: %#x, bits: %d\n", proto[brand].name, code, len);
}
/*if(true){//debug
Serial.printf("Rx%d: ", len);
for (uint8_t i=0; i < len ; i++ ) {
int d0 = item[i].duration0; if(!item[i].level0){d0 *= -1;}
int d1 = item[i].duration1; if(!item[i].level1){d1 *= -1;}
Serial.printf("%d,%d ", d0, d1);
}
Serial.println();
}
*/
}
void setup() {
Serial.begin(115200);
irRxPin = 18;
irTxPin = 4;
xTaskCreatePinnedToCore(recvIR, "recvIR", 2048, NULL, 10, NULL, 1);
}
void loop() {
}