Projekt

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.
Benutzeravatar
macfan
Ex-iTiNa-Promoter
Ex-iTiNa-Promoter
Beiträge: 24972
Registriert: Fr 9. Dez 2005, 10:16
Receivertyp: 2 x TF 2401 CI+, 2100, 5200 C, VU+ Ultimo 4K
Receiverfirmware: SRP-Serie: die neueste, 5k: Jan 07 PTU, VU+ VTi 15.0
Wohnort: Dortmund

AW: Projekt

#41

Beitrag von macfan » Sa 8. Dez 2007, 13:35

[quote=""flechumer""]Erst die totale Terminpanik und dann nicht mal eine Reaktion auf einen Hinweis ... [/quote]
Wieso? Er hat doch geschrieben, dass es mit "%d" auch abstürzt.

Gruß, Horst

flechumer
Vollzeit-Guru
Vollzeit-Guru
Beiträge: 2455
Registriert: Sa 10. Dez 2005, 13:13
Wohnort: Emsland

AW: Projekt

#42

Beitrag von flechumer » Sa 8. Dez 2007, 13:58

Oups, schlampig nachgesehen. Umso merkwürdiger, daß %i bei mir zum Freeze führt. Wenn ich sonst nichts zu tun hätte, würde ich das glatt weiterverfolgen.

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

AW: Projekt

#43

Beitrag von ibbi » Mo 10. Dez 2007, 12:35

[quote=""DeRiEsS""]Ich habe das mit dem EVT_IDLE mal ausprobiert aber irgendwie nicht wirklich mir erfolg ... [/quote]

Und wie genau hast Du es ausprobiert?

Was ist mit den Fehlerabfragen?
Power Restore 0.8 | PiP 1.2 | 1.1v | QuickTimer 1.0.3 (IB) | TF5000 Display 1.53 | dbPlay 1.2 | Auto Resume 1.30 | IdleHdd 1.0 | EPPG 2.0 | WWWW 0.1b
(Kanalarbeiter 0.9, RecRepair 0.4, ScanDisk 1.4, ScreenCapture with OSD 3.1)


Power Restore 0.8 | EasyTimer 1.0 | EPPG 2.0 | 1.1v
(telnetd 1.0, TMSRemote 4.6)

DeRiEsS
Neuling
Neuling
Beiträge: 7
Registriert: Mo 3. Dez 2007, 11:14

AW: Projekt

#44

Beitrag von DeRiEsS » Mo 10. Dez 2007, 21:34

Hallo

sry das ich mich erst jetzt melde aber ich war dieses WE beruflich unterwegs da konnte ich mich leider nicht weiter mit dem Problem beschäftigen.

Aber immerhin habe ich eine gute neuigkeit ...

ich weis zwar nicht warum aber ich bekomme jetzt aus dem Com Port was raus ...
viel verändert habe ich an dem Programm nicht ...

Code: Alles auswählen

#include "tap.h"

#define ID_DISPLAY 0xB8023456   

TAP_ID( ID_DISPLAY );
TAP_PROGRAM_NAME("Kom-Test RNet");
TAP_AUTHOR_NAME("Project One");
TAP_DESCRIPTION("Daten via Serieller Verbindung");
TAP_ETCINFO(__DATE__);


int urchecks;

