Wie Daten an ein Notebook senden (seriell)

Zusatz-Programme für Receiver der 5000er und 6000er Serie.

Hier geht's um alles, was mit den TAP Anwendungen für den PVR5x00/6000 zu tun hat.
gecko1a
Benutzer
Benutzer
Beiträge: 72
Registriert: Mi 22. Feb 2006, 12:35

Wie Daten an ein Notebook senden (seriell)

#1

Beitrag von gecko1a » Di 14. Mär 2006, 10:54

Hallo,

seit kurzem bin ich stolzer Eigentümer eines Topfield 5000pVR, nachdem ich
Stundenlang das Forum durchstöbert habe, klasse Forum :hello: .

Mittelfristig möchte ich ein Tap verwirklichen, das ähnlich wie das LCD-TAP von mc2
(danke für die Anregung) die Daten an ein Notebook sendet, anstatt an ein Display.

Da ich noch ein Sub-Notebook Toshiba Libretto verfüge, habe ich mir als Ziel gesetzt,
damit die erweiterte Anzeige, Umsetzung USB -> Netzwerk und fernbedienen meines
Fernsehers (ein/aus, AV und event. Lautstärke) umzusetzen.

Mein Problem ist jetzt, dass ich von C keine Ahnung habe (Assembler, Pascal und Delphi schon)
und die Beispiele beim Topfield zu einfach und die Programme von mc2 zu
gross sind, um mir den Einstieg zu erleichter.

Es wäre klasse, wenn mir vielleicht jemand mal ein minimal Programm für die
serielle Schnittstelle geben könnte (incl. Header) , wie ich einen String mit selbst
eingestellter Baud-Rate gesendet bekomme, damit ich nicht da schon soviel Fehler mache,
was das C-programmieren angeht.

Vielen Dank schon mal für den, der sich die Mühe macht.

Gruß gecko
Zuletzt geändert von gecko1a am Di 14. Mär 2006, 13:35, insgesamt 1-mal geändert.

Benutzeravatar
Harvey
iTina-Promoter und Kuhinteressent
iTina-Promoter und Kuhinteressent
Beiträge: 3894
Registriert: So 11. Dez 2005, 22:34
Receivertyp: 0x1388 PVR
Receiverfirmware: 13.09.2005
Wohnort: Planet Erde, Milchstraße

#2

Beitrag von Harvey » Di 14. Mär 2006, 11:37

Das geht topfseitig viel einfacher als es beim Display vom mc2 möglich war.

Es gibt die Funktion TAP_Print, die per serieller Schnitstelle eine Zeichenkette ausgibt.

Schwieriger dürfte es als Laie sein, ein PC-Programm zu schreiben, daß die Zeichenkette in Empfang nimmt und gemäß deinen Wünschen darstellt. Vielleicht gibt es sowas aber auch fertig.
Das in Windows eigebaute Hyperterminal könnte das bereits, ist aber alles andere als ein optischer Leckerbissen. Das kannste ausprobieren: Topf seriell per Nullmodemkabel anschließen, Hyperterminal starten, alle Abfragen von wegen Telefonnummer abbrechen, richtigen Comport aussuchen, auf 115200 Bit/s bei 8 Bit, keine Pariät und 1 Stopbit einstellen. Topf rebooten und es sollten Meldungen erscheinen.
Gruss
Harvey

Benutzeravatar
Grubix
Suchfunktions-Guru
Suchfunktions-Guru
Beiträge: 6631
Registriert: Fr 9. Dez 2005, 18:50
Receivertyp: 2x TF5000PVR & TF5500PVR
Receiverfirmware: Jan. 07 PUSTED
Wohnort: Unna

#3

Beitrag von Grubix » Di 14. Mär 2006, 12:25

Hallo Gecko.

Schau mal hier, evtl. hat Softie schon etwas gemacht und ihr könnt euch kurzschließen.

