lirc kérdések

 ( ace | 2018. június 18., hétfő - 14:57 )

Sziasztok!

Van ez a korábban említett projektem: https://hup.hu/node/159543, ehhez csinálnám az infrás távvezérlést.

1.) Van egy ilyen távirányító elfekvőben, de ez, ha a baloldali "gázkar" elmozdítom a min állásból, akkor folyamatosan adja a jelet, viszont az irányokra, gombokra nem ad semmit. Video: https://youtu.be/QlnFHp1iHaU, és ez alapján nem sikerül lircd.conf előállítani.

2.) Sebaj van egy másik "hagyományos" távirányító, ezzel megy is fel van programozva, de nem sikerült az beállítani, hogy amíg nyomom a gombot, addig vegye, hanem mindig nyomkodni kell. mode2-vel látszik, hogy folyamatos az adás míg nyomva tartom, viszont az irw-n már csak 1 van, és a python programban is. Google sajnos most nem segített.

lircd.conf

begin remote

  name  /etc/lirc/lircd.conf
  flags RAW_CODES|CONST_LENGTH
  eps            30
  aeps          100
  repeat       9090  2196
  gap          108225
#  min_repeat   10
#  suppress_repeat 50

      begin raw_codes

          name KEY_POWER
             9046    4476     596    1645     620     524
              604     527     595     513     623     514
              597     537     598     516     623     512
              593    1649     667    1604     654    1593
              630    1618     649    1624     624    1631
              614    1619     682    1590     629     484
              691     447     625    1618     666    1605
              628     481     654     483     669     467
              656     457     680    1590     627    1647

.....

lircrc

begin
    prog = hnrbrtRpiCar
    button = KEY_ENTER
    config = 5
    repeat = 1
end

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Szerintem a repeat részt 1-re kellene állítani eszerint:

repeat
tells the program what shall happen if a key is repeated. A value of zero tells the program to ignore repeated keys. Any other positive value 'n' tells the program to pass the config string every 'n'-th time to the according application, when a key is repeated. The default for repeat is zero.

A repeat érték tehát egy osztó.

Innen: http://www.lirc.org/html/configure.html

Ha a lircd.conf-ban átírom a repeat-et 1-re, akkor utána nem megy, a lircrc-ben benne van, de szerintem az irw ezt figyelmen kívül hagyja. És a python-ban sem ismétli :(

---
[hnrbrt - YT]

Erre valami 5let,
esetleg flame :)
---
[hnrbrt - YT]

Közben rájöttem, hogy az első repeat a fájl fejlécében mást jelent, mint amit linkeltem. De nem tudom, hogy mit.

Programoztam ilyen infra vevőt Arduino-ra: https://github.com/rizsi/Arduino-IR-decoder/tree/master/IR_reader_tsop4838

Azalapján arra tippelnék, hogy a számsor ami a fájlban van, az pont ugyanaz mint amit ebben a fájlban tárolok: https://github.com/rizsi/Arduino-IR-decoder/blob/master/IR_reader_tsop4838/samsung_ak59_00149a.h

Ez a távkapcsoló úgy működik, hogy amíg nyomom a gombot ismételgeti a jelet. Ezellen a vevőt letiltom egy adott időre miután veszek egy értelmes jelet. Hogy az ismétlések ritmusa ne legyen túl nagy. A powert hosszabban tiltom, mint a +/-t. Ezeket lehet a delay és repeat értékekkel szabályozni.

Na most mikortól lehet venni a jeleket, simán lehet, hogy éppen egy jel közepét kezdjük el venni, és akkor a minta nem fog passzolni. De sebaj, a minta után lesz egy kis szünet, ami épp elég hosszú lesz hogy észrevegyük, hogy ez itt most jelek közötti szünet és alaphelyzetbe állíthatjuk a vevő logikát. Feltéve, hogy a jelek közötti szünet ideje jól van beállítva a konfigurációban.

A te esetedben az a tippem, hogy a problémát az okozza, hogy a két jel között eltelt idő van rosszul betippelve, és az ismételt jel közepén kezd el újra venni. Így sosem találja meg a jel elejét jelző szinkronjelet. Ez általában minden másnál hosszabb, és azt tippelném, hogy a gap kulcsszó adja meg.

Tehát vagy a fejlécben lévő gap és repeat értékekkel kísérleteznék, vagy keresnék hozzá doksit, vagy belenéznék a kódba.