Seite 1 von 3
Tester für TAPCOM-Library gesucht
Verfasst: Mi 25. Jan 2006, 12:25
von asrael
Hallo zusammen,
ich würde gerne, falls sie stabil läuft, in einiger Zeit eine kleine Bibliothek zur Kommunikation zwischen TAPs bereitstellen.
Ziel ist es, dass TAP-Programmierer diese nutzen können, um sich gegenseitig Dienste anbieten zu können.
(Mögliche) Anwendungsbeispiele, hier möchte ich aber keine Begehrlichkeiten wecken, da ja die entsprechenden TAP-Programmierer diese Dienste auch anbieten müssten:
- In Sicht 7 in SmartEPG wird eine bestimmte Datei selektiert. Durch einen entsprechenden (von Eber einzubauenden) Tastendruck wird eine Nachricht an das Filer-TAP gesendet, das Verzeichnis dieser Datei zu öffnen und die Datei zu selektieren. SmartEPG blendet sich vorher noch dezent aus. Effekt: man könnte aus SmartEPG heraus den Filer aufrufen, um dann z. B. die Datei weiterzubearbeiten (löschen/umbenennen/verschieben, falls die beiden letzteren irgendwann von Filer angeboten werden), ohne dass hier in SmartEPG allzu großer Programmieraufwand anfällt. Wenn es denn klappt, wie ich es mir vorstelle, muss nur der Pfadname der Datei in einen entsprechenden Puffer geschrieben werden und bei dem entsprechenden Tastendruck eine TAPCOM-API-Funktion aufgerufen werden.
In Filer müsste natürlich dann auf diese Anforderung reagiert werden, die entsprechende Funktionalität müsste hier aber im wesentlichen auch schon vorhanden sein.
- In Improbox wird eine Sendung durch Drücken der Aufnahmetaste zum späteren Aufnehmen markiert. Falls per Einstellmenu entsprechend gewünscht, schließt sich das Improbox-Fenster sofort und fordert dann Quicktimer auf, den entsprechenden Timer im Edit-Fenster zu öffnen. Auf diese Weise kann direkt komfortabel der Vor-/Nachlauf angepasst oder der Dateiname geändert werden.
Szenarien gibt es sicher noch eine ganze Menge.
Die TAPCOM-API ist in ihrer Grundfunktionalität auch schon fast fertig (es sind ohnehin nur zwei Funktionen

) und läuft auf meinem 5500er, so weit ich das beurteilen kann. Ich muss allerdings noch ein bisschen den Mechanismus austesten, wie Daten von einem TAP zum anderen transferiert werden können, um etwa den zu löschenden Dateinamen, den zu öffnenden Timer etc. anzugeben. Gerade das zweite Szenario sollte aber schon hinlänglich unterstützt werden.
Bevor ich jetzt jedoch weiter mache, möchte ich gerne erstmal wissen, ob das ganze auch mit verschiedenen Receivertypen/Firmware-Versionen stabil läuft.
Von daher bitte ich Euch, die anhängende Testanwendung auf möglichst vielen Receiver-/Firmware-Kombinationen zu testen und mir Rückmeldung (klappt/klappt nicht, jeweils unter Angabe der verwendeten Kombination) zu geben. Da das ganze AlphaAlphaAlpha ist und bislang nur bei mir getestet wurde, übernehme ich aber keine Garantie, dass Euch der Topf nicht abstürzt.
Anleitung zum Testen:
- Die beiden TAPs aus dem Anhang installieren
- Beide starten (Reihenfolge sollte beliebig sein)
- Sleep-Taste drücken (sollte diese bereits durch ein anderes TAP belegt sein, muss dieses vorher beendet werden; dies ist jedoch nur deshalb nötig, weil die Testanwendung starr die Sleep-Taste verwendet und hat nichts mit der eigentlichen Bibliothek zu tun)
Es sollten jetzt nacheinander die Texte
- Der erste Test war erfolgreich!
- Veränderliche Zahl: xxxxx
- Auch der dritte Test war in Ordnung
erscheinen.
Die veränderliche Zahl ist bei jedem Aufruf mit der Sleep-Taste anders und sollte pro Sekunde um ca. 100 wachsen (nicht während der Einblendung, da bleibt sie fest, sondern nur von Aufruf zu Aufruf).
Während der Test läuft, bitte nichts anderes machen, jede Meldung bleibt für ca. 5 Sekunden stehen und blendet sich dann automatisch aus. Die beiden TAPs können nach erfolgreichem Test durch Drücken der 1 bzw. 2 beendet werden.
Andere laufende TAPs sollten den Test eigentlich nicht beeinflussen (außer (s. o.) , falls sie die Taste "Sleep" belegen). Falls der Test dennoch schief geht, wäre ich natürlich für einen Test "klappt es ohne andere TAPs?" dankbar.
Vielen Dank für Eure Mühe und hoffentlich funktioniert das Ganze nicht nur auf meinem Receiver
asrael
Verfasst: Mi 25. Jan 2006, 13:54
von t3xi
Hi asrael,
funktioniert einwandfrei auf meinem TF5000PVR mit 13.09.2005P.
(11054, 13275, 15114, 16741, 19281 ...)
Darf man fragen wie die Kommunikation zwischen den TAPs funktioniert.
Verfasst: Mi 25. Jan 2006, 14:13
von asrael
t3xi hat geschrieben:Hi asrael,
funktioniert einwandfrei auf meinem TF5000PVR mit 13.09.2005P.
(11054, 13275, 15114, 16741, 19281 ...)
Darf man fragen wie die Kommunikation zwischen den TAPs funktioniert.
Hi,
schön das es funktioniert.
Es wird zwei Funktionen TAPCOM_Send und TAPCOM_Receive geben, mit denen man eine Nachricht an ein anderes TAP senden bzw. von einem anderen TAP empfangen kann.
Das Empfangen muss dabei in die normale Ereignisbearbeitung eingebaut werden (aus Programmierersicht ist das Eintreffen einer Nachricht von einem anderen TAP dann (fast) ebenso ein Ereignis wie etwa das Drücken einer Taste auf der Fernbedienung). Um zu identifizieren, für welche Anwendung eine gesendete Nachricht ist, erhält jedes interessierte TAP eine ID. Außerdem kann die empfangende Anwendung noch bis zu 16 (virtuelle) Kanäle unterscheiden, auf denen die Nachricht ankommt (dient hauptsächlich dazu, damit ein TAP direkt in der Ereignisverarbeitung unterscheiden kann, welchen Service da eine andere Anwendung gerade von ihm verlangt). Zusätzlich können dann noch (hoffentlich auch bei allen funktionierend) Daten übertragen werden. Zumindest mit statischen Texten bzw. dynamischen Zahlen funktioniert das ganze aber schonmal bei uns beiden (das zeigen die ersten beiden Tests).
Näheres dazu, wenn bei den TAP-Gurus ein gewisses Interesse besteht, so etwas auch tatsächlich einzubauen und wenn das ganze verlässlich auf vielen Plattformen funktioniert.
Mit freundlichen Grüßen
asrael
Verfasst: Mi 25. Jan 2006, 19:24
von GerhardL
Auch bei meinem TF5500 mit 13.09.2005P alles OK
Gerhard
Verfasst: Mi 25. Jan 2006, 20:00
von DeJe
Darf ich mal neugierig sein? Welches Interface nutzt Du für die Kommunikation?
TAPExtension.c/.h ?
Das nutze ich schon seit einer Weile im "virtuellen Filesystem" in Verbindung mit einer modifizierten Filer-Version und es funktioniert bisher ohne jede Probleme.
Beliebige Parameterübergaben (Strings, Ints, usw.) sind ebenfalls möglich und werden schon genutzt.
Verfasst: Do 26. Jan 2006, 00:18
von Alter Sack
Bei mir funktioniert es auch so wie es soll