Bis denn dann, Grubix.
RegExe sind stur: Sie suchen genau das, was man ihnen aufträgt.
SV1604N & HD300LD, Astra, 95cm, MTI Blue, 5/10 Multiswitch
TAPs: PowerRestore, iTiNa, FastSkip, Filer, TF5000Display / NiceDisplay
(HDD-Info, TAP-Commander, ScreenCapture-OSD, Minimax, Sudoku) wa

Benutzeravatar
Sigittarius-E
FIQMDTSSOOLUETSNAK
<span title=ForuminformationsquellemitdauertimeshiftschaltungoutingOberlehrerUndErfahrenerTratscherStatusNichtAussprechenKönner>FIQMDTSSOOLUETSNAK</span>
Beiträge: 8216
Registriert: Fr 9. Dez 2005, 18:49
Receivertyp: TF5kPVR/TF3kCIpro
Receiverfirmware: 13.9.'05 SHUFGmUx/19.4.'04
Wohnort: Österreich, NÖrdl.d.Donau

#4

Beitrag von Sigittarius-E » Di 14. Mär 2006, 12:41

Hi gecko1a

Kannst du bitte den Titel "Wie Daten ein ein Notebook senden" korrigieren?

Ist sehr verwirrend worum es lt. Titel geht.

z.B. auf "Wie Daten vom Topf an ein Notebook senden"


Danke!
Grüsse
Sigittarius-E
S-VHS ist nicht S-Video. So schreibt man: Standard, Satellit, wäre. TABs sind was für die Dritten.

TF5000PVR
HD:SP2514N
CAM:irdeto CW v3.15 ORF
Lüfter:Noiseblocker USF S1+Poti.
Verb.:[/b]Silex SX2kU2
TV:Toshiba 42"
Auto Start-Reihenf.: GMTTimerBug WA2|QT|IB Prem|StopExit|WSSKiller|JagEPG|Matrix Screensaver|PiP|DisplayTAP|wwww|reccopy|
TSBProtector v0.9.0|CheckAndCreate_EPGTimer v1.1
Manuell: SimpleCharEditor v3.09b,SetCryptFlag v0.3,exie v0.3,EBM v0.01

Benutzeravatar
Sigittarius-E
FIQMDTSSOOLUETSNAK
<span title=ForuminformationsquellemitdauertimeshiftschaltungoutingOberlehrerUndErfahrenerTratscherStatusNichtAussprechenKönner>FIQMDTSSOOLUETSNAK</span>
Beiträge: 8216
Registriert: Fr 9. Dez 2005, 18:49
Receivertyp: TF5kPVR/TF3kCIpro
Receiverfirmware: 13.9.'05 SHUFGmUx/19.4.'04
Wohnort: Österreich, NÖrdl.d.Donau

#5

Beitrag von Sigittarius-E » Di 14. Mär 2006, 13:42

Danke! (entweder an Gecko1a oder einen Mod) :hello:


Edit: Sehe gerade dass Gecko1a ein Edit von 13:35 hat.

Also: Danke Gecko1a!
Grüsse
Sigittarius-E
S-VHS ist nicht S-Video. So schreibt man: Standard, Satellit, wäre. TABs sind was für die Dritten.

TF5000PVR
HD:SP2514N
CAM:irdeto CW v3.15 ORF
Lüfter:Noiseblocker USF S1+Poti.
Verb.:[/b]Silex SX2kU2
TV:Toshiba 42"
Auto Start-Reihenf.: GMTTimerBug WA2|QT|IB Prem|StopExit|WSSKiller|JagEPG|Matrix Screensaver|PiP|DisplayTAP|wwww|reccopy|
TSBProtector v0.9.0|CheckAndCreate_EPGTimer v1.1
Manuell: SimpleCharEditor v3.09b,SetCryptFlag v0.3,exie v0.3,EBM v0.01

gecko1a
Benutzer
Benutzer
Beiträge: 72
Registriert: Mi 22. Feb 2006, 12:35

#6

Beitrag von gecko1a » Di 14. Mär 2006, 13:43

Harvey hat geschrieben:Das geht topfseitig viel einfacher als es beim Display vom mc2 möglich war.

Es gibt die Funktion TAP_Print, die per serieller Schnitstelle eine Zeichenkette ausgibt.

