crankyoldgit / IRremoteESP8266

Infrared remote library for ESP8266/ESP32: send and receive infrared signals with multiple protocols. Based on: https://github.com/shirriff/Arduino-IRremote/
GNU Lesser General Public License v2.1
2.98k stars 832 forks source link

Protocol with more than 32bit? #13

Closed gorec2005 closed 7 years ago

gorec2005 commented 8 years ago

Hi! I want to do user protocol like this: `Encoding : UNKNOWN Code : ED1215A9 (32 bits) Timing[99]: +3050, -9000 + 600, -1500 + 550, - 550 + 550, - 550

gorec2005 commented 8 years ago

54 bit long...

markszabo commented 8 years ago

Hello, sorry for the late answer. I don't know if that is possible with the actual state of the library. I'm actually thinking about changing the whole code structure to be similar to the newest version of the Arduino IR library (https://github.com/z3t0/Arduino-IRremote). That way it would have all the different protocols in separate file thus making it easier to add new protocols. I will try to do it during the next weeks, but I can't promise anything for sure. Mark

gorec2005 commented 8 years ago

Hi! this project have realized many long IR packet type devices.... https://github.com/ToniA/arduino-heatpumpir

gorec2005 commented 8 years ago

Hi Mark! do you have any news about long-block protocols ?

markszabo commented 8 years ago

Sorry I don't have time to work on this project right now :/

crankyoldgit commented 7 years ago

Hey, there are a few protocols we now support with more than 32bits. e.g. Daikin, Kelvinator, MitsubishAC, & Panasonic. None, however, use an 'unsigned long long' yet. Just beware, that some AC remote & units have complex transmission packets. I say that, as the decode you got, may only be a small portion of what is being sent. Due to their nature, the decode routines often report only a fragment of these longer codes as there are significant breaks in them.

With a 54 bit protocol as you seem to indicate, you could code it as either a procedure with a single unsigned long long data parameter(<= 64bit), or similar to the Panasonic implementation with two 32bit parameters (32 + 32 = 64 bits).

The other A/Cs have chosen to do this as a char/byte array as they are much longer than 64 bits.

Your fall back (The lazy/easy way) is to use GC or the Raw methods to send arbitrary sized codes.

gorec2005 commented 7 years ago

ok... so close issue...