Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Wie sollte der ideale easyVdr IR Empfänger aussehen?
#26
Als Nicht-EasyCdrUser bin ich durch Zufall auf diesen Thread gestoßen. Interessante Sache, nur Frage ich mich wo der Mehrwert zum Portischen-IRMP-VUSB-Receiver ist?
Warum alles neu?

Wenn ich mir die Gedankenstütze von Wirbel so anschaue ist das ein Merge zwischen IRMPUSB und dem Merlin-USB-Adapter.
Zitieren
#27
Da war sie wieder: die Frage aller Fragen. WARUM?
Zitieren
#28
Genau, WARUM alles neu machen und nicht bestehendes verbessern. Ich versuche mich gerade zu motovieren. Mit den bestehenden Lösungen bin ich nur bedingt zufrieden.
Zitieren
#29
Zitat:e) bootloader bauen + command line update tool
    work in progress: vusb bootloader auf at328p anpassen + update prozess coden.
    Der bootloader wird ~2k groß,  gut wäre wenn er kleiner als 2048byte (wird knapp) bliebe, so bleiben 30k für alles andere, sonst 28k (immer noch sehr reichlich).

erledigt. Bootloader funzt erstmal gut,
  bootloader aktuell 1928 bytes, also kleiner als 2048bytes. Eig. Firmware z.Z. ~10k  && upload per bootloader ist schneller als via Programmer.
Zitieren
#30
Es wird Zeit, diesen Beitrag zu schließen.

Die ursprüngliche Intention war
- a) gibt es Interesse für so ein Projekt: Ja, aber sehr begrenzt.
- b) gibt es Mitstreiter: Ja, aber zuwenig und nur Interesse/Hilfe *nach* der Entwicklung
- c) die wichtigste Frage war Welche Features sind interessant?: Im wesentlichen unbeantwortet.

Zum letzten Stand..
  • VUSB funktioniert gut, ABER: VUSB erzwingt Pollen per usbPoll() und hat eine Interrupt-Routine, die extrem viel Zeit benötigt.
  • IRMP hat eine viel zu lange Interrupt-Routine.
  • zusammen ergibt das Probleme, IRMP mit VUSB (sinnvoll) zu betreiben:
      -> Benutzt man IRMP per Timer Interrupt, stirbt die USB Verbindung von Zeit zu Zeit weil der USB Interrupt nicht schnell genug bedient werden kann. Das passiert nicht sehr oft, aber ist extrem störend.
      -> Verzichtet man auf auf einen Interrupt für IRMP und betreibt IRMP per Polling, funktioniert VUSB problemlos, aber es gibt Probleme mit dem Timing von IRMP, eben weil VUSB in seiner Interruptbehandlung zu lange braucht, wenn ein Interrupt getriggert wird.  In diesem Falle wird das Polling von IRMP für ~100µsec unterbrochen, was zu falschen Zeitmessungen führt -> IR code wird also falsch gelesen und verworfen.
  • IRMP benutzt einen Timer Interrupt welcher periodisch den Eingang abfragt. Das resultiert in sehr vielen (unnötigen) Interrupten. Eleganter ist ein Interrupt, welcher nur auf Wechsel des Logikpegels am IR input triggert. VUSB verträgt sich damit viel besser; aber das prinzipielle Problem bleibt.
  • IR decoding kann mit sehr viel besser auf dem PC machen, wenn der Interrupt bei Flankenwechsel benutzt wird und nur noch die Zeitintervalle übertragen werden. Das lässt sich sehr schön mit dem 16Bit Timer1 erledigen; das setzt allerdings das Zwischenspeichern von mindestens 64*2*sizeof(uint16_t) bytes im Atmega pro IR Pulse voraus. Sinnvoll ist dann eine Auflösung von 16µsec bei 16MHz clock; deutlich besser als die Zeitauflösung von IRMP.
[/l][/list]