Schwieriger dürfte es als Laie sein, ein PC-Programm zu schreiben, daß die Zeichenkette in Empfang nimmt und gemäß deinen Wünschen darstellt. Vielleicht gibt es sowas aber auch fertig. ...
Danke, ich war schon etwas verwirrt. Wenn ich aus dem Urlaub bin (z.Z. in Portugal, Sonne und 25 Grad :D ) werde ich mich mal dransetzen.

Mit dem Frontend für den PC, sehe ich keine Probleme, wenn ich die Daten erstmal auf
PC habe (in Delphi) wird mit der Zeit schon was ansprechendes entstehen.

Danke für die schnelle Antwort und bis dahin

gecko

gecko1a
Benutzer
Benutzer
Beiträge: 72
Registriert: Mi 22. Feb 2006, 12:35

#7

Beitrag von gecko1a » Mi 15. Mär 2006, 12:07

So, bin mal ein Stück weiter.

Es sind noch ein paar Fragen offen ( es werden wahrscheinlich auch noch mehr werden):

Würde dieses Programm prinzipiell schon ausreichen, um einen String über die RS232
zu schicken?

Code: Alles auswählen

#include "tap.h"

#define ID_PC-D 0x80000356

TAP_ID( ID_PC-D );
TAP_PROGRAM_NAME("PC-D");
TAP_AUTHOR_NAME("fga");
TAP_DESCRIPTION("Anzeige von Informationen auf dem PC");
TAP_ETCINFO("Ver. 0.0");


bool _exitFlag = FALSE;


int TAP_Main(void)
{
    while( _exitFlag == FALSE )
    {
       TAP_Print( "Test" );
       // Wartezeit
       // eine Bedingung, die _exitFlag auf true setzt
    }
    return 0;
}
Wäre dieses Programm automatisch ständig im Speicher / Ausführung (TSR)?
Muss ich Key Kommandos für andere TAPs behandeln, auch wenn ich in meinem
keine Keys "abfange"?
Gibt es eine Systematik für die Vergabe der TAP_ID?
Was muss ich sonst noch beachten, wenn ich ein TSR - TAP mache?

Gibt es noch Richtlinien, die man bei der Veröffentlichung von TAPs beachten muß?
(Oder habe ich das schon überlesen :o ?)

Wahrscheinlich sind ein paar Fragen richtig dumm, aber ich bitte um Nachsicht, da ich
mich mit den TAP noch nicht allzulange beschäftige.

Danke und Gruß

gecko

Benutzeravatar
Happy
TAP-Guru
TAP-Guru
Beiträge: 5718
Registriert: Fr 9. Dez 2005, 09:32
Receivertyp: TF4000-5500-6000-TMS
Wohnort: bei Karlsruhe
Kontaktdaten:

#8

Beitrag von Happy » Mi 15. Mär 2006, 12:25

Hallo,

jedes TAP braucht die Eventhandlerroutine, auch wenn es selbst keine Tasteninformationen braucht. In der Topfielddoku steht auch wie die genau auszusehen hat.

Damit wäre Dein Programm dann lauffähig, aber da du im TAP_Main eine Endlosschleife programmiert hast, wird die Fernbedienung nicht mehr reagieren.

Im TAP_Main macht man normalerweise nur ein paar Initialisierungen.
Die eigentlich Aufgaben des TAPs werden dann im Eventhandler programmiert.
Dieser wird zyklisch aufgerufen, so dass man immer mal wieder etwas Rechenzeit bekommt. Innerhalb eines Aufrufs des Eventhandlers sollte man auch nicht zuviele Dinge machen, da sonst die FB und andere TAPs blockiert werden.
Oft ist es sinnvoll nicht bei jedem Aufruf des Eventhandlers etwas zu machen. Mit TAP_GetTick() kann man einen Zähler abfragen, mit dessen Hilfe sich ein TAP jeweils eine Weile schlafen legen kann.

Für die IDs gibt es nur die Regel dass TAPs mit gleichen IDs nicht gleichzeitig laufen können.