void SendeHex (char * Sendername, int check)
{

//------------------------------------------------------------
//Ausgabe verschiedener Hex Zahlen. Die Beschreibung der jew. Hex Zahl steht als komentar hinter dem Sendebefehl.
//------------------------------------------------------------

	TAP_Print( "%c" , 0xF0 );//Start of Message
	TAP_Print( "%c" , 0x54 );//Target Controller Id
	TAP_Print( "%c" , 0x6F );//Target Zone Id
	TAP_Print( "%c" , 0x70 );//Target keypad Id
	TAP_Print( "%c" , 0x66 );//Source Controller Id
	TAP_Print( "%c" , 0x69 );//Source Zone Id
	TAP_Print( "%c" , 0x65 );//Source Keypad Id
	TAP_Print( "%c" , 0x6C );//Message Type
	TAP_Print( "%c" , 0x64 );//Target Path, Num Levels
	TAP_Print( "%c" , 0x2D );//Target Path, Level 1
	TAP_Print( "%c" , 0x50 );//Target Path, Level 2
	TAP_Print( "%c" , 0x72 );//Source Path, Num Levels
	TAP_Print( "%c" , 0x6F );//Packet Num Lo Byte
	TAP_Print( "%c" , 0x6A );//Packet Num Hi Byte
	TAP_Print( "%c" , 0x65 );//Num Packets Lo Byte
	TAP_Print( "%c" , 0x63 );//Num Packets Hi Byte
	TAP_Print( "%c" , 0x74 );//Num Data Bytes Lo Byte
	TAP_Print( "%c" , 0x4F );//Num Data Bytes Hi Byte
	TAP_Print( "%c" , 0x4E );//Data Byte 1 - alignment
	TAP_Print( "%c" , 0x45 );//Data Byte 2 - Flash Time


//The alignment field defines how the message appears on the display. The following values are
//currently supported:
//00 Centered
//01 Left justified


//Flash Time
//Messages can be displayed perminantly or they can be flashed on the display for a brief time. The
//Flash Time field defines how long the string is displayed. The time is measured in 10ms increments
//with a value of 0 being constant display (will be overwritten by normal system activity).
//Low byte of "Flash" time in 10ms
//increments. 0 = constant (3 secs)


//------------------------------------------------------------
//Ausgabe des Sendernamens
//------------------------------------------------------------


	TAP_Print( "%s" , Sendername );

//------------------------------------------------------------
//Ausgabe der Checksumme
//------------------------------------------------------------

	TAP_Print( "%i" , check );

//------------------------------------------------------------
//Ausgabe des Stringendes
//------------------------------------------------------------

	TAP_Print( "%c" , 0xF0 );

}

int checksberechnen(char * Sendername)
{

int x , y , Temp ,z;
int bin[13];

//------------------------------------------------------------------
//Umrechnung des Sendernamens in eine Dezimale Zahl
//------------------------------------------------------------------

Temp = 0;
y = 0;

for (x = 0; ( Sendername[x] != 0 ) && ( x < 14 ) ; x=x+1) {};

for(y=0; y-x ; y=y+1)
{
 Temp=Temp+(int)Sendername[y];
}

Temp = Temp + x;

//------------------------------------------------------------------
//Umrechnung der Dezimalen Zahl in eine binäre Zahl
//------------------------------------------------------------------

x = 0;
y = 4096;
z = 0;

while ( y > 1 )
{
 y = y / 2;

 if (Temp >= y)
 {
  Temp = Temp - y;
  bin[z] = 1;
  z=z+1;
 }
 else
 {
  bin[z] = 0;
  z=z+1;
 }

}

//------------------------------------------------------------------
//Umrechnung der ersten (von rechts) 7 Stellen der Binären Zahl
//------------------------------------------------------------------

z = 5;
Temp = 0;
y = 128;

while ( z < 12 )
{

 y = y/2;

  if (bin[z] == 1)
  {
   Temp = Temp + y;
  }

 z=z+1;
}


//------------------------------------------------------------------
//Übergabe des errechneten Wertes an die übergeordnete Funktion
//------------------------------------------------------------------

return Temp;

}

dword TAP_EventHandler( word event, dword param1, dword param2 )
{

    TYPE_TapChInfo ChInfo;
    int Typ, Nummer;
    unsigned char sendtext[255];
    int checksumme, count, a;

if (event == EVT_IDLE)
{

	TAP_Channel_GetCurrent( &Typ, &Nummer );
	 TAP_Channel_GetInfo ( Typ, Nummer, &ChInfo);
          TAP_SPrint (sendtext,"%s                                        \0", ChInfo.chName);	

    //for (a = 0; (( sendtext[a] != 20 ) && ( a < 5 )) || (sendtext[a] != 0) ; a=a+1) {};// zählen wie viele Stellen der Sendername besitzt	  	  
	//a = strlen(sendtext);

	checksumme = checksberechnen(sendtext);

	if( checksumme == urchecks )
	{
	 return param1;
	}
	 else
	{
	  urchecks = checksumme;  
	  SendeHex (sendtext, checksumme);
	}
 
}
 return param1;
}

int TAP_Main(void)
{
	return 1;
}
ich kanns mir ehrlich gesagt nicht so wirklich erklären warum ...

Code: Alles auswählen

ðTopfield-ProjectONEProSieben_alt                                        85ð
ðTopfield-ProjectONEZDF                                        55ð
ðTopfield-ProjectONEDas Erste                                        105ð
Das ist jetzt die Ausgabe die ich an der Com Schnittstelle empfange ... fast dass was ich haben wollte.
Jetzt müssen nur noch die vielen Leerzeichen nach dem Sendernamen weg ...
Und wie genau hast Du es ausprobiert?

Was ist mit den Fehlerabfragen?
Ich denke wie ich es ausprobiert habe steht oben :)
Wie meinst du das mit den Fehlerabfragen ???
Mach mal bitte ein Beispiel.
Wie kann man denn Inhalt von ChInfo überprüfen ???
oder meinst du einfach nur den rückgabewert der Funktion ???
(0 = keine Fehler)
Erst die totale Terminpanik und dann nicht mal eine Reaktion auf einen Hinweis ...
ich mach hier keine Terminpanik ich habe nur geschrieben das der Termin langsamm näher rückt ...
mamel ist nur ein wenig am abdrehen :wink:

@Firebird Ich kann dir die Dateien leider nicht geben es seid dann du willst die *.map *.tab und die *.c datei trotzdem haben.
Ich glaube auch nicht wirklich darann das mir der Topfield nicht mehr abstürtzt aber immerhin habe ich jetzt mal ne Basis auf die ich aufbauen kann.

bis hierhin schon mal danke an alle die sich mt dem Problem beschäftigt haben.

Thomas

Benutzeravatar
FireBird
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Beiträge: 28953
Registriert: Fr 9. Dez 2005, 09:59
Receivertyp: SRP-2401CI+ TFIR
vu+ Duo 4k
Wohnort: Wien

AW: Projekt

#45

Beitrag von FireBird » Mo 10. Dez 2007, 21:40

[quote=""DeRiEsS""]Ich kann dir die Dateien leider nicht geben es seid dann du willst die *.map *.tab und die *.c datei trotzdem haben. [/quote]
Diese machen nur gemeinsam mit dem Dump Sinn. Da die Analyse einen nicht unerheblichen Zeitaufwand darstellt, machen wir das nur, wenn der Topf weiterhin unerklärlich abstürzt und sich schön langsam Panik breit macht. :wink:

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

AW: Projekt

#46

Beitrag von ibbi » Di 11. Dez 2007, 09:26

[quote=""DeRiEsS""]ich weis zwar nicht warum aber ich bekomme jetzt aus dem Com Port was raus ...[/quote]

Nun, wenn ich das richtig sehe, rufst Du Deine Routinen jetzt im EVT_IDLE auf, was grundsätzlich eine gute Idee ist (die glatt von mir hätte sein können).
Power Restore 0.8 | PiP 1.2 | 1.1v | QuickTimer 1.0.3 (IB) | TF5000 Display 1.53 | dbPlay 1.2 | Auto Resume 1.30 | IdleHdd 1.0 | EPPG 2.0 | WWWW 0.1b
(Kanalarbeiter 0.9, RecRepair 0.4, ScanDisk 1.4, ScreenCapture with OSD 3.1)


Power Restore 0.8 | EasyTimer 1.0 | EPPG 2.0 | 1.1v
(telnetd 1.0, TMSRemote 4.6)

DeRiEsS
Neuling
Neuling
Beiträge: 7
Registriert: Mo 3. Dez 2007, 11:14

AW: Projekt

#47

Beitrag von DeRiEsS » Di 11. Dez 2007, 15:08

Nun, wenn ich das richtig sehe, rufst Du Deine Routinen jetzt im EVT_IDLE auf, was grundsätzlich eine gute Idee ist (die glatt von mir hätte sein können).
Und stell dir vor ich habe sie auch von dir :)
nur das das leider nicht der grund der Abstürze war da er mir auch abgestürtzt ist nachdem ich diese Abfrage eingebaut hatte ...

Antworten

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