potíž je v tom, že IrDA má úplně jinou modulaci než dálkové ovladače.
IrDA funguje tak, že vysílá v podstatě tak, jak lezou data ze seriálky. Jeden start bit, pak N datových bitů, v případě potřeby paritní bit a 1 nebo 2 stop bity. Bit s hodnotou 0 (low) se vysílá tak, že se pošle impulz dlouhý jako jeden bit na rychlosti 115200 (8.68us), což je nejvyšší rychlost kterou může IrDA dosáhnout. Na této rychlosti vlastně není rozdíl mezi normální seriálkou a IrDA. Na nižších rychlostech je samozřejmě délka bitu větší, ale impulz na IrDA má stále stejnou délku.
Dálkové ovladače fungují následovně. Pokud chtějí vyslat impulz, vysílají frekvenci 38kHz, minimální délka impulzu bývá řádově 400us, to je 15 impulzů nosné. Formát dat potom silně závisí na výrobci dálkového ovladače. Ale pravděpodobně u všech se používá tato modulace. 38kHz = impulz, nic = mezera.
Pro příjem dálkového ovladače se používají přijímače, které v sobě mají demodulátor, takže na výstupu už jsou přímo impulzy, program nemusí dekódovat těch 38kHz. Lirc očekává právě tento demodulovaný signál a z délky impulzů a mezery mezi nimi rozpozná příslušné tlačítko.
Pokud potřebuješ vysílat, stačí připojit infračervenou LED přímo na Tx seriálky. Pokud nastavíš formát na 115200 N71 a budeš vysílat opakovaně 0x12, ledka bude blikat na frekvenci 38400, což je téměř přesně nosná dálkového ovladače. Pokud budeš potřebovat udělat pauzu (mezeru), můžeš posílat byte 0xff, do bude vysílat krátké impulzy, které demodulátor naladěný na 38kHz nerozpozná. Pokud si tedy odchytneš sekvenci kterou chceš nasimulovat, stačí si připravit file, který potom pošleš na seriálku na rychlosti 115200 e71 a televize to pochopí. Jeden byte má v tomto případě délku 78us, obsahuje 3 periody nosné. Pokud jsou 3 periody moc, můžeš do posledního byte dát 0x7e nebo 0x72.