Damit das TAP ein TSR wird muss TAP_Main mit return 1 abgeschlossen werden.

Ich hoffe das hilft erst einmal.

Gruß,
Happy
:type: Meine TAPs und Tools

TF5500 PVR (Fw Jan. 2007 P)- 400GB Samsung - AC light 1.05 - Yamaha RX-V 1500
- LAN: Asus WL-500g Deluxe mit ftpd-topfield 0.7.4
TAPs: Quicktimer, Autodelete, Standby, 3PG, Automove, NiceDisplay, PowerRestore, WSS Killer, Eurostirf, Overfly
TV: Sony KDL-46W4500
TF6000 PVR (Fw Okt. 2008)- 160GB Samsung SV1604N
TAPs: iTina, Autodelete, Automove, Autoresume, NiceDisplay, WSS Killer
SRP-2100 (Fw Okt. 2009)
TAPs: SmartEPG, ChangePreview, Autodelete, Automove, BackupSettings,RescueRecs, MySkip, NiceDisplay

gecko1a
Benutzer
Benutzer
Beiträge: 72
Registriert: Mi 22. Feb 2006, 12:35

#9

Beitrag von gecko1a » Mi 15. Mär 2006, 12:53

Happy hat geschrieben:
...
Ich hoffe das hilft erst einmal.

Gruß,
Happy

Ja klar, danke!

Werde das ganze Beispiel jetzt mal erweitern und hier wieder vorstellen.

Bis dahin, Gruß

gecko

gecko1a
Benutzer
Benutzer
Beiträge: 72
Registriert: Mi 22. Feb 2006, 12:35

#10

Beitrag von gecko1a » Mi 15. Mär 2006, 13:47

Nächster Versuch:

Code: Alles auswählen

#include "tap.h"

#define ID_PC-D  0x80000356

TAP_ID( ID_PC-D );
TAP_PROGRAM_NAME("PC-D");
TAP_AUTHOR_NAME("fga");
TAP_DESCRIPTION("Anzeige von Informationen auf dem PC");
TAP_ETCINFO(_Date_);
// Version 0.0

dworld TAP_EventHandler(word event, dword param1, dword param2)
{
	static dword tick = 0;
	
	if( tick + 100 < TAP_GetTick() )		// nur jede Sekunde einmal ausführen
		{
			TAP_Print( "Test" );
			tick = TAP_GetTick();
		}
	
	return param1
}


int TAP_Main(void)
{
    return 1;
}


Wäre das jetzt OK?

Gruß gecko

Benutzeravatar
Happy
TAP-Guru
TAP-Guru
Beiträge: 5718
Registriert: Fr 9. Dez 2005, 09:32
Receivertyp: TF4000-5500-6000-TMS
Wohnort: bei Karlsruhe
Kontaktdaten:

#11

Beitrag von Happy » Mi 15. Mär 2006, 15:18

gecko1a hat geschrieben:
Wäre das jetzt OK?
Ich würde mal sagen, :hello:

Gruß,
Happy
:type: Meine TAPs und Tools

TF5500 PVR (Fw Jan. 2007 P)- 400GB Samsung - AC light 1.05 - Yamaha RX-V 1500
- LAN: Asus WL-500g Deluxe mit ftpd-topfield 0.7.4
TAPs: Quicktimer, Autodelete, Standby, 3PG, Automove, NiceDisplay, PowerRestore, WSS Killer, Eurostirf, Overfly
TV: Sony KDL-46W4500
TF6000 PVR (Fw Okt. 2008)- 160GB Samsung SV1604N
TAPs: iTina, Autodelete, Automove, Autoresume, NiceDisplay, WSS Killer
SRP-2100 (Fw Okt. 2009)
TAPs: SmartEPG, ChangePreview, Autodelete, Automove, BackupSettings,RescueRecs, MySkip, NiceDisplay

gecko1a
Benutzer
Benutzer
Beiträge: 72
Registriert: Mi 22. Feb 2006, 12:35

#12

Beitrag von gecko1a » Mi 15. Mär 2006, 16:39

