IR LG protocol with arduino primo

Good afternoon,
Can someone help me use the internal IR of an Arduino Primo card for protocols other than NEC, LG and Samsung for example? The examples include the use with the CIR.H library but periodically it serves me for the NEC protocol, I tried to use examples with the IRremote library but it sends me an error for the Arduino Primo card.

This is the funcionally CIR.H library example for NEC protocol.

#include <Wire.h>
#include "cir.h"

cir primo_cir;

void setup() {
 // start serial port at 115200 bps:
 Serial.begin(115200);
 // initialize the LED pin as an output:
 pinMode(LED_BUILTIN, OUTPUT);
 // turn LED off:
 digitalWrite(LED_BUILTIN, LOW);
 // enable IR ready to receiver:
 primo_cir.enableReceiver();
 // turn LED on:
 digitalWrite(LED_BUILTIN, HIGH);
}

void loop() {
 // check if IR receiver decodes signals and accord with NEC Protocl:
 if (primo_cir.getReceiverStatus())
 // print hex code:
 printCirReceiverResult();
}

void printCirReceiverResult() {
 // turn LED on:
 digitalWrite(LED_BUILTIN, HIGH);
 Serial.print("Data Code:");
 // convert to hex code and print:
 Serial.println(primo_cir.digitalRead(),HEX);
 // new line:
 Serial.print('\n');
 // turn LED off:
 digitalWrite(LED_BUILTIN, LOW);
}

Bienvenido al foro Arduino.

Ahora el tirón de orejas por la falta cometida.
Lee las Normas del foro y edita tu post, porque claro, publicaste un código como vino al mundo, o sea simple texto y debe ir con etiquetas.

Buenas tardes,

Edito mi post debido a falta de etiqueta en mi código, mi pregunta es como puedo utilizar la librería CIR incluida en la tarjeta Arduino Primo para usar mandos a distancia con protocolos distintos a NEC, como por ejemplo LG, Samsung, Sony, etc.

Tengo el siguiente código con el cual me funciona bien para dispositivos con protocolo NEC pero no para otros protocolos, he leído infinidad de artículos donde desarrollan soluciones con la librería IRremote pero no es compatible con la tarjeta Arduino Primo.

Dejo el código funcional para protocolo NEC.

Saludos y gracias de antemano.

#include <Wire.h>
#include "cir.h"

cir primo_cir;

void setup() {
  // start serial port at 115200 bps:
  Serial.begin(115200);
  // initialize the LED pin as an output:
  pinMode(LED_BUILTIN, OUTPUT);
  // turn LED off:
  digitalWrite(LED_BUILTIN, LOW);
  // enable IR ready to receiver:
  primo_cir.enableReceiver();
  // turn LED on:
  digitalWrite(LED_BUILTIN, HIGH);
}

void loop() {
  // check if IR receiver decodes signals and accord with NEC Protocl:
  if (primo_cir.getReceiverStatus())
  // print hex code:
  printCirReceiverResult();
}

void printCirReceiverResult() {
  // turn LED on:
  digitalWrite(LED_BUILTIN, HIGH);
  Serial.print("Data Code:");
  // convert to hex code and print:
  Serial.println(primo_cir.digitalRead(),HEX);
  // new line:
  Serial.print('\n');
  // turn LED off:
  digitalWrite(LED_BUILTIN, LOW);
}

Bueno la idea era que editaras el post inicial no que quede el post inicial con un código mal posteado y repitas el que has puesto pero valoro la intención y lo he hecho yo.
Ya lo has aprendido!

Puedes colocar el enlace de la librería cir.h (de nuevo usa etiquetas!)

No la conozco y no sabré que responder hasta leer como funciona.

Buenas tardes una disculpa la verdad que no encontre el lugar para editar el post original pero agradezco la ayuda para hacerlo y lección aprendida.

El línk para la libreria la encuentras en:

https://github.com/arduino-org/arduino-core-nrf52/tree/master/libraries/CIR

Bueno ahora veo el problema.
Te da como funciona el protocolo NEC pero no dice nada mas, en cambio IRremote.h tiene varios protocolos o mejor dicho detecta varios protocolos.
Incluso el que no conoce lo pone como RAW y aun asi puedes reproducirlo y funciona.
Lo que no se si el Arduino Primo funcionará con IRremote.

Si de hecho ese es mi problema que no me funcionan los códigos con la librería de IRremote con la placa arduino primo y por ello es que quiero saber si alguien sabe como poder modificar la librería que si me sirve o que puedo hacer para adaptar la segunda librería no se si tenga que ver los 64Mhz que maneja el reloj en lugar de los 16Mhz que maneja la arduino uno.

Y una disculpa apenas me adapto a las normas del sitio.

Saludos y gracias de antemano por la ayuda.

Lo que seguramente falla es el uso del TIMER1 que esta pensado en AVR y seguramente tienes un Arduino basado en ARM.
Debo confirmarlo porque ahora no lo se. Salen muchos productos nuevos y es imposible seguirles el ritmo.
Lo mejor que puedes hacer es: busca como es el protocolo que necesitas decodificar.
Adapta tu rutina CIR usando los tiempos para 1 y 0 usando como ejemplo el de NEC y deberías poder leer tu código.

De acuerdo continuare investigando esperando llegar a la solución.

Saludos.

Bueno el PRIMO no tiene un ARM, usa un nRF52832 de Nordic y tmb un SMT32 y un ESP8266. Vaya mezcla!!

En fin.. con razón no funciona IRremote. No hay nada parecido a un TIMER1 de AVR ahi.

Lo mas importante no lo has explicado en ninguno de tus post.

Que protocolo pretendes leer.
En esta épocaque todo puede encontrarse en Internet no hay razón para que identifiques debidamente el protocolo de la Marca y/o modelo de IR que te interesa.