.
Verfasst: Do 26. Jan 2006, 12:38
von asrael
@all:
Danke für die Rückmeldungen bis jetzt. Vielleicht könnten sich noch einige Tester für andere Modelle finden.
Natürlich wäre es interessant, von den TAP-Entwicklern/-Anwendern zu erfahren, ob eine solche Kommunikationsmöglichkeit überhaupt gewünscht wird/als sinnvoll erachtet wird. Mir kam beim Entwickeln eines eigenen TAPs die Idee, dass ich einen bestimmten Dienst meines (im Hintergrund laufenden) TAPs von anderen Programmen aus sozusagen "remote" aufrufen lassen könnte.
@DeJe:
TAPExtension.c/.h kenne ich bislang nicht. Wo kann ich mir das denn anschauen?
edit:
Dank t3xi jetzt gefunden. Wenn ich mir die Funktionen anschaue, kann ich doch aber wohl nur einzelne Bytes bzw. dwords übertragen, oder? Wenn es denn funktioniert, müssten bei etwas defensivem Programmierstil mit meinen Ansatz auch größere Datenmengen austauschbar sein.
Mein Code geht deutlich weniger tief ans Eingemachte (von daher interessiert mich auch sehr, ob der Ansatz stabil überall läuft). Läuft denn der TAPExtension-Code überall oder braucht es bestimmte Voraussetzungen?
:edit ende
Ich verwende nur die Original-Topfield-API. Ich habe eine Möglichkeit gefunden, diese leicht zu "missbrauchen", um eine Kommunikation zu ermöglichen. Das Ganze läuft also rein über API-Funktionen, ohne Einsprung in irgendwelche Firmware-Adressen.
Von daher wäre ich auch an weiteren Rückmeldungen (gerade auch noch für Masterpiece, 6000, Kabel-Receiver oder gar Modelle anderer Länder) interessiert.
Läuft mein Beispiel denn auf Deinem Masterpiece?
Mit freundlichen Grüßen
asrael
Verfasst: Do 26. Jan 2006, 12:58
von t3xi
Der Source-Code von TAPExtensions ist wirklich faszinierend.
http://tap.berlios.de/
Verfasst: Do 26. Jan 2006, 13:14
von DeJe
@asrael Ja, die TAPs funktionieren auf dem MP.
Ich verwende nur die Original-Topfield-API. Ich habe eine Möglichkeit gefunden, diese leicht zu "missbrauchen", um eine Kommunikation zu ermöglichen. Das Ganze läuft also rein über API-Funktionen, ohne Einsprung in irgendwelche Firmware-Adressen.
Würde mich mal interessieren. Gerne auch per PN.
Im Moment nutze ich für die TAPtoTAP Kommunikation TAPExtension, was einwandfrei funktioniert.
edit:
Dank t3xi jetzt gefunden. Wenn ich mir die Funktionen anschaue, kann ich doch aber wohl nur einzelne Bytes bzw. dwords übertragen, oder? Wenn es denn funktioniert, müssten bei etwas defensivem Programmierstil mit meinen Ansatz auch größere Datenmengen austauschbar sein.
Mein Code geht deutlich tiefer ans Eingemachte (von daher interessiert mich auch sehr, ob der Ansatz stabil überall läuft). Läuft denn der TAPExtension-Code überall oder braucht es bestimmte Voraussetzungen?
:edit ende
Bisher ist es sicher noch nicht auf vielen Töpfen getestet, aber auf MP und auch Kabelbox läuft es. TAPExtensions stellt nur die Kommunikation bereit. Ich habe mir einfach einen eigenen Event geschaffen und schicke die Daten über die param1/param2 zum server. Wobei param1 input und param2 output ist. IDs braucht man nicht selbst generieren, jedes TAP hat ein eigenen ID, die nutze ich.
So sieht z.B. der FindNext-Aufruf aus vFiler aus:
Code: Alles auswählen
InParam.Function = FCT_FindNext;
InParam.TapID = 0x89760002;
InParam.pFile = &File;
bResult = TAP_SendEventByID( ID_TOPFHDD, EVENT_DIRINFO, (dword)&InParam, (dword)&OutParam );
Verfasst: Do 26. Jan 2006, 13:22
von asrael
DeJe hat geschrieben:@asrael Ja, die TAPs funktionieren auf dem MP.
Schön.
Ich fummel in den nächsten Tagen noch etwas herum, um die Übertragung von größeren Datenmengen auszutesten. Werde dann bei Interesse das ganze veröffentlichen. Leider hat sich aber außer Dir bislang noch kein TAP-Entwickler geäußert, ob eine solche Funktionalität wirklich benötigt wird. Für die Tonne möchte ich natürlich auch nichts weiterentwickeln/testen, zumal es da ja schon eine (mir bislang unbekannte) Möglichkeit gibt.
Mit freundlichen Grüßen
asrael
Verfasst: Do 26. Jan 2006, 18:17
von asrael
DeJe hat geschrieben:So sieht z.B. der FindNext-Aufruf aus vFiler aus:
Code: Alles auswählen
InParam.Function = FCT_FindNext;
InParam.TapID = 0x89760002;
InParam.pFile = &File;
bResult = TAP_SendEventByID( ID_TOPFHDD, EVENT_DIRINFO, (dword)&InParam, (dword)&OutParam );
Tja, das sieht ja vom Handling sehr ähnlich aus wie bei meiner Lösung. Lediglich die Datentypen der Parameter sind teilweise anders. Auf der Server-Seite verarbeitest Du dann das Ereignis in der normalen GetEvent-Routine, vermute ich?
Wenn das ganze tatsächlich stabil läuft und nicht Firmware-abhängig ist, ist der Ansatz sicher noch allgemeiner und programmiererseitig besser als meiner. Wenn ich mir aber den Code von TAP_SendEventHelper in TapExtensions anschaue, wird da offensichtlich etwas direkt in den Ereignispuffer der TAPs geschmuggelt.
Ich halte es daher für möglich, dass mein Ansatz weniger anfällig gegenüber Firmware-/Hardware-Veränderungen ist, da er
nicht so tief ins Eingemachte geht (hatte mich oben verschrieben). Ich würde auch gerne mal auf meinem 5500 Deinen Code testen (falls Du Lust hast, eine einfache Beispiel-Client-/Server-Anwendung zu stricken).
Großes allgemeines Interesse scheint aber an dem Thema TAP-to-TAP-Kommunikation wohl ohnehin nicht zu herrschen.
Mit freundlichen Grüßen
asrael
Verfasst: Do 26. Jan 2006, 19:09
von DeJe
Ich halte es daher für möglich, dass mein Ansatz weniger anfällig gegenüber Firmware-/Hardware-Veränderungen ist, da er nicht so tief ins Eingemachte geht (hatte mich oben verschrieben). Ich würde auch gerne mal auf meinem 5500 Deinen Code testen (falls Du Lust hast, eine einfache Beispiel-Client-/Server-Anwendung zu stricken).
Büdde schön.
viewtopic.php?p=5327#p5327
Inklusive eines alte Source-Standes von "virtuelles Filesystem".