Dann kann ich mich ja mal weiter einlesen.
Am Wochenende bin ich aus dem Urlaub und dann wird die Praxis folgen.

Gruß gecko

Benutzeravatar
Elle4u
TAP-Chirurg

<div title=Selbsternannter Allesknutscher>TAP-Chirurg</div>
Beiträge: 11971
Registriert: Fr 9. Dez 2005, 16:48
Receivertyp: SRP-2410 (2 TB)
Receiverfirmware: TF-BCPCE 1.11.00 (19.12.2013)
Wohnort: Osburg
Kontaktdaten:

#13

Beitrag von Elle4u » Mi 15. Mär 2006, 18:38

gecko1a hat geschrieben:Dann kann ich mich ja mal weiter einlesen.
Am Wochenende bin ich aus dem Urlaub und dann wird die Praxis folgen.

Gruß gecko
Klasse. :hello:

Bin ja mal gespannt was von Dir so kommt.

Am Besten lädst Du Dir mal ein paar TAPs runter. In vielen ist der Source dabei und Du kannst mal das Grundgerüst weiter erforschen...
Gruß,
Elle4u

gecko1a
Benutzer
Benutzer
Beiträge: 72
Registriert: Mi 22. Feb 2006, 12:35

#14

Beitrag von gecko1a » Mi 15. Mär 2006, 18:59

Elle4u hat geschrieben: ...
Am Besten lädst Du Dir mal ein paar TAPs runter. In vielen ist der Source dabei und Du kannst mal das Grundgerüst weiter erforschen...
Hab ich ja schon gemacht, aber zwei Sachen gleichzeitig lernen ist hat etwas aufwendiger.
(TAP und C :thinker: )

Gruß gecko

Benutzeravatar
Elle4u
TAP-Chirurg

<div title=Selbsternannter Allesknutscher>TAP-Chirurg</div>
Beiträge: 11971
Registriert: Fr 9. Dez 2005, 16:48
Receivertyp: SRP-2410 (2 TB)
Receiverfirmware: TF-BCPCE 1.11.00 (19.12.2013)
Wohnort: Osburg
Kontaktdaten:

#15

Beitrag von Elle4u » Mi 15. Mär 2006, 19:27

gecko1a hat geschrieben:Hab ich ja schon gemacht, aber zwei Sachen gleichzeitig lernen ist hat etwas aufwendiger.
(TAP und C :thinker: )
Das kann ich gut verstehen. Ging mit die letzten Monate auch so :lol:
Aber hier im Forum bekommt man ja gute Unterstützung... :hello:
Gruß,
Elle4u

Benutzeravatar
ibbi
Moderierter Ignorator Bitteschöööön!
Moderierter Ignorator  <font color=#E9E9E9>Bitteschöööön!</font>
Beiträge: 7110
Registriert: Fr 9. Dez 2005, 12:49
Receivertyp: TF5000PVR • SRP-2401CI+ Eco
Receiverfirmware: Sep 2005 PHTF • Jan 2015

#16

Beitrag von ibbi » Do 16. Mär 2006, 08:48

gecko1a hat geschrieben:Hab ich ja schon gemacht, aber zwei Sachen gleichzeitig lernen ist hat etwas aufwendiger.
(TAP und C :thinker: )
Für C gibt es immerhin jede Menge gute Literatur, bei der Dokumentation der API kann man leider oft nur raten, was gemeint ist. :motz:

gecko1a
Benutzer
Benutzer
Beiträge: 72
Registriert: Mi 22. Feb 2006, 12:35

#17

Beitrag von gecko1a » Do 16. Mär 2006, 11:40

ibbi hat geschrieben:Für C gibt es immerhin jede Menge gute Literatur, bei der Dokumentation der API kann man leider oft nur raten, was gemeint ist. :motz:
Literatur für C habe ich schon gefunden und es ist ja nicht sooo weit weg von Pascal.

Und für die API gibt es ja ein gutes Forum :hello:


Bis dahin, Gruß

gecko

Antworten

Zurück zu „TF 5x00/6000 PVR TAP“