Mr.Cross Creative Commons License 2023.10.05 0 0 4337

Sziasztok! Szenvedek egy infra távirányítóval, amivel a Gree klímát szeretném bekapcsolni, de sehogy sem akar sikerülni. Míg a TV-t simán ki-be kapcsolom, addig a klíma nem érzékeli az infra jelet, pedig már próbáltam három féle programmal. A legrészletesebben a VEGA IRremote library ReceiveDump írja hogy mit ad a klíma távirányítója, amit ide bemásolok, a négy csillaggal lerövidítettem a kódot, mert a ti szempontotokból az nem lényeges:

 

Protocol=PulseDistance Raw-Data=0x2 35 bits LSB first

Send with:
uint32_t tRawData[]={0x50200E3C, 0x2};
IrSender.sendPulseDistanceWidthFromArray(38, 8900, 4400, 700, 1600, 700, 500, &tRawData[0], 35, PROTOCOL_IS_LSB_FIRST, <RepeatPeriodMillis>, <numberOfRepeats>);

 

Raw result in internal ticks (50 us) - with leading gap
rawData[74]:
-65535
+178,-88
+14,-10 +13,-10 +14,-32 +14,-32
****
+14,-10 +13,-32 +14,-10 +14
Sum: 1354
Raw result in microseconds - with leading gap
rawData[74]:
-3276750
+8900,-4400
+ 700,- 500 + 650,- 500 + 700,-1600 + 700,-1600
****
+ 700,- 500 + 650,-1600 + 700,- 500 + 700
Sum: 67700

Result as internal 8bit ticks (50 us) array - compensated with MARK_EXCESS_MICROS=20
uint8_t rawTicks[73] = {178,88, 14,10, 13,10, 14,32, 14,32, 14,31, 14,32, 14,10, 14,10, 14,10, 13,32, ****,14,32, 14,10, 14,10, 13,32, 14,10, 14}; // Protocol=PulseDistance Raw-Data=0x2 35 bits LSB first

Result as microseconds array - compensated with MARK_EXCESS_MICROS=20
uint16_t rawData[73] = {8880,4420, ****680,520, 680}; // Protocol=PulseDistance Raw-Data=0x2 35 bits LSB first

uint16_t address = 0x0;
uint16_t command = 0x0;
uint32_t rawData = 0x2;

Pronto Hex as string
char prontoData[] = "0000 006D ****0012 001C 06C3 ";

 

A fenti infóból én így próbáltam:

uint32_t tRawData[]={0x50200E3C, 0x2};   

IrSender.sendPulseDistanceWidthFromArray(38, 8900, 4400, 700, 1600, 700, 500, &tRawData[0], 35, PROTOCOL_IS_LSB_FIRST, 10, 2);

 

Próbáltam rawData-val is, igaz ott másik programmal olvastam ki a távirányítót:

IrSender.begin(3);

. . .

uint8_t raw4[73] = {178,88, 14,10, ****,14,10, 14};  // Protocol=PulseDistance Raw-Data=0x2 35 bits LSB first

IrSender.sendRaw(raw4,73,35);

de azzal sem ment.

 

Infra led és infra led között van különbség? Vagy valamit trükközik a gyártó, hogy ne lehessen másolni a távirányítóit?

 

Üdv: -domel