Mag sein das diese Lösung tiefer in das System eingreift. Ich hatte vorher auch andere Varianten getestet, direkter Funktionsaufruf nach Pointer-Austausch zwischen den TAPs. Das funktioniert aber leider nicht sicher.
Verfasst: Fr 27. Jan 2006, 08:17
von lmo
asrael hat geschrieben:
Großes allgemeines Interesse scheint aber an dem Thema TAP-to-TAP-Kommunikation wohl ohnehin nicht zu herrschen.
Das ist Intersse ist mit Sicherheit da.
Vermutlich geht es vielen Tap-Entwicklern wie mir,
die mangels Zeit sich erstmals abwartend verhalten.
Wenn die Kommunikation zwischen zwei Taps läuft,
ist es bestimmt einfacher auf fertige Funktionen zuzugreifen,
als die selber zu schreiben.
Leo
Verfasst: Mo 30. Jan 2006, 08:43
von asrael
lmo hat geschrieben:Das ist Intersse ist mit Sicherheit da.
Vermutlich geht es vielen Tap-Entwicklern wie mir,
die mangels Zeit sich erstmals abwartend verhalten.
Wenn die Kommunikation zwischen zwei Taps läuft,
ist es bestimmt einfacher auf fertige Funktionen zuzugreifen,
als die selber zu schreiben.
Leo
Naja,
es war ja auch erstmal nur die Bitte da, die kleine Testanwendung auf möglichst vielen Plattformen auszuprobieren, damit ich weiß, ob mein Ansatz nicht nur auf meiner Konfiguration funktioniert. Dann weiß ich wenigstens, ob es sich lohnt, das Ganze auf dieser Basis weiterzuentwickeln.
mfg
asrael
AW: Tester für TAPCOM-Library gesucht
Verfasst: So 5. Nov 2006, 20:20
von tapworld
What is this TAP? Should I add it into TAPWorld?
And what is TAPExtensions in berlios? Should I add it?
AW: Tester für TAPCOM-Library gesucht
Verfasst: So 5. Nov 2006, 20:47
von mega
It is a library that can be used by developers to let TAPs work together.
But nobody is interested or they don't have the timer to use that.
AW: Tester für TAPCOM-Library gesucht
Verfasst: Di 7. Nov 2006, 08:54
von asrael
[quote=""tapworld""]What is this TAP? Should I add it into TAPWorld?
[/quote]
No, it was just a test for a basic TAP-to-TAP-communication.
There was only little interest and the ones who may need something like that have found their own ways.
Regards,
asrael
AW: Tester für TAPCOM-Library gesucht
Verfasst: Di 7. Nov 2006, 09:05
von ibbi
[quote=""asrael""]There was only little interest and the ones who may need something like that have found their own ways.[/quote]
Vielleicht wäre es besser gewesen, weniger
geheimnisvoll zu sein und Sourcen bzw. genauere Informationen über die programmtechnische Funktionsweise zu veröffentlichen ...

AW: Tester für TAPCOM-Library gesucht
Verfasst: Di 7. Nov 2006, 09:25
von asrael
[quote=""ibbi""]Vielleicht wäre es besser gewesen, weniger
geheimnisvoll zu sein und Sourcen bzw. genauere Informationen über die programmtechnische Funktionsweise zu veröffentlichen ...

[/quote]
Naja, geheimnisvoll wollte ich eigentlich nicht sein. Bei Interesse kann ich den Code auch gerne noch veröffentlichen. Da aber offensichtlich schon funktionierende Lösungen existieren und das Interesse der Leute, die die wichtigen Anwendungs-TAPs schreiben, nicht da war, habe ich das ganze im Sande verlaufen lassen.
Mit freundlichen Grüßen
asrael
AW: Tester für TAPCOM-Library gesucht
Verfasst: Di 7. Nov 2006, 09:42
von canarias
[quote=""asrael""]mit Samsung HD300LD (300 GB, auf 5760 RPM abgeregelt)[/quote]
Wie geht das denn ?