Wie Daten an ein Notebook senden (seriell)
Wie Daten an ein Notebook senden (seriell)
Hallo,
seit kurzem bin ich stolzer Eigentümer eines Topfield 5000pVR, nachdem ich
Stundenlang das Forum durchstöbert habe, klasse Forum .
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
seit kurzem bin ich stolzer Eigentümer eines Topfield 5000pVR, nachdem ich
Stundenlang das Forum durchstöbert habe, klasse Forum .
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.
- Harvey
- 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
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.
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
Harvey
- Grubix
- Suchfunktions-Guru
- Beiträge: 6631
- Registriert: Fr 9. Dez 2005, 18:50
- Receivertyp: 2x TF5000PVR & TF5500PVR
- Receiverfirmware: Jan. 07 PUSTED
- Wohnort: Unna
Hallo Gecko.
Schau mal hier, evtl. hat Softie schon etwas gemacht und ihr könnt euch kurzschließen.
Bis denn dann, Grubix.
Schau mal hier, evtl. hat Softie schon etwas gemacht und ihr könnt euch kurzschließen.
Bis denn dann, Grubix.
- Sigittarius-E
- FIQMDTSSOOLUETSNAK
- 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
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!
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
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
- Sigittarius-E
- FIQMDTSSOOLUETSNAK
- 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
Danke! (entweder an Gecko1a oder einen Mod)
Edit: Sehe gerade dass Gecko1a ein Edit von 13:35 hat.
Also: Danke Gecko1a!
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
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
Danke, ich war schon etwas verwirrt. Wenn ich aus dem Urlaub bin (z.Z. in Portugal, Sonne und 25 Grad ) werde ich mich mal dransetzen.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. ...
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
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?
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 ?)
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
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;
}
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 ?)
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
- Happy
- TAP-Guru
- Beiträge: 5718
- Registriert: Fr 9. Dez 2005, 09:32
- Receivertyp: TF4000-5500-6000-TMS
- Wohnort: bei Karlsruhe
- Kontaktdaten:
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
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
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
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
Nächster Versuch:
Wäre das jetzt OK?
Gruß gecko
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;
}
Gruß gecko
- Happy
- TAP-Guru
- Beiträge: 5718
- Registriert: Fr 9. Dez 2005, 09:32
- Receivertyp: TF4000-5500-6000-TMS
- Wohnort: bei Karlsruhe
- Kontaktdaten:
Ich würde mal sagen,gecko1a hat geschrieben:
Wäre das jetzt OK?
Gruß,
Happy
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
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
- Elle4u
- TAP-Chirurg
- 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:
Klasse.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
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
Elle4u