Fazit:
VUSB ist sehr schön, wenn man keine zeitkritischen Anwendungen hat und keine weiteren Interrupts bedienen muss. Ein echter Mangel ist die USB Kompatibilität, das fängt schon bei dem Hack mit den Z-Dioden an um 3.3V Kompatibilität zu erzwingen. Zusätzliche Interrupt Routinen bringen VUSB aus dem Tritt, bei meinen Tests teilweise erst nach einer Stunde (mit einem Arduino, welcher mit 1Hz Test-Infrarotsignale erzeugt.), es ist dabei nur eine Frage des Zusammentreffens beider Interrupt Events. Selbst eine sehr kurze Interrupt-Routine schafft das noch; lediglich die Wahrscheinlichkeit nimmt in Tests ab weil die Routine kürzer ist. In diesem Falle meldet sich das device vom Kernel ganz ab oder reconnected (und file handles von Prozessen darauf sind ungültig).

Sehr viel besser als IRMP funktioniert es, nur die gemessenen Zeiten zu übertragen. In diesem Falle ist IRMP obsolet und eine einfache library in C++ kann das decodieren besser. IRMP scheint auch nicht 100%ig stimmig zu sein bei einigen Protokollen was das Timing betrifft. Diese Lösung würde schon ganz gut funktionieren, wenn VUSB nicht so kitzlig wäre. Tests mit häufigen IR Pulsen definierter Länge (Arduino + Kontrolle per Oszilloskop) zeigen, dass durch VUSB Fehlmessungen bei den Zeiten entstehen. Dieses Problem scheint prinzipieller Natur zu sein - diese Lösung verwirft also einige IR Pulse.

VUSB ergibt hier imo keine 100% Lösung. Ich beschäftige mich weiter mit dem Thema, aber hier ist Schluss. Smile
Zitieren
#31
Hallo Wirbel,

das ist / wäre schade. Aber ich würde es verstehen.
Am Source hätte ich nichts beigetragen, da ich kein Programmierer bin.


Zitat:die wichtigste Frage war Welche Features sind interessant
Ich hab mich bewusst sehr zurückgehalten da:
-Ich es altersbedingt noch lange bis "vor" + "herunter" zum VDR  schaffe
-Somit mir auch noch lange seriell reicht
-andererseits ich das Projekt sehr cool finde, aber nicht mit Anforderungen sprengen möchte die da wären
  -HID-Device
  -wenn möglich noch 2-3 freie PINS an Lötpads (1*Ausgang um ein Relais zu schalten, 1* Input, ..)
  -möglichst viel sollte in PC-Software erfolgen damit der Receiver mit einer Firmware ohne Änderung möglichst viel kann...

Punkt 2: Ich sehe nur Sinn in der Lösung wenn es auch ohne VDR zu nutzen ist...

Fazit: Es wäre schade, aber ich würde es verstehen.

Grüße
Grüße
Martin
-----------------------------------------------------------------------------------------------------------
Du brauchst Hilfe? Wir brauchen Daten! English-Version: Don't eat yellow snow!
Meine VDRs (Spoiler klicken) 

