Beiträge: 42
Themen: 0
Registriert seit: Jul 2008
Bewertung:
0
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.
Beiträge: 3.043
Themen: 42
Registriert seit: Oct 2007
Bewertung:
114
Da war sie wieder: die Frage aller Fragen. WARUM?
Beiträge: 42
Themen: 0
Registriert seit: Jul 2008
Bewertung:
0
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.
Beiträge: 3.043
Themen: 42
Registriert seit: Oct 2007
Bewertung:
114
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.
Beiträge: 3.043
Themen: 42
Registriert seit: Oct 2007
Bewertung:
114
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.
Beiträge: 14.499
Themen: 2.317
Registriert seit: Apr 2016
Bewertung:
324
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)
VDR1: ASROCK Q1900M, 4GB, SSDs als Bootplatte, Bild+Ton aus Geforce 720, easyVDR3.x als Streamdev- und SatIP Client
VDR2: Esprimo, 2GB, NVIDIA Ausgabe per HDMI, kein GraphTFT am VGA Anschluss, easyVDR3.x als Streamdev-Client
VDR3: Activy350; SW: Gen2VDR Activy-Edition
SERVER: Asrock Q170M vPro, Core i5-6600K, Cine S2 V4 mit 4 S2-Tunern, 16GB Corsair, 4*4TB WD-RED, 240 GB SSD, 19" Gehäuse
Clients: Motorola VIP 19xx, Handys und Tablets
Beiträge: 24
Themen: 1
Registriert seit: Apr 2013
Bewertung:
0
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)
Beiträge: 521
Themen: 59
Registriert seit: Mar 2009
Bewertung:
3
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
Beiträge: 6.606
Themen: 338
Registriert seit: Jan 2007
Bewertung:
201
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
Beiträge: 3.043
Themen: 42
Registriert seit: Oct 2007
Bewertung:
114
(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.
Beiträge: 14.499
Themen: 2.317
Registriert seit: Apr 2016
Bewertung:
324
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 )
*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)
VDR1: ASROCK Q1900M, 4GB, SSDs als Bootplatte, Bild+Ton aus Geforce 720, easyVDR3.x als Streamdev- und SatIP Client
VDR2: Esprimo, 2GB, NVIDIA Ausgabe per HDMI, kein GraphTFT am VGA Anschluss, easyVDR3.x als Streamdev-Client
VDR3: Activy350; SW: Gen2VDR Activy-Edition
SERVER: Asrock Q170M vPro, Core i5-6600K, Cine S2 V4 mit 4 S2-Tunern, 16GB Corsair, 4*4TB WD-RED, 240 GB SSD, 19" Gehäuse
Clients: Motorola VIP 19xx, Handys und Tablets
Beiträge: 2.937
Themen: 179
Registriert seit: Apr 2008
Bewertung:
115
(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, ...
|