Forum: Mikrocontroller und Digitale Elektronik TV-B-Gone neue IR Codes hinzufügen


von Jonas R. (jonas_1n23456)


Lesenswert?

Hallo liebe Comunity,

Ich habe heute versucht zur TV-B-Gone Senderliste einen neuen Code 
hinzuzufügen (in die WORLDcodes.c)

Der Fernseher ist ein DYON

Hierzu habe ich mit meinem Arduino UNO und
#include <IRremote.hpp> // include the library

die Fernbedienung ausgelesen.

Hierbei kamen folgende Infos zusammen:

*****************************************************************
DYON Fernbedienung:

Protocol=NEC Address=0x20 Command=0x52 Raw-Data=0xAD52DF20 32 bits LSB 
first
Send with: IrSender.sendNEC(0x20, 0x52, <numberOfRepeats>);

Protocol=NEC Address=0x20 Command=0x52 Repeat gap=39750us

Protocol=NEC Address=0x20 Command=0x52 Repeat gap=95750us

Protocol=NEC Address=0x20 Command=0x52 Repeat gap=95750us


TIMINGS:

000000000000100111110110100101010110101
Mark      : SampleCount=32 Minimum=488 @25 Maximum=548 @20 Delta=60 
Average=522
ShortSpace: SampleCount=16 Minimum=588 @1 Maximum=628 @2 Delta=40 
Average=606
LongSpace : SampleCount=16 Minimum=1712 @14 Maximum=1764 @12 Delta=52 
Average=1739
Analysis  :
 (Average of mark + short space)/2 = 564 us
 Delta (to NEC standard 560) = 4us
 MARK_EXCESS_MICROS = (Average of mark - Average of mark and short 
space) = -42us
*****************************************************************

Diese Infos muss ich nun in die Form der TV-B-GONE IR codes bringen und 
verstehe nicht wie das gehen soll.

*****************************************************************
Beispiel CODE aus TV-B-Gone:

const uint16_t code_eu015Times[] PROGMEM = {
  53, 54,
  53, 156,
  53, 2542,
  851, 425,
  853, 424,
};
const struct IrCode code_eu015Code PROGMEM = {
  freq_to_timerval(38462),
  136,    // # of pairs
  3,    // # of bits per index
  code_eu015Times,
  {
    0x60,
    0x82,
    0x08,
    0x24,
    0x10,
    0x41,
    0x00,
    0x24,
    0x00,
    0x90,
    0x01,
    0x20,
    0x02,
    0x48,
  }
};
*****************************************************************

Der Code ist aus:
https://github.com/adafruit/TV-B-Gone-kit

Chat GPT ist auch mit seinem Latein am ende.

Kann mir jemand helfen?
Danke schonmal

: Bearbeitet durch User
von H. H. (Gast)


Lesenswert?

Jonas R. schrieb:
> Chat GPT ist auch mit seinem Latein am ende.

Aus Versehen im Vatikan angefragt?

von Stephan S. (uxdx)


Lesenswert?


: Bearbeitet durch User
von Sebastian R. (sebastian_r569)


Lesenswert?

Jonas R. schrieb:
> Chat GPT ist auch mit seinem Latein am ende.

Hat die Menschheit das Googlen verlernt?
Ich hoffe, die "künstliche Intelligenz" bekommt mal einen Namen, bei dem 
mant nicht davon ausgeht, dass Sprachmodelle etwas wissen. Immerhin ist 
es nur eine Aneinanderreihung von Wörtern, die am wahrscheinlichsten 
sind.

Also.
https://github.com/davidawang/TV-B-Gone-IR-Generator

Und hier ab Seite 53 wird das "Kompressionsverfahren" erklärt:
https://cdn-learn.adafruit.com/downloads/pdf/tv-b-gone-kit.pdf

: Bearbeitet durch User
von Jonas R. (jonas_1n23456)



Lesenswert?

Danke für die Antworten.

Ich habe den IR code so komprimiert wie es erklärt wird.
Irgendwas scheint aber nicht zu stimmen.
Ich komme gerade nicht dahinter was es ist.

Von der originalen Fernbedienung bekomme ich das wenn ich den Code 
scanne:

Protocol=NEC Address=0x20 Command=0x52 Raw-Data=0xAD52DF20 32 bits LSB 
first
Send with: IrSender.sendNEC(0x20, 0x52, <numberOfRepeats>);


Nun habe ich den Code komprimiert:
(siehe anhang)


Wenn ich den Code nun scanne bekomme ich folgendes Ergebnis:

Protocol=Onkyo Address=0x0 Command=0x0 Raw-Data=0x0 32 bits LSB first
Send with: IrSender.sendOnkyo(0x0, 0x0, <numberOfRepeats>);


Und wenn ich die Raw Data ansehe dann passt es eigentlich so wie ich es 
verstanden habe:

rawData[68]:
 -3276750
 +8350,-4250
 + 500,- 600 + 450,- 600 + 450,- 650 + 450,- 600
 + 500,- 550 + 500,-1100 + 500,- 600 + 450,- 600
 + 500,-1100 + 500,-1100 + 500,-1100 + 500,-1100
 + 450,-1150 + 450,- 600 + 500,-1100 + 500,-1100
 + 500,- 600 + 450,-1100 + 500,- 600 + 450,- 600
 + 500,-1100 + 500,- 600 + 450,-1150 + 450,- 600
 + 500,-1100 + 500,- 550 + 500,-1100 + 500,-1100
 + 500,- 600 + 450,-1150 + 450,- 600 + 500,-1100
 + 500
Sum: 55800

: Bearbeitet durch User
von Jonas R. (jonas_1n23456)


Lesenswert?

Es waren tatsächlich nur kleine Timing abstimmungen die ich machen 
musste.
Jetzt funktioniert es.

Danke für die Infos ;-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.