Zitieren
#32
Du suchst also sowas hier:
[url=http://www.mikrocontroller.net/topic/171111[url]
Ein SoftUSB-basierter IR-Empfänger, mit optionalem Sendeteil, PowerButton-Unterstützung in Hardware und möglichst einfach aufzubauen.
Voila!
[url][/img]http://cryptsec.levasai.de/IMG_2794.JPG]http://www.mikrocontroller.net/topic/171111[url]
Ein SoftUSB-basierter IR-Empfänger, mit optionalem Sendeteil, PowerButton-Unterstützung in Hardware und möglichst einfach aufzubauen.
Voila!
http://[/img]http://cryptsec.levasai.de/IMG_2794.JPG
Ob AtMega8, 88, 168 oder 328 ist größtenteils nur eine Frage des Kompilierens der Firmware für den AVR. Und die Firmware kann als Binary bereitgestellt (zum USB-Flashboot etc) oder gleich in den Chip bei Verkauf gedrückt werden.
Support für Lirc existiert auch, sowie Anbindungsversuche für MythTV.

Platine ist 5x2,5cm groß und bereits in ein paar Prototypen bei einem deutschen PCB-Hersteller gefertigt worden. Somit kann ich einfach dort mal ein 10er oder 100er-Pack nachbestellen.
Auch ist die Platine flexibel genug, um unterschiedlichen Anforderungen gerecht zu werden. (Echter USB-A-Stecker oder mainboardkompatible Pinleiste, absetzbare oder aufgelötete IR-Teile, Steckbare MPU, ISP-Schnittstelle etc)
Zitieren
#33
Hallo,
leider funktioniert die URL nicht.  :'(

Gruß Ingo
VDRW - easyVDR 2.0 (stable) => ASUS M4N78-VM mit NVIDIA GeForce 8200, AMD Athlon II X2 240, 3GB RAM, HD1 Kingston SSDNow V300 120GB, HD2 WD Green WD20EARX 2TB, DVB-S2 Digital Devices Cine S2 V6.5 Dual-Tuner, DVB-S2 TeVii S471 V2.0, DVB-S2 TT-budget S2-1600, IR Modul seriell WinLIRC/LIRC, FB OneForAll URC7940

VDRC - easyVDR 5.0 (Alpha) => MB: ASRock J4105M Intel CPU J4105, Grafikkarte: NVIDIA GK208B [GeForce GT 710] (rev a1) als Zotac ZT-71301-20L PCIe, DVB-S2 Karte: Digital Devices Cine S2 V7 Advanced PCIe, RAM: 16GB als 2x Kingston KVR24N17S8/8, Festplatte: SSD 480GB als Kingston A400 SSD SA400S37, Gehäuse: SilverStone ML03B - Milo Slim HTPC Micro ATX Gehäuse
Zitieren
#34
Ich denke mal so war es gemeint:

http://www.mikrocontroller.net/topic/171111

Gruß
Michel
Produktiv-VDR:
msi K9N2G-Neo (nvidia 8200 onBoard) mit Athlon X2 4850e mit SamuraiZZ
2xNova-HDS2, DH102
Zitieren
#35
(14.04.2013, 18:08)John Bigboteh link schrieb: Du suchst also sowas hier:

Nein, suche ich nicht.

Nach etwas Spielen mit IRMP denke ich, dass IRMP nicht die Basis für einen *idealen* IR Empfänger sein sollte; außerdem war die ursprüngliche Frage nach dem idealen Empfänger für easyvdr, was noch einmal einen weiteren Unterschied darstellt. Siehe dazu mein Beitrag vom 11.Februar.
Zur Zeit liegt bei mir die Sache auf Eis da ich für ein andres Projekt mich mit OpenGL beschäftige; aber Martin hat gerade ein ähnliches IR Projekt angegangen.
Zitieren
#36
Danke Input ist immer gut.

In dem Fall such ich das leider auch nicht. Denn ich suche nichts perfektes.*
Mein Augenmerk ist günstiger Preis, und eine 90% Lösung.
Deshalb diese Entwürfe: http://www.easyvdr-forum.de/forum/index....ic=15276.0
(Basieren aber auch auf der Arbeit anderer... OK: Du hast sicher auch nicht das Kupfer entdeckt  Wink)



*VHS war ja auch der Marktführer zu nem bestimmten Thema...(Die älteren kennen es noch...)
Grüße
Martin
-----------------------------------------------------------------------------------------------------------
Du brauchst Hilfe? Wir brauchen Daten! English-Version: Don't eat yellow snow!
Meine VDRs (Spoiler klicken) 

Zitieren
#37
(17.04.2013, 20:40)Martin link schrieb: Denn ich suche nichts perfektes.*

*VHS war ja auch der Marktführer zu nem bestimmten Thema...(Die älteren kennen es noch...)

... obwohl es Qualitativ besseres gab, wie z.B. Betamax oder Video 2000, die sich aber nicht behaupten konnten.
VDR-Server: EasyVDR 2.0, TBS 6984, Asus P8H61-M LE, Intel Celeron G540, GT520
VDR-TFT: EasyVDR 2.0, Skystar HD2, Asus M2N-VM HDMI, AMD Athlon 4850e, GT520, Touch-TFT, Atric
VDR-SZ: EasyVDR 2.0, Cine S2 v6.0, Asus M4N78 Pro, AMD Athlon II X2 250, Atric
VDR-Susi: EasyVDR 1.0, TT S2-6400, Atric
VDR-Gabi: EasyVDR 2.0, Cine S2 v5.5, MB Asus, GT520, Atric
sonstige VDR Test-Hardware: Terratec Cinergy 1200 DVB-C, DVB-S2 TeVii S464, div. DVB-S FF, div. DVB-S Budget, IMON-LCD, Fritz-Box, Raspberry PI, USB-IR, div. ser. IR, ...
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste