6469 lines
199 KiB
Plaintext
6469 lines
199 KiB
Plaintext
|
//**********************************************************************
|
|||
|
//*
|
|||
|
//* Nacharbeitssource f<>r INPA
|
|||
|
//*
|
|||
|
//* Sourcedatei FRM_70.SRC
|
|||
|
//*
|
|||
|
//**********************************************************************
|
|||
|
//* History :
|
|||
|
//* 25.10.04 gr V0.01 Ersterstellung Grundumfang
|
|||
|
//* 29.07.05 gr V0.02 Steuern- und Status-Jobs hinzu
|
|||
|
//* 20.10.05 gr V1.00 Bugfixing diverser Jobs
|
|||
|
//* 24.10.05 gr V1.01 Lichtschaltereinheit angepasst
|
|||
|
//* 27.10.05 gr V1.02 LWR hinzu
|
|||
|
//* 21.11.05 gr V1.03 Steuern Lampen hinzu
|
|||
|
//* 04.05.06 gr V1.04 Ansteuerung FH verfahren
|
|||
|
//* 03.07.06 gr V1.05 Anpassungen R56
|
|||
|
//* 23.10.06 gr V1.06 Bugfixes
|
|||
|
//* 16.02.07 gr V1.07 Anpassung Versionsnummer
|
|||
|
//* 22.03.07 gr V1.08 Abfrage Codierbits bei Gurtbringer raus (tempor<6F>r)
|
|||
|
//* 22.03.07 gr V1.08 STATUS_LAMPEN_DIGITAL hinzu
|
|||
|
//* 22.03.07 gr V1.08 Anpassung Versionsnummer
|
|||
|
//* 23.03.07 gr V1.09 Bugfix Gurtbringer
|
|||
|
//* 24.08.07 gr V1.10 Bugfix Status Fensterheber
|
|||
|
//* 30.01.08 gr V1.11 Anpassung Versionsnummer
|
|||
|
//**********************************************************************
|
|||
|
#include "inpa.h"
|
|||
|
#include "BMW_STD.H"
|
|||
|
|
|||
|
// Titel, Version, Verantwortung, Steuerger<65>t
|
|||
|
string titel ="Fussraum Modul II"; // Titel Nacharbeitsprogramm
|
|||
|
string version="1.11"; // Version Nacharbeitsprogramm
|
|||
|
string origin ="BMW TI-430 Gramer"; // Verantwortung Nacharbeitsprogramm
|
|||
|
string sgbd ="FRM_70/V10.xxx"; // Steuerger<65>t
|
|||
|
string gruppe ="D_KBM"; // Gruppendatei
|
|||
|
string sgbd2 ="D_ZGM"; // Gruppendatei-Name f<>r die hinteren Fenster!
|
|||
|
string sgbd3 ="D_SZL"; // Gruppendatei-Name f<>r den Bordcomputer-Taster
|
|||
|
|
|||
|
|
|||
|
//string speicher_lesen_parameter="LAR;FLASH;UIFM;-ROMI;-ROMX;-RAMIS;-RAMIL;-RAMXX;-NVRAM";
|
|||
|
string speicher_lesen_parameter="";
|
|||
|
// Moegliche Speicher-Parameter: "LAR;FLASH;UIFM;ROMI;ROMX;RAMIS;RAMIL;RAMXX;NVRAM";
|
|||
|
// Bei Leerstring erfolgt kein Men<65>punkt Speicher Lesen
|
|||
|
|
|||
|
// allgemeine globale Variable
|
|||
|
string text_var;
|
|||
|
real zahlen_var;
|
|||
|
int ganz_zahl;
|
|||
|
bool logik_var;
|
|||
|
string job_state; // JOB_STATUS Variable
|
|||
|
int input_state; // Eingabestatus
|
|||
|
int input_ok=0; // Eingabe mit OK beendet
|
|||
|
string LSLichtSchalter="";
|
|||
|
bool LBLichtSchalter = FALSE;
|
|||
|
string LSAusgabe;
|
|||
|
bool ALC_true = FALSE;
|
|||
|
string ALC_text = "";
|
|||
|
real LFLWR_MIN = 0;
|
|||
|
real LFLWR_MAX = 0;
|
|||
|
|
|||
|
// Baureihenauswertung
|
|||
|
string CAS_FAHRZEUGAUFTRAG;
|
|||
|
bool baureihe_R5x;
|
|||
|
bool baureihe_E70;
|
|||
|
bool LBGurtbringer;
|
|||
|
bool LBALC;
|
|||
|
bool LBLinSpiegel;
|
|||
|
|
|||
|
|
|||
|
// start of :#include "bmw_std.src"
|
|||
|
//**********************************************************************
|
|||
|
//*
|
|||
|
//* INPA Library-Funktionen BMW_STD.SRC
|
|||
|
//*
|
|||
|
//* mindestens INPA 5.0.1
|
|||
|
//*
|
|||
|
//**********************************************************************
|
|||
|
//* Gall TI-430
|
|||
|
//**********************************************************************
|
|||
|
//* History:
|
|||
|
//* 05.05.2000 rd V0.01 Ersterstellung
|
|||
|
//* 23.06.2000 rd V0.02 <20>berarbeitung f<>r E65 und E85
|
|||
|
//* 04.07.2000 rd V0.03 <20>berarbeitung der Funktionen
|
|||
|
//* 08.11.2000 rd V0.04 AIF Lesen Results <20>berarbeitet
|
|||
|
//* 01.03.2001 rd V0.05 m_status_flag neu hinzu
|
|||
|
//* 02.03.2001 rd V0.06 m_steuern_flag neu hinzu
|
|||
|
//* 18.05.2001 rd V0.07 AIF-Ausgabe verbessert
|
|||
|
//* 25.04.2002 rd V0.08 Erweiterung HS_LESEN
|
|||
|
//* 25.04.2002 rd V1.00 Freigabe
|
|||
|
//* 24.09.2002 rd V1.01 Erweiterung Ident f<>r DS2
|
|||
|
//* 19.11.2002 rd V1.02 FS_MODE erweitert um PCODEs
|
|||
|
//* 16.02.2004 rd V2.00 Umstellung auf 32-Bit Version
|
|||
|
//* rd V2.00 Entfernung EldiAuftragLesen, EldiAuftragEingeben
|
|||
|
//* 30.03.2006 GA V3.00 Erweiterung auf UDS (ISO 14229)
|
|||
|
//* GA V3.00 Hinweis im Hauptfenster, wenn Simulationsmodus aktiv ist.
|
|||
|
//* 05.04.2007 GA V3.01 Abfrage auf IS_ und HS_LOESCHEN implementiert
|
|||
|
//**********************************************************************
|
|||
|
string package="3.01";
|
|||
|
|
|||
|
//**********************************************************************
|
|||
|
//*
|
|||
|
//* Globale Variablen
|
|||
|
//*
|
|||
|
//**********************************************************************
|
|||
|
|
|||
|
// Umrechnungsfaktoren deutsch / englisch
|
|||
|
real m_c = 1.0; // Grad Celsius -> Fahrenheit z = x * m_c + a_c
|
|||
|
real a_c = 0.0;
|
|||
|
real m_km = 1.0; // km -> miles z = x * m_km
|
|||
|
real m_l = 1.0; // Liter -> Gallon US z = x * m_l
|
|||
|
|
|||
|
// f<>r Info
|
|||
|
string sgbd_ecu;
|
|||
|
string sgbd_origin;
|
|||
|
string sgbd_revision;
|
|||
|
string sgbd_package;
|
|||
|
string sgbd_sprache;
|
|||
|
string sgbd_comment;
|
|||
|
string gruppe_ecu;
|
|||
|
string gruppe_origin;
|
|||
|
string gruppe_revision;
|
|||
|
string gruppe_comment;
|
|||
|
|
|||
|
// f<>r Status-Men<65>
|
|||
|
bool m_status_flag=TRUE;
|
|||
|
// True Status-Men<65> wird angezeigt
|
|||
|
|
|||
|
// f<>r Steuern-Men<65>
|
|||
|
bool m_steuern_flag=TRUE;
|
|||
|
// True Steuern-Men<65> wird angezeigt
|
|||
|
|
|||
|
// f<>r FS_LESEN speichern
|
|||
|
bool fs_lesen_save_as_flag;
|
|||
|
|
|||
|
// f<>r IS_LESEN speichern
|
|||
|
bool is_lesen_save_as_flag;
|
|||
|
|
|||
|
// f<>r HS_LESEN speichern
|
|||
|
bool hs_lesen_save_as_flag;
|
|||
|
|
|||
|
// f<>r FS_LESEN
|
|||
|
bool fs_lesen_flag;
|
|||
|
// True wenn JOB vorhanden
|
|||
|
|
|||
|
// f<>r IS_LESEN
|
|||
|
bool is_lesen_flag;
|
|||
|
// True wenn JOB vorhanden
|
|||
|
|
|||
|
// f<>r HS_LESEN
|
|||
|
bool hs_lesen_flag;
|
|||
|
// True wenn JOB vorhanden
|
|||
|
|
|||
|
// f<>r IS_LOESCHEN
|
|||
|
bool is_loeschen_flag;
|
|||
|
// True wenn JOB vorhanden
|
|||
|
|
|||
|
// f<>r HS_LOESCHEN
|
|||
|
bool hs_loeschen_flag;
|
|||
|
// True wenn JOB vorhanden
|
|||
|
|
|||
|
// Handle f<>r FS_LESEN
|
|||
|
int f_ort_nr_buffer = 0;
|
|||
|
int f_ort_text_buffer = 0;
|
|||
|
|
|||
|
// In INPA.INI wird festgelegt ob
|
|||
|
// nach FS- IS-, HS-L<>schen automatisch wieder gelesen wird.
|
|||
|
bool deleteread_flag;
|
|||
|
|
|||
|
// Wenn Ediabas im Simulationsmode l<>uft, dies im Hauptfenster anzeigen
|
|||
|
bool simulation_flag;
|
|||
|
|
|||
|
// f<>r Ident Screen, bzw. SVK Screen bei UDS (ISO 14229)
|
|||
|
int ident_typ;
|
|||
|
// 1= DS2
|
|||
|
// 2= BMW Fast
|
|||
|
// 3= UDS (ISO 14229)
|
|||
|
|
|||
|
|
|||
|
// f<>r SPEICHER_LESEN
|
|||
|
bool speicher_lesen_flag;
|
|||
|
// True wenn JOB vorhanden
|
|||
|
bool speicher_lesen_lar_flag;
|
|||
|
bool speicher_lesen_uifm_flag;
|
|||
|
bool speicher_lesen_romi_flag;
|
|||
|
bool speicher_lesen_romx_flag;
|
|||
|
bool speicher_lesen_nvram_flag;
|
|||
|
bool speicher_lesen_ramis_flag;
|
|||
|
bool speicher_lesen_ramxx_flag;
|
|||
|
bool speicher_lesen_flash_flag;
|
|||
|
bool speicher_lesen_ramil_flag;
|
|||
|
|
|||
|
// f<>r Speicher lesen Ausgabe
|
|||
|
string speicher_lesen_text = "";
|
|||
|
string speicher_lesen_seg_adr_anz = "";
|
|||
|
string speicher_lesen_adresse = "0x000000";
|
|||
|
int speicher_lesen_anzahl = 64;
|
|||
|
|
|||
|
//**********************************************************************
|
|||
|
//*
|
|||
|
//* Deklaration der Funktionen
|
|||
|
//*
|
|||
|
//**********************************************************************
|
|||
|
extern ScriptInit(); // befindet sich im Hauptprogramm
|
|||
|
|
|||
|
// start of :#include "BATTERIE.SRC"
|
|||
|
//**********************************************************************
|
|||
|
//*
|
|||
|
//* INPA Library-Funktionen BATTERIE.SRC
|
|||
|
//*
|
|||
|
//* mindestens INPA 5.0.1
|
|||
|
//*
|
|||
|
//**********************************************************************
|
|||
|
//* Gall TI-430
|
|||
|
//**********************************************************************
|
|||
|
//* History:
|
|||
|
//* 04.07.2000 rd V0.03 Ersterstellung
|
|||
|
//* 25.04.2002 rd V1.00 Freigabe
|
|||
|
//* 16.02.2004 rd V2.00 Umstellung auf 32-Bit Version
|
|||
|
//* 01.04.2004 rd V2.01 Im Fehlerfalle delay eingebaut
|
|||
|
//* 30.03.2006 GA V3.00 Erweiterung auf UDS (ISO 14229)
|
|||
|
//**********************************************************************
|
|||
|
|
|||
|
//**********************************************************************
|
|||
|
//*
|
|||
|
//* ShowBatteryIgnition
|
|||
|
//*
|
|||
|
//* Anzeige des Batterie- und Z<>ndungs-Status
|
|||
|
//*
|
|||
|
//**********************************************************************
|
|||
|
ShowBatteryIgnition()
|
|||
|
{
|
|||
|
bool fehlerflag; // Fehler aufgetreten
|
|||
|
bool fehlerflag2; // Fehler aufgetreten
|
|||
|
bool zuendung; // Z<>ndung ein/aus
|
|||
|
bool batterie; // Batterie ein/aus
|
|||
|
int wert; // allgemeine Variable
|
|||
|
|
|||
|
ftextout("Batterie :", 0,5,1,0);
|
|||
|
ftextout("Z<>ndung :", 0,45,1,0);
|
|||
|
|
|||
|
INPAapiJob("UTILITY","STATUS_UBATT","","");
|
|||
|
INP1apiResultInt(fehlerflag,wert,"STAT_UBATT",1);
|
|||
|
if ((fehlerflag!=TRUE) || (wert==0))
|
|||
|
{
|
|||
|
batterie=FALSE;
|
|||
|
zuendung=FALSE;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
batterie=TRUE;
|
|||
|
INPAapiJob("UTILITY","STATUS_ZUENDUNG","","");
|
|||
|
INP1apiResultInt(fehlerflag2,wert,"STAT_ZUENDUNG",1);
|
|||
|
if ((fehlerflag2!=TRUE) || (wert==0))
|
|||
|
zuendung=FALSE;
|
|||
|
else
|
|||
|
zuendung=TRUE;
|
|||
|
}
|
|||
|
digitalout(batterie, 0,20,"","");
|
|||
|
if (batterie==TRUE)
|
|||
|
ftextout("ein ", 0,25,1,0);
|
|||
|
else
|
|||
|
{
|
|||
|
if (fehlerflag==TRUE)
|
|||
|
{
|
|||
|
ftextout("aus ", 0,25,1,0);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
ftextout("--- ", 0,25,1,0);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
digitalout(zuendung, 0,62,"","");
|
|||
|
if (zuendung==TRUE)
|
|||
|
ftextout("ein ", 0,67,1,0);
|
|||
|
else
|
|||
|
{
|
|||
|
if (fehlerflag2==TRUE)
|
|||
|
{
|
|||
|
ftextout("aus ", 0,67,1,0);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
ftextout("--- ", 0,67,1,0);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
if ((fehlerflag!=TRUE) || (fehlerflag2!=TRUE))
|
|||
|
{
|
|||
|
delay(2000);
|
|||
|
}
|
|||
|
}
|
|||
|
// -- EOF --
|
|||
|
// end of :#include "BATTERIE.SRC"
|
|||
|
// start of :#include "GRP_INFO.SRC"
|
|||
|
//**********************************************************************
|
|||
|
//*
|
|||
|
//* INPA Library-Funktionen GRP_INFO.SRC
|
|||
|
//*
|
|||
|
//* mindestens INPA 5.0.1
|
|||
|
//*
|
|||
|
//**********************************************************************
|
|||
|
//* Gall TI-430
|
|||
|
//**********************************************************************
|
|||
|
//* History:
|
|||
|
//* 04.07.2000 rd V0.03 Ersterstellung
|
|||
|
//* 25.04.2002 rd V1.00 Freigabe
|
|||
|
//* 16.02.2004 rd V2.00 Umstellung auf 32-Bit Version
|
|||
|
//* 30.03.2006 GA V3.00 EDIABAS.INI-Abfrage ob Simulationsmode aktiv ist
|
|||
|
//* 18.10.2006 GA V3.01 Abfrage ob EDIABAS im Simulationsmodus l<>uft ist jetzt nicht mehr auf Pfad c:\windows\ediabas.ini beschr<68>nkt
|
|||
|
//**********************************************************************
|
|||
|
|
|||
|
//**********************************************************************
|
|||
|
//*
|
|||
|
//* GruppenDateiInfo
|
|||
|
//*
|
|||
|
//* Versionsinformationen <20>ber Gruppendatei
|
|||
|
//*
|
|||
|
//**********************************************************************
|
|||
|
import32 "C" lib "api32.DLL::__apiGetConfig" ApiGetConfig(in:long Handle,in: string Name,out: string Buffer, returns: int ReturnedValue);
|
|||
|
GruppenDateiInfo( in: string grp,
|
|||
|
inout: string grp_ecu, inout: string grp_origin,
|
|||
|
inout: string grp_revision, inout: string grp_comment)
|
|||
|
{
|
|||
|
string CurDir;
|
|||
|
string Temp;
|
|||
|
string Puffer;
|
|||
|
int Size;
|
|||
|
long PufferSize;
|
|||
|
int ret_int;
|
|||
|
string BS;
|
|||
|
string CR;
|
|||
|
int pos1;
|
|||
|
int pos2;
|
|||
|
int simulation;
|
|||
|
int input;
|
|||
|
long Handle;
|
|||
|
int Returned;
|
|||
|
string ini_path= "??????????????????????";//Variable mu<6D> ausreichend lang vorbelegt sein!
|
|||
|
// C:\ec-apps\ediabas\bin
|
|||
|
|
|||
|
chr( 92, BS ); // '\'
|
|||
|
chr( 13, CR );
|
|||
|
|
|||
|
// Pfad f<>r EDIBAS.INI ermitteln
|
|||
|
// WERT 2 wurde durch Tests ermittelt
|
|||
|
Handle=2;
|
|||
|
ApiGetConfig(Handle,"EDIABASINIPATH",ini_path,Returned);
|
|||
|
//Abfrage, ob EDIABAS im Simulationsmodus betrieben wird. Hinweisfenster erfolgt im Hauptfenster s_main
|
|||
|
GetPrivateProfileInt("Configuration","Simulation",2,ini_path+BS+"ediabas.ini",simulation);
|
|||
|
if (simulation == 1) simulation_flag= TRUE;
|
|||
|
else simulation_flag= FALSE;
|
|||
|
|
|||
|
Size=256;
|
|||
|
space(CurDir,Size);
|
|||
|
GetCurrentDirectory(256, CurDir, ret_int);
|
|||
|
SetCurrentDirectory("\EDIABAS\BIN", ret_int);
|
|||
|
|
|||
|
Size=1024;
|
|||
|
space(Puffer,Size);
|
|||
|
inttolong(Size, PufferSize);
|
|||
|
XTRACT("\ediabas\ecu"+ BS + grp + ".grp", 1, Puffer, PufferSize, ret_int);
|
|||
|
|
|||
|
grp_ecu="";
|
|||
|
instr(pos1, 0, Puffer, "ECU:");
|
|||
|
if (pos1 >= 0)
|
|||
|
{
|
|||
|
pos1 = pos1 + 4;
|
|||
|
instr(pos2, pos1, Puffer, CR );
|
|||
|
if (pos2 > pos1)
|
|||
|
midstr(grp_ecu, Puffer, pos1, pos2 - pos1);
|
|||
|
}
|
|||
|
|
|||
|
grp_origin="";
|
|||
|
instr(pos1, 0, Puffer, "ORIGIN:");
|
|||
|
if (pos1 >= 0)
|
|||
|
{
|
|||
|
pos1 = pos1 + 7;
|
|||
|
instr(pos2, pos1, Puffer, CR );
|
|||
|
if (pos2 > pos1)
|
|||
|
midstr(grp_origin, Puffer, pos1, pos2 - pos1);
|
|||
|
}
|
|||
|
|
|||
|
grp_revision="";
|
|||
|
instr(pos1, 0, Puffer, "REVISION:");
|
|||
|
if (pos1 >= 0)
|
|||
|
{
|
|||
|
pos1 = pos1 + 9;
|
|||
|
instr(pos2, pos1, Puffer, CR );
|
|||
|
if (pos2 > pos1)
|
|||
|
midstr(grp_revision, Puffer, pos1, pos2 - pos1);
|
|||
|
}
|
|||
|
|
|||
|
grp_comment="";
|
|||
|
pos1=0;
|
|||
|
pos2=0;
|
|||
|
while ((pos1 >= 0) && (pos2 >= 0))
|
|||
|
{
|
|||
|
instr(pos1, pos2, Puffer, "ECUCOMMENT:");
|
|||
|
if (pos1 >= 0)
|
|||
|
{
|
|||
|
pos1 = pos1 + 11;
|
|||
|
instr(pos2, pos1, Puffer, CR );
|
|||
|
if (pos2 > pos1)
|
|||
|
{
|
|||
|
midstr(Temp, Puffer, pos1, pos2 - pos1);
|
|||
|
grp_comment=grp_comment+Temp+",";
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
SetCurrentDirectory(CurDir, ret_int);
|
|||
|
}
|
|||
|
// -- EOF --
|
|||
|
// end of :#include "GRP_INFO.SRC"
|
|||
|
// start of :#include "SGBDINFO.SRC"
|
|||
|
//**********************************************************************
|
|||
|
//*
|
|||
|
//* INPA Library-Funktionen SGBDINFO.SRC
|
|||
|
//*
|
|||
|
//* mindestens INPA 5.0.1
|
|||
|
//*
|
|||
|
//**********************************************************************
|
|||
|
//* Gall TI-430
|
|||
|
//**********************************************************************
|
|||
|
//* History:
|
|||
|
//* 04.07.2000 rd V0.03 Ersterstellung
|
|||
|
//* 25.04.2002 rd V1.00 Freigabe
|
|||
|
//* 16.02.2004 rd V2.00 Umstellung auf 32-Bit Version
|
|||
|
//* 30.03.2006 GA V3.00 Erweiterung auf UDS (ISO 14229)
|
|||
|
//**********************************************************************
|
|||
|
|
|||
|
//**********************************************************************
|
|||
|
//*
|
|||
|
//* Deklaration der Funktionen
|
|||
|
//*
|
|||
|
//**********************************************************************
|
|||
|
extern SgbdInfo(in: string sg,
|
|||
|
inout: string sg_ecu, inout: string sg_origin,
|
|||
|
inout: string sg_revision, inout: string sg_package,
|
|||
|
inout: string sg_comment, inout: string sg_sprache);
|
|||
|
|
|||
|
//**********************************************************************
|
|||
|
//*
|
|||
|
//* SgbdInfo
|
|||
|
//*
|
|||
|
//* Versionsinformationen <20>ber SGBD
|
|||
|
//*
|
|||
|
//**********************************************************************
|
|||
|
SgbdInfo( in: string sg,
|
|||
|
inout: string sg_ecu, inout: string sg_origin,
|
|||
|
inout: string sg_revision, inout: string sg_package,
|
|||
|
inout: string sg_comment, inout: string sg_sprache)
|
|||
|
{
|
|||
|
INPAapiJob(sg,"INFO","","");
|
|||
|
INPAapiResultText(sg_ecu,"ECU",1,"");
|
|||
|
INPAapiResultText(sg_revision,"REVISION",1,"");
|
|||
|
INPAapiResultText(sg_package,"PACKAGE",1,"");
|
|||
|
INPAapiResultText(sg_origin,"ORIGIN",1,"");
|
|||
|
INPAapiResultText(sg_comment,"COMMENT",1,"");
|
|||
|
INPAapiResultText(sg_sprache,"SPRACHE",1,"");
|
|||
|
}
|
|||
|
|
|||
|
// -- EOF --
|
|||
|
// end of :#include "SGBDINFO.SRC"
|
|||
|
// start of :#include "SGBDINPA.SRC"
|
|||
|
//**********************************************************************
|
|||
|
//*
|
|||
|
//* INPA Library-Funktionen SgbdInpa.SRC
|
|||
|
//*
|
|||
|
//* mindestens INPA 5.0.1
|
|||
|
//*
|
|||
|
//**********************************************************************
|
|||
|
//* Gall TI-430
|
|||
|
//**********************************************************************
|
|||
|
//* 12.03.2003 iS V1.05 Aufteilung der Funktionen(SgbdInpaCheck,GroupCheck)
|
|||
|
//* 16.02.2004 rd V2.00 Umstellung auf 32-Bit Version
|
|||
|
//* 30.03.2006 GA V3.00 Erweiterung auf UDS (ISO 14229)
|
|||
|
//* GA V3.00 Gezielte Ausgabe, wenn Gruppendatei oder SGBD nicht existiert
|
|||
|
//* GA V3.00 INPA.INI, [EXTRA], SRIPTS auslesen, ob "deleteread" gesetzt,
|
|||
|
//* GA V3.00 um nach FS- IS-, HS-L<>schen automatisch wieder zu lesen.
|
|||
|
//* 18.10.2006 GA V3.01 Check bez<65>glich auf Gruppen-Simulationsdatei, sowie "Identification error" erweitert
|
|||
|
//* 24.10.2006 GA V3.02 <20>berpr<70>fung ob T_GRTB.PRG vorhanden eingebaut
|
|||
|
//**********************************************************************
|
|||
|
|
|||
|
//**********************************************************************
|
|||
|
//*
|
|||
|
//* SgbdInpaCheck
|
|||
|
//*
|
|||
|
//* <20>berpr<70>fung ob SGBD zu INPA passt
|
|||
|
//*
|
|||
|
//**********************************************************************
|
|||
|
SgbdInpaCheck()
|
|||
|
{
|
|||
|
string sgbd_version; // f<>r Versionskontrolle
|
|||
|
string inpa_version; // f<>r Versionskontrolle
|
|||
|
string inpa_sprache="deutsch"; // f<>r Sprachvariante
|
|||
|
string variante="???"; // f<>r Variantenkontrolle
|
|||
|
string err_text; // Fehlertext
|
|||
|
int errorcode; // Errorcode
|
|||
|
bool fehlerflag; // Fehlerflag
|
|||
|
string temp;
|
|||
|
string temp1;
|
|||
|
string temp2;
|
|||
|
int i;
|
|||
|
int k;
|
|||
|
int kk; // f<>r neue VersionsnummernKontrolle
|
|||
|
int ii;
|
|||
|
int a;
|
|||
|
int aa;
|
|||
|
int i1;
|
|||
|
int i2;
|
|||
|
int i3; // f<>r neue VersionsnummernKontrolle
|
|||
|
string sgbd_String_Lang;
|
|||
|
string sgbd_von_inpa_version;
|
|||
|
string ver_temp;
|
|||
|
string ver_temp1;
|
|||
|
string ver_temp2;
|
|||
|
string ver_temp3="--";
|
|||
|
real Version_SGBD;
|
|||
|
real Version_INPA;
|
|||
|
string CurDir; // Zur Pr<50>fung ob Gruppendatei exisiert
|
|||
|
int ret_int;
|
|||
|
int Size;
|
|||
|
int filecheck;
|
|||
|
string hinweis_text;
|
|||
|
|
|||
|
settitle(titel+" Version "+version);
|
|||
|
a=0;
|
|||
|
ii=0;
|
|||
|
i3=0;
|
|||
|
kk=0;
|
|||
|
aa=0;
|
|||
|
i=0;
|
|||
|
k=0;
|
|||
|
fehlerflag=FALSE;
|
|||
|
temp1="";
|
|||
|
temp2="";
|
|||
|
|
|||
|
instr(i,k,","+gruppe+",",",");
|
|||
|
while ((i >= 0) && (fehlerflag == FALSE))
|
|||
|
{
|
|||
|
k=i+1;
|
|||
|
instr(i,k,","+gruppe+",",",");
|
|||
|
if (i >= 0)
|
|||
|
{
|
|||
|
midstr(temp,","+gruppe+",",k,i-k);
|
|||
|
INPAapiJob(temp,"INITIALISIERUNG","","");
|
|||
|
INP1apiResultText(fehlerflag,variante,"VARIANTE",0,"");
|
|||
|
if (fehlerflag == TRUE) gruppe=temp;
|
|||
|
else
|
|||
|
{
|
|||
|
INP1apiErrorCode(errorcode);
|
|||
|
if (errorcode == 36)//Fehlende oder fehlerhafte Simulationsdatei
|
|||
|
{
|
|||
|
Size=256;
|
|||
|
space(CurDir,Size);
|
|||
|
GetCurrentDirectory(256, CurDir, ret_int);
|
|||
|
SetCurrentDirectory("\EDIABAS\SIM", ret_int);
|
|||
|
fileexist(temp+".SIM",filecheck);
|
|||
|
SetCurrentDirectory(CurDir, ret_int);
|
|||
|
if (filecheck == 0)
|
|||
|
{
|
|||
|
temp1= temp1+", "+temp+".SIM";//Fehlerhafte Simulationsdatei
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
temp2= temp2+", "+temp+".SIM";//Fehlende Simulationsdatei
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
instr(i,0,gruppe,"d");//erstes Zeichen ein 'd'?
|
|||
|
instr(k,0,gruppe,"D");//erstes Zeichen ein 'D'?
|
|||
|
if ((i == 0) || (k == 0))
|
|||
|
hinweis_text= "das Steuerger<65>t liefert einen falschen Varianten- und / oder Diagnose-Index.";// bis F01: Gruppendateien fangen mit D_... an
|
|||
|
else hinweis_text= "das Steuerger<65>t liefert einen falschen SGBD-Index.";//gilt ab F01, Gruppendateien fangen mit G_... an
|
|||
|
|
|||
|
if (fehlerflag == FALSE)
|
|||
|
{
|
|||
|
//Fehlende oder fehlerhafte Gruppen-Simulationsdatei
|
|||
|
if (errorcode == 36)
|
|||
|
{
|
|||
|
//Fehlerhafte Simulationsdatei
|
|||
|
if (temp1 != "")
|
|||
|
{
|
|||
|
strlen(k,temp1);
|
|||
|
instr(i,k,temp1+",",",");//letztes Zeichen ein ','?
|
|||
|
if (i != -1) k= k-1; //Zeichenl<6E>nge um 1 k<>rzen
|
|||
|
instr(i,0,temp1+",",",");//erstes Zeichen ein ','?
|
|||
|
if (i == 0) midstr(temp1,temp1,1,k);//Kommata vor und hinter temp1 ausschneiden
|
|||
|
temp1= "Fehlerhafte Simulationsdatei: "+temp1+CRLF;
|
|||
|
}
|
|||
|
//Fehlende Simulationsdatei
|
|||
|
if (temp2 != "")
|
|||
|
{
|
|||
|
strlen(k,temp2);
|
|||
|
instr(i,k,temp2+",",",");//letztes Zeichen ein ','?
|
|||
|
if (i != -1) k= k-1; //Zeichenl<6E>nge um 1 k<>rzen
|
|||
|
instr(i,0,temp2+",",",");//erstes Zeichen ein ','?
|
|||
|
if (i == 0) midstr(temp2,temp2,1,k);//Kommata vor und hinter temp2 ausschneiden
|
|||
|
temp2= "Fehlende Simulationsdatei : "+temp2+CRLF;
|
|||
|
}
|
|||
|
|
|||
|
messagebox("Variantenkontrolle",
|
|||
|
"Fehler!"+CRLF+
|
|||
|
temp1+//Fehlerfafte Gruppen-Simulationsdateien
|
|||
|
temp2+//Fehlende -//-
|
|||
|
"Das Programm wird abgebrochen!");
|
|||
|
exit();
|
|||
|
}
|
|||
|
|
|||
|
//Gruppendatei vorhanden?
|
|||
|
Size=256;
|
|||
|
space(CurDir,Size);
|
|||
|
GetCurrentDirectory(256, CurDir, ret_int);
|
|||
|
SetCurrentDirectory("\EDIABAS\ECU", ret_int);
|
|||
|
fileexist(gruppe+".GRP",filecheck);
|
|||
|
SetCurrentDirectory(CurDir, ret_int);
|
|||
|
if (filecheck == 0)//Gruppendatei vorhanden, SGBD-, Kommunikationsfehler hier ausgeben
|
|||
|
{
|
|||
|
INP1apiErrorText(err_text);//Fehler beim Aufruf der VARIANTE?
|
|||
|
if (errorcode == 92)//92=SYS-0002: SG-Variantenbeschreibungsdatei (SGBD) nicht gefunden
|
|||
|
{
|
|||
|
//T_GRTB.PRG vorhanden?
|
|||
|
Size=256;
|
|||
|
space(CurDir,Size);
|
|||
|
GetCurrentDirectory(256, CurDir, ret_int);
|
|||
|
SetCurrentDirectory("\EDIABAS\ECU", ret_int);
|
|||
|
fileexist("T_GRTB.PRG",filecheck);
|
|||
|
SetCurrentDirectory(CurDir, ret_int);
|
|||
|
if (filecheck == 0)//T_GRTB.PRG ist vorhanden, somit fehlt die SGBD.
|
|||
|
{
|
|||
|
messagebox("Variantenkontrolle",
|
|||
|
"Fehler!"+CRLF+
|
|||
|
err_text+". "+CRLF+
|
|||
|
" "+CRLF+
|
|||
|
"Das Steuerger<65>t l<><6C>t sich zwar <20>ber die Gruppendatei: "+gruppe+".GRP"+" ansprechen,"+CRLF+
|
|||
|
"aber zur Diagnose fehlt eine entsprechende SGBD (*.PRG) im Verzeichnis ..\EDIABAS\ECU"+CRLF+
|
|||
|
" "+CRLF+
|
|||
|
"Aktualisieren Sie SGBDen, Gruppendateien und INPA Scripte regelm<6C><6D>ig!"+CRLF+
|
|||
|
" "+CRLF+
|
|||
|
"Das Programm wird abgebrochen!");
|
|||
|
}
|
|||
|
else//T_GRT.PRG fehlt
|
|||
|
{
|
|||
|
messagebox("Variantenkontrolle",
|
|||
|
"Fehler!"+CRLF+
|
|||
|
err_text+". "+CRLF+
|
|||
|
" "+CRLF+
|
|||
|
"Die Datei T_GRTB.PRG fehlt im Verzeichnis ..\EDIABAS\ECU"+CRLF+
|
|||
|
" "+CRLF+
|
|||
|
"Aktualisieren Sie SGBDen, Gruppendateien und INPA Scripte regelm<6C><6D>ig!"+CRLF+
|
|||
|
" "+CRLF+
|
|||
|
"Das Programm wird abgebrochen!");
|
|||
|
}
|
|||
|
}
|
|||
|
else if (errorcode == 102)//102= Identification error
|
|||
|
{
|
|||
|
instr(i,0,gruppe,"d");//erstes Zeichen ein 'd'?
|
|||
|
instr(k,0,gruppe,"D");//erstes Zeichen ein 'D'?
|
|||
|
if ((i == 0) || (k == 0))
|
|||
|
temp1= "das Steuerger<65>t liefert einen falschen Varianten- und / oder Diagnose-Index.";// bis F01: Gruppendateien fangen mit D_... an
|
|||
|
else temp1= "das Steuerger<65>t liefert einen falschen SGBD-Index.";//gilt ab F01, Gruppendateien fangen mit G_... an
|
|||
|
messagebox("Variantenkontrolle",
|
|||
|
"Fehler! Aufruf <20>ber Gruppendatei : "+gruppe+".GRP"+CRLF+
|
|||
|
err_text+". "+CRLF+
|
|||
|
" "+CRLF+
|
|||
|
"Sie besitzen entweder eine veraltete ..\EDIABAS\ECU\T_GRTB.PRG Datei, und / oder"+CRLF+
|
|||
|
hinweis_text+CRLF+
|
|||
|
" "+CRLF+
|
|||
|
"Das Programm wird abgebrochen!");
|
|||
|
}
|
|||
|
else //alle anderen Fehler
|
|||
|
{
|
|||
|
messagebox("Variantenkontrolle",
|
|||
|
"Fehler! Aufruf <20>ber Gruppendatei : "+gruppe+".GRP"+CRLF+
|
|||
|
" "+CRLF+
|
|||
|
err_text+". "+CRLF+
|
|||
|
" "+CRLF+
|
|||
|
" "+CRLF+
|
|||
|
"Das Programm wird abgebrochen!");
|
|||
|
}
|
|||
|
}
|
|||
|
else//Gruppendatei nicht vorhanden
|
|||
|
{
|
|||
|
messagebox("Variantenkontrolle",
|
|||
|
"Fehler! Gruppendatei : "+gruppe+".GRP "+CRLF+
|
|||
|
"existiert nicht im Verzeichnis ..\EDIABAS\ECU"+CRLF+
|
|||
|
" "+CRLF+
|
|||
|
"Aktualisieren Sie SGBDen, Gruppendateien und INPA Scripte regelm<6C><6D>ig!"+CRLF+
|
|||
|
" "+CRLF+
|
|||
|
"Das Programm wird abgebrochen!");
|
|||
|
}
|
|||
|
exit();
|
|||
|
}
|
|||
|
|
|||
|
i1=0;
|
|||
|
i2=0;
|
|||
|
instr(i1,0,","+sgbd+",",","+variante+",");
|
|||
|
if (i1 < 0)
|
|||
|
{
|
|||
|
instr(i2,0,","+sgbd+",",","+variante+"/");
|
|||
|
if (i2 < 0)
|
|||
|
{
|
|||
|
messagebox("Variantenkontrolle",
|
|||
|
"Gesuchtes Steuerger<65>t: '"+sgbd+"' nicht gefunden. "+CRLF+
|
|||
|
"Gefundenes Steuerger<65>t: '"+variante+"'. "+CRLF+
|
|||
|
" "+CRLF+
|
|||
|
"Sie besitzen entweder eine veraltete ..\EDIABAS\ECU\T_GRTB.PRG Datei, und / oder"+CRLF+
|
|||
|
hinweis_text+CRLF+
|
|||
|
" "+CRLF+
|
|||
|
"Das Programm wird abgebrochen!");
|
|||
|
exit();
|
|||
|
}
|
|||
|
|
|||
|
ver_temp3 = "--";
|
|||
|
instr(ii,i2,sgbd+",",",");
|
|||
|
if (ii >= 0)
|
|||
|
{
|
|||
|
midstr(ver_temp3,sgbd+",",i2,ii);
|
|||
|
instr(i3,0,ver_temp3,"/");
|
|||
|
if (i3 >= 0)
|
|||
|
{
|
|||
|
a = i2+i3+1;
|
|||
|
aa = ii-i2+i3-1;
|
|||
|
midstr(ver_temp3,sgbd+",",a,aa);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
sgbd_String_Lang = sgbd;
|
|||
|
sgbd=variante;
|
|||
|
|
|||
|
//
|
|||
|
// Info: Informatinon bei aufruf ohne BMW_STD.SRC
|
|||
|
//
|
|||
|
// ####################################################
|
|||
|
// # //f<>r Info #
|
|||
|
// # string sgbd_ecu; #
|
|||
|
// # string sgbd_origin; #
|
|||
|
// # string sgbd_revision; #
|
|||
|
// # string sgbd_package; #
|
|||
|
// # string sgbd_sprache; #
|
|||
|
// # string sgbd_comment; #
|
|||
|
// # string gruppe_ecu; #
|
|||
|
// # string gruppe_origin; #
|
|||
|
// # string gruppe_revision; #
|
|||
|
// # string gruppe_comment; #
|
|||
|
// # #
|
|||
|
// # #include "SgbdInfo.src" #
|
|||
|
// ####################################################
|
|||
|
//
|
|||
|
//
|
|||
|
SgbdInfo(sgbd, sgbd_ecu, sgbd_origin, sgbd_revision, sgbd_package, sgbd_comment, sgbd_sprache);
|
|||
|
// Bitte VARIABLEN als Globale variable aktivieren und Include (siehe Block //INFO)
|
|||
|
//
|
|||
|
//
|
|||
|
|
|||
|
//Versionskontrolle Auf 3 stellen vor / hinter dem "."
|
|||
|
instr(i3,0,ver_temp3,"V");
|
|||
|
if(i3>=0)
|
|||
|
{
|
|||
|
instr(i2,0,ver_temp3,",");
|
|||
|
midstr(ver_temp3,ver_temp3,i3+1,i2-1);
|
|||
|
stringtoreal(ver_temp3,Version_INPA);
|
|||
|
realtostring(Version_INPA,"3.3",ver_temp3);
|
|||
|
midstr(sgbd_von_inpa_version,ver_temp3,0,2);
|
|||
|
}
|
|||
|
stringtoreal(version,Version_INPA);
|
|||
|
realtostring(Version_INPA,"3.3",version);
|
|||
|
midstr(inpa_version,version,0,2);
|
|||
|
|
|||
|
stringtoreal(sgbd_revision,Version_SGBD);
|
|||
|
realtostring(Version_SGBD,"3.3",sgbd_revision);
|
|||
|
midstr(sgbd_version,sgbd_revision,0,2);
|
|||
|
|
|||
|
temp=inpa_version;
|
|||
|
temp1=sgbd_version;
|
|||
|
|
|||
|
if (ver_temp3 == "--")
|
|||
|
{
|
|||
|
// Vergleichen mit Versionsnummer INPA & SGBD
|
|||
|
if (inpa_version != sgbd_version)
|
|||
|
{
|
|||
|
messagebox("Versionskontrolle",
|
|||
|
"Nicht zusammenpassende Versionen. "+CRLF+
|
|||
|
"Fehlfunktion ist m<>glich!");
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if (temp == "0.")
|
|||
|
{
|
|||
|
if (temp1 == "0.")
|
|||
|
{
|
|||
|
messagebox("Versionskontrolle",
|
|||
|
"Programm noch in der Entwicklungsphase. "+CRLF+
|
|||
|
"Fehlfunktion ist m<>glich!"+CRLF+CRLF+
|
|||
|
"SGBD Version: "+sgbd_revision+CRLF+
|
|||
|
"INPA Version: "+version);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
messagebox("Versionskontrolle",
|
|||
|
"Programm noch in der Entwicklungsphase. "+CRLF+
|
|||
|
"Fehlfunktion ist m<>glich!"+CRLF+CRLF+
|
|||
|
"INPA Version: "+version);
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if (temp1 == "0.")
|
|||
|
{
|
|||
|
messagebox("Versionskontrolle",
|
|||
|
"Programm noch in der Entwicklungsphase. "+CRLF+
|
|||
|
"Fehlfunktion ist m<>glich!"+CRLF+CRLF+
|
|||
|
"SGBD Version: "+sgbd_revision);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
// Vergleichen mit Versionsnummer INPA(SGBD Vorwahl) & SGBD
|
|||
|
if (sgbd_von_inpa_version != sgbd_version)
|
|||
|
{
|
|||
|
messagebox("Versionskontrolle",
|
|||
|
"Nicht zusammenpassende Versionen. "+CRLF+
|
|||
|
"Fehlfunktion ist m<>glich!"+CRLF+CRLF+
|
|||
|
"SGBD Version: "+ ver_temp3 +" (in INPA) "+CRLF+
|
|||
|
"SGBD Version: "+ sgbd_revision +CRLF+
|
|||
|
"INPA Version: "+ version);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if (temp == "0.")
|
|||
|
{
|
|||
|
if (temp1 == "0.")
|
|||
|
{
|
|||
|
messagebox("Versionskontrolle",
|
|||
|
"Programm noch in der Entwicklungsphase. "+CRLF+
|
|||
|
"Fehlfunktion ist m<>glich!"+CRLF+CRLF+
|
|||
|
"SGBD Version: "+sgbd_revision+CRLF+
|
|||
|
"INPA Version: "+version);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
messagebox("Versionskontrolle",
|
|||
|
"Programm noch in der Entwicklungsphase. "+CRLF+
|
|||
|
"Fehlfunktion ist m<>glich!"+CRLF+CRLF+
|
|||
|
"INPA Version: "+version);
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if (temp1 == "0.")
|
|||
|
{
|
|||
|
messagebox("Versionskontrolle",
|
|||
|
"Programm noch in der Entwicklungsphase. "+CRLF+
|
|||
|
"Fehlfunktion ist m<>glich!"+CRLF+CRLF+
|
|||
|
"SGBD Version: "+sgbd_revision);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
if (inpa_sprache != sgbd_sprache)
|
|||
|
{
|
|||
|
messagebox("Sprachvariantenkontrolle",
|
|||
|
"Nicht zusammenpassende Sprachvariante. "+CRLF+
|
|||
|
"Fehlfunktion ist m<>glich!");
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// -- EOF --
|
|||
|
// end of :#include "SGBDINPA.SRC"
|
|||
|
// start of :#include "GRPCHECK.SRC"
|
|||
|
//**********************************************************************
|
|||
|
//*
|
|||
|
//* INPA Library-Funktionen GrpCheck.SRC
|
|||
|
//*
|
|||
|
//* mindestens INPA 5.0.1
|
|||
|
//*
|
|||
|
//**********************************************************************
|
|||
|
//* Gall TI-430
|
|||
|
//**********************************************************************
|
|||
|
//* History:
|
|||
|
//* 12.03.2003 iS V1.05 Aufteilung der Funktionen(SgbdInpaCheck,GroupCheck)
|
|||
|
//* 16.02.2004 rd V2.00 Umstellung auf 32-Bit Version
|
|||
|
//* 30.03.2006 GA V3.00 Erweiterung auf UDS (ISO 14229)
|
|||
|
//* 05.04.2007 GA V3.01 Abfrage auf IS_ und HS_LOESCHEN implementiert
|
|||
|
//* 20.04.2007 GA V3.02 FS-, IS-, HS_LESEN werden in einzelnen Tempdateien in ..\EDIABAS\BIN abgelegt
|
|||
|
//**********************************************************************
|
|||
|
|
|||
|
//**********************************************************************
|
|||
|
//*
|
|||
|
//* GroupCheck
|
|||
|
//*
|
|||
|
//* <20>berpr<70>fung der Gruppen-Info
|
|||
|
//*
|
|||
|
//**********************************************************************
|
|||
|
GroupCheck()
|
|||
|
{
|
|||
|
string err_text; // Fehlertext
|
|||
|
bool fehlerflag; // Fehlerflag
|
|||
|
string temp;
|
|||
|
int sgbd_saetze; // f<>r Funktionen-Suche in SGBD
|
|||
|
string job_name; // JOBNMAE in SGBD
|
|||
|
int i;
|
|||
|
|
|||
|
fehlerflag=FALSE;
|
|||
|
i=0;
|
|||
|
|
|||
|
GruppenDateiInfo(gruppe, gruppe_ecu, gruppe_origin, gruppe_revision, gruppe_comment);
|
|||
|
|
|||
|
// Vorbelegung der Flags
|
|||
|
fs_lesen_flag = FALSE;
|
|||
|
is_lesen_flag = FALSE;
|
|||
|
speicher_lesen_flag = FALSE;
|
|||
|
is_loeschen_flag = FALSE;
|
|||
|
hs_loeschen_flag = FALSE;
|
|||
|
|
|||
|
INPAapiJob(sgbd,"_JOBS","","");
|
|||
|
|
|||
|
INP1apiResultSets(fehlerflag, sgbd_saetze);
|
|||
|
if (fehlerflag == FALSE)
|
|||
|
{
|
|||
|
INP1apiErrorText(err_text);
|
|||
|
messagebox("Unerwarteter Fehler", // sollte nie kommen
|
|||
|
err_text+". "+CRLF+
|
|||
|
"Das Programm wird abgebrochen!");
|
|||
|
exit();
|
|||
|
}
|
|||
|
i = 1;
|
|||
|
while ( i <= sgbd_saetze)
|
|||
|
{
|
|||
|
INPAapiResultText(job_name,"JOBNAME",i,"");
|
|||
|
if (job_name == "FS_LESEN" ) fs_lesen_flag=TRUE;
|
|||
|
if (job_name == "IS_LESEN" ) is_lesen_flag=TRUE;
|
|||
|
if (job_name == "HS_LESEN" ) hs_lesen_flag=TRUE;
|
|||
|
if (job_name == "IS_LOESCHEN" ) is_loeschen_flag=TRUE;
|
|||
|
if (job_name == "HS_LOESCHEN" ) hs_loeschen_flag=TRUE;
|
|||
|
if (job_name == "SPEICHER_LESEN" ) speicher_lesen_flag=TRUE;
|
|||
|
|
|||
|
if ((fs_lesen_flag == TRUE) &&
|
|||
|
(is_lesen_flag == TRUE) &&
|
|||
|
(hs_lesen_flag == TRUE) &&
|
|||
|
(is_loeschen_flag == TRUE) &&
|
|||
|
(hs_loeschen_flag == TRUE) &&
|
|||
|
(speicher_lesen_flag) == TRUE) i = sgbd_saetze;
|
|||
|
i = i + 1;
|
|||
|
}
|
|||
|
if (speicher_lesen_parameter == "") speicher_lesen_flag = FALSE;
|
|||
|
|
|||
|
if (speicher_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
instr(i, 0, ";"+speicher_lesen_parameter+";", ";LAR;");
|
|||
|
if ( i == -1 ) speicher_lesen_lar_flag = FALSE; else speicher_lesen_lar_flag = TRUE;
|
|||
|
|
|||
|
instr(i, 0, ";"+speicher_lesen_parameter+";", ";FLASH;");
|
|||
|
if ( i == -1 ) speicher_lesen_flash_flag = FALSE; else speicher_lesen_flash_flag = TRUE;
|
|||
|
|
|||
|
instr(i, 0, ";"+speicher_lesen_parameter+";", ";UIFM;");
|
|||
|
if ( i == -1 ) speicher_lesen_uifm_flag = FALSE; else speicher_lesen_uifm_flag = TRUE;
|
|||
|
|
|||
|
instr(i, 0, ";"+speicher_lesen_parameter+";", ";ROMI;");
|
|||
|
if ( i == -1 ) speicher_lesen_romi_flag = FALSE; else speicher_lesen_romi_flag = TRUE;
|
|||
|
|
|||
|
instr(i, 0, ";"+speicher_lesen_parameter+";", ";RAMIS;");
|
|||
|
if ( i == -1 ) speicher_lesen_ramis_flag = FALSE; else speicher_lesen_ramis_flag = TRUE;
|
|||
|
|
|||
|
instr(i, 0, ";"+speicher_lesen_parameter+";", ";RAMIL;");
|
|||
|
if ( i == -1 ) speicher_lesen_ramil_flag = FALSE; else speicher_lesen_ramil_flag = TRUE;
|
|||
|
|
|||
|
instr(i, 0, ";"+speicher_lesen_parameter+";", ";NVRAM;");
|
|||
|
if ( i == -1 ) speicher_lesen_nvram_flag = FALSE; else speicher_lesen_nvram_flag = TRUE;
|
|||
|
|
|||
|
instr(i, 0, ";"+speicher_lesen_parameter+";", ";ROMX;");
|
|||
|
if ( i == -1 ) speicher_lesen_romx_flag = FALSE; else speicher_lesen_romx_flag = TRUE;
|
|||
|
|
|||
|
instr(i, 0, ";"+speicher_lesen_parameter+";", ";RAMXX;");
|
|||
|
if ( i == -1 ) speicher_lesen_ramxx_flag = FALSE; else speicher_lesen_ramxx_flag = TRUE;
|
|||
|
}
|
|||
|
|
|||
|
//IDENT-Typ ermitteln: DS2, BMW Fast oder UDS?
|
|||
|
INP1apiJob(sgbd,"IDENT","","");
|
|||
|
INP1apiResultText(fehlerflag,temp,"ID_DATUM_KW",1,"");//Hat nur DS2
|
|||
|
if ((fehlerflag == TRUE) && (temp != ""))
|
|||
|
{
|
|||
|
ident_typ= 1;//DS2
|
|||
|
}
|
|||
|
else//UDS, BMW Fast
|
|||
|
{
|
|||
|
INP1apiResultText(fehlerflag,temp,"ID_SGBD_INDEX",1,"");
|
|||
|
if ((fehlerflag == TRUE) && (temp != "")) ident_typ= 3; //Hat nur UDS (ISO 14229)
|
|||
|
else ident_typ= 2; //sonst BMW Fast
|
|||
|
}
|
|||
|
}
|
|||
|
// -- EOF --
|
|||
|
// end of :#include "GRPCHECK.SRC"
|
|||
|
// start of :#include "FS_LESEN.SRC"
|
|||
|
//**********************************************************************
|
|||
|
//*
|
|||
|
//* INPA Library-Funktionen FS_LESEN.SRC
|
|||
|
//*
|
|||
|
//* mindestens INPA 5.0.1
|
|||
|
//*
|
|||
|
//**********************************************************************
|
|||
|
//* Gall TI-430
|
|||
|
//**********************************************************************
|
|||
|
//* History:
|
|||
|
//* 04.07.2000 rd V0.03 Ersterstellung
|
|||
|
//* 21.11.2000 rd V0.10 Umweltbedingungen als Zahl oder Text ( 0-n, Hex )
|
|||
|
//* 02.03.2001 rd V0.11 Shadowspeicher umbenannt in Infospeicher
|
|||
|
//* 25.04.2002 rd V1.00 Erweiterung HS_LESEN
|
|||
|
//* 22.10.2002 rd V1.01 Erweiterung FS_LESEN
|
|||
|
//* V1.01 PCODE und PCODE7 Ausgabe neu
|
|||
|
//* V1.01 Fehlerbehandlung verbessert
|
|||
|
//* 19.11.2002 iS V1.02 Fehlerbehandlung F_ORT_TEXT, F_UW_ANZ, F_PCODE
|
|||
|
//* 16.02.2004 rd V2.00 Umstellung auf 32-Bit Version
|
|||
|
//* 30.03.2006 GA V3.00 Erweiterung auf UDS (ISO 14229)
|
|||
|
//* GA V3.00 Fehlerausgaben korrigiert und erweitert
|
|||
|
//* 28.06.2006 GA V3.01 Bei UDS: Ausgabe "F_UW_DATUM_ZEIT" durch "F_UW_ZEIT" ersetzt, da Result entf<74>llt
|
|||
|
//* 19.10.2006 GA V3.02 Bei DS2: wurde nicht angezogen da if-Bedingung nicht korrekt gewesen ist.
|
|||
|
//* GA V3.02 Result: F_UW_ZEIT von Unterprg.: fs_protokoll_uwb in fs_protokoll_uwb_uds verschoben
|
|||
|
//* GA V3.02 Result: F_EREIGNIS_DTC: Text wurde inverse ausgegeben
|
|||
|
//* 07.02.2007 GA V3.03 Result: F_EREIGNIS_DTC: Erkl<6B>render Text, was ein Ereinis DTC ist, war falsch
|
|||
|
//**********************************************************************
|
|||
|
|
|||
|
//**********************************************************************
|
|||
|
//*
|
|||
|
//* Globale Variablen
|
|||
|
//*
|
|||
|
//**********************************************************************
|
|||
|
int _FsMode = 0x7FF; // alles ein
|
|||
|
string _FsFileMode = "w";
|
|||
|
string _PreInfoFile = "";
|
|||
|
string _PostInfoFile = "";
|
|||
|
string _ApiFsJobName = "FS_LESEN";
|
|||
|
|
|||
|
//**********************************************************************
|
|||
|
//*
|
|||
|
//* Deklaration der Funktionen
|
|||
|
//*
|
|||
|
//**********************************************************************
|
|||
|
extern INPAapiFsMode_neu ( in: int FsMode, in: string FsFileMode,
|
|||
|
in: string PreInfoFile, in: string PostInfoFile,
|
|||
|
in: string ApiFsJobName);
|
|||
|
|
|||
|
extern INPAapiFsLesen_neu( in: string ecu, in: string FileName);
|
|||
|
|
|||
|
extern fs_protokoll_ort(in: int nr);
|
|||
|
extern fs_protokoll_ort_uds(in: int nr);
|
|||
|
extern fs_protokoll_PCode(in: int nr);
|
|||
|
extern fs_protokoll_PCode7(in: int nr);
|
|||
|
extern fs_protokoll_SAECode(in: int nr);
|
|||
|
extern fs_protokoll_hfk(in: int nr);
|
|||
|
extern fs_protokoll_hfk_uds(in: int nr);
|
|||
|
extern fs_protokoll_art(in: int nr);
|
|||
|
extern fs_protokoll_art_uds(in: int nr);
|
|||
|
extern fs_protokoll_art_e(in: int nr);
|
|||
|
extern fs_protokoll_uwb(in: int nr);
|
|||
|
extern fs_protokoll_uwb_uds(in: int nr);
|
|||
|
extern fs_protokoll_hex(in: int nr);
|
|||
|
extern fs_protokoll_telantwort(in: int nr);
|
|||
|
|
|||
|
//**********************************************************************
|
|||
|
//*
|
|||
|
//* INPAapiFsMode_neu kompatibel mit INPAapiFsMode
|
|||
|
//*
|
|||
|
//**********************************************************************
|
|||
|
INPAapiFsMode_neu( in: int FsMode,
|
|||
|
in: string FsFileMode,
|
|||
|
in: string PreInfoFile,
|
|||
|
in: string PostInfoFile,
|
|||
|
in: string ApiFsJobName)
|
|||
|
{
|
|||
|
_FsMode = FsMode;
|
|||
|
_FsFileMode = FsFileMode;
|
|||
|
_PreInfoFile = PreInfoFile;
|
|||
|
_PostInfoFile = PostInfoFile;
|
|||
|
_ApiFsJobName = ApiFsJobName;
|
|||
|
|
|||
|
|
|||
|
INPAapiFsMode(_FsMode, _FsFileMode, _PreInfoFile, _PostInfoFile, _ApiFsJobName);
|
|||
|
if (_ApiFsJobName=="") _ApiFsJobName="FS_LESEN";
|
|||
|
}
|
|||
|
|
|||
|
//**********************************************************************
|
|||
|
//*
|
|||
|
//* INPAapiFsLesen_neu kompatibel mit INPAapiFsLesen
|
|||
|
//*
|
|||
|
//**********************************************************************
|
|||
|
INPAapiFsLesen_neu( in: string ecu, in: string FileName)
|
|||
|
{
|
|||
|
string _ecu;
|
|||
|
string _FileName;
|
|||
|
bool rc;
|
|||
|
int i;
|
|||
|
int k;
|
|||
|
int len;
|
|||
|
int x1;
|
|||
|
long xL;
|
|||
|
string temp1;
|
|||
|
string temp2;
|
|||
|
string temp3;
|
|||
|
string temp11;
|
|||
|
string temp12;
|
|||
|
string temp21;
|
|||
|
string temp22;
|
|||
|
int F_VERSION;
|
|||
|
string JOB_STATUS;
|
|||
|
string JOB_MESSAGE;
|
|||
|
string VARIANTE;
|
|||
|
int SETS;
|
|||
|
int UW_SETS;
|
|||
|
string FS_CODE;
|
|||
|
string F_PCODE;
|
|||
|
string F_PCODE7;
|
|||
|
string F1_VERSION;
|
|||
|
int errorcode; // EDIABAS Fehlernummer
|
|||
|
string error_text; // EDIABAS Fehlertext
|
|||
|
string errorcode_text; // EDIABAS Fehlernummer als Text
|
|||
|
|
|||
|
string sgbd_version; // aus INFO auslesen, um bei Fehlern die Version angeben zu k<>nnen
|
|||
|
|
|||
|
_ecu = ecu;
|
|||
|
_FileName = FileName;
|
|||
|
|
|||
|
|
|||
|
//SGBD-Version auslesen
|
|||
|
sgbd_version= "???";
|
|||
|
INPAapiJob(_ecu,"INFO","","");
|
|||
|
INP1apiResultText(rc, sgbd_version, "REVISION", 1, "");
|
|||
|
|
|||
|
INPAapiJob(_ecu, _ApiFsJobName,"","");
|
|||
|
INP1apiResultInt(rc, F_VERSION, "F_VERSION",1 );
|
|||
|
|
|||
|
INP1apiErrorCode(errorcode);
|
|||
|
|
|||
|
//UDS:
|
|||
|
if ((rc == TRUE) && ( F_VERSION == 3 ))
|
|||
|
{
|
|||
|
getdate(temp1);
|
|||
|
gettime(temp2);
|
|||
|
INPAapiResultSets(SETS);
|
|||
|
INPAapiResultText(VARIANTE, "VARIANTE", 0, "");
|
|||
|
INPAapiResultText(JOB_STATUS, "JOB_STATUS", SETS, "");
|
|||
|
fileopen ( _FileName, _FsFileMode);
|
|||
|
|
|||
|
if (_ApiFsJobName == "IS_LESEN")
|
|||
|
{
|
|||
|
filewrite( " I N F O S P E I C H E R L E S E N");
|
|||
|
filewrite( " -----------------------------------");
|
|||
|
}
|
|||
|
else
|
|||
|
if (_ApiFsJobName == "HS_LESEN")
|
|||
|
{
|
|||
|
filewrite( " H I S T O R I E N S P E I C H E R L E S E N");
|
|||
|
filewrite( " ---------------------------------------------");
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
filewrite( " F E H L E R S P E I C H E R L E S E N");
|
|||
|
filewrite( " ---------------------------------------");
|
|||
|
}
|
|||
|
|
|||
|
filewrite("");
|
|||
|
filewrite("Datum : "+temp1+" "+temp2);
|
|||
|
if (_ecu != VARIANTE) filewrite("ECU : "+_ecu);
|
|||
|
filewrite("JobStatus: "+JOB_STATUS);
|
|||
|
filewrite("Variante : "+VARIANTE+".PRG");
|
|||
|
filewrite("Version : "+sgbd_version);
|
|||
|
filewrite( "-------------------------------------------------------------------------------");
|
|||
|
|
|||
|
if ( JOB_STATUS == "OKAY")
|
|||
|
{
|
|||
|
filewrite( "");
|
|||
|
if (SETS == 1)
|
|||
|
filewrite( " >>>>>>>>>> Kein Fehler gefunden <<<<<<<<<<<");
|
|||
|
else
|
|||
|
{
|
|||
|
inttostring(SETS-1,temp1);
|
|||
|
if ((SETS-1) < 10) temp1= " "+temp1;//Formatierung der Fehleranzahl, wenn sie kleiner 10 ist
|
|||
|
filewrite( "ERGEBNIS : "+temp1+" Fehler im Fehlerspeicher!");
|
|||
|
if ((_FsMode & 0x100) == 0)
|
|||
|
{
|
|||
|
i=1;
|
|||
|
while ( i < SETS )
|
|||
|
{
|
|||
|
if (_FsMode != 0)
|
|||
|
filewrite( "-------------------------------------------------------------------------------");
|
|||
|
if ((_FsMode & 0x01) != 0) fs_protokoll_ort_uds(i);
|
|||
|
if ((_FsMode & 0x04) != 0) fs_protokoll_art_uds(i);
|
|||
|
if ((_FsMode & 0x40) != 0) fs_protokoll_hex(i);
|
|||
|
i=i+1;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
// Detail lesen
|
|||
|
i=1;
|
|||
|
StrArrayDelete(f_ort_nr_buffer);
|
|||
|
StrArrayDelete(f_ort_text_buffer);
|
|||
|
|
|||
|
while ( i < SETS )
|
|||
|
{
|
|||
|
INP1apiResultText(rc,temp1, "F_ORT_TEXT", i, "");
|
|||
|
if (rc != TRUE) temp1="??????";
|
|||
|
StrArrayWrite(f_ort_text_buffer,i,temp1);
|
|||
|
|
|||
|
INP1apiResultBinary(rc,"F_HEX_CODE",i);//Fehlerort Nr. bei UDS: 3 Bytes, daher mit long arbeiten. (kein INPAapiResultText(temp1, "F_ORT_NR", i, "");....!) ...ergibt diese L<>sung
|
|||
|
if (rc == TRUE)
|
|||
|
{
|
|||
|
GetBinaryDataString (temp1,len);
|
|||
|
midstr(temp1,temp1,0,6);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
temp1= "??????";
|
|||
|
filewrite("");
|
|||
|
filewrite("### Fehler beim Lesen des Results: F_HEX_CODE ###");
|
|||
|
filewrite("");
|
|||
|
INP1apiErrorCode(errorcode);
|
|||
|
if (errorcode != 0)
|
|||
|
{
|
|||
|
inttostring(errorcode, errorcode_text);
|
|||
|
INP1apiErrorText(error_text);
|
|||
|
error_text= "Ediabas-Fehlermeldung Nr.: "+errorcode_text+": "+ error_text;
|
|||
|
ftextout(error_text ,2,0,0,0);
|
|||
|
}
|
|||
|
}
|
|||
|
StrArrayWrite(f_ort_nr_buffer,i,temp1);
|
|||
|
|
|||
|
i=i+1;
|
|||
|
}
|
|||
|
|
|||
|
i=1;
|
|||
|
while ( i < SETS )
|
|||
|
{
|
|||
|
if (_FsMode != 0)
|
|||
|
filewrite( "-------------------------------------------------------------------------------");
|
|||
|
|
|||
|
StrArrayRead(f_ort_nr_buffer,i,FS_CODE);
|
|||
|
INPAapiJob(_ecu, _ApiFsJobName+"_DETAIL", "0x"+FS_CODE, "");
|
|||
|
INP1apiResultSets(rc, UW_SETS);
|
|||
|
if (rc == TRUE)
|
|||
|
{
|
|||
|
INPAapiResultText(JOB_STATUS, "JOB_STATUS", UW_SETS, "");
|
|||
|
if ( JOB_STATUS == "OKAY")
|
|||
|
{
|
|||
|
if ((_FsMode & 0x01) != 0) fs_protokoll_ort_uds(1);
|
|||
|
if ((_FsMode & 0x200) != 0) fs_protokoll_SAECode(1);//0x200 von BMW Fast f<>r PCode genommen
|
|||
|
if ((_FsMode & 0x20) != 0) fs_protokoll_hfk_uds(1);
|
|||
|
k=1;
|
|||
|
|
|||
|
while ( k < UW_SETS )
|
|||
|
{
|
|||
|
filewrite( "");
|
|||
|
if ( UW_SETS > 2 )
|
|||
|
{
|
|||
|
inttostring(k,temp1);
|
|||
|
filewrite( temp1 + ". Umweltsatz");
|
|||
|
}
|
|||
|
if ((_FsMode & 0x02) != 0) fs_protokoll_uwb_uds(k);
|
|||
|
k=k+1;
|
|||
|
}
|
|||
|
if ((_FsMode & 0x04) != 0) fs_protokoll_art_uds(1);
|
|||
|
if ((_FsMode & 0x04) != 0) fs_protokoll_art_e(1);
|
|||
|
if ((_FsMode & 0x40) != 0) fs_protokoll_hex(1);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if ((_FsMode & 0x01) != 0)
|
|||
|
{
|
|||
|
filewrite( "");
|
|||
|
StrArrayRead(f_ort_text_buffer,i,temp2);
|
|||
|
filewrite("0x"+FS_CODE+" "+temp2);
|
|||
|
}
|
|||
|
INP1apiResultText(rc,JOB_MESSAGE, "JOB_MESSAGE", UW_SETS, "");
|
|||
|
if (rc == TRUE)
|
|||
|
filewrite( _ApiFsJobName+"_DETAIL: JobStatus: "+JOB_STATUS+" --> "+JOB_MESSAGE) ;
|
|||
|
else filewrite( _ApiFsJobName+"_DETAIL: JobStatus: "+JOB_STATUS);
|
|||
|
|
|||
|
fs_protokoll_telantwort(UW_SETS);//Telegrammantwort zur Fehleranalyse mit ausgeben
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if ((_FsMode & 0x01) != 0)
|
|||
|
{
|
|||
|
filewrite( "");
|
|||
|
StrArrayRead(f_ort_text_buffer,i,temp2);
|
|||
|
filewrite("0x"+FS_CODE+" "+temp2);
|
|||
|
}
|
|||
|
INP1apiErrorText(temp1);
|
|||
|
filewrite( _ApiFsJobName+"_DETAIL: "+temp1);
|
|||
|
}
|
|||
|
i=i+1;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
filewrite( "===============================================================================");
|
|||
|
fileclose();
|
|||
|
}
|
|||
|
//BMW FAST:
|
|||
|
else if ((rc == TRUE) && ( F_VERSION == 2 ))
|
|||
|
{
|
|||
|
getdate(temp1);
|
|||
|
gettime(temp2);
|
|||
|
INPAapiResultSets(SETS);
|
|||
|
INPAapiResultText(VARIANTE, "VARIANTE", 0, "");
|
|||
|
INPAapiResultText(JOB_STATUS, "JOB_STATUS", SETS, "");
|
|||
|
fileopen ( _FileName, _FsFileMode);
|
|||
|
|
|||
|
if (_ApiFsJobName == "IS_LESEN")
|
|||
|
{
|
|||
|
filewrite( " I N F O S P E I C H E R L E S E N");
|
|||
|
filewrite( " -----------------------------------");
|
|||
|
}
|
|||
|
else
|
|||
|
if (_ApiFsJobName == "HS_LESEN")
|
|||
|
{
|
|||
|
filewrite( " H I S T O R I E N S P E I C H E R L E S E N");
|
|||
|
filewrite( " ---------------------------------------------");
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
filewrite( " F E H L E R S P E I C H E R L E S E N");
|
|||
|
filewrite( " ---------------------------------------");
|
|||
|
}
|
|||
|
|
|||
|
filewrite("");
|
|||
|
filewrite("Datum : "+temp1+" "+temp2);
|
|||
|
if (_ecu != VARIANTE) filewrite("ECU : "+_ecu);
|
|||
|
filewrite("JobStatus: "+JOB_STATUS);
|
|||
|
filewrite("Variante : "+VARIANTE+".PRG");
|
|||
|
filewrite("Version : "+sgbd_version);
|
|||
|
filewrite( "-------------------------------------------------------------------------------");
|
|||
|
|
|||
|
if ( JOB_STATUS == "OKAY")
|
|||
|
{
|
|||
|
filewrite( "");
|
|||
|
if (SETS == 1)
|
|||
|
filewrite( " >>>>>>>>>> Kein Fehler gefunden <<<<<<<<<<<");
|
|||
|
else
|
|||
|
{
|
|||
|
inttostring(SETS-1,temp1);
|
|||
|
if ((SETS-1) < 10) temp1= " "+temp1;//Formatierung der Fehleranzahl, wenn sie kleiner 10 ist
|
|||
|
filewrite( "ERGEBNIS : "+temp1+" Fehler im Fehlerspeicher!");
|
|||
|
if ((_FsMode & 0x100) == 0)
|
|||
|
{
|
|||
|
i=1;
|
|||
|
while ( i < SETS )
|
|||
|
{
|
|||
|
if (_FsMode != 0)
|
|||
|
filewrite( "-------------------------------------------------------------------------------");
|
|||
|
if ((_FsMode & 0x01) != 0) fs_protokoll_ort(i);
|
|||
|
if ((_FsMode & 0x04) != 0) fs_protokoll_art(i);
|
|||
|
if ((_FsMode & 0x40) != 0) fs_protokoll_hex(i);
|
|||
|
i=i+1;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
// Detail lesen
|
|||
|
i=1;
|
|||
|
StrArrayDelete(f_ort_nr_buffer);
|
|||
|
StrArrayDelete(f_ort_text_buffer);
|
|||
|
|
|||
|
while ( i < SETS )
|
|||
|
{
|
|||
|
INP1apiResultText(rc,temp1, "F_ORT_TEXT", i, "");
|
|||
|
if (rc != TRUE) temp1="????";
|
|||
|
|
|||
|
StrArrayWrite(f_ort_text_buffer,i,temp1);
|
|||
|
INPAapiResultInt(x1, "F_ORT_NR", i);
|
|||
|
inttohexstring(x1, 4, temp1);
|
|||
|
StrArrayWrite(f_ort_nr_buffer,i,temp1);
|
|||
|
i=i+1;
|
|||
|
}
|
|||
|
|
|||
|
i=1;
|
|||
|
while ( i < SETS )
|
|||
|
{
|
|||
|
if (_FsMode != 0)
|
|||
|
filewrite( "-------------------------------------------------------------------------------");
|
|||
|
|
|||
|
StrArrayRead(f_ort_nr_buffer,i,FS_CODE);
|
|||
|
INPAapiJob(_ecu, _ApiFsJobName+"_DETAIL", "0x"+FS_CODE, "");
|
|||
|
INP1apiResultSets(rc, UW_SETS);
|
|||
|
if (rc == TRUE)
|
|||
|
{
|
|||
|
INPAapiResultText(JOB_STATUS, "JOB_STATUS", UW_SETS, "");
|
|||
|
if ( JOB_STATUS == "OKAY")
|
|||
|
{
|
|||
|
if ((_FsMode & 0x01) != 0) fs_protokoll_ort(1);
|
|||
|
if ((_FsMode & 0x200) != 0) fs_protokoll_PCode(1);
|
|||
|
if ((_FsMode & 0x400) != 0) fs_protokoll_PCode7(1);
|
|||
|
if ((_FsMode & 0x20) != 0) fs_protokoll_hfk(1);
|
|||
|
k=1;
|
|||
|
while ( k < UW_SETS )
|
|||
|
{
|
|||
|
filewrite( "");
|
|||
|
if ( UW_SETS > 2 )
|
|||
|
{
|
|||
|
inttostring(k,temp1);
|
|||
|
filewrite( temp1 + ". Umweltsatz");
|
|||
|
}
|
|||
|
if ((_FsMode & 0x02) != 0) fs_protokoll_uwb(k);
|
|||
|
k=k+1;
|
|||
|
}
|
|||
|
if ((_FsMode & 0x04) != 0) fs_protokoll_art(1);
|
|||
|
if ((_FsMode & 0x04) != 0) fs_protokoll_art_e(1);
|
|||
|
if ((_FsMode & 0x40) != 0) fs_protokoll_hex(1);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if ((_FsMode & 0x01) != 0)
|
|||
|
{
|
|||
|
filewrite( "");
|
|||
|
StrArrayRead(f_ort_text_buffer,i,temp2);
|
|||
|
filewrite( "0x"+FS_CODE+" "+temp2);
|
|||
|
}
|
|||
|
INP1apiResultText(rc,JOB_MESSAGE, "JOB_MESSAGE", UW_SETS, "");
|
|||
|
if (rc == TRUE)
|
|||
|
{
|
|||
|
filewrite( _ApiFsJobName+"_DETAIL: JobStatus: "+JOB_STATUS+" --> "+JOB_MESSAGE) ;
|
|||
|
}
|
|||
|
else filewrite( _ApiFsJobName+"_DETAIL: JobStatus: "+JOB_STATUS);
|
|||
|
fs_protokoll_telantwort(UW_SETS);//Telegrammantwort zur Fehleranalyse mit ausgeben
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if ((_FsMode & 0x01) != 0)
|
|||
|
{
|
|||
|
filewrite( "");
|
|||
|
StrArrayRead(f_ort_text_buffer,i,temp2);
|
|||
|
filewrite( "0x"+FS_CODE+" "+temp2);
|
|||
|
}
|
|||
|
INP1apiErrorText(temp1);
|
|||
|
filewrite( _ApiFsJobName+"_DETAIL: "+temp1);
|
|||
|
}
|
|||
|
i=i+1;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
filewrite( "===============================================================================");
|
|||
|
fileclose();
|
|||
|
}
|
|||
|
//DS2
|
|||
|
else if (errorcode == 134)//134=SYS-0014: Result nicht gefunden: 'F_VERSION'
|
|||
|
{
|
|||
|
INPAapiFsLesen( _ecu, _FileName);
|
|||
|
}
|
|||
|
//Fehlerhafter Aufruf
|
|||
|
else
|
|||
|
{
|
|||
|
INPAapiCheckJobStatus("OKAY");//Damit der Bediener die Fehlermeldung best<73>tigen mu<6D>
|
|||
|
getdate(temp1);
|
|||
|
gettime(temp2);
|
|||
|
INP1apiErrorText(temp3);
|
|||
|
fileopen ( _FileName, _FsFileMode);
|
|||
|
|
|||
|
if (_ApiFsJobName == "IS_LESEN")
|
|||
|
{
|
|||
|
filewrite( " I N F O S P E I C H E R L E S E N");
|
|||
|
filewrite( " -----------------------------------");
|
|||
|
}
|
|||
|
else
|
|||
|
if (_ApiFsJobName == "HS_LESEN")
|
|||
|
{
|
|||
|
filewrite( " H I S T O R I E N S P E I C H E R L E S E N");
|
|||
|
filewrite( " ---------------------------------------------");
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
filewrite( " F E H L E R S P E I C H E R L E S E N");
|
|||
|
filewrite( " ---------------------------------------");
|
|||
|
}
|
|||
|
|
|||
|
filewrite( "");
|
|||
|
filewrite( "Datum : "+temp1+" "+temp2);
|
|||
|
filewrite( "ECU : "+_ecu);
|
|||
|
filewrite( "JobStatus: "+JOB_STATUS+"-->"+temp3) ;
|
|||
|
filewrite( "-------------------------------------------------------------------------------");
|
|||
|
fileclose();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//**********************************************************************
|
|||
|
//*
|
|||
|
//* Fehlerprotokollausgabe Fehlerort f<>r DS2 und BMW Fast
|
|||
|
//*
|
|||
|
//**********************************************************************
|
|||
|
fs_protokoll_ort(in: int nr)
|
|||
|
{
|
|||
|
int i;
|
|||
|
int x1;
|
|||
|
bool rc;
|
|||
|
string temp1;
|
|||
|
string temp2;
|
|||
|
|
|||
|
i=nr;
|
|||
|
filewrite( "");
|
|||
|
INP1apiResultInt(rc,x1, "F_ORT_NR", i);
|
|||
|
if (rc == TRUE)
|
|||
|
{
|
|||
|
inttohexstring(x1, 4, temp1);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
temp1="????";
|
|||
|
}
|
|||
|
|
|||
|
INP1apiResultText(rc,temp2, "F_ORT_TEXT", i, "");
|
|||
|
if (rc == TRUE)
|
|||
|
{
|
|||
|
filewrite( "0x"+temp1+" "+temp2);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
filewrite( "0x"+temp1+" "+"????");
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//**********************************************************************
|
|||
|
//*
|
|||
|
//* Fehlerprotokollausgabe Fehlerort f<>r UDS (ISO 14229)
|
|||
|
//*
|
|||
|
//**********************************************************************
|
|||
|
fs_protokoll_ort_uds(in: int nr)
|
|||
|
{
|
|||
|
int i;
|
|||
|
int len;
|
|||
|
bool rc;
|
|||
|
string temp1;
|
|||
|
string temp2;
|
|||
|
|
|||
|
i=nr;
|
|||
|
filewrite( "");
|
|||
|
|
|||
|
INP1apiResultBinary(rc,"F_HEX_CODE",i);//Fehlerort Nr. bei UDS: 3 Bytes, daher mit long arbeiten. (kein INPAapiResultText(temp1, "F_ORT_NR", i, "");....!) ...ergibt diese L<>sung
|
|||
|
if (rc == TRUE)
|
|||
|
{
|
|||
|
if (_ApiFsJobName == "FS_LESEN")
|
|||
|
{
|
|||
|
GetBinaryDataString (temp1,len);
|
|||
|
midstr(temp1,temp1,0,6);
|
|||
|
}
|
|||
|
else//IS_LESEN
|
|||
|
{
|
|||
|
GetBinaryDataString (temp1,len);
|
|||
|
midstr(temp1,temp1,2,6);//Byte 0, Zeichen 0 und 1 sind das severity Byte!
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
temp1= "??????";
|
|||
|
}
|
|||
|
|
|||
|
INP1apiResultText(rc,temp2, "F_ORT_TEXT", i, "");
|
|||
|
if (rc == TRUE)
|
|||
|
{
|
|||
|
filewrite( "0x"+temp1+" "+temp2);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
filewrite( "0x"+temp1+" "+"??????");
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//**********************************************************************
|
|||
|
//*
|
|||
|
//* Fehlerprotokollausgabe PCODE
|
|||
|
//*
|
|||
|
//**********************************************************************
|
|||
|
fs_protokoll_PCode(in: int nr)
|
|||
|
{
|
|||
|
int i;
|
|||
|
int x1;
|
|||
|
bool rc;
|
|||
|
string tempPcodeText;
|
|||
|
string tempPcodeString;
|
|||
|
string tempPcodeHex;
|
|||
|
|
|||
|
i=nr;
|
|||
|
INP1apiResultText(rc,tempPcodeString, "F_PCODE_STRING", i,"");
|
|||
|
if (rc == TRUE)
|
|||
|
{
|
|||
|
INP1apiResultText(rc,tempPcodeText, "F_PCODE_TEXT", i, "");
|
|||
|
if (rc == TRUE)
|
|||
|
{
|
|||
|
INP1apiResultInt(rc,x1, "F_PCODE", i);
|
|||
|
if (rc == TRUE)
|
|||
|
{
|
|||
|
inttohexstring(x1, 4, tempPcodeHex);
|
|||
|
tempPcodeHex= "0x"+tempPcodeHex;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
tempPcodeHex = "????";
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
tempPcodeText = "????";
|
|||
|
}
|
|||
|
|
|||
|
if (tempPcodeString == "??")
|
|||
|
{
|
|||
|
filewrite( "");
|
|||
|
filewrite( tempPcodeHex+" "+tempPcodeText);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if (tempPcodeString != "--")
|
|||
|
{
|
|||
|
filewrite( "");
|
|||
|
filewrite( tempPcodeText);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//**********************************************************************
|
|||
|
//*
|
|||
|
//* Fehlerprotokollausgabe PCODE7
|
|||
|
//*
|
|||
|
//**********************************************************************
|
|||
|
fs_protokoll_PCode7(in: int nr)
|
|||
|
{
|
|||
|
int i;
|
|||
|
int x1;
|
|||
|
bool rc;
|
|||
|
string tempPcode7Text;
|
|||
|
string tempPcode7String;
|
|||
|
string tempPcode7Hex;
|
|||
|
|
|||
|
i=nr;
|
|||
|
INP1apiResultText(rc,tempPcode7String, "F_PCODE7_STRING", i,"");
|
|||
|
if (rc == TRUE)
|
|||
|
{
|
|||
|
INP1apiResultText(rc,tempPcode7Text, "F_PCODE7_TEXT", i, "");
|
|||
|
if (rc == TRUE)
|
|||
|
{
|
|||
|
INP1apiResultInt(rc,x1, "F_PCODE7", i);
|
|||
|
if (rc == TRUE)
|
|||
|
{
|
|||
|
inttohexstring(x1, 4, tempPcode7Hex);
|
|||
|
tempPcode7Hex= "0x"+tempPcode7Hex;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
tempPcode7Hex = "????";
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
tempPcode7Text = "????";
|
|||
|
}
|
|||
|
|
|||
|
if (tempPcode7String == "??")
|
|||
|
{
|
|||
|
filewrite( "");
|
|||
|
filewrite( tempPcode7Hex+" "+tempPcode7Text);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if (tempPcode7String != "--")
|
|||
|
{
|
|||
|
filewrite( "");
|
|||
|
filewrite( tempPcode7Text);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//**********************************************************************
|
|||
|
//*
|
|||
|
//* Fehlerprotokollausgabe SAE Code f<>r UDS
|
|||
|
//*
|
|||
|
//**********************************************************************
|
|||
|
fs_protokoll_SAECode(in: int nr)
|
|||
|
{
|
|||
|
int i;
|
|||
|
int x1;
|
|||
|
bool rc;
|
|||
|
string tempSAECodeText;
|
|||
|
string tempSAECodeString;
|
|||
|
string tempSAECodeHex;
|
|||
|
|
|||
|
i=nr;
|
|||
|
INP1apiResultText(rc,tempSAECodeString, "F_SAE_CODE_STRING", i,"");
|
|||
|
if (rc == TRUE)
|
|||
|
{
|
|||
|
INP1apiResultText(rc,tempSAECodeText, "F_SAE_CODE_TEXT", i, "");
|
|||
|
if (rc == TRUE)
|
|||
|
{
|
|||
|
INP1apiResultInt(rc,x1, "F_SAE_CODE", i);
|
|||
|
if (rc == TRUE)
|
|||
|
{
|
|||
|
inttohexstring(x1, 4, tempSAECodeHex);
|
|||
|
tempSAECodeHex= "0x"+tempSAECodeHex;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
tempSAECodeHex = "????";
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
tempSAECodeText = "????";
|
|||
|
}
|
|||
|
|
|||
|
if (tempSAECodeString == "??")
|
|||
|
{
|
|||
|
filewrite( "");
|
|||
|
filewrite( tempSAECodeHex+" "+tempSAECodeText);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if (tempSAECodeString != "--")
|
|||
|
{
|
|||
|
filewrite( "");
|
|||
|
filewrite( tempSAECodeText);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//**********************************************************************
|
|||
|
//*
|
|||
|
//* Fehlerprotokollausgabe Fehlerh<72>ufigkeit
|
|||
|
//*
|
|||
|
//**********************************************************************
|
|||
|
fs_protokoll_hfk(in: int nr)
|
|||
|
{
|
|||
|
int i;
|
|||
|
bool rc;
|
|||
|
string temp1;
|
|||
|
int f_hfk;
|
|||
|
int f_lz;
|
|||
|
|
|||
|
i=nr;
|
|||
|
filewrite( "");
|
|||
|
|
|||
|
INP1apiResultInt(rc,f_hfk,"F_HFK",i);
|
|||
|
if (rc == FALSE) temp1 ="????";
|
|||
|
if (temp1 !="-1")
|
|||
|
{
|
|||
|
inttostring(f_hfk,temp1);
|
|||
|
if (f_hfk < 10) temp1= " "+temp1;//Formatierung der Nr der Fehlerh<72>ufigkeit, wenn sie kleiner 10 ist
|
|||
|
filewrite( "Fehlerh<72>ufigkeit: "+ temp1);
|
|||
|
}
|
|||
|
|
|||
|
INP1apiResultInt(rc,f_lz,"F_LZ",i);
|
|||
|
if (rc == FALSE) temp1 ="????";
|
|||
|
if (temp1 !="-1")
|
|||
|
{
|
|||
|
inttostring(f_lz,temp1);
|
|||
|
if (f_lz < 10) temp1= " "+temp1;//Formatierung der Nr des Logistikz<6B>hlers, wenn sie kleiner 10 ist
|
|||
|
filewrite( "Logistikz<6B>hler : "+ temp1);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//**********************************************************************
|
|||
|
//*
|
|||
|
//* Fehlerprotokollausgabe Fehlerh<72>ufigkeit f<>r UDS
|
|||
|
//*
|
|||
|
//**********************************************************************
|
|||
|
fs_protokoll_hfk_uds(in: int nr)
|
|||
|
{
|
|||
|
int i;
|
|||
|
int x1;
|
|||
|
bool rc;
|
|||
|
string temp1;
|
|||
|
string temp2;
|
|||
|
|
|||
|
i=nr;
|
|||
|
filewrite( "");
|
|||
|
//FS <20>berlauf
|
|||
|
INP1apiResultInt(rc,x1, "F_UEBERLAUF", i);
|
|||
|
if ((rc == TRUE) && (x1==1))
|
|||
|
{
|
|||
|
filewrite( "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
|
|||
|
if (_ApiFsJobName == "IS_LESEN")
|
|||
|
filewrite("++++++++++++++++++++++++ Infospeicher ist <20>bergelaufen! +++++++++++++++++++++++");
|
|||
|
else
|
|||
|
filewrite("+++++++++++++++++++++++ Fehlerspeicher ist <20>bergelaufen! ++++++++++++++++++++++");
|
|||
|
filewrite( "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
|
|||
|
filewrite( "");
|
|||
|
}
|
|||
|
|
|||
|
//Fehlerh<72>ufigkeit
|
|||
|
INP1apiResultInt(rc,x1, "F_HFK", i);
|
|||
|
if (rc == FALSE)
|
|||
|
{
|
|||
|
temp1 ="????";
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if (x1 == -1)
|
|||
|
{
|
|||
|
temp1= "wird nicht unterst<73>tzt";
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
inttostring(x1,temp1);
|
|||
|
if (x1 < 10) temp1= " "+temp1;//Formatierung der Nr der Fehlerh<72>ufigkeit, wenn sie kleiner 10 ist
|
|||
|
}
|
|||
|
}
|
|||
|
filewrite( "Fehlerh<72>ufigkeit: "+ temp1);
|
|||
|
|
|||
|
//Heilungsz<73>hler
|
|||
|
INP1apiResultInt(rc,x1, "F_HLZ", i);
|
|||
|
if (rc == FALSE)
|
|||
|
{
|
|||
|
temp1 ="????";
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if (x1 == -1)
|
|||
|
{
|
|||
|
temp1= "wird nicht unterst<73>tzt";
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
inttostring(x1,temp1);
|
|||
|
if (x1 < 10) temp1= " "+temp1;//Formatierung des Heilungsz<73>hlers, wenn er kleiner 10 ist
|
|||
|
}
|
|||
|
}
|
|||
|
filewrite( "Heilungsz<73>hler : "+ temp1);
|
|||
|
}
|
|||
|
|
|||
|
//**********************************************************************
|
|||
|
//*
|
|||
|
//* Fehlerprotokollausgabe Fehlerarten
|
|||
|
//*
|
|||
|
//**********************************************************************
|
|||
|
fs_protokoll_art(in: int nr)
|
|||
|
{
|
|||
|
int i;
|
|||
|
bool rc;
|
|||
|
string temp1;
|
|||
|
|
|||
|
i=nr;
|
|||
|
filewrite( "");
|
|||
|
INP1apiResultText(rc,temp1, "F_SYMPTOM_TEXT", i, "");
|
|||
|
if (rc == FALSE) temp1 ="????";
|
|||
|
if (temp1 !="--") filewrite( " "+ temp1);
|
|||
|
INP1apiResultText(rc,temp1, "F_READY_TEXT", i, "");
|
|||
|
if (rc == FALSE) temp1 ="????";
|
|||
|
if (temp1 !="--") filewrite( " "+ temp1);
|
|||
|
INP1apiResultText(rc,temp1, "F_VORHANDEN_TEXT", i, "");
|
|||
|
if (rc == FALSE) temp1 ="????";
|
|||
|
if (temp1 !="--") filewrite( " "+ temp1);
|
|||
|
INP1apiResultText(rc,temp1, "F_WARNUNG_TEXT", i, "");
|
|||
|
if (rc == FALSE) temp1 ="????";
|
|||
|
if (temp1 !="--") filewrite( " "+ temp1);
|
|||
|
}
|
|||
|
|
|||
|
//**********************************************************************
|
|||
|
//*
|
|||
|
//* Fehlerprotokollausgabe erweiterte Fehlerarten
|
|||
|
//*
|
|||
|
//**********************************************************************
|
|||
|
fs_protokoll_art_e(in: int nr)
|
|||
|
{
|
|||
|
int i;
|
|||
|
int k;
|
|||
|
int F_ART_ANZ;
|
|||
|
bool rc;
|
|||
|
string temp1;
|
|||
|
string temp2;
|
|||
|
|
|||
|
i=nr;
|
|||
|
INP1apiResultInt(rc,F_ART_ANZ, "F_ART_ANZ", i);
|
|||
|
if (rc == TRUE)
|
|||
|
{
|
|||
|
if ( F_ART_ANZ > 0 )
|
|||
|
{
|
|||
|
k=0;
|
|||
|
while ( k < F_ART_ANZ )
|
|||
|
{
|
|||
|
k = k + 1;
|
|||
|
inttostring(k,temp2);
|
|||
|
INP1apiResultText(rc,temp1, "F_ART"+temp2+"_TEXT", i, "");
|
|||
|
if (rc == FALSE) temp1 ="????";
|
|||
|
if (temp1 !="--") filewrite( " "+ temp1);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//**********************************************************************
|
|||
|
//*
|
|||
|
//* Fehlerprotokollausgabe Fehlerarten f<>r UDS
|
|||
|
//*
|
|||
|
//**********************************************************************
|
|||
|
fs_protokoll_art_uds(in: int nr)
|
|||
|
{//Symptome entfallen bei UDS!
|
|||
|
int i;
|
|||
|
int x1;
|
|||
|
bool rc;
|
|||
|
string temp1;
|
|||
|
|
|||
|
i=nr;
|
|||
|
filewrite( "");
|
|||
|
INP1apiResultText(rc,temp1, "F_READY_TEXT", i, "");
|
|||
|
if (rc == FALSE) temp1 ="????";
|
|||
|
if (temp1 !="--") filewrite( " "+ temp1);
|
|||
|
INP1apiResultText(rc,temp1, "F_VORHANDEN_TEXT", i, "");
|
|||
|
if (rc == FALSE) temp1 ="????";
|
|||
|
if (temp1 !="--") filewrite( " "+ temp1);
|
|||
|
INP1apiResultText(rc,temp1, "F_WARNUNG_TEXT", i, "");
|
|||
|
if (rc == FALSE) temp1 ="????";
|
|||
|
if (temp1 !="--") filewrite( " "+ temp1);
|
|||
|
//Neu bei UDS:
|
|||
|
INP1apiResultInt(rc,x1, "F_EREIGNIS_DTC", i);
|
|||
|
if (rc == TRUE)
|
|||
|
{
|
|||
|
if (x1==0)
|
|||
|
{
|
|||
|
filewrite(" Dies ist kein Ereignis DTC. Das SG ist f<>r den Fehlerspeicheintrag (DTC) verantwortlich.");
|
|||
|
}
|
|||
|
else if (x1==1)
|
|||
|
{
|
|||
|
filewrite(" Dies ein Ereignis DTC. Das SG ist somit nicht f<>r den Fehlereintrag (DTC) verantwortlich.");
|
|||
|
filewrite(" Z.B. falsche oder fehlende Netzwerkinformationen.");
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
filewrite(" Fehler in SGBD! In Tabelle FOrtTexte, Spalte EREIGNIS_DTC mu<6D> 0 oder 1 stehen!");
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//**********************************************************************
|
|||
|
//*
|
|||
|
//* Fehlerprotokollausgabe Umweltbedingungen
|
|||
|
//*
|
|||
|
//**********************************************************************
|
|||
|
fs_protokoll_uwb(in: int nr)
|
|||
|
{
|
|||
|
int i;
|
|||
|
int k;
|
|||
|
int len;
|
|||
|
int F_UW_ANZ;
|
|||
|
bool rc;
|
|||
|
string temp1;
|
|||
|
string temp2;
|
|||
|
string temp3;
|
|||
|
real realval;
|
|||
|
int pos;
|
|||
|
|
|||
|
i=nr;
|
|||
|
/* INP1apiResultText(rc,temp1, "F_UW_ZEIT", i, "10T");
|
|||
|
if (rc == FALSE)
|
|||
|
{
|
|||
|
temp1=" ????";
|
|||
|
}
|
|||
|
filewrite( " Absolute Zeit " + temp1+ " s");
|
|||
|
*/
|
|||
|
INP1apiResultText(rc,temp1, "F_UW_KM", i, "8L");
|
|||
|
if (rc == FALSE) temp1=" ????";
|
|||
|
if ((temp1 == "524280") && (ident_typ != 3)) temp1 = "-1";//Fehler<65>berlauf f<>r DS2 und BMW FAST, UDS liefert es von alleine
|
|||
|
|
|||
|
temp2 = "Kilometerstand ";
|
|||
|
filewrite( " " + temp2 + temp1 + " km");
|
|||
|
|
|||
|
|
|||
|
INP1apiResultInt(rc,F_UW_ANZ, "F_UW_ANZ", i);
|
|||
|
if (rc == TRUE)
|
|||
|
{
|
|||
|
if ( F_UW_ANZ > 0 )
|
|||
|
{
|
|||
|
k=0;
|
|||
|
while ( k < F_UW_ANZ )
|
|||
|
{
|
|||
|
k = k + 1;
|
|||
|
inttostring(k,temp2);
|
|||
|
|
|||
|
INP1apiResultText(rc,temp3, "F_UW"+temp2+"_EINH", i, "");
|
|||
|
if (rc == TRUE)
|
|||
|
{
|
|||
|
AnsiUpper(temp3,temp3);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
temp3 = "????";
|
|||
|
}
|
|||
|
if ((temp3 == "0-N") || (temp3 == "HEX"))
|
|||
|
{
|
|||
|
INP1apiResultText(rc,temp1, "F_UW"+temp2+"_TEXT", i, "-20T");
|
|||
|
if (rc == FALSE) temp1="???? ";
|
|||
|
if (temp1 !="-- ") //"--" + 18 Zeichen
|
|||
|
|
|||
|
{
|
|||
|
if ((_FsMode & 0x08) != 0)
|
|||
|
{
|
|||
|
INP1apiResultText(rc,temp3, "F_UW"+temp2+"_WERT", i, "28T");
|
|||
|
if (rc == FALSE) temp3="???? ";
|
|||
|
temp1 = temp1 + " " + temp3;
|
|||
|
}
|
|||
|
if ((_FsMode & 0x10) != 0)
|
|||
|
{
|
|||
|
INP1apiResultText(rc,temp3, "F_UW"+temp2+"_EINH", i, "");
|
|||
|
if (rc == FALSE) temp3="????";
|
|||
|
temp1 = temp1 + " " + temp3;
|
|||
|
}
|
|||
|
filewrite( " "+ temp1);
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
INP1apiResultText(rc,temp1, "F_UW"+temp2+"_TEXT", i, "-40T");
|
|||
|
if (rc == FALSE) temp1="???? ";
|
|||
|
if (temp1 !="-- ")
|
|||
|
{
|
|||
|
if ((_FsMode & 0x08) != 0)
|
|||
|
{
|
|||
|
INP1apiResultText(rc,temp3, "F_UW"+temp2+"_WERT", i, "8.2R");
|
|||
|
if (rc == FALSE) temp3=" ???? ";
|
|||
|
temp1 = temp1 + " " + temp3;
|
|||
|
}
|
|||
|
if ((_FsMode & 0x10) != 0)
|
|||
|
{
|
|||
|
INP1apiResultText(rc,temp3, "F_UW"+temp2+"_EINH", i, "");
|
|||
|
if (rc == FALSE) temp3="????";
|
|||
|
temp1 = temp1 + " " + temp3;
|
|||
|
}
|
|||
|
filewrite( " "+ temp1);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//**********************************************************************
|
|||
|
//*
|
|||
|
//* Fehlerprotokollausgabe Umweltbedingungen
|
|||
|
//*
|
|||
|
//**********************************************************************
|
|||
|
fs_protokoll_uwb_uds(in: int nr)
|
|||
|
{
|
|||
|
int i;
|
|||
|
// int k;
|
|||
|
// int len;
|
|||
|
// int F_UW_ANZ;
|
|||
|
bool rc;
|
|||
|
string temp1;
|
|||
|
// string temp2;
|
|||
|
// string temp3;
|
|||
|
// real realval;
|
|||
|
// int pos;
|
|||
|
|
|||
|
i=nr;
|
|||
|
INP1apiResultText(rc,temp1, "F_UW_ZEIT", i, "10T");
|
|||
|
if (rc == FALSE)
|
|||
|
{
|
|||
|
temp1=" ????";
|
|||
|
}
|
|||
|
filewrite( " Absolute Zeit " + temp1+ " s");
|
|||
|
|
|||
|
fs_protokoll_uwb(i);
|
|||
|
}
|
|||
|
|
|||
|
//**********************************************************************
|
|||
|
//*
|
|||
|
//* Fehlerprotokollausgabe Hexcode
|
|||
|
//*
|
|||
|
//**********************************************************************
|
|||
|
fs_protokoll_hex(in: int nr)
|
|||
|
{
|
|||
|
string nl;
|
|||
|
int i;
|
|||
|
int x1;
|
|||
|
int x2;
|
|||
|
int x3;
|
|||
|
bool rc;
|
|||
|
string temp1;
|
|||
|
string temp2;
|
|||
|
string temp3;
|
|||
|
|
|||
|
chr(10,nl);
|
|||
|
i=nr;
|
|||
|
filewrite( "");
|
|||
|
INP1apiResultBinary(rc,"F_HEX_CODE", i);
|
|||
|
if (rc == TRUE)
|
|||
|
{
|
|||
|
GetBinaryDataString (temp1, x1);
|
|||
|
x2 = 0;
|
|||
|
x3 = 0;
|
|||
|
temp2="";
|
|||
|
while ( x2 < x1 )
|
|||
|
{
|
|||
|
midstr(temp3, temp1, x2, 2);
|
|||
|
temp2 = temp2 + temp3;
|
|||
|
x2 = x2 + 2;
|
|||
|
x3 = x3 + 1;
|
|||
|
if ( x2 < x1 )
|
|||
|
{
|
|||
|
if ( x3 < 16 )//Leerzeichen zwischen den Bytes
|
|||
|
{
|
|||
|
if ( x3 == 8 )
|
|||
|
temp2 = temp2 + " ";//Nach 8 Bytes zwei Leerz. dann wieder 8 Bytes schreiben
|
|||
|
else temp2 = temp2 + " ";
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
x3 = 0;
|
|||
|
temp2 = temp2 + nl + " ";
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
temp2 = "????";
|
|||
|
}
|
|||
|
filewrite( "Fehlercode: "+temp2);
|
|||
|
}
|
|||
|
|
|||
|
//**********************************************************************
|
|||
|
//*
|
|||
|
//* Fehlerprotokollausgabe Telegrammantwort(en)
|
|||
|
//* Wird nur bei Fehlerhaften FS_LESEN_DETAIL ausgegeben
|
|||
|
//*
|
|||
|
//**********************************************************************
|
|||
|
fs_protokoll_telantwort(in: int nr)
|
|||
|
{
|
|||
|
string nl;
|
|||
|
int i;
|
|||
|
int x1;
|
|||
|
int x2;
|
|||
|
int x3;
|
|||
|
bool rc;
|
|||
|
string temp1;
|
|||
|
string temp2;
|
|||
|
string temp3;
|
|||
|
string temp4;
|
|||
|
string temp5;
|
|||
|
|
|||
|
chr(10,nl);
|
|||
|
i=nr;
|
|||
|
filewrite( "");
|
|||
|
|
|||
|
if (ident_typ == 3)//3=UDS (ISO 14229)
|
|||
|
{
|
|||
|
if (_ApiFsJobName == "FS_LESEN")
|
|||
|
INP1apiResultBinary(rc,"_RESPONSE_SNAPSHOT", i);
|
|||
|
else INP1apiResultBinary(rc,"_RESPONSE_2000", i);//IS_LESEN
|
|||
|
}
|
|||
|
else//1=DS2, 2=BMW Fast
|
|||
|
{
|
|||
|
INP1apiResultBinary(rc,"_TEL_ANTWORT", i);
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
if (rc == TRUE)
|
|||
|
{
|
|||
|
GetBinaryDataString (temp1, x1);
|
|||
|
x2 = 0;
|
|||
|
x3 = 0;
|
|||
|
temp2="";
|
|||
|
while ( x2 < x1 )
|
|||
|
{
|
|||
|
midstr(temp3, temp1, x2, 2);
|
|||
|
temp2 = temp2 + temp3;
|
|||
|
x2 = x2 + 2;
|
|||
|
x3 = x3 + 1;
|
|||
|
if ( x2 < x1 )
|
|||
|
{
|
|||
|
if ( x3 < 16 )//Leerzeichen zwischen den Bytes
|
|||
|
{
|
|||
|
if ( x3 == 8 )
|
|||
|
temp2 = temp2 + " ";//Nach 8 Bytes zwei Leerz. dann wieder 8 Bytes schreiben
|
|||
|
else temp2 = temp2 + " ";
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
x3 = 0;
|
|||
|
temp2 = temp2 + nl + " ";
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
temp2 = "????--> Zur Analyse IFH-Trace benutzen!";
|
|||
|
}
|
|||
|
|
|||
|
//2. Telegramm nur f<>r UDS ausgeben
|
|||
|
if (ident_typ == 3)//3=UDS (ISO 14229)
|
|||
|
{
|
|||
|
if (_ApiFsJobName == "FS_LESEN")
|
|||
|
INP1apiResultBinary(rc,"_RESPONSE_EXTENDED_DATA", i);
|
|||
|
else INP1apiResultBinary(rc,"_RESPONSE_200X", i);//IS_LESEN
|
|||
|
|
|||
|
if (rc == TRUE)
|
|||
|
{
|
|||
|
GetBinaryDataString (temp1, x1);
|
|||
|
x2 = 0;
|
|||
|
x3 = 0;
|
|||
|
temp4="";
|
|||
|
while ( x2 < x1 )
|
|||
|
{
|
|||
|
midstr(temp3, temp1, x2, 2);
|
|||
|
temp4 = temp4 + temp3;
|
|||
|
x2 = x2 + 2;
|
|||
|
x3 = x3 + 1;
|
|||
|
if ( x2 < x1 )
|
|||
|
{
|
|||
|
if ( x3 < 16 )//Leerzeichen zwischen den Bytes
|
|||
|
{
|
|||
|
if ( x3 == 8 )
|
|||
|
temp4 = temp4 + " ";//Nach 8 Bytes zwei Leerz. dann wieder 8 Bytes schreiben
|
|||
|
else temp4 = temp4 + " ";
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
x3 = 0;
|
|||
|
temp4 = temp4 + nl + " ";
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
temp4 = "????--> Zur Analyse IFH-Trace benutzen!";
|
|||
|
}
|
|||
|
|
|||
|
filewrite("Telegramm-Antwort ab Service Identifier zur Analyse");
|
|||
|
if (_ApiFsJobName == "FS_LESEN")
|
|||
|
{
|
|||
|
filewrite("Data : "+temp2);
|
|||
|
filewrite("Snapshot : "+temp4);
|
|||
|
}
|
|||
|
else//IS_LESEN
|
|||
|
{
|
|||
|
filewrite("2000 : "+temp2);
|
|||
|
filewrite("200X : "+temp4);
|
|||
|
}
|
|||
|
}
|
|||
|
else//DS2, BMW Fast
|
|||
|
{
|
|||
|
filewrite("Telegramm-");
|
|||
|
filewrite("Antwort : "+temp2);
|
|||
|
}
|
|||
|
}
|
|||
|
// -- EOF --
|
|||
|
// end of :#include "FS_LESEN.SRC"
|
|||
|
// start of :#include "INITEXIT.SRC"
|
|||
|
//**********************************************************************
|
|||
|
//*
|
|||
|
//* INPA Library-Funktionen INITEXIT.SRC
|
|||
|
//*
|
|||
|
//* mindestens INPA 5.0.1
|
|||
|
//*
|
|||
|
//**********************************************************************
|
|||
|
//* Gall TI-430
|
|||
|
//**********************************************************************
|
|||
|
//* History:
|
|||
|
//* 04.07.2000 rd V0.03 Ersterstellung
|
|||
|
//* 25.04.2002 rd V1.00 Freigabe
|
|||
|
//* 24.09.2002 rd V1.01 Scriptinit verlagert
|
|||
|
//* 12.03.2003 iS V1.01 Anpassung SgbdInpaCheck()GroupCheck();
|
|||
|
//* 16.02.2004 rd V2.00 Umstellung auf 32-Bit Version
|
|||
|
//* 30.03.2006 GA V3.00 Erweiterung auf UDS (ISO 14229)
|
|||
|
//* GA V3.00 INPA.INI, [EXTRA], SRIPTS auslesen, ob "deleteread" gesetzt,
|
|||
|
//* GA V3.00 um nach FS- IS-, HS-L<>schen automatisch wieder zu lesen.
|
|||
|
//**********************************************************************
|
|||
|
|
|||
|
// **************************
|
|||
|
// *** inpainit, inpaexit ***
|
|||
|
// **************************
|
|||
|
inpainit()
|
|||
|
{
|
|||
|
bool rc;
|
|||
|
string temp;
|
|||
|
int i;
|
|||
|
|
|||
|
INPAapiInit();
|
|||
|
chrinit();
|
|||
|
|
|||
|
// Handle f<>r FS_LESEN
|
|||
|
StrArrayCreate(rc,f_ort_nr_buffer);
|
|||
|
if (rc == FALSE)
|
|||
|
{
|
|||
|
messagebox("Unerwarteter Fehler", // sollte nie kommen
|
|||
|
"StrArrayCreate(rc,f_ort_nr_buffer). "+CRLF+
|
|||
|
"Das Programm wird abgebrochen!");
|
|||
|
exit();
|
|||
|
}
|
|||
|
|
|||
|
StrArrayCreate(rc,f_ort_text_buffer);
|
|||
|
if (rc == FALSE)
|
|||
|
{
|
|||
|
messagebox("Unerwarteter Fehler", // sollte nie kommen
|
|||
|
"StrArrayCreate(rc,f_ort_text_buffer). "+CRLF+
|
|||
|
"Das Programm wird abgebrochen!");
|
|||
|
exit();
|
|||
|
}
|
|||
|
|
|||
|
SgbdInpaCheck();
|
|||
|
GroupCheck();
|
|||
|
setmenu(m_main);
|
|||
|
setscreen(s_main,TRUE);
|
|||
|
|
|||
|
//INPA.INI einlesen,
|
|||
|
//um nach FS- IS-, HS-L<>schen automatisch wieder zu lesen.
|
|||
|
//hinter "SCRIPTS" mu<6D> DeleteRead stehen, um die Funktion freizuschalten
|
|||
|
ExtraScript("DeleteRead", deleteread_flag);
|
|||
|
|
|||
|
//m FS,IS,HS zu speichern
|
|||
|
ExtraScript("SaveAs", fs_lesen_save_as_flag);
|
|||
|
is_lesen_save_as_flag=fs_lesen_save_as_flag;
|
|||
|
hs_lesen_save_as_flag=fs_lesen_save_as_flag;
|
|||
|
|
|||
|
//INPA.INI-Einstellung, falls Funktionen gew<65>nscht:
|
|||
|
//[EXTRA]
|
|||
|
//SCRIPTS = DeleteRead,SaveAs
|
|||
|
//Wichtig: Nach dem Komma kein Leerzeichen benutzen!
|
|||
|
|
|||
|
ScriptInit();
|
|||
|
}
|
|||
|
|
|||
|
inpaexit()
|
|||
|
{
|
|||
|
INPAapiEnd();
|
|||
|
|
|||
|
// Handle f<>r FS_LESEN
|
|||
|
StrArrayDestroy(f_ort_nr_buffer);
|
|||
|
StrArrayDestroy(f_ort_text_buffer);
|
|||
|
}
|
|||
|
|
|||
|
// -- EOF --
|
|||
|
// end of :#include "INITEXIT.SRC"
|
|||
|
|
|||
|
// **************************
|
|||
|
// *** Hauptmen<65> ***
|
|||
|
// **************************
|
|||
|
MENU m_main()
|
|||
|
{
|
|||
|
INIT {
|
|||
|
setmenutitle("Hauptmen<65>");
|
|||
|
|
|||
|
if ((ident_typ == 1)||(ident_typ == 2)) //DS2 oder BMW FAST
|
|||
|
{
|
|||
|
setitem(2, "Ident", TRUE);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
setitem(2, "SVK", TRUE);//ISO 14229
|
|||
|
}
|
|||
|
|
|||
|
if ((fs_lesen_flag == TRUE) ||
|
|||
|
(is_lesen_flag == TRUE) ||
|
|||
|
(hs_lesen_flag == TRUE))
|
|||
|
{
|
|||
|
setitem( 4 , "Fehler" , TRUE);
|
|||
|
}
|
|||
|
|
|||
|
if (m_status_flag == TRUE)
|
|||
|
{
|
|||
|
setitem( 5 , "Status" , TRUE);
|
|||
|
}
|
|||
|
|
|||
|
if (m_steuern_flag == TRUE)
|
|||
|
{
|
|||
|
setitem( 6 , "Steuern" , TRUE);
|
|||
|
}
|
|||
|
|
|||
|
if (speicher_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
setitem( 7 , "Speicher" , TRUE);
|
|||
|
}
|
|||
|
}
|
|||
|
ITEM( 1 ,"Info") {
|
|||
|
userboxclose(1);
|
|||
|
setscreen(s_info,TRUE);
|
|||
|
}
|
|||
|
ITEM( 2 ,"Ident") {
|
|||
|
userboxclose(1);
|
|||
|
if (ident_typ == 1)
|
|||
|
setscreen(s_ident_ds2,TRUE);
|
|||
|
else if (ident_typ == 2)
|
|||
|
setscreen(s_ident,TRUE);
|
|||
|
else setscreen(s_svk_lesen,TRUE);
|
|||
|
}
|
|||
|
ITEM( 3 ,"") {
|
|||
|
userboxclose(1);
|
|||
|
setscreen(s_main,TRUE);
|
|||
|
}
|
|||
|
ITEM( 4 ,"") {
|
|||
|
userboxclose(1);
|
|||
|
if ((fs_lesen_flag == TRUE) ||
|
|||
|
(is_lesen_flag == TRUE) ||
|
|||
|
(hs_lesen_flag == TRUE))
|
|||
|
{
|
|||
|
setscreen( s_fehler ,TRUE);
|
|||
|
setmenu(m_fehler);
|
|||
|
}
|
|||
|
else
|
|||
|
setscreen( s_main ,TRUE);
|
|||
|
}
|
|||
|
ITEM( 5 ,"") {
|
|||
|
userboxclose(1);
|
|||
|
if (m_status_flag == TRUE)
|
|||
|
{
|
|||
|
setscreen(s_status,TRUE);
|
|||
|
setmenu(m_status);
|
|||
|
}
|
|||
|
else
|
|||
|
setscreen( s_main ,TRUE);
|
|||
|
}
|
|||
|
ITEM( 6 ,"") {
|
|||
|
userboxclose(1);
|
|||
|
if (m_steuern_flag == TRUE)
|
|||
|
{
|
|||
|
setscreen(s_steuern,TRUE);
|
|||
|
setmenu(m_steuern);
|
|||
|
}
|
|||
|
else
|
|||
|
setscreen( s_main ,TRUE);
|
|||
|
}
|
|||
|
ITEM( 7 ,"") {
|
|||
|
userboxclose(1);
|
|||
|
if (speicher_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
setscreen(s_speicher,TRUE);
|
|||
|
setmenu(m_speicher);
|
|||
|
}
|
|||
|
else
|
|||
|
setscreen( s_main ,TRUE);
|
|||
|
}
|
|||
|
ITEM( 8 ,"Auswahl") {
|
|||
|
start();
|
|||
|
select(TRUE);
|
|||
|
}
|
|||
|
ITEM(18 ,"Gesamt") {
|
|||
|
start();
|
|||
|
deselect();
|
|||
|
}
|
|||
|
ITEM( 9 ,"Druck") {
|
|||
|
printscreen();
|
|||
|
}
|
|||
|
ITEM( 10 ,"Ende") {
|
|||
|
exit();
|
|||
|
}
|
|||
|
ITEM( 11, "KVP") {
|
|||
|
setscreen(s_info,TRUE);
|
|||
|
callwin( "kvp_edit "+titel+";"+version+";"+sgbd+": "+sgbd_ecu+";"+sgbd_revision);
|
|||
|
}
|
|||
|
ITEM( 12 ,"") {
|
|||
|
setscreen( s_main ,TRUE);
|
|||
|
}
|
|||
|
ITEM( 13 ,"") {
|
|||
|
setscreen( s_main ,TRUE);
|
|||
|
}
|
|||
|
ITEM( 14 ,"") {
|
|||
|
setscreen( s_main ,TRUE);
|
|||
|
}
|
|||
|
ITEM( 15 ,"") {
|
|||
|
setscreen( s_main ,TRUE);
|
|||
|
}
|
|||
|
ITEM( 16 ,"") {
|
|||
|
setscreen( s_main ,TRUE);
|
|||
|
}
|
|||
|
ITEM( 17 ,"") {
|
|||
|
setscreen( s_main ,TRUE);
|
|||
|
}
|
|||
|
ITEM( 19 ,"") {
|
|||
|
setscreen( s_main ,TRUE);
|
|||
|
}
|
|||
|
ITEM( 20 ,"Exit") {
|
|||
|
exit();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// **************************
|
|||
|
// *** Fehlermen<65> ***
|
|||
|
// **************************
|
|||
|
MENU m_fehler()
|
|||
|
{
|
|||
|
int ErrorCode;
|
|||
|
int SpeicherUnterDateiNameLaenge=0;
|
|||
|
int ReturnedValue;
|
|||
|
string CurrentDirectory;
|
|||
|
string SpeichernKommentar1="";
|
|||
|
string SpeichernKommentar2="";
|
|||
|
string SpeicherUnterDateiName="";
|
|||
|
string DateiLesenZeile="";
|
|||
|
string DateiLesenPuffer="";
|
|||
|
bool DateiLesenEOF;
|
|||
|
string DateiName="";
|
|||
|
int aufrufIO;
|
|||
|
string JOB_STATUS;
|
|||
|
bool fehlerflag;
|
|||
|
|
|||
|
INIT {
|
|||
|
setmenutitle("Fehlerspeicher");
|
|||
|
if (fs_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
setitem( 1 , "FS lesen" , TRUE);
|
|||
|
setitem( 2 , "FS l<>schen" , TRUE);
|
|||
|
setitem( 9 , "FS drucken" , FALSE);
|
|||
|
if (fs_lesen_save_as_flag == TRUE) setitem(19 , "FS speichern", FALSE);
|
|||
|
}
|
|||
|
if (is_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
setitem( 3 , "IS lesen" , TRUE);
|
|||
|
if (is_loeschen_flag == TRUE)
|
|||
|
setitem( 4 , "IS l<>schen" , TRUE);
|
|||
|
else setitem( 4 , "" , FALSE);//Nicht alle SGs haben IS_LOESCHEN. Z.B. EPS_90.PRG
|
|||
|
|
|||
|
setitem( 8 , "IS drucken" , FALSE);
|
|||
|
if (is_lesen_save_as_flag == TRUE) setitem(18 , "IS speichern", FALSE);
|
|||
|
}
|
|||
|
if (hs_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
setitem( 5 , "HS lesen" , TRUE);
|
|||
|
if (hs_loeschen_flag == TRUE)
|
|||
|
setitem( 6 , "HS l<>schen" , TRUE);
|
|||
|
else setitem( 6 , "" , FALSE);//Nicht alle SGs haben HS_LOESCHEN. Z.B. EPS_90.PRG
|
|||
|
|
|||
|
setitem( 7 , "HS drucken" , FALSE);
|
|||
|
if (hs_lesen_save_as_flag == TRUE) setitem(17 , "HS speichern", FALSE);
|
|||
|
}
|
|||
|
}
|
|||
|
ITEM( 1 ,"") {
|
|||
|
userboxclose(0);
|
|||
|
viewclose();
|
|||
|
if (is_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
setitem( 8 , "IS drucken" , FALSE);
|
|||
|
if (is_lesen_save_as_flag == TRUE) setitem(18 , "IS speichern", FALSE);
|
|||
|
}
|
|||
|
if (hs_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
setitem( 7 , "HS drucken" , FALSE);
|
|||
|
if (hs_lesen_save_as_flag == TRUE) setitem(17 , "HS speichern", FALSE);
|
|||
|
}
|
|||
|
if (fs_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
userboxopen(0,8,35,5,50,"Fehlerspeicher lesen","");
|
|||
|
userboxftextout(0,"Der Fehlerspeicher wird gelesen! ... bitte warten",1,3,0,0);
|
|||
|
INPAapiFsMode_neu(0x7FF,"w","","",""); // alles Anzeigen
|
|||
|
INPAapiFsLesen_neu(sgbd,"na_fs.tmp");
|
|||
|
userboxclose(0);
|
|||
|
DateiName="na_fs.tmp";
|
|||
|
viewopen(DateiName,"Fehlerspeicher lesen");
|
|||
|
setitem( 9 , "FS drucken" , TRUE);
|
|||
|
if (fs_lesen_save_as_flag == TRUE) setitem(19 , "FS speichern", TRUE);
|
|||
|
}
|
|||
|
}
|
|||
|
ITEM( 2 ,"") {
|
|||
|
userboxclose(0);
|
|||
|
viewclose();
|
|||
|
if (fs_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
setitem( 9 , "FS drucken" , FALSE);
|
|||
|
if (fs_lesen_save_as_flag == TRUE) setitem(19 , "FS speichern", FALSE);
|
|||
|
}
|
|||
|
if (is_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
setitem( 8 , "IS drucken" , FALSE);
|
|||
|
if (is_lesen_save_as_flag == TRUE) setitem(18 , "IS speichern", FALSE);
|
|||
|
}
|
|||
|
if (hs_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
setitem( 7 , "HS drucken" , FALSE);
|
|||
|
if (hs_lesen_save_as_flag == TRUE) setitem(17 , "HS speichern", FALSE);
|
|||
|
}
|
|||
|
if (fs_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
INPAapiJob(sgbd,"FS_LOESCHEN","","");
|
|||
|
INP1apiResultText(fehlerflag,JOB_STATUS, "JOB_STATUS", 1, "");
|
|||
|
if (JOB_STATUS != "OKAY")
|
|||
|
{
|
|||
|
userboxopen(0,8,35,5,50,"Fehlerspeicher l<>schen","");
|
|||
|
userboxftextout(0,"Der Fehlerspeicher konnte nicht gel<65>scht werden!",1,3,0,0);
|
|||
|
userboxsetcolor(0,1,4);
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
userboxopen(0,8,35,5,50,"Fehlerspeicher l<>schen","");
|
|||
|
userboxftextout(0,"Der Fehlerspeicher wurde gel<65>scht!",1,3,0,0);
|
|||
|
|
|||
|
if (deleteread_flag == TRUE) // Aktivierung <20>ber INPA.INI, SCRIPTS = DeleteRead
|
|||
|
{
|
|||
|
delay(2000);
|
|||
|
userboxclose(0);
|
|||
|
userboxopen(0,8,35,5,50,"Fehlerspeicher lesen","");
|
|||
|
userboxftextout(0,"Der Fehlerspeicher wird gelesen! ... bitte warten",1,3,0,0);
|
|||
|
INPAapiFsMode_neu(0x7FF,"w","","",""); // alles Anzeigen
|
|||
|
INPAapiFsLesen_neu(sgbd,"na_fs.tmp");
|
|||
|
userboxclose(0);
|
|||
|
DateiName="na_fs.tmp";
|
|||
|
viewopen(DateiName,"Fehlerspeicher lesen");
|
|||
|
setitem( 9 , "FS drucken" , TRUE);
|
|||
|
if (fs_lesen_save_as_flag == TRUE) setitem(19 , "FS speichern", TRUE);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
ITEM( 3 ,"") {
|
|||
|
userboxclose(0);
|
|||
|
viewclose();
|
|||
|
if (fs_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
setitem( 9 , "FS drucken" , FALSE);
|
|||
|
if (fs_lesen_save_as_flag == TRUE) setitem(19 , "FS speichern", FALSE);
|
|||
|
}
|
|||
|
if (hs_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
setitem( 7 , "HS drucken" , FALSE);
|
|||
|
if (hs_lesen_save_as_flag == TRUE) setitem(17 , "HS speichern", FALSE);
|
|||
|
}
|
|||
|
if (is_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
userboxopen(0,8,35,5,50,"Infospeicher lesen","");
|
|||
|
userboxftextout(0,"Der Infospeicher wird gelesen! ... bitte warten",1,3,0,0);
|
|||
|
INPAapiFsMode_neu(0x7FF,"w","","","IS_LESEN"); // alles Anzeigen
|
|||
|
INPAapiFsLesen_neu(sgbd,"na_fs.tmp");
|
|||
|
userboxclose(0);
|
|||
|
DateiName="na_fs.tmp";
|
|||
|
viewopen(DateiName,"Infospeicher lesen");
|
|||
|
setitem( 8 , "IS drucken" , TRUE);
|
|||
|
if (is_lesen_save_as_flag == TRUE) setitem(18 , "IS speichern", TRUE);
|
|||
|
}
|
|||
|
}
|
|||
|
ITEM( 4 ,"") {
|
|||
|
userboxclose(0);
|
|||
|
viewclose();
|
|||
|
if (fs_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
setitem( 9 , "FS drucken" , FALSE);
|
|||
|
if (fs_lesen_save_as_flag == TRUE) setitem(19 , "FS speichern", FALSE);
|
|||
|
}
|
|||
|
if (is_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
setitem( 8 , "IS drucken" , FALSE);
|
|||
|
if (is_lesen_save_as_flag == TRUE) setitem(18 , "IS speichern", FALSE);
|
|||
|
}
|
|||
|
if (hs_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
setitem( 7 , "HS drucken" , FALSE);
|
|||
|
if (hs_lesen_save_as_flag == TRUE) setitem(17 , "HS speichern", FALSE);
|
|||
|
}
|
|||
|
if (is_loeschen_flag == TRUE)
|
|||
|
{
|
|||
|
INPAapiJob(sgbd,"IS_LOESCHEN","","");
|
|||
|
INP1apiResultText(fehlerflag,JOB_STATUS, "JOB_STATUS", 1, "");
|
|||
|
if (JOB_STATUS != "OKAY")
|
|||
|
{
|
|||
|
userboxopen(0,8,35,5,50,"Infospeicher l<>schen","");
|
|||
|
userboxftextout(0,"Der Infospeicher konnte nicht gel<65>scht werden!",1,3,0,0);
|
|||
|
userboxsetcolor(0,1,4);
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
userboxopen(0,8,35,5,50,"Infospeicher l<>schen","");
|
|||
|
userboxftextout(0,"Der Infospeicher wurde gel<65>scht!",1,3,0,0);
|
|||
|
if (deleteread_flag == TRUE) // Aktivierung <20>ber INPA.INI, SCRIPT = deleteread
|
|||
|
{
|
|||
|
delay(2000);
|
|||
|
userboxclose(0);
|
|||
|
userboxopen(0,8,35,5,50,"Infospeicher lesen","");
|
|||
|
userboxftextout(0,"Der Infospeicher wird gelesen! ... bitte warten",1,3,0,0);
|
|||
|
INPAapiFsMode_neu(0x7FF,"w","","","IS_LESEN"); // alles Anzeigen
|
|||
|
INPAapiFsLesen_neu(sgbd,"na_fs.tmp");
|
|||
|
userboxclose(0);
|
|||
|
DateiName="na_fs.tmp";
|
|||
|
viewopen(DateiName,"Infospeicher lesen");
|
|||
|
setitem( 8 , "IS drucken" , TRUE);
|
|||
|
if (is_lesen_save_as_flag == TRUE) setitem(18 , "IS speichern", TRUE);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
ITEM( 5 ,"") {
|
|||
|
userboxclose(0);
|
|||
|
viewclose();
|
|||
|
if (fs_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
setitem( 9 , "FS drucken" , FALSE);
|
|||
|
if (fs_lesen_save_as_flag == TRUE) setitem(19 , "FS speichern", FALSE);
|
|||
|
}
|
|||
|
if (is_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
setitem( 8 , "IS drucken" , FALSE);
|
|||
|
if (is_lesen_save_as_flag == TRUE) setitem(18 , "IS speichern", FALSE);
|
|||
|
}
|
|||
|
if (hs_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
userboxopen(0,8,35,5,50,"Historienspeicher lesen","");
|
|||
|
userboxftextout(0,"Der Historienspeicher wird gelesen! ... bitte warten",1,3,0,0);
|
|||
|
INPAapiFsMode_neu(0x7FF,"w","","","HS_LESEN"); // alles Anzeigen
|
|||
|
INPAapiFsLesen_neu(sgbd,"na_fs.tmp");
|
|||
|
userboxclose(0);
|
|||
|
DateiName="na_fs.tmp";
|
|||
|
viewopen(DateiName,"Historienspeicher lesen");
|
|||
|
setitem( 7 , "HS drucken" , TRUE);
|
|||
|
if (hs_lesen_save_as_flag == TRUE) setitem(17 , "HS speichern", TRUE);
|
|||
|
}
|
|||
|
}
|
|||
|
ITEM( 6 ,"") {
|
|||
|
userboxclose(0);
|
|||
|
viewclose();
|
|||
|
if (fs_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
setitem( 9 , "FS drucken" , FALSE);
|
|||
|
if (fs_lesen_save_as_flag == TRUE) setitem(19 , "FS speichern", FALSE);
|
|||
|
}
|
|||
|
if (is_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
setitem( 8 , "IS drucken" , FALSE);
|
|||
|
if (is_lesen_save_as_flag == TRUE) setitem(18 , "IS speichern", FALSE);
|
|||
|
}
|
|||
|
if (hs_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
setitem( 7 , "HS drucken" , FALSE);
|
|||
|
if (hs_lesen_save_as_flag == TRUE) setitem(17 , "HS speichern", FALSE);
|
|||
|
}
|
|||
|
if (hs_loeschen_flag == TRUE)
|
|||
|
{
|
|||
|
INPAapiJob(sgbd,"HS_LOESCHEN","","");
|
|||
|
INP1apiResultText(fehlerflag,JOB_STATUS, "JOB_STATUS", 1, "");
|
|||
|
if (JOB_STATUS != "OKAY")
|
|||
|
{
|
|||
|
userboxopen(0,8,35,5,50,"Historienspeicher l<>schen","");
|
|||
|
userboxftextout(0,"Der Historienspeicher konnte nicht gel<65>scht werden!",1,3,0,0);
|
|||
|
userboxsetcolor(0,1,4);
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
userboxopen(0,8,35,5,50,"Historienspeicher l<>schen","");
|
|||
|
userboxftextout(0,"Der Historienspeicher wurde gel<65>scht!",1,3,0,0);
|
|||
|
if (deleteread_flag == TRUE) // Aktivierung <20>ber INPA.INI, SCRIPT = deleteread
|
|||
|
{
|
|||
|
delay(2000);
|
|||
|
userboxclose(0);
|
|||
|
userboxopen(0,8,35,5,50,"Historienspeicher lesen","");
|
|||
|
userboxftextout(0,"Der Historienspeicher wird gelesen! ... bitte warten",1,3,0,0);
|
|||
|
INPAapiFsMode_neu(0x7FF,"w","","","HS_LESEN"); // alles Anzeigen
|
|||
|
INPAapiFsLesen_neu(sgbd,"na_fs.tmp");
|
|||
|
userboxclose(0);
|
|||
|
DateiName="na_fs.tmp";
|
|||
|
viewopen(DateiName,"Historienspeicher lesen");
|
|||
|
setitem( 7 , "HS drucken" , TRUE);
|
|||
|
if (hs_lesen_save_as_flag == TRUE) setitem(17 , "HS speichern", TRUE);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
ITEM( 7 ,"") {
|
|||
|
if (hs_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
printfile(ErrorCode, DateiName, "", "",TRUE);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
userboxclose(0);
|
|||
|
viewclose();
|
|||
|
if (fs_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
setitem( 9 , "FS drucken" , FALSE);
|
|||
|
if (fs_lesen_save_as_flag == TRUE) setitem(19 , "FS speichern", FALSE);
|
|||
|
}
|
|||
|
if (is_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
setitem( 8 , "IS drucken" , FALSE);
|
|||
|
if (is_lesen_save_as_flag == TRUE) setitem(18 , "IS speichern", FALSE);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
ITEM( 8 ,"") {
|
|||
|
if (is_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
printfile(ErrorCode, DateiName, "", "",TRUE);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
userboxclose(0);
|
|||
|
viewclose();
|
|||
|
if (fs_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
setitem( 9 , "FS drucken" , FALSE);
|
|||
|
if (fs_lesen_save_as_flag == TRUE) setitem(19 , "FS speichern", FALSE);
|
|||
|
}
|
|||
|
if (hs_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
setitem( 7 , "HS drucken" , FALSE);
|
|||
|
if (hs_lesen_save_as_flag == TRUE) setitem(17 , "HS speichern", FALSE);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
ITEM( 9 ,"") {
|
|||
|
if (fs_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
printfile(ErrorCode, DateiName, "", "",TRUE);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
userboxclose(0);
|
|||
|
viewclose();
|
|||
|
if (is_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
setitem( 8 , "IS drucken" , FALSE);
|
|||
|
if (is_lesen_save_as_flag == TRUE) setitem(18 , "IS speichern", FALSE);
|
|||
|
}
|
|||
|
if (hs_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
setitem( 7 , "HS drucken" , FALSE);
|
|||
|
if (hs_lesen_save_as_flag == TRUE) setitem(17 , "HS speichern", FALSE);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
ITEM(17 ,"") {
|
|||
|
if ((hs_lesen_flag == TRUE) && (hs_lesen_save_as_flag == TRUE))
|
|||
|
{
|
|||
|
input2text(SpeichernKommentar1,SpeichernKommentar2,
|
|||
|
"Kommentar",
|
|||
|
"Geben Sie den zu speichernden Kommentar ein",
|
|||
|
"","");
|
|||
|
getinputstate(input_state);
|
|||
|
if (input_state==input_ok)
|
|||
|
{
|
|||
|
space(SpeicherUnterDateiName,256);
|
|||
|
strlen(SpeicherUnterDateiNameLaenge,SpeicherUnterDateiName);
|
|||
|
|
|||
|
GetCurrentDirectory(256,CurrentDirectory,ReturnedValue);
|
|||
|
SaveAsDialogBox("",SpeicherUnterDateiName,SpeicherUnterDateiNameLaenge,SpeicherUnterDateiNameLaenge);
|
|||
|
SetCurrentDirectory(CurrentDirectory,ReturnedValue);
|
|||
|
if (SpeicherUnterDateiNameLaenge > 0)
|
|||
|
{
|
|||
|
DateiLesenPuffer="";
|
|||
|
fileopen("na_fs.tmp","r");
|
|||
|
fileread(DateiLesenZeile, DateiLesenEOF );
|
|||
|
while (DateiLesenEOF == FALSE)
|
|||
|
{
|
|||
|
DateiLesenPuffer=DateiLesenPuffer+DateiLesenZeile;
|
|||
|
fileread(DateiLesenZeile, DateiLesenEOF );
|
|||
|
if (DateiLesenEOF == FALSE) DateiLesenPuffer=DateiLesenPuffer+LF;
|
|||
|
}
|
|||
|
fileclose();
|
|||
|
|
|||
|
DateiName=SpeicherUnterDateiName;
|
|||
|
fileopen(DateiName,"w");
|
|||
|
if (SpeichernKommentar1 + SpeichernKommentar2 != "")
|
|||
|
{
|
|||
|
filewrite( " K O M M E N T A R");
|
|||
|
filewrite( " -----------------");
|
|||
|
filewrite( "");
|
|||
|
if (SpeichernKommentar1 != "") filewrite(SpeichernKommentar1);
|
|||
|
if (SpeichernKommentar2 != "") filewrite(SpeichernKommentar2);
|
|||
|
filewrite( "-------------------------------------------------------------");
|
|||
|
filewrite("");
|
|||
|
}
|
|||
|
filewrite(DateiLesenPuffer);
|
|||
|
fileclose();
|
|||
|
|
|||
|
viewclose();
|
|||
|
viewopen(DateiName,"Historienspeicher speichern: "+DateiName);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
userboxclose(0);
|
|||
|
viewclose();
|
|||
|
if (fs_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
setitem( 9 , "FS drucken" , FALSE);
|
|||
|
if (fs_lesen_save_as_flag == TRUE) setitem(19 , "FS speichern", FALSE);
|
|||
|
}
|
|||
|
if (is_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
setitem( 8 , "IS drucken" , FALSE);
|
|||
|
if (is_lesen_save_as_flag == TRUE) setitem(18 , "IS speichern", FALSE);
|
|||
|
}
|
|||
|
if (hs_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
setitem( 7 , "HS drucken" , FALSE);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
ITEM(18 ,"") {
|
|||
|
if ((is_lesen_flag == TRUE) && (is_lesen_save_as_flag == TRUE))
|
|||
|
{
|
|||
|
input2text(SpeichernKommentar1,SpeichernKommentar2,
|
|||
|
"Kommentar",
|
|||
|
"Geben Sie den zu speichernden Kommentar ein",
|
|||
|
"","");
|
|||
|
getinputstate(input_state);
|
|||
|
if (input_state==input_ok)
|
|||
|
{
|
|||
|
space(SpeicherUnterDateiName,256);
|
|||
|
strlen(SpeicherUnterDateiNameLaenge,SpeicherUnterDateiName);
|
|||
|
|
|||
|
GetCurrentDirectory(256,CurrentDirectory,ReturnedValue);
|
|||
|
SaveAsDialogBox("",SpeicherUnterDateiName,SpeicherUnterDateiNameLaenge,SpeicherUnterDateiNameLaenge);
|
|||
|
SetCurrentDirectory(CurrentDirectory,ReturnedValue);
|
|||
|
if (SpeicherUnterDateiNameLaenge > 0)
|
|||
|
{
|
|||
|
DateiLesenPuffer="";
|
|||
|
fileopen("na_fs.tmp","r");
|
|||
|
fileread(DateiLesenZeile, DateiLesenEOF );
|
|||
|
while (DateiLesenEOF == FALSE)
|
|||
|
{
|
|||
|
DateiLesenPuffer=DateiLesenPuffer+DateiLesenZeile;
|
|||
|
fileread(DateiLesenZeile, DateiLesenEOF );
|
|||
|
if (DateiLesenEOF == FALSE) DateiLesenPuffer=DateiLesenPuffer+LF;
|
|||
|
}
|
|||
|
fileclose();
|
|||
|
|
|||
|
DateiName=SpeicherUnterDateiName;
|
|||
|
fileopen(DateiName,"w");
|
|||
|
if (SpeichernKommentar1 + SpeichernKommentar2 != "")
|
|||
|
{
|
|||
|
filewrite( " K O M M E N T A R");
|
|||
|
filewrite( " -----------------");
|
|||
|
filewrite( "");
|
|||
|
if (SpeichernKommentar1 != "") filewrite(SpeichernKommentar1);
|
|||
|
if (SpeichernKommentar2 != "") filewrite(SpeichernKommentar2);
|
|||
|
filewrite( "-------------------------------------------------------------");
|
|||
|
filewrite("");
|
|||
|
}
|
|||
|
filewrite(DateiLesenPuffer);
|
|||
|
fileclose();
|
|||
|
|
|||
|
viewclose();
|
|||
|
viewopen(DateiName,"Infospeicher speichern: "+DateiName);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
userboxclose(0);
|
|||
|
viewclose();
|
|||
|
if (fs_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
setitem( 9 , "FS drucken" , FALSE);
|
|||
|
if (fs_lesen_save_as_flag == TRUE) setitem(19 , "FS speichern", FALSE);
|
|||
|
}
|
|||
|
if (is_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
setitem( 8 , "IS drucken" , FALSE);
|
|||
|
}
|
|||
|
if (hs_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
setitem( 7 , "HS drucken" , FALSE);
|
|||
|
if (hs_lesen_save_as_flag == TRUE) setitem(17 , "HS speichern", FALSE);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
ITEM(19 ,"") {
|
|||
|
if ((fs_lesen_flag == TRUE) && (fs_lesen_save_as_flag == TRUE))
|
|||
|
{
|
|||
|
input2text(SpeichernKommentar1,SpeichernKommentar2,
|
|||
|
"Kommentar",
|
|||
|
"Geben Sie den zu speichernden Kommentar ein",
|
|||
|
"","");
|
|||
|
getinputstate(input_state);
|
|||
|
if (input_state==input_ok)
|
|||
|
{
|
|||
|
space(SpeicherUnterDateiName,256);
|
|||
|
strlen(SpeicherUnterDateiNameLaenge,SpeicherUnterDateiName);
|
|||
|
|
|||
|
GetCurrentDirectory(256,CurrentDirectory,ReturnedValue);
|
|||
|
SaveAsDialogBox("",SpeicherUnterDateiName,SpeicherUnterDateiNameLaenge,SpeicherUnterDateiNameLaenge);
|
|||
|
SetCurrentDirectory(CurrentDirectory,ReturnedValue);
|
|||
|
if (SpeicherUnterDateiNameLaenge > 0)
|
|||
|
{
|
|||
|
DateiLesenPuffer="";
|
|||
|
fileopen("na_fs.tmp","r");
|
|||
|
fileread(DateiLesenZeile, DateiLesenEOF );
|
|||
|
while (DateiLesenEOF == FALSE)
|
|||
|
{
|
|||
|
DateiLesenPuffer=DateiLesenPuffer+DateiLesenZeile;
|
|||
|
fileread(DateiLesenZeile, DateiLesenEOF );
|
|||
|
if (DateiLesenEOF == FALSE) DateiLesenPuffer=DateiLesenPuffer+LF;
|
|||
|
}
|
|||
|
fileclose();
|
|||
|
|
|||
|
DateiName=SpeicherUnterDateiName;
|
|||
|
fileopen(DateiName,"w");
|
|||
|
if (SpeichernKommentar1 + SpeichernKommentar2 != "")
|
|||
|
{
|
|||
|
filewrite( " K O M M E N T A R");
|
|||
|
filewrite( " -----------------");
|
|||
|
filewrite( "");
|
|||
|
if (SpeichernKommentar1 != "") filewrite(SpeichernKommentar1);
|
|||
|
if (SpeichernKommentar2 != "") filewrite(SpeichernKommentar2);
|
|||
|
filewrite( "-------------------------------------------------------------");
|
|||
|
filewrite("");
|
|||
|
}
|
|||
|
filewrite(DateiLesenPuffer);
|
|||
|
fileclose();
|
|||
|
|
|||
|
viewclose();
|
|||
|
viewopen(DateiName,"Fehlerspeicher speichern: "+DateiName);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
userboxclose(0);
|
|||
|
viewclose();
|
|||
|
if (fs_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
setitem( 9 , "FS drucken" , FALSE);
|
|||
|
}
|
|||
|
if (is_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
setitem( 8 , "IS drucken" , FALSE);
|
|||
|
if (is_lesen_save_as_flag == TRUE) setitem(18 , "IS speichern", FALSE);
|
|||
|
}
|
|||
|
if (hs_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
setitem( 7 , "HS drucken" , FALSE);
|
|||
|
if (hs_lesen_save_as_flag == TRUE) setitem(17 , "HS speichern", FALSE);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
ITEM( 10 ,"Zur<75>ck") {
|
|||
|
userboxclose(0);
|
|||
|
viewclose();
|
|||
|
setscreen( s_main ,TRUE);
|
|||
|
setmenu( m_main );
|
|||
|
}
|
|||
|
ITEM( 20 ,"Exit") {
|
|||
|
userboxclose(0);
|
|||
|
viewclose();
|
|||
|
exit();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// **************************
|
|||
|
// *** Speichermen<65> ***
|
|||
|
// **************************
|
|||
|
MENU m_speicher()
|
|||
|
{
|
|||
|
int input_ok=0;
|
|||
|
int input_state;
|
|||
|
string text_var;
|
|||
|
|
|||
|
INIT {
|
|||
|
setmenutitle("Speicher lesen");
|
|||
|
if (speicher_lesen_lar_flag==TRUE) setitem( 1 , "LAR" , TRUE);
|
|||
|
if (speicher_lesen_flash_flag==TRUE) setitem( 2 , "FLASH", TRUE);
|
|||
|
if (speicher_lesen_uifm_flag==TRUE) setitem( 3 , "UIFM" , TRUE);
|
|||
|
if (speicher_lesen_romi_flag==TRUE) setitem( 4 , "ROMI" , TRUE);
|
|||
|
if (speicher_lesen_ramis_flag==TRUE) setitem( 5 , "RAMIS", TRUE);
|
|||
|
if (speicher_lesen_ramil_flag==TRUE) setitem( 6 , "RAMIL", TRUE);
|
|||
|
if (speicher_lesen_nvram_flag==TRUE) setitem( 7 , "NVRAM", TRUE);
|
|||
|
if (speicher_lesen_romx_flag==TRUE) setitem(14 , "ROMX" , TRUE);
|
|||
|
if (speicher_lesen_ramxx_flag==TRUE) setitem(15 , "RAMXX", TRUE);
|
|||
|
}
|
|||
|
ITEM( 1 ,"") {
|
|||
|
if (speicher_lesen_lar_flag==TRUE)
|
|||
|
{
|
|||
|
input2hexnum(speicher_lesen_adresse,speicher_lesen_anzahl,"LAR lesen",
|
|||
|
"Es ist darauf zu achten, "+
|
|||
|
"da<64> die angegebene Adresse + Anzahl "+
|
|||
|
"der zu lesenden Bytes die Obergrenze "+
|
|||
|
"(FFFFFF) nicht <20>berschreitet.",
|
|||
|
"Adresse 000000-FFFFFF","Anzahl der Bytes 1-200","000000","FFFFFF",1,200);
|
|||
|
getinputstate(input_state);
|
|||
|
if (input_state==input_ok)
|
|||
|
{
|
|||
|
speicher_lesen_text="LAR lesen";
|
|||
|
speicher_lesen_seg_adr_anz="LAR;"+speicher_lesen_adresse;
|
|||
|
inttostring(speicher_lesen_anzahl,text_var);
|
|||
|
speicher_lesen_seg_adr_anz=speicher_lesen_seg_adr_anz+";"+text_var;
|
|||
|
setscreen(s_speicher_ausgabe,TRUE);
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
setscreen(s_speicher,TRUE);
|
|||
|
}
|
|||
|
ITEM( 2 ,"") {
|
|||
|
if (speicher_lesen_flash_flag==TRUE)
|
|||
|
{
|
|||
|
input2hexnum(speicher_lesen_adresse,speicher_lesen_anzahl,"FLASH lesen",
|
|||
|
"Es ist darauf zu achten, "+
|
|||
|
"da<64> die angegebene Adresse + Anzahl "+
|
|||
|
"der zu lesenden Bytes die Obergrenze "+
|
|||
|
"(FFFFFF) nicht <20>berschreitet.",
|
|||
|
"Adresse 000000-FFFFFF","Anzahl der Bytes 1-200","000000","FFFFFF",1,200);
|
|||
|
getinputstate(input_state);
|
|||
|
if (input_state==input_ok)
|
|||
|
{
|
|||
|
speicher_lesen_text="FLASH lesen";
|
|||
|
speicher_lesen_seg_adr_anz="FLASH;"+speicher_lesen_adresse;
|
|||
|
inttostring(speicher_lesen_anzahl,text_var);
|
|||
|
speicher_lesen_seg_adr_anz=speicher_lesen_seg_adr_anz+";"+text_var;
|
|||
|
setscreen(s_speicher_ausgabe,TRUE);
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
setscreen(s_speicher,TRUE);
|
|||
|
}
|
|||
|
ITEM( 3 ,"") {
|
|||
|
if (speicher_lesen_uifm_flag==TRUE)
|
|||
|
{
|
|||
|
input2hexnum(speicher_lesen_adresse,speicher_lesen_anzahl,"UIFM lesen",
|
|||
|
"Es ist darauf zu achten, "+
|
|||
|
"da<64> die angegebene Adresse + Anzahl "+
|
|||
|
"der zu lesenden Bytes die Obergrenze "+
|
|||
|
"(FFFFFF) nicht <20>berschreitet.",
|
|||
|
"Adresse 000000-FFFFFF","Anzahl der Bytes 1-200","000000","FFFFFF",1,200);
|
|||
|
getinputstate(input_state);
|
|||
|
if (input_state==input_ok)
|
|||
|
{
|
|||
|
speicher_lesen_text="UIFM lesen";
|
|||
|
speicher_lesen_seg_adr_anz="UIFM;"+speicher_lesen_adresse;
|
|||
|
inttostring(speicher_lesen_anzahl,text_var);
|
|||
|
speicher_lesen_seg_adr_anz=speicher_lesen_seg_adr_anz+";"+text_var;
|
|||
|
setscreen(s_speicher_ausgabe,TRUE);
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
setscreen(s_speicher,TRUE);
|
|||
|
}
|
|||
|
ITEM( 4 ,"") {
|
|||
|
if (speicher_lesen_romi_flag==TRUE)
|
|||
|
{
|
|||
|
input2hexnum(speicher_lesen_adresse,speicher_lesen_anzahl,"ROMI lesen",
|
|||
|
"Es ist darauf zu achten, "+
|
|||
|
"da<64> die angegebene Adresse + Anzahl "+
|
|||
|
"der zu lesenden Bytes die Obergrenze "+
|
|||
|
"(FFFFFF) nicht <20>berschreitet.",
|
|||
|
"Adresse 000000-FFFFFF","Anzahl der Bytes 1-200","000000","FFFFFF",1,200);
|
|||
|
getinputstate(input_state);
|
|||
|
if (input_state==input_ok)
|
|||
|
{
|
|||
|
speicher_lesen_text="ROMI lesen";
|
|||
|
speicher_lesen_seg_adr_anz="ROMI;"+speicher_lesen_adresse;
|
|||
|
inttostring(speicher_lesen_anzahl,text_var);
|
|||
|
speicher_lesen_seg_adr_anz=speicher_lesen_seg_adr_anz+";"+text_var;
|
|||
|
setscreen(s_speicher_ausgabe,TRUE);
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
setscreen(s_speicher,TRUE);
|
|||
|
}
|
|||
|
ITEM( 5 ,"") {
|
|||
|
if (speicher_lesen_ramis_flag==TRUE)
|
|||
|
{
|
|||
|
input2hexnum(speicher_lesen_adresse,speicher_lesen_anzahl,"RAMIS lesen",
|
|||
|
"Es ist darauf zu achten, "+
|
|||
|
"da<64> die angegebene Adresse + Anzahl "+
|
|||
|
"der zu lesenden Bytes die Obergrenze "+
|
|||
|
"(FFFFFF) nicht <20>berschreitet.",
|
|||
|
"Adresse 000000-FFFFFF","Anzahl der Bytes 1-200","000000","FFFFFF",1,200);
|
|||
|
getinputstate(input_state);
|
|||
|
if (input_state==input_ok)
|
|||
|
{
|
|||
|
speicher_lesen_text="RAMIS lesen";
|
|||
|
speicher_lesen_seg_adr_anz="RAMIS;"+speicher_lesen_adresse;
|
|||
|
inttostring(speicher_lesen_anzahl,text_var);
|
|||
|
speicher_lesen_seg_adr_anz=speicher_lesen_seg_adr_anz+";"+text_var;
|
|||
|
setscreen(s_speicher_ausgabe,TRUE);
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
setscreen(s_speicher,TRUE);
|
|||
|
}
|
|||
|
ITEM( 6 ,"") {
|
|||
|
if (speicher_lesen_ramil_flag==TRUE)
|
|||
|
{
|
|||
|
input2hexnum(speicher_lesen_adresse,speicher_lesen_anzahl,"RAMIL lesen",
|
|||
|
"Es ist darauf zu achten, "+
|
|||
|
"da<64> die angegebene Adresse + Anzahl "+
|
|||
|
"der zu lesenden Bytes die Obergrenze "+
|
|||
|
"(FFFFFF) nicht <20>berschreitet.",
|
|||
|
"Adresse 000000-FFFFFF","Anzahl der Bytes 1-200","000000","FFFFFF",1,200);
|
|||
|
getinputstate(input_state);
|
|||
|
if (input_state==input_ok)
|
|||
|
{
|
|||
|
speicher_lesen_text="RAMIL lesen";
|
|||
|
speicher_lesen_seg_adr_anz="RAMIL;"+speicher_lesen_adresse;
|
|||
|
inttostring(speicher_lesen_anzahl,text_var);
|
|||
|
speicher_lesen_seg_adr_anz=speicher_lesen_seg_adr_anz+";"+text_var;
|
|||
|
setscreen(s_speicher_ausgabe,TRUE);
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
setscreen(s_speicher,TRUE);
|
|||
|
}
|
|||
|
ITEM( 7 ,"") {
|
|||
|
if (speicher_lesen_nvram_flag==TRUE)
|
|||
|
{
|
|||
|
input2hexnum(speicher_lesen_adresse,speicher_lesen_anzahl,"NVRAM lesen",
|
|||
|
"Es ist darauf zu achten, "+
|
|||
|
"da<64> die angegebene Adresse + Anzahl "+
|
|||
|
"der zu lesenden Bytes die Obergrenze "+
|
|||
|
"(FFFFFF) nicht <20>berschreitet.",
|
|||
|
"Adresse 000000-FFFFFF","Anzahl der Bytes 1-200","000000","FFFFFF",1,200);
|
|||
|
getinputstate(input_state);
|
|||
|
if (input_state==input_ok)
|
|||
|
{
|
|||
|
speicher_lesen_text="NVRAM lesen";
|
|||
|
speicher_lesen_seg_adr_anz="NVRAM;"+speicher_lesen_adresse;
|
|||
|
inttostring(speicher_lesen_anzahl,text_var);
|
|||
|
speicher_lesen_seg_adr_anz=speicher_lesen_seg_adr_anz+";"+text_var;
|
|||
|
setscreen(s_speicher_ausgabe,TRUE);
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
setscreen(s_speicher,TRUE);
|
|||
|
}
|
|||
|
ITEM( 8 ,"") {
|
|||
|
setscreen( s_speicher,TRUE);
|
|||
|
}
|
|||
|
ITEM( 9 ,"Druck") {
|
|||
|
printscreen();
|
|||
|
}
|
|||
|
ITEM( 10 ,"Zur<75>ck") {
|
|||
|
setscreen( s_main ,TRUE);
|
|||
|
setmenu( m_main );
|
|||
|
}
|
|||
|
ITEM( 11 ,"") {
|
|||
|
setscreen( s_speicher,TRUE);
|
|||
|
}
|
|||
|
ITEM( 12 ,"") {
|
|||
|
setscreen( s_speicher,TRUE);
|
|||
|
}
|
|||
|
ITEM( 13 ,"") {
|
|||
|
setscreen( s_speicher,TRUE);
|
|||
|
}
|
|||
|
ITEM( 14 ,"") {
|
|||
|
if (speicher_lesen_romx_flag==TRUE)
|
|||
|
{
|
|||
|
input2hexnum(speicher_lesen_adresse,speicher_lesen_anzahl,"ROMX lesen",
|
|||
|
"Es ist darauf zu achten, "+
|
|||
|
"da<64> die angegebene Adresse + Anzahl "+
|
|||
|
"der zu lesenden Bytes die Obergrenze "+
|
|||
|
"(FFFFFF) nicht <20>berschreitet.",
|
|||
|
"Adresse 000000-FFFFFF","Anzahl der Bytes 1-200","000000","FFFFFF",1,200);
|
|||
|
getinputstate(input_state);
|
|||
|
if (input_state==input_ok)
|
|||
|
{
|
|||
|
speicher_lesen_text="ROMX lesen";
|
|||
|
speicher_lesen_seg_adr_anz="ROMX;"+speicher_lesen_adresse;
|
|||
|
inttostring(speicher_lesen_anzahl,text_var);
|
|||
|
speicher_lesen_seg_adr_anz=speicher_lesen_seg_adr_anz+";"+text_var;
|
|||
|
setscreen(s_speicher_ausgabe,TRUE);
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
setscreen(s_speicher,TRUE);
|
|||
|
}
|
|||
|
ITEM( 15 ,"") {
|
|||
|
if (speicher_lesen_ramxx_flag==TRUE)
|
|||
|
{
|
|||
|
input2hexnum(speicher_lesen_adresse,speicher_lesen_anzahl,"RAMXX lesen",
|
|||
|
"Es ist darauf zu achten, "+
|
|||
|
"da<64> die angegebene Adresse + Anzahl "+
|
|||
|
"der zu lesenden Bytes die Obergrenze "+
|
|||
|
"(FFFFFF) nicht <20>berschreitet.",
|
|||
|
"Adresse 000000-FFFFFF","Anzahl der Bytes 1-200","000000","FFFFFF",1,200);
|
|||
|
getinputstate(input_state);
|
|||
|
if (input_state==input_ok)
|
|||
|
{
|
|||
|
speicher_lesen_text="RAMXX lesen";
|
|||
|
speicher_lesen_seg_adr_anz="RAMXX;"+speicher_lesen_adresse;
|
|||
|
inttostring(speicher_lesen_anzahl,text_var);
|
|||
|
speicher_lesen_seg_adr_anz=speicher_lesen_seg_adr_anz+";"+text_var;
|
|||
|
setscreen(s_speicher_ausgabe,TRUE);
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
setscreen(s_speicher,TRUE);
|
|||
|
}
|
|||
|
ITEM( 16 ,"") {
|
|||
|
setscreen( s_speicher,TRUE);
|
|||
|
}
|
|||
|
ITEM( 17 ,"") {
|
|||
|
setscreen( s_speicher,TRUE);
|
|||
|
}
|
|||
|
ITEM( 18 ,"") {
|
|||
|
setscreen( s_speicher,TRUE);
|
|||
|
}
|
|||
|
ITEM( 19 ,"") {
|
|||
|
setscreen( s_speicher,TRUE);
|
|||
|
}
|
|||
|
ITEM( 20 ,"Exit") {
|
|||
|
exit();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// **************************
|
|||
|
// *** Hauptscreen ***
|
|||
|
// **************************
|
|||
|
SCREEN s_main()
|
|||
|
{
|
|||
|
string text_var;
|
|||
|
|
|||
|
userboxclose(0);
|
|||
|
ftextout("Hauptmen<65>",1,0,1,0);
|
|||
|
ftextout("",3,0,0,0);
|
|||
|
|
|||
|
if (simulation_flag == TRUE)
|
|||
|
{
|
|||
|
userboxopen(1,14,30,5,48,"Hinweis","");
|
|||
|
userboxftextout(1,"INPA bzw. EDIABAS l<>uft im Simulationsmodus!",1,3,0,24);
|
|||
|
userboxsetcolor(1,0,4);
|
|||
|
}
|
|||
|
|
|||
|
if (ident_typ != 3)
|
|||
|
{
|
|||
|
INPAapiJob(sgbd,"IDENT","","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
}
|
|||
|
|
|||
|
LINE("","")
|
|||
|
{
|
|||
|
if (ident_typ != 3)//Nur bei DS2 und BMW Fast vorhanden
|
|||
|
{
|
|||
|
ftextout("BMW Teilenummer",1,0,0,0);
|
|||
|
ftextout(":",1,19,0,0);
|
|||
|
INPAapiResultText(text_var,"ID_BMW_NR",1,"");
|
|||
|
ftextout(text_var,1,20,0,1);
|
|||
|
|
|||
|
ftextout("Herstelldatum",1,43,0,0);
|
|||
|
ftextout(":",1,59,0,0);
|
|||
|
if (ident_typ == 1)//DS2
|
|||
|
{
|
|||
|
ftextout("KW / Jahr",1,68,0,0);
|
|||
|
ftextout("/",1,63,0,1);
|
|||
|
INPAapiResultText(text_var,"ID_DATUM_KW",1,"");
|
|||
|
ftextout(text_var,1,60,0,1);
|
|||
|
INPAapiResultText(text_var,"ID_DATUM_JAHR",1,"");
|
|||
|
ftextout(text_var,1,65,0,1);
|
|||
|
}
|
|||
|
else if (ident_typ == 2)//BMW FAST
|
|||
|
{
|
|||
|
INPAapiResultText(text_var,"ID_DATUM",1,"");
|
|||
|
ftextout(text_var,1,60,0,1);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
ftextout("< F1 > Information" , 4,5,0,1);
|
|||
|
|
|||
|
if ((ident_typ == 1)||(ident_typ == 2)) //DS2 oder BMW FAST
|
|||
|
{
|
|||
|
ftextout("< F2 > Identifikation" , 6,5,0,1);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
ftextout("< F2 > Steuerger<65>teverbaukennung" , 6,5,0,1);//UDS (ISO 14229)
|
|||
|
}
|
|||
|
|
|||
|
if ((fs_lesen_flag == TRUE) ||
|
|||
|
(is_lesen_flag == TRUE) ||
|
|||
|
(hs_lesen_flag == TRUE))
|
|||
|
ftextout("< F4 > Fehlerspeicher" ,10,5,0,1);
|
|||
|
|
|||
|
if (m_status_flag == TRUE)
|
|||
|
ftextout("< F5 > Status lesen" ,12,5,0,1);
|
|||
|
|
|||
|
if (m_steuern_flag == TRUE)
|
|||
|
ftextout("< F6 > Ansteuern" ,14,5,0,1);
|
|||
|
|
|||
|
if (speicher_lesen_flag == TRUE)
|
|||
|
ftextout("< F7 > Speicher lesen" ,16,5,0,1);
|
|||
|
|
|||
|
ftextout("< F8 > Auswahl" ,18,5,0,1);
|
|||
|
ftextout("< F9 > Bildschirmdruck" ,20,5,0,1);
|
|||
|
ftextout("< F10> Ende" ,22,5,0,1);
|
|||
|
|
|||
|
ftextout("<Shift> + < F1 > KVP-Editor" , 4,45,0,1);
|
|||
|
ftextout("<Shift> + < F8 > Gesamt" ,18,45,0,1);
|
|||
|
ftextout("<Shift> + < F10> Exit" ,22,45,0,1);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// **************************
|
|||
|
// *** Infoscreen ***
|
|||
|
// **************************
|
|||
|
SCREEN s_info ()
|
|||
|
{
|
|||
|
int i;
|
|||
|
int slen;
|
|||
|
int pos;
|
|||
|
int pos2;
|
|||
|
int anzahl;
|
|||
|
string temp;
|
|||
|
|
|||
|
ftextout("Information",1,0,1,0);
|
|||
|
ftextout("Nacharbeitsprogramm",4,0,0,0); ftextout(":", 4,33,0,1); ftextout(titel,4,35,0,1);
|
|||
|
ftextout("Version",5,1,0,0); ftextout(":", 5,33,0,1); ftextout(version,5,35,0,1);
|
|||
|
ftextout("Package",6,1,0,0); ftextout(":", 6,33,0,1); ftextout(package,6,35,0,1);
|
|||
|
ftextout("Verantwortung",7,1,0,0); ftextout(":", 7,33,0,1); ftextout(origin,7,35,0,1);
|
|||
|
|
|||
|
ftextout("Gruppendatei",10,0,0,0); ftextout(":",10,33,0,1); ftextout(gruppe,10,35,0,1);
|
|||
|
ftextout("Bezeichnung",11,1,0,0); ftextout(":",11,33,0,1); ftextout(gruppe_ecu,11,35,0,1);
|
|||
|
ftextout("Version",12,1,0,0); ftextout(":",12,33,0,1); ftextout(gruppe_revision,12,35,0,1);
|
|||
|
ftextout("Verantwortung",13,1,0,0); ftextout(":",13,33,0,1); ftextout(gruppe_origin,13,35,0,1);
|
|||
|
ftextout("Identifizierbare SGBD'en",14,1,0,0);
|
|||
|
|
|||
|
strlen(slen, gruppe_comment);
|
|||
|
anzahl=44;
|
|||
|
pos=0;
|
|||
|
if ( slen <= anzahl )
|
|||
|
{
|
|||
|
ftextout(":",14,33,0,1); ftextout(gruppe_comment,14,35,0,1);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
instr(pos2, anzahl, gruppe_comment, ",");
|
|||
|
if (pos2 > 0) anzahl=pos2+1;
|
|||
|
midstr(temp, gruppe_comment, pos, anzahl); ftextout(":",14,33,0,1); ftextout(temp,14,35,0,1);
|
|||
|
i=14;
|
|||
|
pos=pos+anzahl;
|
|||
|
while ( pos < slen )
|
|||
|
{
|
|||
|
i=i+1;
|
|||
|
anzahl=75;
|
|||
|
instr(pos2, pos + anzahl, gruppe_comment, ",");
|
|||
|
if (pos2 > 0) anzahl=pos2+1-pos;
|
|||
|
midstr(temp, gruppe_comment, pos, anzahl); ftextout(temp,i,1,0,1);
|
|||
|
pos=pos+anzahl;
|
|||
|
if ( i >= 18 )
|
|||
|
{
|
|||
|
if ( pos < slen ) ftextout(temp+" . . .",i,1,0,1);
|
|||
|
pos=slen;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
ftextout("Steuerger<65>tebeschreibungsdatei",21,0,0,0); ftextout(":",21,33,0,1); ftextout(sgbd,21,35,0,1);
|
|||
|
ftextout("Steuerger<65>t",22,1,0,0); ftextout(":",22,33,0,1); ftextout(sgbd_ecu,22,35,0,1);
|
|||
|
ftextout("Version",23,1,0,0); ftextout(":",23,33,0,1); ftextout(sgbd_revision,23,35,0,1);
|
|||
|
ftextout("Package",24,1,0,0); ftextout(":",24,33,0,1); ftextout(sgbd_package,24,35,0,1);
|
|||
|
ftextout("Verantwortung",25,1,0,0); ftextout(":",25,33,0,1); ftextout(sgbd_origin,25,35,0,1);
|
|||
|
ftextout("Sprache",26,1,0,0); ftextout(":",26,33,0,1); ftextout(sgbd_sprache,26,35,0,1);
|
|||
|
if (sgbd_comment!="")
|
|||
|
{
|
|||
|
ftextout("Kommentar",27,1,0,0);
|
|||
|
ftextout(":",27,33,0,1);
|
|||
|
ftextout(sgbd_comment,27,35,0,1);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// **************************
|
|||
|
// *** Identscreen DS2 ***
|
|||
|
// **************************
|
|||
|
SCREEN s_ident_ds2()
|
|||
|
{
|
|||
|
ftextout("Identifikation",1,0,1,0);
|
|||
|
ftextout("",3,0,0,0);
|
|||
|
INPAapiJob(sgbd,"IDENT","","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
LINE("","")
|
|||
|
{
|
|||
|
ftextout("BMW Teilenummer",1,0,1,0);
|
|||
|
ftextout(":",1,33,1,0);
|
|||
|
INPAapiResultText(text_var,"ID_BMW_NR",1,"");
|
|||
|
ftextout(text_var,1,35,1,1);
|
|||
|
|
|||
|
ftextout("Hardwarenummer",4,0,1,0);
|
|||
|
ftextout(":",4,33,1,0);
|
|||
|
INPAapiResultText(text_var,"ID_HW_NR",1,"");
|
|||
|
ftextout(text_var,4,35,1,1);
|
|||
|
|
|||
|
ftextout("Softwarenummer",7,0,1,0);
|
|||
|
ftextout(":",7,33,1,0);
|
|||
|
INPAapiResultText(text_var,"ID_SW_NR",1,"");
|
|||
|
ftextout(text_var,7,35,1,1);
|
|||
|
|
|||
|
ftextout("Lieferant",10,0,1,0);
|
|||
|
ftextout(":",10,33,1,0);
|
|||
|
INPAapiResultText(text_var,"ID_LIEF_TEXT",1,"");
|
|||
|
ftextout(text_var,10,35,1,1);
|
|||
|
|
|||
|
ftextout("Codier-Index",13,0,1,0);
|
|||
|
ftextout(":",13,33,1,0);
|
|||
|
INPAapiResultText(text_var,"ID_COD_INDEX",1,"");
|
|||
|
ftextout(text_var,13,35,1,1);
|
|||
|
|
|||
|
ftextout("Diagnose-Index",16,0,1,0);
|
|||
|
ftextout(":",16,33,1,0);
|
|||
|
INPAapiResultText(text_var,"ID_DIAG_INDEX",1,"");
|
|||
|
ftextout(text_var,16,35,1,1);
|
|||
|
|
|||
|
ftextout("Bus-Index",19,0,1,0);
|
|||
|
ftextout(":",19,33,1,0);
|
|||
|
INPAapiResultText(text_var,"ID_BUS_INDEX",1,"");
|
|||
|
ftextout(text_var,19,35,1,1);
|
|||
|
|
|||
|
ftextout("Herstelldatum",22,0,1,0);
|
|||
|
ftextout(":",22,33,1,0);
|
|||
|
ftextout("KW / Jahr",22,55,1,0);
|
|||
|
ftextout("/",22,41,1,1);
|
|||
|
INPAapiResultText(text_var,"ID_DATUM_KW",1,"");
|
|||
|
ftextout(text_var,22,35,1,1);
|
|||
|
INPAapiResultText(text_var,"ID_DATUM_JAHR",1,"");
|
|||
|
ftextout(text_var,22,45,1,1);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// ****************************
|
|||
|
// *** Identscreen BMW Fast ***
|
|||
|
// ****************************
|
|||
|
SCREEN s_ident()
|
|||
|
{
|
|||
|
string text_var;
|
|||
|
int ganz_zahl;
|
|||
|
string job_status="???"; // f<>r Job_Statuskontrolle
|
|||
|
bool fehlerflag; // Fehlerflag
|
|||
|
int errorcode; // EDIABAS Fehlernummer
|
|||
|
string errorcode_text; // EDIABAS Fehlernummer
|
|||
|
string error_text; // EDIABAS Fehlertext
|
|||
|
|
|||
|
ftextout("Identifikation",1,0,1,0);
|
|||
|
ftextout("",3,0,0,1);
|
|||
|
|
|||
|
LINE("Identifikation","")
|
|||
|
{
|
|||
|
INPAapiJob(sgbd,"IDENT","","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
ftextout("BMW Teilenummer",1,0,0,0);
|
|||
|
ftextout(":",1,43,0,0);
|
|||
|
INPAapiResultText(text_var,"ID_BMW_NR",1,"");
|
|||
|
ftextout(text_var,1,45,0,1);
|
|||
|
|
|||
|
ftextout("Codier-Index",3,0,0,0);
|
|||
|
ftextout(":",3,43,0,0);
|
|||
|
INPAapiResultText(text_var,"ID_COD_INDEX",1,"");
|
|||
|
ftextout(text_var,3,45,0,1);
|
|||
|
|
|||
|
ftextout("Varianten-Index",5,0,0,0);
|
|||
|
ftextout(":",5,43,0,0);
|
|||
|
INPAapiResultText(text_var,"ID_VAR_INDEX",1,"");
|
|||
|
ftextout(text_var,5,45,0,1);
|
|||
|
|
|||
|
ftextout("Diagnose-Index",7,0,0,0);
|
|||
|
ftextout(":",7,43,0,0);
|
|||
|
INPAapiResultText(text_var,"ID_DIAG_INDEX",1,"");
|
|||
|
ftextout(text_var,7,45,0,1);
|
|||
|
|
|||
|
ftextout("Hardwarenummer",9,0,0,0);
|
|||
|
ftextout(":",9,43,0,0);
|
|||
|
INPAapiResultText(text_var,"ID_HW_NR",1,"");
|
|||
|
ftextout(text_var,9,45,0,1);
|
|||
|
|
|||
|
ftextout("Softwarenummer Funktionssoftware",11,0,0,0);
|
|||
|
ftextout(":",11,43,0,0);
|
|||
|
INPAapiResultText(text_var,"ID_SW_NR_FSV",1,"");
|
|||
|
ftextout(text_var,11,45,0,1);
|
|||
|
|
|||
|
ftextout("Softwarenummer Betriebssystem",13,0,0,0);
|
|||
|
ftextout(":",13,43,0,0);
|
|||
|
INPAapiResultText(text_var,"ID_SW_NR_OSV",1,"");
|
|||
|
ftextout(text_var,13,45,0,1);
|
|||
|
|
|||
|
ftextout("Softwarenummer Nachrichtenkatalog",15,0,0,0);
|
|||
|
ftextout(":",15,43,0,0);
|
|||
|
INPAapiResultText(text_var,"ID_SW_NR_MCV",1,"");
|
|||
|
ftextout(text_var,15,45,0,1);
|
|||
|
|
|||
|
ftextout("Softwarenummer (Reserve) Zur Zeit nicht benutzt",17,0,0,0);
|
|||
|
ftextout(":",17,43,0,0);
|
|||
|
INPAapiResultText(text_var,"ID_SW_NR_RES",1,"");
|
|||
|
ftextout(text_var,17,45,0,1);
|
|||
|
|
|||
|
ftextout("Herstelldatum",19,0,0,0);
|
|||
|
ftextout(":",19,43,0,0);
|
|||
|
INPAapiResultText(text_var,"ID_DATUM",1,"");
|
|||
|
ftextout(text_var,19,45,0,1);
|
|||
|
|
|||
|
ftextout("Lieferant",21,0,0,0);
|
|||
|
ftextout(":",21,43,0,0);
|
|||
|
INPAapiResultText(text_var,"ID_LIEF_TEXT",1,"");
|
|||
|
ftextout(text_var,21,45,0,1);
|
|||
|
}
|
|||
|
// *** AIF, Anwender-Information
|
|||
|
// *** auf 2. Seite von IDENT
|
|||
|
|
|||
|
LINE("Anwender-Information","")
|
|||
|
{
|
|||
|
INPAapiJob(sgbd,"AIF_LESEN","","");
|
|||
|
INP1apiResultText(fehlerflag,job_status,"JOB_STATUS",1,"");
|
|||
|
INP1apiErrorCode(errorcode);
|
|||
|
ftextout("",10,0,0,0);
|
|||
|
|
|||
|
if ((fehlerflag == FALSE) && (errorcode == 98))//98=SYS-0008: Job nicht gefunden
|
|||
|
{
|
|||
|
ftextout("Kein Anwenderinfofeld (AIF_LESEN) vorhanden" ,3,0,0,0);
|
|||
|
}
|
|||
|
else if (((fehlerflag == FALSE) && (errorcode != 98)) || (job_status != "OKAY"))
|
|||
|
{
|
|||
|
ftextout("Fehler beim Lesen von Job: AIF_LESEN",1,0,0,0);
|
|||
|
if (errorcode != 0)
|
|||
|
{
|
|||
|
inttostring(errorcode, errorcode_text);
|
|||
|
INP1apiErrorText(error_text);
|
|||
|
error_text= "Ediabas-Fehlermeldung Nr.: "+errorcode_text+": "+ error_text;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
error_text= "Job-Status-Fehlermeldung: "+job_status;
|
|||
|
}
|
|||
|
ftextout(error_text ,2,0,0,0);
|
|||
|
ftextout("" ,3,0,0,0);
|
|||
|
INPAapiCheckJobStatus("OKAY");//um Fehler auszugeben
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
INPAapiResultInt(ganz_zahl,"AIF_ANZ_DATEN",1);
|
|||
|
if (ganz_zahl > 18) // lange AIF ausgeben
|
|||
|
{
|
|||
|
ftextout("Fahrgestell Nr.",1,0,0,0);
|
|||
|
ftextout(":",1,43,0,0);
|
|||
|
INPAapiResultText(text_var,"AIF_FG_NR",1,"");
|
|||
|
ftextout(text_var,1,45,0,1);
|
|||
|
|
|||
|
ftextout("Zusammenbau Nr.",3,0,0,0);
|
|||
|
ftextout(":",3,43,0,0);
|
|||
|
INPAapiResultText(text_var,"AIF_ZB_NR",1,"");
|
|||
|
ftextout(text_var,3,45,0,1);
|
|||
|
|
|||
|
ftextout("Programmier-Datum",5,0,0,0);
|
|||
|
ftextout(":",5,43,0,0);
|
|||
|
INPAapiResultText(text_var,"AIF_DATUM",1,"");
|
|||
|
ftextout(text_var,5,45,0,1);
|
|||
|
|
|||
|
ftextout("Datensatz Nr.",7,0,0,0);
|
|||
|
ftextout(":",7,43,0,0);
|
|||
|
INPAapiResultText(text_var,"AIF_SW_NR",1,"");
|
|||
|
ftextout(text_var,7,45,0,1);
|
|||
|
|
|||
|
ftextout("Beh<65>rden Nr.",9,0,0,0);
|
|||
|
ftextout(":",9,43,0,0);
|
|||
|
INPAapiResultText(text_var,"AIF_BEHOERDEN_NR",1,"");
|
|||
|
ftextout(text_var,9,45,0,1);
|
|||
|
|
|||
|
ftextout("H<>ndler Nr.",11,0,0,0);
|
|||
|
ftextout(":",11,43,0,0);
|
|||
|
INPAapiResultText(text_var,"AIF_HAENDLER_NR",1,"");
|
|||
|
ftextout(text_var,11,45,0,1);
|
|||
|
|
|||
|
ftextout("Tester Nr.",13,0,0,0);
|
|||
|
ftextout(":",13,43,0,0);
|
|||
|
INPAapiResultText(text_var,"AIF_SERIEN_NR",1,"");
|
|||
|
ftextout(text_var,13,45,0,1);
|
|||
|
|
|||
|
ftextout("km-Stand",15,0,0,0);
|
|||
|
ftextout(":",15,43,0,0);
|
|||
|
INPAapiResultText(text_var,"AIF_KM",1,"");
|
|||
|
ftextout(text_var,15,45,0,1);
|
|||
|
|
|||
|
ftextout("Programm-Stand",17,0,0,0);
|
|||
|
ftextout(":",17,43,0,0);
|
|||
|
INPAapiResultText(text_var,"AIF_PROG_NR",1,"");
|
|||
|
ftextout(text_var,17,45,0,1);
|
|||
|
|
|||
|
ftextout("Adresse AIF",19,0,0,0);
|
|||
|
ftextout(":",19,43,0,0);
|
|||
|
INPAapiResultInt(ganz_zahl,"AIF_ADRESSE_LOW",1);
|
|||
|
inttohexstring(ganz_zahl,4,text_var);
|
|||
|
ftextout(text_var,19,45,0,1);
|
|||
|
|
|||
|
ftextout("Anzahl freie AIF",21,0,0,0);
|
|||
|
ftextout(":",21,43,0,0);
|
|||
|
INPAapiResultText(text_var,"AIF_ANZ_FREI",1,"");
|
|||
|
ftextout(text_var,21,45,0,1);
|
|||
|
|
|||
|
ftextout("Anzahl Daten AIF",23,0,0,0);
|
|||
|
ftextout(":",23,43,0,0);
|
|||
|
INPAapiResultText(text_var,"AIF_ANZ_DATEN",1,"");
|
|||
|
ftextout(text_var,23,45,0,1);
|
|||
|
}
|
|||
|
else //18 Byte -> kurze AIF ausgeben
|
|||
|
{
|
|||
|
ftextout("Fahrgestell Nr.",1,0,0,0);
|
|||
|
ftextout(":",1,43,0,0);
|
|||
|
INPAapiResultText(text_var,"AIF_FG_NR",1,"");
|
|||
|
ftextout(text_var,1,45,0,1);
|
|||
|
|
|||
|
ftextout("Zusammenbau Nr.",3,0,0,0);
|
|||
|
ftextout(":",3,43,0,0);
|
|||
|
INPAapiResultText(text_var,"AIF_ZB_NR",1,"");
|
|||
|
ftextout(text_var,3,45,0,1);
|
|||
|
|
|||
|
ftextout("Programmier-Datum",5,0,0,0);
|
|||
|
ftextout(":",5,43,0,0);
|
|||
|
INPAapiResultText(text_var,"AIF_DATUM",1,"");
|
|||
|
ftextout(text_var,5,45,0,1);
|
|||
|
|
|||
|
ftextout("Adresse AIF",19,0,0,0);
|
|||
|
ftextout(":",19,43,0,0);
|
|||
|
INPAapiResultInt(ganz_zahl,"AIF_ADRESSE_LOW",1);
|
|||
|
inttohexstring(ganz_zahl,4,text_var);
|
|||
|
ftextout(text_var,19,45,0,1);
|
|||
|
|
|||
|
ftextout("Anzahl freie AIF",21,0,0,0);
|
|||
|
ftextout(":",21,43,0,0);
|
|||
|
INPAapiResultText(text_var,"AIF_ANZ_FREI",1,"");
|
|||
|
ftextout(text_var,21,45,0,1);
|
|||
|
|
|||
|
ftextout("Anzahl Daten AIF",23,0,0,0);
|
|||
|
ftextout(":",23,43,0,0);
|
|||
|
INPAapiResultText(text_var,"AIF_ANZ_DATEN",1,"");
|
|||
|
ftextout(text_var,23,45,0,1);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
LINE("CFG Lesen","")
|
|||
|
{
|
|||
|
INPAapiJob(sgbd,"C_FG_LESEN","","");
|
|||
|
INP1apiResultText(fehlerflag,job_status,"JOB_STATUS",1,"");
|
|||
|
INP1apiErrorCode(errorcode);
|
|||
|
ftextout("Codierdaten",0,0,0,1);
|
|||
|
ftextout("",10,0,0,0);// um auf einer neuen Seite darzustellen
|
|||
|
|
|||
|
if ((fehlerflag == FALSE) && (errorcode == 98))//98=SYS-0008: Job nicht gefunden
|
|||
|
{
|
|||
|
ftextout("Kein Fahrgestellnummer lesen (CFG_LESEN) vorhanden " ,3,0,0,0);
|
|||
|
}
|
|||
|
else if (((fehlerflag == FALSE) && (errorcode != 98)) || (job_status != "OKAY"))
|
|||
|
{
|
|||
|
ftextout("Fehler beim Lesen von Job: C_FG_LESEN",1,0,0,0);
|
|||
|
if (errorcode != 0)
|
|||
|
{
|
|||
|
inttostring(errorcode, errorcode_text);
|
|||
|
INP1apiErrorText(error_text);
|
|||
|
error_text= "Ediabas-Fehlermeldung Nr.: "+errorcode_text+": "+ error_text;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
error_text= "Job-Status-Fehlermeldung: "+job_status;
|
|||
|
}
|
|||
|
ftextout(error_text ,2,0,0,0);
|
|||
|
ftextout("" ,3,0,0,0);
|
|||
|
INPAapiCheckJobStatus("OKAY");//um Fehler auszugeben
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
ftextout("Fahrgestell Nr.",3,0,0,0);
|
|||
|
ftextout(":",3,43,0,0);
|
|||
|
INPAapiResultText(text_var,"FG_NR",1,"");
|
|||
|
ftextout(text_var,3,45,0,1);
|
|||
|
}
|
|||
|
|
|||
|
INPAapiJob(sgbd,"C_AEI_LESEN","","");
|
|||
|
INP1apiResultText(fehlerflag,job_status,"JOB_STATUS",1,"");
|
|||
|
INP1apiErrorCode(errorcode);
|
|||
|
|
|||
|
if ((fehlerflag == FALSE) && (errorcode == 98))//98=SYS-0008: Job nicht gefunden
|
|||
|
{
|
|||
|
ftextout("Kein Codierdaten<65>nderungsindex (C_AEI_LESEN) vorhanden" ,3,0,0,0);
|
|||
|
}
|
|||
|
else if (((fehlerflag == FALSE) && (errorcode != 98)) || (job_status != "OKAY"))
|
|||
|
{
|
|||
|
INPAapiCheckJobStatus("OKAY");//um Fehler auszugeben
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
ftextout("Codierdaten<65>nderungsindex",6,0,0,0);
|
|||
|
ftextout(":",6,43,0,0);
|
|||
|
INPAapiResultText(text_var,"COD_AE_INDEX",1,"");
|
|||
|
ftextout(text_var,6,45,0,1);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// ****************************************************************************
|
|||
|
// *** Identinformationen werden <20>ber SVK_LESEN ermittelt ***
|
|||
|
// *** SVK: Steuerger<65>eVerbauKennung Soft- und Hardware f<>r UDS (ISO 14229) ***
|
|||
|
// ****************************************************************************
|
|||
|
SCREEN s_svk_lesen()
|
|||
|
{
|
|||
|
string text_var;
|
|||
|
string text_var2;
|
|||
|
int ganz_zahl;
|
|||
|
string job_status="???"; // f<>r Job_Statuskontrolle
|
|||
|
bool fehlerflag; // Fehlerflag
|
|||
|
int sets; // Anzahl sets
|
|||
|
int errorcode; // EDIABAS Fehlernummer
|
|||
|
string errorcode_text; // EDIABAS Fehlernummer
|
|||
|
string error_text; // EDIABAS Fehlertext als Text
|
|||
|
bool eingabeWeiter;
|
|||
|
int input_state; // Eingabestatus
|
|||
|
int input_ok=1; // Eingabe mit Nein beendet
|
|||
|
int i;
|
|||
|
int offset;
|
|||
|
int einheiten_anz;
|
|||
|
int pos;
|
|||
|
real realval;
|
|||
|
real realval2;
|
|||
|
long longval;
|
|||
|
long rest_long;
|
|||
|
long multiplik_long;
|
|||
|
|
|||
|
ftextout("Steuerger<65>teverbaukennung Soft- und Hardware",1,0,1,0);
|
|||
|
ftextout("",2,0,0,1);
|
|||
|
LINE("Hersteller Information","")
|
|||
|
{//HERSTELLINFO_LESEN ist kein Pflichtjob! (Stand: 03.2006)
|
|||
|
INPAapiJob(sgbd,"HERSTELLINFO_LESEN","","");
|
|||
|
INP1apiResultText(fehlerflag,job_status,"JOB_STATUS",1,"");
|
|||
|
INP1apiErrorCode(errorcode);
|
|||
|
if ((fehlerflag == FALSE) && (errorcode == 98))//98=SYS-0008: Job nicht gefunden
|
|||
|
{
|
|||
|
ftextout("Keine Herstellerinformationen vorhanden" ,1,0,0,0);
|
|||
|
ftextout("" ,2,0,0,0);
|
|||
|
}
|
|||
|
else if (((fehlerflag == FALSE) && (errorcode != 98)) || (job_status != "OKAY"))
|
|||
|
{
|
|||
|
ftextout("Fehler beim Lesen von Job: HERSTELLINFO_LESEN",1,0,0,0);
|
|||
|
if (errorcode != 0)
|
|||
|
{
|
|||
|
inttostring(errorcode, errorcode_text);
|
|||
|
INP1apiErrorText(error_text);
|
|||
|
error_text= "Ediabas-Fehlermeldung Nr.: "+errorcode_text+": "+ error_text;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
error_text= "Job-Status-Fehlermeldung: "+job_status;
|
|||
|
}
|
|||
|
ftextout(error_text ,2,0,0,0);
|
|||
|
ftextout("" ,3,0,0,0);
|
|||
|
INPAapiCheckJobStatus("OKAY");//um Fehler auszugeben
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
ftextout("Herstelldatum",1,0,0,0);
|
|||
|
ftextout(":",1,41,0,0);
|
|||
|
INPAapiResultText(text_var,"ID_DATUM",1,"");
|
|||
|
ftextout(text_var,1,45,0,1);
|
|||
|
|
|||
|
ftextout("Lieferant",2,0,0,0);
|
|||
|
ftextout(":",2,41,0,0);
|
|||
|
INPAapiResultText(text_var,"ID_LIEF_TEXT",1,"");
|
|||
|
ftextout(text_var,2,45,0,1);
|
|||
|
ftextout("--------------------------------------------------------------------------------------------------------------------------------",3,0,0,0);
|
|||
|
ftextout("",4,0,0,0);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
LINE("Ident","")
|
|||
|
{
|
|||
|
INPAapiJob(sgbd,"IDENT","","");
|
|||
|
INP1apiResultText(fehlerflag,job_status,"JOB_STATUS",1,"");
|
|||
|
INP1apiErrorCode(errorcode);
|
|||
|
/* if ((fehlerflag == FALSE) && (errorcode == 98))//98=SYS-0008: Job nicht gefunden
|
|||
|
{
|
|||
|
ftextout("Kein Ident vorhanden" ,1,0,0,0);
|
|||
|
ftextout("" ,2,0,0,0);
|
|||
|
}
|
|||
|
else */if (((fehlerflag == FALSE) /*&& (errorcode != 98)*/) || (job_status != "OKAY"))
|
|||
|
{
|
|||
|
ftextout("Fehler beim Lesen von Job: IDENT",1,0,0,0);
|
|||
|
if (errorcode != 0)
|
|||
|
{
|
|||
|
inttostring(errorcode, errorcode_text);
|
|||
|
INP1apiErrorText(error_text);
|
|||
|
error_text= "Ediabas-Fehlermeldung Nr.: "+errorcode_text+": "+ error_text;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
error_text= "Job-Status-Fehlermeldung: "+job_status;
|
|||
|
}
|
|||
|
ftextout(error_text ,2,0,0,0);
|
|||
|
ftextout("" ,3,0,0,0);
|
|||
|
INPAapiCheckJobStatus("OKAY");//um Fehler auszugeben
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
ftextout("Steuerger<65>te-Adresse",1,0,0,0);
|
|||
|
ftextout(":",1,41,0,0);
|
|||
|
INPAapiResultInt(ganz_zahl,"ID_SG_ADR",1);
|
|||
|
inttohexstring(ganz_zahl,4,text_var);
|
|||
|
//F<>hrende Nullen ausblenden
|
|||
|
if (ganz_zahl <= 255) midstr(text_var,text_var,2,2);
|
|||
|
ftextout("0x"+text_var,1,45,0,1);
|
|||
|
|
|||
|
ftextout("SGBD-Index",2,0,0,0);
|
|||
|
ftextout(":",2,41,0,0);
|
|||
|
INPAapiResultBinary("_RESPONSE",1);
|
|||
|
GetBinaryDataString (text_var,i);
|
|||
|
midstr(text_var,text_var,6,11);
|
|||
|
|
|||
|
ftextout("0x"+text_var,2,45,0,1);
|
|||
|
ftextout("--------------------------------------------------------------------------------------------------------------------------------",3,0,0,0);
|
|||
|
ftextout("",4,0,0,0);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
LINE("SVK","")
|
|||
|
{
|
|||
|
INPAapiJob(sgbd,"SVK_LESEN","","");
|
|||
|
//INPAapiCheckJobStatus("OKAY"); //nicht anwendbar, da es mehrere Sets gibt und JOB_STATUS im letzten steht. Daher Fehlerausgabe manuell umsetzen
|
|||
|
sets=0;
|
|||
|
INP1apiResultSets(fehlerflag,sets);
|
|||
|
|
|||
|
if ((fehlerflag == FALSE) || (sets <= 1))
|
|||
|
{
|
|||
|
ftextout("Fehler beim Lesen von Job: SVK_LESEN",1,0,0,0);
|
|||
|
INP1apiErrorCode(errorcode);
|
|||
|
if (errorcode != 0)
|
|||
|
{
|
|||
|
inttostring(errorcode, errorcode_text);
|
|||
|
INP1apiErrorText(error_text);
|
|||
|
error_text= "Ediabas-Fehlermeldung Nr.: "+errorcode_text+": "+ error_text;
|
|||
|
ftextout(error_text ,2,0,0,0);
|
|||
|
INPAapiResultSets(sets);//um Fehler auszugeben. Bsp.: IFH-0009: NO RESPONSE FROM CONTROLUNIT
|
|||
|
}
|
|||
|
else
|
|||
|
{//Nur m<>glich, da bei diesem Fehler der letzte Satz=1!
|
|||
|
INP1apiResultText(fehlerflag,job_status,"JOB_STATUS",sets,"");
|
|||
|
error_text= "Job-Status-Fehlermeldung: "+job_status;
|
|||
|
ftextout(error_text,2,0,0,0);
|
|||
|
INPAapiCheckJobStatus("OKAY");//um Fehler auszugeben. Bsp.: JOB_STATUS= ERROR_ECU_INCORRECT_LEN
|
|||
|
}
|
|||
|
ftextout("" ,3,0,0,0);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
INPAapiResultText(text_var,"PROG_DATUM",sets,"");
|
|||
|
ftextout("Programm-Datum",0,0,0,0);
|
|||
|
ftextout(":",0,41,0,0);
|
|||
|
ftextout(text_var,0,45,0,1);
|
|||
|
|
|||
|
INPAapiResultText(text_var,"PROG_KM",sets,"");
|
|||
|
if (text_var == "-1") text_var= "- - -";
|
|||
|
ftextout("Programm-km",1,0,0,0);
|
|||
|
ftextout(":",1,41,0,0);
|
|||
|
ftextout(text_var,1,45,0,1);
|
|||
|
|
|||
|
INPAapiResultText(text_var,"ANZAHL_EINHEITEN",sets,"");
|
|||
|
INPAapiResultInt(einheiten_anz,"ANZAHL_EINHEITEN",sets);
|
|||
|
ftextout("Anzahl Proze<7A>klassen",2,0,0,0);
|
|||
|
ftextout(":",2,41,0,0);
|
|||
|
ftextout(text_var,2,45,0,1);
|
|||
|
|
|||
|
ftextout("Proze<7A>klasse",5,2,0,1);
|
|||
|
ftextout("SGBM Identifier ",5,43,0,1);
|
|||
|
ftextout("Version",5,62,0,1);
|
|||
|
|
|||
|
i=1;
|
|||
|
offset=0;
|
|||
|
while(i<=einheiten_anz)
|
|||
|
{
|
|||
|
inttostring(i,text_var2);
|
|||
|
INPAapiResultText(text_var,"PROZESSKLASSE_TEXT",i,"");
|
|||
|
ftextout(text_var2+") "+text_var,6+offset,0,0,0);
|
|||
|
|
|||
|
//SGBM Identifier
|
|||
|
ftextout(":",6+offset,41,0,0);
|
|||
|
INPAapiResultText(text_var,"SGBM_IDENTIFIER",i,"");
|
|||
|
ftextout(text_var,6+offset,45,0,1);
|
|||
|
|
|||
|
//Version
|
|||
|
INPAapiResultText(text_var,"VERSION",i,"");
|
|||
|
ftextout(text_var,6+offset,62,0,1);
|
|||
|
i=i+1;//um n<>chsten Set zu laden
|
|||
|
offset=offset+1;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// **************************
|
|||
|
// *** Speicherscreen ***
|
|||
|
// **************************
|
|||
|
SCREEN s_speicher()
|
|||
|
{
|
|||
|
ftextout("Speicher lesen",1,0,1,0);
|
|||
|
ftextout("",3,0,0,0);
|
|||
|
LINE("","")
|
|||
|
{
|
|||
|
if (speicher_lesen_lar_flag==TRUE) ftextout("< F1 > LAR lesen" , 4,5,0,1);
|
|||
|
if (speicher_lesen_flash_flag==TRUE) ftextout("< F2 > FLASH lesen" , 6,5,0,1);
|
|||
|
if (speicher_lesen_uifm_flag==TRUE) ftextout("< F3 > UIFM lesen" , 8,5,0,1);
|
|||
|
if (speicher_lesen_romi_flag==TRUE) ftextout("< F4 > ROMI lesen" ,10,5,0,1);
|
|||
|
if (speicher_lesen_ramis_flag==TRUE) ftextout("< F5 > RAMIS lesen" ,12,5,0,1);
|
|||
|
if (speicher_lesen_ramil_flag==TRUE) ftextout("< F6 > RAMIL lesen" ,14,5,0,1);
|
|||
|
if (speicher_lesen_nvram_flag==TRUE) ftextout("< F7 > NVRAM lesen" ,16,5,0,1);
|
|||
|
if (speicher_lesen_romx_flag==TRUE) ftextout("<Shift> + < F4 > ROMX lesen" ,10,45,0,1);
|
|||
|
if (speicher_lesen_ramxx_flag==TRUE) ftextout("<Shift> + < F5 > RAMXX lesen" ,12,45,0,1);
|
|||
|
|
|||
|
ftextout("< F9 > Bildschirmdruck" ,20,5,0,1);
|
|||
|
ftextout("< F10> Zur<75>ck" ,22,5,0,1);
|
|||
|
ftextout("<Shift> + < F10> Exit" ,22,45,0,1);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// **************************
|
|||
|
// *** Speicherscreen ***
|
|||
|
// *** Ausgabe ***
|
|||
|
// **************************
|
|||
|
SCREEN s_speicher_ausgabe()
|
|||
|
{
|
|||
|
string text_var;
|
|||
|
string job_state;
|
|||
|
|
|||
|
ftextout(speicher_lesen_text,1,0,1,0);
|
|||
|
ftextout("",3,0,0,0);
|
|||
|
INPAapiJob(sgbd,"SPEICHER_LESEN",speicher_lesen_seg_adr_anz,"");
|
|||
|
INPAapiResultText(job_state,"JOB_STATUS",1,"");
|
|||
|
LINE("","")
|
|||
|
{
|
|||
|
ftextout("Startadresse",1,0,0,0);
|
|||
|
ftextout(":",1,18,0,1);
|
|||
|
ftextout(speicher_lesen_adresse,1,20,0,1);
|
|||
|
ftextout("Anzahl",3,0,0,0);
|
|||
|
ftextout(":",3,18,0,1);
|
|||
|
inttostring(speicher_lesen_anzahl,text_var);
|
|||
|
ftextout(text_var,3,20,0,1);
|
|||
|
ftextout("Daten",5,0,0,0);
|
|||
|
ftextout(":",5,18,0,1);
|
|||
|
if(job_state != "OKAY")
|
|||
|
ftextout(job_state,5,20,0,1);
|
|||
|
else
|
|||
|
{
|
|||
|
INPAapiResultBinary("DATEN",1);
|
|||
|
hexdump(speicher_lesen_adresse,speicher_lesen_anzahl,5,20);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// **************************
|
|||
|
// *** Fehlerscreen ***
|
|||
|
// **************************
|
|||
|
SCREEN s_fehler()
|
|||
|
{
|
|||
|
ftextout("Fehlerspeicher",1,0,1,0);
|
|||
|
ftextout("",3,0,0,0);
|
|||
|
LINE("","")
|
|||
|
{
|
|||
|
if (fs_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
ftextout("< F1 > Fehlerspeicher lesen" , 4,5,0,1);
|
|||
|
ftextout("< F2 > Fehlerspeicher l<>schen" , 6,5,0,1);
|
|||
|
ftextout("< F9 > Fehlerspeicher drucken" ,20,5,0,1);
|
|||
|
if (fs_lesen_save_as_flag == TRUE)
|
|||
|
ftextout("<Shift> + < F9 > Fehlerspeicher speichern" ,20,45,0,1);
|
|||
|
}
|
|||
|
|
|||
|
if (is_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
ftextout("< F3 > Infospeicher lesen" , 8,5,0,1);
|
|||
|
if (is_loeschen_flag == TRUE) ftextout("< F4 > Infospeicher l<>schen" ,10,5,0,1);
|
|||
|
ftextout("< F8 > Infospeicher drucken" ,18,5,0,1);
|
|||
|
if (is_lesen_save_as_flag == TRUE)
|
|||
|
ftextout("<Shift> + < F8 > Infospeicher speichern" ,18,45,0,1);
|
|||
|
}
|
|||
|
|
|||
|
if (hs_lesen_flag == TRUE)
|
|||
|
{
|
|||
|
ftextout("< F5 > Historienspeicher lesen" ,12,5,0,1);
|
|||
|
if (hs_loeschen_flag == TRUE) ftextout("< F6 > Historienspeicher l<>schen" ,14,5,0,1);
|
|||
|
ftextout("< F7 > Historienspeicher drucken" ,16,5,0,1);
|
|||
|
if (hs_lesen_save_as_flag == TRUE)
|
|||
|
ftextout("<Shift> + < F7 > Historienspeicher speichern",16,45,0,1);
|
|||
|
}
|
|||
|
ftextout("< F10> Zur<75>ck" ,22,5,0,1);
|
|||
|
ftextout("<Shift> + < F10> Exit" ,22,45,0,1);
|
|||
|
}
|
|||
|
}
|
|||
|
// -- EOF --
|
|||
|
// end of :#include "bmw_std.src"
|
|||
|
|
|||
|
// ****************************************************
|
|||
|
// *** Unterprogramme ***
|
|||
|
// ****************************************************
|
|||
|
getBaureihe()
|
|||
|
{
|
|||
|
INPAapiJob(sgbd,"STATUS_ECU_VARIANTE","","");
|
|||
|
INPAapiCheckJobStatus("OKAY") ;
|
|||
|
INPAapiResultText(text_var, "STAT_BAUREIHE_TEXT", 1, "");
|
|||
|
|
|||
|
if (text_var == "R56")
|
|||
|
baureihe_R5x= TRUE;
|
|||
|
else
|
|||
|
baureihe_R5x= FALSE;
|
|||
|
|
|||
|
if (text_var == "E70")
|
|||
|
baureihe_E70= TRUE;
|
|||
|
else
|
|||
|
baureihe_E70= FALSE;
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
getAusstattung()
|
|||
|
{
|
|||
|
INPAapiJob(sgbd,"STATUS_CODIERBITS","","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
|
|||
|
// Gurtbringer
|
|||
|
INPAapiResultDigital(logik_var,"STAT_GURTBRINGER",1);
|
|||
|
|
|||
|
if (logik_var == TRUE)
|
|||
|
LBGurtbringer = TRUE;
|
|||
|
else
|
|||
|
// LBGurtbringer = FALSE;
|
|||
|
LBGurtbringer = TRUE; // tempor<6F>r immer TRUE!!!!
|
|||
|
|
|||
|
// LIN-Spiegel
|
|||
|
INPAapiResultDigital(logik_var,"STAT_LIN_SPIEGEL",1);
|
|||
|
|
|||
|
if (logik_var == TRUE)
|
|||
|
LBLinSpiegel = TRUE;
|
|||
|
else
|
|||
|
LBLinSpiegel = FALSE;
|
|||
|
|
|||
|
|
|||
|
// ALC
|
|||
|
INPAapiResultDigital(logik_var,"STAT_ALC_SYSTEM",1);
|
|||
|
|
|||
|
if (logik_var == TRUE)
|
|||
|
LBALC = TRUE;
|
|||
|
else
|
|||
|
LBALC = FALSE;
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
// ****************************************************
|
|||
|
// *** Initialisierungsfunktion ***
|
|||
|
// ****************************************************
|
|||
|
ScriptInit()
|
|||
|
{
|
|||
|
settitle(titel+" Version "+version);
|
|||
|
|
|||
|
// Baureihe abholen
|
|||
|
getBaureihe();
|
|||
|
getAusstattung();
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
// ****************************************************
|
|||
|
// *** M e n <20> a u f b a u ***
|
|||
|
// ****************************************************
|
|||
|
|
|||
|
// **************************
|
|||
|
// *** Statusmen<65> ***
|
|||
|
// **************************
|
|||
|
MENU m_status()
|
|||
|
{
|
|||
|
INIT {
|
|||
|
setmenutitle("Status lesen");
|
|||
|
|
|||
|
|
|||
|
// Anzeige der Gurtbringer nur, wenn auch verbaut
|
|||
|
if (LBGurtbringer == TRUE)
|
|||
|
setitem(7,"Gurtbringer",TRUE);
|
|||
|
else
|
|||
|
setitem(7,"Gurtbringer",FALSE);
|
|||
|
|
|||
|
// Anzeige LIN-Spiegel
|
|||
|
if (LBLinSpiegel == TRUE)
|
|||
|
setitem(6,"Spiegel",TRUE);
|
|||
|
else
|
|||
|
setitem(6,"Spiegel",FALSE);
|
|||
|
|
|||
|
// Anpassungen R56
|
|||
|
if (baureihe_R5x == TRUE)
|
|||
|
{
|
|||
|
setitem(2,"Tastenblock",FALSE); // Tastenblock gibt es nicht
|
|||
|
setitem(3,"Lenkstock",TRUE); // Beim R56 reduziert sich die Anzeige auf den lenkstock
|
|||
|
setitem(11 ,"Denor.-Log.",FALSE);
|
|||
|
setitem(12 ,"Rev.-Log.",FALSE);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
setitem(2,"Tastenblock",TRUE);
|
|||
|
setitem(3,"Taster",TRUE);
|
|||
|
}
|
|||
|
}
|
|||
|
ITEM( 1 ,"Fensterheber")
|
|||
|
{
|
|||
|
setscreen( s_status_fh ,TRUE);
|
|||
|
}
|
|||
|
ITEM( 2 ,"Tastenblock")
|
|||
|
{
|
|||
|
setscreen( s_status_tastenblock ,TRUE);
|
|||
|
}
|
|||
|
|
|||
|
ITEM( 3 , "Taster")
|
|||
|
{
|
|||
|
setscreen( s_status_taster ,TRUE);
|
|||
|
}
|
|||
|
|
|||
|
ITEM( 4 ,"Tuer")
|
|||
|
{
|
|||
|
setscreen( s_status_tuer ,TRUE);
|
|||
|
}
|
|||
|
|
|||
|
ITEM( 5 ,"LWR,ALC,Achse")
|
|||
|
{
|
|||
|
setscreen( s_status_licht ,TRUE);
|
|||
|
}
|
|||
|
ITEM( 6 ,"Spiegel")
|
|||
|
{
|
|||
|
setscreen( s_status_spiegel ,TRUE);
|
|||
|
}
|
|||
|
ITEM( 7 ,"Gurtbringer")
|
|||
|
{
|
|||
|
setscreen( s_status_gurt ,TRUE);
|
|||
|
}
|
|||
|
ITEM( 8 ,"")
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
ITEM(18 ,"Gesamt") {
|
|||
|
start();
|
|||
|
deselect();
|
|||
|
}
|
|||
|
ITEM( 9 ,"Druck") {
|
|||
|
printscreen();
|
|||
|
}
|
|||
|
ITEM( 10 ,"Zur<75>ck") {
|
|||
|
setscreen( s_main ,TRUE);
|
|||
|
setmenu( m_main );
|
|||
|
}
|
|||
|
|
|||
|
ITEM( 11 ,"Denor.-Log.")
|
|||
|
{
|
|||
|
setscreen( s_status_logger_denorm ,TRUE);
|
|||
|
}
|
|||
|
|
|||
|
ITEM( 12 ,"Rev.-Log.")
|
|||
|
{
|
|||
|
setscreen( s_status_logger_rev ,TRUE);
|
|||
|
}
|
|||
|
|
|||
|
ITEM( 14 ,"Lampen Digital")
|
|||
|
{
|
|||
|
setscreen( s_status_lampen ,TRUE);
|
|||
|
}
|
|||
|
|
|||
|
ITEM( 20 ,"Exit") {
|
|||
|
exit();
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
// **************************
|
|||
|
// *** Steuernmen<65> ***
|
|||
|
// **************************
|
|||
|
MENU m_steuern()
|
|||
|
{
|
|||
|
INIT {
|
|||
|
setmenutitle("Steuern");
|
|||
|
|
|||
|
if (baureihe_R5x == FALSE)
|
|||
|
setitem( 1 ,"Init. Fenster.",TRUE);
|
|||
|
else
|
|||
|
setitem( 1 ,"",FALSE); // R56 hat keinen EKS!
|
|||
|
|
|||
|
// Ansteuerung Spiegel, nur wenn auch verbaut
|
|||
|
if (LBLinSpiegel == TRUE)
|
|||
|
setitem(3,"Spiegel",TRUE);
|
|||
|
else
|
|||
|
setitem(3,"Spiegel",FALSE);
|
|||
|
|
|||
|
// Ansteuerung ALC, nur wenn verbaut
|
|||
|
if (LBALC == TRUE)
|
|||
|
setitem(4,"ALC",TRUE);
|
|||
|
else
|
|||
|
setitem(4,"ALC",FALSE);
|
|||
|
|
|||
|
// Gurtbringer
|
|||
|
if (LBGurtbringer == TRUE)
|
|||
|
setitem(5,"Gurtbringer",TRUE);
|
|||
|
else
|
|||
|
setitem(5,"Gurtbringer",FALSE);
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
// ITEM( 1 ,"init. Fensterheber")
|
|||
|
ITEM( 1 ,"Init. Fenster.")
|
|||
|
{
|
|||
|
setmenu(m_steuern_init_fh);
|
|||
|
setscreen( s_steuern_init_fh ,TRUE);
|
|||
|
}
|
|||
|
ITEM( 2 ,"FH verfahren")
|
|||
|
{
|
|||
|
setmenu(m_steuern_fh_verfahren);
|
|||
|
setscreen( s_steuern_fh_verfahren ,TRUE);
|
|||
|
}
|
|||
|
|
|||
|
ITEM( 3 ,"Spiegel")
|
|||
|
{
|
|||
|
setmenu(m_steuern_spiegelheizung);
|
|||
|
setscreen( s_steuern_spiegelheizung ,TRUE);
|
|||
|
}
|
|||
|
ITEM( 4 ,"ALC")
|
|||
|
{
|
|||
|
setmenu(m_steuern_alc);
|
|||
|
setscreen( s_steuern_alc ,TRUE);
|
|||
|
}
|
|||
|
ITEM( 5 ,"Gurtbringer")
|
|||
|
{
|
|||
|
setmenu(m_steuern_gurt);
|
|||
|
setscreen( s_steuern_gurt ,TRUE);
|
|||
|
}
|
|||
|
ITEM( 6 ,"Lampen")
|
|||
|
{
|
|||
|
setmenu(m_steuern_lampen);
|
|||
|
setscreen( s_steuern_lampen ,TRUE);
|
|||
|
|
|||
|
}
|
|||
|
ITEM( 7 ,"")
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
ITEM( 8 ,"")
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
ITEM(18 ,"Gesamt") {
|
|||
|
start();
|
|||
|
deselect();
|
|||
|
}
|
|||
|
ITEM( 9 ,"Druck") {
|
|||
|
printscreen();
|
|||
|
}
|
|||
|
ITEM( 10 ,"Zur<75>ck") {
|
|||
|
setscreen( s_main ,TRUE);
|
|||
|
setmenu( m_main );
|
|||
|
}
|
|||
|
ITEM( 20 ,"Exit") {
|
|||
|
exit();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// *************************************************
|
|||
|
// *** Steuernmen<65> Fenster Initialisierung ***
|
|||
|
// *************************************************
|
|||
|
MENU m_steuern_init_fh()
|
|||
|
{
|
|||
|
int input_state; // Eingabestatus
|
|||
|
int input_ok=0; // Eingabe mit OK beendet
|
|||
|
INIT {
|
|||
|
setmenutitle("Einlernen / Denormieren Fenster");
|
|||
|
if (baureihe_R5x == FALSE)
|
|||
|
{
|
|||
|
setitem(1, "init. alle",TRUE);
|
|||
|
setitem(2, "init. vorne",TRUE);
|
|||
|
setitem(3, "init. hinten",TRUE);
|
|||
|
setitem(4, "denor. alle",TRUE);
|
|||
|
setitem(5, "denor. vorne",TRUE);
|
|||
|
setitem(6, "denor. hinten",TRUE);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
setitem(1, "",FALSE);
|
|||
|
setitem(2, "Init",TRUE);
|
|||
|
setitem(3, "",FALSE);
|
|||
|
setitem(4, "",FALSE);
|
|||
|
setitem(5, "Denor.",TRUE);
|
|||
|
setitem(6, "",FALSE);
|
|||
|
}
|
|||
|
}
|
|||
|
ITEM( 1 ,"init. alle")
|
|||
|
{
|
|||
|
inputdigital(logik_var,"Fensterinitialisierung alle"
|
|||
|
," !!! K E I N Einklemmschutz !!!" +CRLF+
|
|||
|
""+CRLF+
|
|||
|
"Auswahl <20>ber Cursortasten:","Jetzt durchf<68>hren.", "Vorgang abbrechen.");
|
|||
|
getinputstate(input_state);
|
|||
|
if ((input_state==input_ok) && (!logik_var))
|
|||
|
{
|
|||
|
// Die hinteren Fenster werden <20>ber die Junction-Box eingelernt
|
|||
|
INPAapiJob(sgbd2,"STEUERN_FENSTERHEBER_EINLERNEN","0x22","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
// Die vorderen Fenster werden <20>ber das Fussraum-Modul eingelernt
|
|||
|
INPAapiJob(sgbd,"STEUERN_FENSTERHEBER_EINLERNEN","0x21","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
}
|
|||
|
}
|
|||
|
ITEM( 2 ,"init. vorne")
|
|||
|
{
|
|||
|
// messagebox("ACHTUNG","Vordere Fenster werden eingelernt !!!" + "K E I N Einklemmschutz !!!" );
|
|||
|
if (baureihe_R5x == TRUE)
|
|||
|
text_var= "";
|
|||
|
else text_var= "vorne";
|
|||
|
inputdigital(logik_var,"Fensterinitialisierung "+text_var
|
|||
|
," !!! K E I N Einklemmschutz !!!" +CRLF+
|
|||
|
""+CRLF+
|
|||
|
"Auswahl <20>ber Cursortasten:","Jetzt durchf<68>hren.", "Vorgang abbrechen.");
|
|||
|
getinputstate(input_state);
|
|||
|
if ((input_state==input_ok) && (!logik_var))
|
|||
|
{
|
|||
|
// Die vorderen Fenster werden <20>ber das Fussraum-Modul eingelernt
|
|||
|
INPAapiJob(sgbd,"STEUERN_FENSTERHEBER_EINLERNEN","0x21","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
}
|
|||
|
}
|
|||
|
ITEM( 3 ,"init. hinten")
|
|||
|
{
|
|||
|
messagebox("ACHTUNG","Hintere Fenster werden eingelernt !!!" + "K E I N Einklemmschutz !!!" );
|
|||
|
|
|||
|
// Die hinteren Fenster werden <20>ber die Junction-Box eingelernt
|
|||
|
INPAapiJob(sgbd2,"STEUERN_FENSTERHEBER_EINLERNEN","0x22","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
}
|
|||
|
ITEM( 4 ,"denor. alle")
|
|||
|
{
|
|||
|
// Die hinteren Fenster werden <20>ber die Junction-Box denormiert
|
|||
|
INPAapiJob(sgbd2,"STEUERN_FENSTERHEBER_DENORMIEREN","0x22","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
// Die vorderen Fenster werden <20>ber das Fussraum-Modul denormiert
|
|||
|
INPAapiJob(sgbd,"STEUERN_FENSTERHEBER_DENORMIEREN","0x21","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
}
|
|||
|
ITEM( 5 ,"denor. vorne")
|
|||
|
{
|
|||
|
// Die vorderen Fenster werden <20>ber das Fussraum-Modul denormiert
|
|||
|
INPAapiJob(sgbd,"STEUERN_FENSTERHEBER_DENORMIEREN","0x21","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
}
|
|||
|
ITEM( 6 ,"denor. hinten")
|
|||
|
{
|
|||
|
// Die hinteren Fenster werden <20>ber die Junction-Box denormiert
|
|||
|
INPAapiJob(sgbd2,"STEUERN_FENSTERHEBER_DENORMIEREN","0x22","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
}
|
|||
|
ITEM( 7 ,"")
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
ITEM( 8 ,"")
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
ITEM(18 ,"Gesamt") {
|
|||
|
start();
|
|||
|
deselect();
|
|||
|
}
|
|||
|
ITEM( 9 ,"Druck") {
|
|||
|
printscreen();
|
|||
|
}
|
|||
|
ITEM( 10 ,"Zur<75>ck") {
|
|||
|
setscreen( s_steuern ,TRUE);
|
|||
|
setmenu( m_steuern );
|
|||
|
}
|
|||
|
ITEM( 20 ,"Exit") {
|
|||
|
exit();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// *************************************************
|
|||
|
// *** Steuernmen<65> Fenster verfahren ***
|
|||
|
// *************************************************
|
|||
|
MENU m_steuern_fh_verfahren()
|
|||
|
{
|
|||
|
INIT {
|
|||
|
setmenutitle("Verfahren Fenster");
|
|||
|
|
|||
|
if (baureihe_R5x == FALSE)
|
|||
|
{
|
|||
|
setitem(1, "Schliess. alle",TRUE);
|
|||
|
setitem(2, "Schliess. vorne",TRUE);
|
|||
|
setitem(3, "Schliess. hinten",TRUE);
|
|||
|
setitem(4, "<22>ffnen alle",TRUE);
|
|||
|
setitem(5, "<22>ffnen vorne",TRUE);
|
|||
|
setitem(6, "<22>ffnen hinten",TRUE);
|
|||
|
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
setitem(1, "Schliessen",TRUE);
|
|||
|
setitem(2, "<22>ffnen",TRUE);
|
|||
|
setitem(3, "",FALSE);
|
|||
|
setitem(4, "",FALSE);
|
|||
|
setitem(5, "",FALSE);
|
|||
|
setitem(6, "",FALSE);
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
ITEM( 1 ,"Schliess. alle")
|
|||
|
{
|
|||
|
|
|||
|
messagebox("ACHTUNG","Alle Fenster werden verfahren !!!" + "K E I N Einklemmschutz !!!" );
|
|||
|
|
|||
|
if (baureihe_R5x == FALSE)
|
|||
|
{
|
|||
|
|
|||
|
// Die hinteren Fenster werden <20>ber die Junction-Box verfahren
|
|||
|
INPAapiJob(sgbd2,"STEUERN_FENSTERHEBER_HINTEN","2;50;2;50","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
// Die vorderen Fenster werden <20>ber das Fussraum-Modul verfahren
|
|||
|
INPAapiJob(sgbd,"STEUERN_DIGITAL_TUER","0x1C;1","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
// Die hinteren Fenster werden <20>ber die Junction-Box verfahren
|
|||
|
INPAapiJob(sgbd,"STEUERN_FENSTERHEBER","schliessen;50;schliessen;50","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
}
|
|||
|
}
|
|||
|
ITEM( 2 ,"Schliess. vorne")
|
|||
|
{
|
|||
|
if (baureihe_R5x == FALSE)
|
|||
|
{
|
|||
|
messagebox("ACHTUNG","Vordere Fenster werden verfahren !!!" + "K E I N Einklemmschutz !!!" );
|
|||
|
|
|||
|
// Die vorderen Fenster werden <20>ber das Fussraum-Modul verfahren
|
|||
|
INPAapiJob(sgbd,"STEUERN_DIGITAL_TUER","0x1C;1","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
INPAapiJob(sgbd,"STEUERN_DIGITAL_TUER","0x1B;1","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
ITEM( 3 ,"Schliess. hinten")
|
|||
|
{
|
|||
|
messagebox("ACHTUNG","Hintere Fenster werden verfahren !!!" + "K E I N Einklemmschutz !!!" );
|
|||
|
|
|||
|
// Die hinteren Fenster werden <20>ber die Junction-Box verfahren
|
|||
|
INPAapiJob(sgbd2,"STEUERN_FENSTERHEBER_HINTEN","2;50;2;50","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
}
|
|||
|
ITEM( 4 ,"<22>ffnen alle")
|
|||
|
{
|
|||
|
|
|||
|
// Die hinteren Fenster werden <20>ber die Junction-Box verfahren
|
|||
|
INPAapiJob(sgbd2,"STEUERN_FENSTERHEBER_HINTEN","1;50;1;50","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
// Die vorderen Fenster werden <20>ber das Fussraum-Modul verfahren
|
|||
|
INPAapiJob(sgbd,"STEUERN_DIGITAL_TUER","0x1B;1","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
}
|
|||
|
ITEM( 5 ,"<22>ffnen vorne")
|
|||
|
{
|
|||
|
// Die vorderen Fenster werden <20>ber das Fussraum-Modul verfahren
|
|||
|
INPAapiJob(sgbd,"STEUERN_DIGITAL_TUER","0x1B;1","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
}
|
|||
|
ITEM( 6 ,"<22>ffnen hinten")
|
|||
|
{
|
|||
|
// Die hinteren Fenster werden <20>ber die Junction-Box verfahren
|
|||
|
INPAapiJob(sgbd2,"STEUERN_FENSTERHEBER_HINTEN","1;50;1;50","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
}
|
|||
|
ITEM( 7 ,"")
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
ITEM( 8 ,"")
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
ITEM(18 ,"Gesamt") {
|
|||
|
start();
|
|||
|
deselect();
|
|||
|
}
|
|||
|
ITEM( 9 ,"Druck") {
|
|||
|
printscreen();
|
|||
|
}
|
|||
|
ITEM( 10 ,"Zur<75>ck") {
|
|||
|
setscreen( s_steuern ,TRUE);
|
|||
|
setmenu( m_steuern );
|
|||
|
}
|
|||
|
ITEM( 20 ,"Exit") {
|
|||
|
exit();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// *************************************************
|
|||
|
// *** Steuernmen<65> Spiegelheizung ***
|
|||
|
// *************************************************
|
|||
|
MENU m_steuern_spiegelheizung()
|
|||
|
{
|
|||
|
INIT {
|
|||
|
setmenutitle("Ansteuerung Spiegel");
|
|||
|
|
|||
|
// Abblenden des Spiegels nur, wenn auch abblenden m<>glich
|
|||
|
INPAapiJob(sgbd,"STATUS_TUER","","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_SPIEGEL_ABBLEND_MOEGLICH",1);
|
|||
|
|
|||
|
if (logik_var == TRUE)
|
|||
|
{
|
|||
|
setitem(3,"Abblenden",TRUE);
|
|||
|
setitem(3,"Aufhellen",TRUE);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
setitem(3,"Abblenden",FALSE);
|
|||
|
setitem(3,"Aufhellen",FALSE);
|
|||
|
}
|
|||
|
}
|
|||
|
ITEM( 1 ,"Heizung ein")
|
|||
|
{
|
|||
|
|
|||
|
//Einschalten der Spiegelheizung
|
|||
|
INPAapiJob(sgbd,"STEUERN_SPIEGEL_HEIZUNG","1","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
}
|
|||
|
ITEM( 2 ,"Heizung aus")
|
|||
|
{
|
|||
|
//Ausschalten der Spiegelheizung
|
|||
|
INPAapiJob(sgbd,"STEUERN_SPIEGEL_HEIZUNG","0","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
}
|
|||
|
ITEM( 3 ,"Abblenden")
|
|||
|
{
|
|||
|
//Abblenden
|
|||
|
INPAapiJob(sgbd,"STEUERN_SPIEGEL_ABBLENDEN","1","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
}
|
|||
|
ITEM( 4 ,"Aufhellen")
|
|||
|
{
|
|||
|
//Abblenden
|
|||
|
INPAapiJob(sgbd,"STEUERN_SPIEGEL_ABBLENDEN","0","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
}
|
|||
|
ITEM( 5 ,"")
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
ITEM( 6 ,"")
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
ITEM( 7 ,"")
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
ITEM( 8 ,"")
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
ITEM(18 ,"Gesamt") {
|
|||
|
start();
|
|||
|
deselect();
|
|||
|
}
|
|||
|
ITEM( 9 ,"Druck") {
|
|||
|
printscreen();
|
|||
|
}
|
|||
|
ITEM( 10 ,"Zur<75>ck") {
|
|||
|
setscreen( s_steuern ,TRUE);
|
|||
|
setmenu( m_steuern );
|
|||
|
}
|
|||
|
ITEM( 20 ,"Exit") {
|
|||
|
exit();
|
|||
|
}
|
|||
|
}
|
|||
|
// *************************************************
|
|||
|
// *** Steuernmen<65> ALC ***
|
|||
|
// *************************************************
|
|||
|
MENU m_steuern_alc()
|
|||
|
{
|
|||
|
|
|||
|
//ftextout("Sichtweise in Fahrtrichtung!:",1,0,0,0);
|
|||
|
|
|||
|
INIT {
|
|||
|
setmenutitle("ALC ansteuern");
|
|||
|
}
|
|||
|
|
|||
|
ITEM( 1 ,"Mittelstellung")
|
|||
|
{
|
|||
|
|
|||
|
// Linken Scheinwerfer in Nullstellung
|
|||
|
INPAapiJob(sgbd,"STEUERN_POSITION_SMC","SMC_L;0;28;270;7","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
// Rechter Scheinwerfer in Nullstellung
|
|||
|
INPAapiJob(sgbd,"STEUERN_POSITION_SMC","SMC_R;0;28;270;7","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
}
|
|||
|
ITEM( 2 ,"Links oben")
|
|||
|
{
|
|||
|
// Linken Scheinwerfer nach links oben
|
|||
|
INPAapiJob(sgbd,"STEUERN_POSITION_SMC","SMC_L;150;28;480;7","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
// Rechter Scheinwerfer nach links oben
|
|||
|
INPAapiJob(sgbd,"STEUERN_POSITION_SMC","SMC_R;80;28;480;7","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
}
|
|||
|
ITEM( 3 ,"Rechts oben")
|
|||
|
{
|
|||
|
// Linken Scheinwerfer in nach rechts oben
|
|||
|
INPAapiJob(sgbd,"STEUERN_POSITION_SMC","SMC_L;-80;28;480;7","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
// Rechter Scheinwerfer nach rechts oben
|
|||
|
INPAapiJob(sgbd,"STEUERN_POSITION_SMC","SMC_R;-150;28;480;7","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
}
|
|||
|
ITEM( 4 ,"Rechts unten")
|
|||
|
{
|
|||
|
// Linken Scheinwerfer in nach rechts unten
|
|||
|
INPAapiJob(sgbd,"STEUERN_POSITION_SMC","SMC_L;-80;28;100;7","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
// Rechter Scheinwerfer nach rechts unten
|
|||
|
INPAapiJob(sgbd,"STEUERN_POSITION_SMC","SMC_R;-150;28;100;7","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
}
|
|||
|
ITEM( 5 ,"Links unten")
|
|||
|
{
|
|||
|
// Linken Scheinwerfer in nach links unten
|
|||
|
INPAapiJob(sgbd,"STEUERN_POSITION_SMC","SMC_L;80;28;100;7","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
// Rechter Scheinwerfer nach links unten
|
|||
|
INPAapiJob(sgbd,"STEUERN_POSITION_SMC","SMC_R;150;28;100;7","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
}
|
|||
|
ITEM( 6 ,"")
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
ITEM( 7 ,"")
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
ITEM( 8 ,"")
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
ITEM(18 ,"Gesamt") {
|
|||
|
start();
|
|||
|
deselect();
|
|||
|
}
|
|||
|
ITEM( 9 ,"Druck") {
|
|||
|
printscreen();
|
|||
|
}
|
|||
|
ITEM( 10 ,"Zur<75>ck") {
|
|||
|
setscreen( s_steuern ,TRUE);
|
|||
|
setmenu( m_steuern );
|
|||
|
}
|
|||
|
ITEM( 20 ,"Exit") {
|
|||
|
exit();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// *************************************************
|
|||
|
// *** Steuernmen<65> Lampen ***
|
|||
|
// *************************************************
|
|||
|
MENU m_steuern_lampen()
|
|||
|
{
|
|||
|
|
|||
|
|
|||
|
INIT {
|
|||
|
setmenutitle("Lampen ansteuern");
|
|||
|
|
|||
|
if (baureihe_R5x == TRUE)
|
|||
|
{
|
|||
|
setitem( 8 ,"CS blau",TRUE);
|
|||
|
setitem(18 ,"CS oran.",TRUE);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
ITEM( 1 ,"Abblendlicht ein")
|
|||
|
{
|
|||
|
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_AL_LINKS;EIN","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_AL_RECHTS;EIN","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
}
|
|||
|
ITEM( 2 ,"Fernlicht ein")
|
|||
|
{
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_FL_LINKS;EIN","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_FL_RECHTS;EIN","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
}
|
|||
|
ITEM( 3 ,"FRA/Begr.-L. ein")
|
|||
|
{
|
|||
|
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_BEGRL_LINKS;EIN","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_BEGRL_RECHTS;EIN","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_FRA_LINKS_VORN;EIN","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_FRA_RECHTS_VORN;EIN","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_FRA_LINKS_HINTEN;EIN","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_FRA_RECHTS_HINTEN;EIN","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
}
|
|||
|
ITEM( 4 ,"NSW ein")
|
|||
|
{
|
|||
|
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_NSW_LINKS;EIN","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_NSW_RECHTS;EIN","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
}
|
|||
|
ITEM( 5 ,"BL / SLein")
|
|||
|
{
|
|||
|
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_SL_BL_LINKS_1;EIN","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_SL_BL_RECHTS_1;EIN","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_E70_SL_BL_LINKS_2_R56_SML_LV_RH;EIN","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_E70_SL_BL_RECHTS_2_R56_SML_RV_LH;EIN","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_BREMSLICHT_MITTE;EIN","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
}
|
|||
|
ITEM( 6 ,"NSL / RFL ein")
|
|||
|
{
|
|||
|
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_NSL_LINKS;EIN","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_NSL_RECHTS;EIN","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_RFL_LINKS;EIN","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_RFL_RECHTS;EIN","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
}
|
|||
|
ITEM( 7 ,"BFD ein")
|
|||
|
{
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_BFD_LINKS;EIN","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_BFD_RECHTS;EIN","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
}
|
|||
|
ITEM( 8 ,"VFB ein")
|
|||
|
{
|
|||
|
if (baureihe_R5x == FALSE)
|
|||
|
{
|
|||
|
INPAapiJob(sgbd,"STEUERN_LED_DIGITAL","AUSGANG_ILUM_PFIE_LED;EIN","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_R56_CS_ORANGE;AUS","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_R56_CS_BLAU;EIN","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
ITEM( 9 ,"Druck") {
|
|||
|
printscreen();
|
|||
|
}
|
|||
|
ITEM( 10 ,"Zur<75>ck") {
|
|||
|
setscreen( s_steuern ,TRUE);
|
|||
|
setmenu( m_steuern );
|
|||
|
}
|
|||
|
|
|||
|
ITEM( 11 ,"Abblendlicht aus")
|
|||
|
{
|
|||
|
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_AL_LINKS;AUS","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_AL_RECHTS;AUS","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
}
|
|||
|
ITEM( 12 ,"Fernlicht aus")
|
|||
|
{
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_FL_LINKS;AUS","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_FL_RECHTS;AUS","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
}
|
|||
|
ITEM( 13 ,"FRA/Begr.-L. aus")
|
|||
|
{
|
|||
|
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_BEGRL_LINKS;AUS","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_BEGRL_RECHTS;AUS","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_FRA_LINKS_VORN;AUS","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_FRA_RECHTS_VORN;AUS","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_FRA_LINKS_HINTEN;AUS","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_FRA_RECHTS_HINTEN;AUS","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
}
|
|||
|
ITEM( 14 ,"NSW aus")
|
|||
|
{
|
|||
|
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_NSW_LINKS;AUS","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_NSW_RECHTS;AUS","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
}
|
|||
|
ITEM( 15 ,"BL / SL aus")
|
|||
|
{
|
|||
|
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_SL_BL_LINKS_1;AUS","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_SL_BL_RECHTS_1;AUS","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_E70_SL_BL_LINKS_2_R56_SML_LV_RH;AUS","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_E70_SL_BL_RECHTS_2_R56_SML_RV_LH;AUS","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_BREMSLICHT_MITTE;AUS","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
}
|
|||
|
ITEM( 16 ,"NSL / RFL aus")
|
|||
|
{
|
|||
|
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_NSL_LINKS;AUS","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_NSL_RECHTS;AUS","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_RFL_LINKS;AUS","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_RFL_RECHTS;AUS","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
}
|
|||
|
ITEM( 17 ,"BFD aus")
|
|||
|
{
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_BFD_LINKS;AUS","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_BFD_RECHTS;AUS","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
}
|
|||
|
ITEM( 18 ,"VFB aus")
|
|||
|
{
|
|||
|
if (baureihe_R5x == FALSE)
|
|||
|
{
|
|||
|
INPAapiJob(sgbd,"STEUERN_LED_DIGITAL","AUSGANG_ILUM_PFIE_LED;AUS","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_R56_CS_BLAU;AUS","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
|
|||
|
INPAapiJob(sgbd,"STEUERN_LAMPEN_DIGITAL","AUSGANG_R56_CS_ORANGE;EIN","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
ITEM( 20 ,"Exit") {
|
|||
|
exit();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
// ****************************************************
|
|||
|
// *** S c r e e n a u f b a u ***
|
|||
|
// ****************************************************
|
|||
|
|
|||
|
// **************************
|
|||
|
// *** Statusscreen ***
|
|||
|
// **************************
|
|||
|
SCREEN s_status()
|
|||
|
{
|
|||
|
ftextout("Status",1,0,1,0);
|
|||
|
ftextout("",3,0,0,0);
|
|||
|
LINE("","")
|
|||
|
{
|
|||
|
|
|||
|
|
|||
|
ftextout("< F1 > Fensterheber" , 4,5,0,1);
|
|||
|
|
|||
|
if (baureihe_R5x == FALSE)
|
|||
|
{
|
|||
|
ftextout("< F2 > Tastenblock" , 6,5,0,1);
|
|||
|
ftextout("< F3 > Taster" , 8,5,0,1);
|
|||
|
}
|
|||
|
else
|
|||
|
ftextout("< F3 > Lenkstock" , 8,5,0,1);
|
|||
|
|
|||
|
ftextout("< F4 > Tuerkontakte / Schlossnuesse" ,10,5,0,1);
|
|||
|
ftextout("< F5 > LWR, ALC und Achssensoren" ,12,5,0,1);
|
|||
|
|
|||
|
// Ausgabe Spiegel, nur wenn auch LIN-Spiegel verbaut
|
|||
|
if (LBLinSpiegel == TRUE)
|
|||
|
ftextout("< F6 > Spiegel" ,14,5,0,1);
|
|||
|
else
|
|||
|
ftextout("< F6 > Spiegel (nicht <20>ber FRM)" ,14,5,0,1);
|
|||
|
|
|||
|
// Gurtbringer nur anzeigen, wenn auch verf<72>gbar
|
|||
|
if (LBGurtbringer == TRUE)
|
|||
|
ftextout("< F7 > Gurtbringer" ,16,5,0,1);
|
|||
|
else
|
|||
|
ftextout("< F7 > Gurtbringer (nicht verf<72>gbar)" ,16,5,0,1);
|
|||
|
|
|||
|
if (baureihe_R5x == FALSE)
|
|||
|
{
|
|||
|
ftextout("<Shift> + < F1 > Denormier-Logger" , 4,45,0,1);
|
|||
|
ftextout("<Shift> + < F2 > Reversier-Logger" , 6,45,0,1);
|
|||
|
}
|
|||
|
ftextout("<Shift> + < F4 > Lampen Digital" ,10,45,0,1);
|
|||
|
//ftextout("<Shift> + < F5 > " ,12,45,0,1);
|
|||
|
//ftextout("<Shift> + < F8 > " ,18,45,0,1);
|
|||
|
//ftextout("<Shift> + < F9 > " ,20,45,0,1);
|
|||
|
ftextout("<Shift> + < F10> Exit" ,22,45,0,1);
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// ************************************
|
|||
|
// *** Statusscreen Fensterheber ***
|
|||
|
// ************************************
|
|||
|
|
|||
|
SCREEN s_status_fh()
|
|||
|
{
|
|||
|
ftextout("Status Fensterheber",1,0,1,0);
|
|||
|
ftextout("",3,0,0,0);
|
|||
|
|
|||
|
LINE("Normierung Fensterheber","")
|
|||
|
{
|
|||
|
//E7x:
|
|||
|
if (baureihe_R5x == FALSE)
|
|||
|
{
|
|||
|
|
|||
|
// Die vorderen Fensterheber werden <20>ber das Fussraummodul gesteuert!!!!!
|
|||
|
INPAapiJob(sgbd,"STATUS_TUER","","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
ftextout("Normierung Fensterheber:",1,0,0,0);
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_FH_FA_EINGELERNT",1);
|
|||
|
digitalout(logik_var, 3,0,"Fahrer","Fahrer");
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_FH_BF_EINGELERNT",1);
|
|||
|
digitalout(logik_var, 6,0,"Beifahrer","Beifahrer");
|
|||
|
|
|||
|
// Die hinteren Fensterheber werden <20>ber die Junction-Box gesteuert!!!
|
|||
|
INPAapiJob(sgbd2,"STATUS_FENSTERHEBER_HINTEN","","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
INPAapiResultDigital(logik_var,"STAT_FAH_FH_EINGELERNT_EIN",1);
|
|||
|
digitalout(logik_var, 3,30,"Fahrer hinten","Fahrer hinten");
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_BFH_FH_EINGELERNT_EIN",1);
|
|||
|
digitalout(logik_var, 6,30,"Beifahrer hinten","Beifahrer hinten");
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
LINE("Bewegung Fenster Fahrer","")
|
|||
|
{
|
|||
|
INPAapiJob(sgbd,"STATUS_FENSTERHEBER","","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
// Fahrer-Seite
|
|||
|
ftextout("Bewegung Fenster Fahrer:",2,0,0,0);
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_FA_FH_FAEHRT_AUF_EIN",1);
|
|||
|
digitalout(logik_var, 4,0,"Fenster oeffnet ","Fenster oeffnet ");
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_FA_FH_FAEHRT_ZU_EIN",1);
|
|||
|
digitalout(logik_var, 7,0,"Fenster schliesst ","Fenster schliesst ");
|
|||
|
|
|||
|
|
|||
|
// Beifahrer-Seite
|
|||
|
ftextout("Bewegung Fenster Beifahrer:",2,30,0,0);
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_BF_FH_FAEHRT_AUF_EIN",1);
|
|||
|
digitalout(logik_var, 4,30,"Fenster oeffnet ","Fenster oeffnet ");
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_BF_FH_FAEHRT_ZU_EIN",1);
|
|||
|
digitalout(logik_var, 7,30,"Fenster schliesst ","Fenster schliesst ");
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// ************************************
|
|||
|
// *** Statusscreen Tastenblock ***
|
|||
|
// ************************************
|
|||
|
|
|||
|
SCREEN s_status_tastenblock()
|
|||
|
{
|
|||
|
ftextout("Status Tastenblock",1,0,1,0);
|
|||
|
ftextout("",3,0,0,0);
|
|||
|
|
|||
|
LINE("Status Tastenblock","")
|
|||
|
{
|
|||
|
// Spiegel Richtung
|
|||
|
INPAapiJob(sgbd,"STATUS_SCHALTERBLOCK_TUER","","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_SPIEGEL_TASTER_LINKS_EIN",1);
|
|||
|
digitalout(logik_var, 4,0,"links","links");
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_SPIEGEL_TASTER_OBEN_EIN",1);
|
|||
|
digitalout(logik_var, 1,9,"oben","oben");
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_SPIEGEL_TASTER_RECHTS_EIN",1);
|
|||
|
digitalout(logik_var, 4,18,"rechts","rechts");
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_SPIEGEL_TASTER_UNTEN_EIN",1);
|
|||
|
digitalout(logik_var, 7,9,"unten","unten");
|
|||
|
|
|||
|
// E7x: Spiegel Beiklappen
|
|||
|
if (baureihe_R5x == FALSE)
|
|||
|
{
|
|||
|
INPAapiResultDigital(logik_var,"STAT_SPIEGEL_BEIKLAPPEN_EIN",1);
|
|||
|
digitalout(logik_var, 10,0,"Aus-/Beiklappen","Aus-/Beiklappen");
|
|||
|
}
|
|||
|
|
|||
|
// Spiegel Auswahlschalter
|
|||
|
INPAapiResultDigital(logik_var,"STAT_SPIEGEL_SCHALTER_FA_EIN",1);
|
|||
|
digitalout(logik_var, 10,20,"Auswahl Spiegelschalter Fahrer ","Auswahl Spiegelschalter Beifahrer ");
|
|||
|
|
|||
|
//E7x
|
|||
|
//R5x: Taster werden von IHKA abgefragt, Job: status_tasten_gedrueckt_tsp
|
|||
|
if (baureihe_R5x == FALSE)
|
|||
|
{
|
|||
|
// Fahrer Seite
|
|||
|
ftextout("Taster Fensterheber Fahrer",14,0,0,0);
|
|||
|
|
|||
|
INPAapiResultInt(ganz_zahl,"STAT_FH_TASTERFA_FA_WERT",1);
|
|||
|
|
|||
|
if (ganz_zahl == 0)
|
|||
|
{
|
|||
|
logik_var = FALSE;
|
|||
|
digitalout(logik_var, 16,0,"Keine Betaetigung ","Keine Betaetigung ");
|
|||
|
}
|
|||
|
if (ganz_zahl == 1)
|
|||
|
{
|
|||
|
logik_var = TRUE;
|
|||
|
digitalout(logik_var, 16,0,"TIPP schliessen "," ");
|
|||
|
}
|
|||
|
if (ganz_zahl == 2)
|
|||
|
{
|
|||
|
logik_var = TRUE;
|
|||
|
digitalout(logik_var, 16,0,"TIPP oeffnen "," ");
|
|||
|
}
|
|||
|
if (ganz_zahl == 3)
|
|||
|
{
|
|||
|
logik_var = TRUE;
|
|||
|
digitalout(logik_var, 16,0,"Maut schliessen "," ");
|
|||
|
}
|
|||
|
if (ganz_zahl == 4)
|
|||
|
{
|
|||
|
logik_var = TRUE;
|
|||
|
digitalout(logik_var, 16,0,"Maut oeffnen "," ");
|
|||
|
}
|
|||
|
if (ganz_zahl == 7)
|
|||
|
{
|
|||
|
logik_var = TRUE;
|
|||
|
digitalout(logik_var, 16,0,"Signal ungueltig ","Signal ungueltig ");
|
|||
|
}
|
|||
|
|
|||
|
// Beifahrer
|
|||
|
ftextout("Taster Fensterheber Beifahrer",14,30,0,0);
|
|||
|
|
|||
|
INPAapiResultInt(ganz_zahl,"STAT_FH_TASTERFA_BF_WERT",1);
|
|||
|
|
|||
|
if (ganz_zahl == 0)
|
|||
|
{
|
|||
|
logik_var = FALSE;
|
|||
|
digitalout(logik_var, 16,30,"Keine Betaetigung ","Keine Betaetigung ");
|
|||
|
}
|
|||
|
if (ganz_zahl == 1)
|
|||
|
{
|
|||
|
logik_var = TRUE;
|
|||
|
digitalout(logik_var, 16,30,"TIPP schliessen "," ");
|
|||
|
}
|
|||
|
if (ganz_zahl == 2)
|
|||
|
{
|
|||
|
logik_var = TRUE;
|
|||
|
digitalout(logik_var, 16,30,"TIPP oeffnen "," ");
|
|||
|
}
|
|||
|
if (ganz_zahl == 3)
|
|||
|
{
|
|||
|
logik_var = TRUE;
|
|||
|
digitalout(logik_var, 16,30,"Maut schliessen "," ");
|
|||
|
}
|
|||
|
if (ganz_zahl == 4)
|
|||
|
{
|
|||
|
logik_var = TRUE;
|
|||
|
digitalout(logik_var, 16,30,"Maut oeffnen "," ");
|
|||
|
}
|
|||
|
if (ganz_zahl == 7)
|
|||
|
{
|
|||
|
logik_var = TRUE;
|
|||
|
digitalout(logik_var, 16,30,"Signal ungueltig ","Signal ungueltig ");
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
// Fahrer Seite Hinten
|
|||
|
ftextout("Taster Fensterheber Fahrer hinten",19,0,0,0);
|
|||
|
|
|||
|
INPAapiResultInt(ganz_zahl,"STAT_FH_TASTERFA_FAH_WERT",1);
|
|||
|
|
|||
|
if (ganz_zahl == 0)
|
|||
|
{
|
|||
|
logik_var = FALSE;
|
|||
|
digitalout(logik_var, 21,0,"Keine Betaetigung ","Keine Betaetigung ");
|
|||
|
}
|
|||
|
if (ganz_zahl == 1)
|
|||
|
{
|
|||
|
logik_var = TRUE;
|
|||
|
digitalout(logik_var, 21,0,"TIPP schliessen "," ");
|
|||
|
}
|
|||
|
if (ganz_zahl == 2)
|
|||
|
{
|
|||
|
logik_var = TRUE;
|
|||
|
digitalout(logik_var, 21,0,"TIPP oeffnen "," ");
|
|||
|
}
|
|||
|
if (ganz_zahl == 3)
|
|||
|
{
|
|||
|
logik_var = TRUE;
|
|||
|
digitalout(logik_var, 21,0,"Maut schliessen "," ");
|
|||
|
}
|
|||
|
if (ganz_zahl == 4)
|
|||
|
{
|
|||
|
logik_var = TRUE;
|
|||
|
digitalout(logik_var, 21,0,"Maut oeffnen "," ");
|
|||
|
}
|
|||
|
if (ganz_zahl == 7)
|
|||
|
{
|
|||
|
logik_var = TRUE;
|
|||
|
digitalout(logik_var, 21,0,"Signal ungueltig ","Signal ungueltig ");
|
|||
|
}
|
|||
|
|
|||
|
// Beifahrer hinten
|
|||
|
ftextout("Taster Fensterheber Beifahrer",19,30,0,0);
|
|||
|
|
|||
|
INPAapiResultInt(ganz_zahl,"STAT_FH_TASTERFA_BFH_WERT",1);
|
|||
|
|
|||
|
if (ganz_zahl == 0)
|
|||
|
{
|
|||
|
logik_var = FALSE;
|
|||
|
digitalout(logik_var, 21,30,"Keine Betaetigung ","Keine Betaetigung ");
|
|||
|
}
|
|||
|
if (ganz_zahl == 1)
|
|||
|
{
|
|||
|
logik_var = TRUE;
|
|||
|
digitalout(logik_var, 21,30,"TIPP schliessen "," ");
|
|||
|
}
|
|||
|
if (ganz_zahl == 2)
|
|||
|
{
|
|||
|
logik_var = TRUE;
|
|||
|
digitalout(logik_var, 21,30,"TIPP oeffnen "," ");
|
|||
|
}
|
|||
|
if (ganz_zahl == 3)
|
|||
|
{
|
|||
|
logik_var = TRUE;
|
|||
|
digitalout(logik_var, 21,30,"Maut schliessen "," ");
|
|||
|
}
|
|||
|
if (ganz_zahl == 4)
|
|||
|
{
|
|||
|
logik_var = TRUE;
|
|||
|
digitalout(logik_var, 21,30,"Maut oeffnen "," ");
|
|||
|
}
|
|||
|
if (ganz_zahl == 7)
|
|||
|
{
|
|||
|
logik_var = TRUE;
|
|||
|
digitalout(logik_var, 21,30,"Signal ungueltig ","Signal ungueltig ");
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
// Kindersicherung
|
|||
|
INPAapiResultDigital(logik_var,"STAT_KISI_TASTER_EIN",1);
|
|||
|
digitalout(logik_var, 24,0,"Taster Kindersicherung","Taster Kindersicherung");
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_KISI_LED_EIN",1);
|
|||
|
digitalout(logik_var, 24,30,"LED Kindersicherung","LED Kindersicherung");
|
|||
|
}//end if (baureihe_R5x == FALSE)
|
|||
|
|
|||
|
|
|||
|
|
|||
|
ftextout("",30, 0,0,0);//Damit Fenster-Taster angezeigt werden k<>nnen
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
// ************************************
|
|||
|
// *** Statusscreen Taster ***
|
|||
|
// ************************************
|
|||
|
|
|||
|
SCREEN s_status_taster()
|
|||
|
{
|
|||
|
if (baureihe_R5x == TRUE)
|
|||
|
ftextout("Status Lenkstock",1,0,1,0);
|
|||
|
else
|
|||
|
ftextout("Status Taster",1,0,1,0);
|
|||
|
|
|||
|
ftextout("",3,0,0,0);
|
|||
|
|
|||
|
LINE("Status Lichtschaltereinheit","")
|
|||
|
{
|
|||
|
|
|||
|
INPAapiJob(sgbd,"STATUS_DIGITAL_INPUTS","","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
LBLichtSchalter = TRUE;
|
|||
|
|
|||
|
if (baureihe_R5x == FALSE)
|
|||
|
{
|
|||
|
ftextout("Lichtschaltereinheit:",1,0,0,0);
|
|||
|
INPAapiResultDigital(logik_var,"STAT_SCHALTER_SL_EIN",1);
|
|||
|
if (logik_var == TRUE)
|
|||
|
LBLichtSchalter = FALSE;
|
|||
|
digitalout(logik_var, 5,10,"Standlicht","Standlicht");
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_SCHALTER_AL_EIN",1);
|
|||
|
if (logik_var == TRUE)
|
|||
|
LBLichtSchalter = FALSE;
|
|||
|
digitalout(logik_var, 7,12,"Abblendlicht","Abblendlicht");
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_SCHALTER_FLC_EIN",1);
|
|||
|
if (logik_var == TRUE)
|
|||
|
LBLichtSchalter = FALSE;
|
|||
|
digitalout(logik_var, 5,4,"","");
|
|||
|
ftextout("FLC",5,0,0,0);
|
|||
|
|
|||
|
digitalout(LBLichtSchalter, 3,7,"Aus","Aus");
|
|||
|
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
INPAapiResultDigital(logik_var,"STAT_SCHALTER_SL_EIN",1);
|
|||
|
if (logik_var == TRUE)
|
|||
|
LBLichtSchalter = FALSE;
|
|||
|
digitalout(logik_var, 3,0,"Standlicht","Standlicht");
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_SCHALTER_AL_EIN",1);
|
|||
|
if (logik_var == TRUE)
|
|||
|
LBLichtSchalter = FALSE;
|
|||
|
digitalout(logik_var, 0,0,"Abblendlicht","Abblendlicht");
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_SCHALTER_FLC_EIN",1);
|
|||
|
if (logik_var == TRUE)
|
|||
|
LBLichtSchalter = FALSE;
|
|||
|
digitalout(logik_var, 9,0,"FLC","FLC");
|
|||
|
|
|||
|
|
|||
|
digitalout(LBLichtSchalter, 6,0,"Aus","Aus");
|
|||
|
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
// Nebelscheinwerfer und Nebelschlussleuchte
|
|||
|
// ftextout("Nebelscheinwerfer:",1,0,0,0);
|
|||
|
INPAapiResultDigital(logik_var,"STAT_TASTER_NSW_EIN",1);
|
|||
|
digitalout(logik_var, 12,0,"Taster Nebelscheinwerfer","Taster Nebelscheinwerfer");
|
|||
|
|
|||
|
// ftextout("Nebelschlussleuchte:",1,30,0,0);
|
|||
|
INPAapiResultDigital(logik_var,"STAT_TASTER_NSL_EIN",1);
|
|||
|
digitalout(logik_var, 12,35,"Taster Nebelschlussleuchte","Taster Nebelschlussleuchte");
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
LINE("Status Taster","")
|
|||
|
{
|
|||
|
INPAapiJob(sgbd,"STATUS_DIGITAL_INPUTS","","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
// Taster Warnblinker
|
|||
|
// ftextout("Warnblinker:",1,0,0,0);
|
|||
|
INPAapiResultDigital(logik_var,"STAT_TASTER_WBL_EIN",1);
|
|||
|
digitalout(logik_var, 1,0,"Taster Warnblinker","Taster Warnblinker");
|
|||
|
|
|||
|
//Bordcomputer-Taster aus SZL lesen: NUR bei E70!!!
|
|||
|
if (baureihe_E70 == TRUE)
|
|||
|
{
|
|||
|
INPAapiJob(sgbd3,"STATUS_LENKSTOCK","","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
INPAapiResultDigital(logik_var,"STAT_LENKSTOCK_BLINKER_TASTER_AXIAL_OBEN",1);
|
|||
|
digitalout(logik_var, 1,35,"Taster BC = Bordcomputer-Taster von SZL","Taster BC = Bordcomputer-Taster von SZL");
|
|||
|
}
|
|||
|
}
|
|||
|
LINE("Status Taster","")
|
|||
|
{
|
|||
|
INPAapiJob(sgbd,"STATUS_DIGITAL_INPUTS","","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
// Taster Blinker Tipp links
|
|||
|
// ftextout("Blinker Tipp links:",1,0,0,0);
|
|||
|
INPAapiResultDigital(logik_var,"STAT_SCHALTER_FRA_LINKS_TIPP_EIN",1);
|
|||
|
digitalout(logik_var, 1,0,"Blinker Tipp links","Blinker Tipp links");
|
|||
|
|
|||
|
// Taster Blinker Dauer links
|
|||
|
// ftextout("Blinker Dauer links:",4,0,0,0);
|
|||
|
INPAapiResultDigital(logik_var,"STAT_SCHALTER_FRA_LINKS_DAUER_EIN",1);
|
|||
|
digitalout(logik_var, 4,0,"Blinker Dauer links","Blinker Dauer links");
|
|||
|
|
|||
|
// Taster Blinker Tipp rechts
|
|||
|
// ftextout("Blinker Tipp rechts:",1,30,0,0);
|
|||
|
INPAapiResultDigital(logik_var,"STAT_SCHALTER_FRA_RECHTS_TIPP_EIN",1);
|
|||
|
digitalout(logik_var, 1,35,"Blinker Tipp rechts","Blinker Tipp rechts");
|
|||
|
|
|||
|
// Taster Blinker Dauer rechts
|
|||
|
// ftextout("Blinker Dauer rechts:",6,30,0,0);
|
|||
|
INPAapiResultDigital(logik_var,"STAT_SCHALTER_FRA_RECHTS_DAUER_EIN",1);
|
|||
|
digitalout(logik_var, 4,35,"Blinker Dauer rechts","Blinker Dauer rechts");
|
|||
|
|
|||
|
// Bremslichtschalter
|
|||
|
INPAapiResultDigital(logik_var,"STAT_EINGANG_BLS_EIN",1);
|
|||
|
digitalout(logik_var, 7,0,"Bremslichtschalter","Bremslichtschalter");
|
|||
|
|
|||
|
// R<>ckfahrlichtschalter
|
|||
|
INPAapiResultDigital(logik_var,"STAT_EINGANG_R_GANG_EIN",1);
|
|||
|
digitalout(logik_var, 7,35,"R<>ckfahrlichtschalter","R<>ckfahrlichtschalter");
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
SCREEN s_status_tuer()
|
|||
|
{
|
|||
|
|
|||
|
ftextout("Status Tuerkontakte / Schlossnuesse",1,0,1,0);
|
|||
|
ftextout("",3,0,0,0);
|
|||
|
|
|||
|
LINE("Status Tuerkontakte","")
|
|||
|
{
|
|||
|
ftextout("Status Tuerkontakte",1,0,0,0);
|
|||
|
|
|||
|
INPAapiJob(sgbd,"STATUS_DIGITAL_INPUTS","","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_EINGANG_TK_VL_EIN",1);
|
|||
|
digitalout(logik_var, 3,0,"Fahrertuer vorne offen","Fahrertuer vorne offen");
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_EINGANG_TK_VR_EIN",1);
|
|||
|
digitalout(logik_var, 3,30,"Beifahrertuer vorne offen","Beifahrertuer vorne offen");
|
|||
|
|
|||
|
//E7x
|
|||
|
if (baureihe_R5x == FALSE)
|
|||
|
{
|
|||
|
INPAapiResultDigital(logik_var,"STAT_EINGANG_TK_HL_EIN",1);
|
|||
|
digitalout(logik_var, 6,0,"Fahrertuer hinten offen","Fahrertuer hinten offen");
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_EINGANG_TK_HR_EIN",1);
|
|||
|
digitalout(logik_var, 6,30,"Beifahrertuer hinten offen","Beifahrertuer hinten offen");
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
LINE("Schlossnuesse","")
|
|||
|
{
|
|||
|
|
|||
|
ftextout("Status Schlossnuesse",1,0,0,0);
|
|||
|
|
|||
|
INPAapiJob(sgbd,"STATUS_SCHLOSSNUESSE","","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_SCHALTNUSS_STELLUNG_NULL_EIN",1);
|
|||
|
digitalout(logik_var, 3,15,"neutral","neutral");
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_SCHALTNUSS_STELLUNG_ENTRIEGELN_EIN",1);
|
|||
|
digitalout(logik_var, 5,5,"entriegeln","entriegeln");
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_SCHALTNUSS_STELLUNG_SICHERN_EIN",1);
|
|||
|
digitalout(logik_var, 5,25,"sichern","sichern");
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_SCHALTNUSS_STELLUNG_UNGUELTIG_EIN",1);
|
|||
|
digitalout(logik_var, 9,0,"ungueltig","ungueltig");
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
// ***********************************
|
|||
|
// *** Status Achssensoren und ALC ***
|
|||
|
// ***********************************
|
|||
|
SCREEN s_status_licht()
|
|||
|
{
|
|||
|
|
|||
|
LINE("LWR","")
|
|||
|
{
|
|||
|
|
|||
|
ftextout("Status LWR",1,0,0,0);
|
|||
|
|
|||
|
INPAapiJob(sgbd,"STATUS_LWR_LESEN","","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_MAN_LWR",1);
|
|||
|
|
|||
|
if (logik_var == TRUE)
|
|||
|
{
|
|||
|
|
|||
|
INPAapiResultInt(ganz_zahl,"STAT_LWR_MIN",1);
|
|||
|
|
|||
|
inttoreal(ganz_zahl,LFLWR_MIN);
|
|||
|
|
|||
|
INPAapiResultInt(ganz_zahl,"STAT_LWR_MAX",1);
|
|||
|
inttoreal(ganz_zahl,LFLWR_MAX);
|
|||
|
|
|||
|
// ftextout("Achssensor vorne (Einheit Volt):",7,0,0,0);
|
|||
|
|
|||
|
ftextout("Position der manuellen LWR",3,0,0,0);
|
|||
|
|
|||
|
INPAapiJob(sgbd,"STATUS_LWR_LESEN","","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
INPAapiResultAnalog(zahlen_var,"STAT_LWR_POSITION",1);
|
|||
|
analogout(zahlen_var,5,0, 0, 5, LFLWR_MIN, LFLWR_MAX,"1.0");
|
|||
|
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
ftextout("Keine manuelle LWR verbaut",3,0,1,0);
|
|||
|
ftextout("",5,0,0,0);
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
LINE("Achse","")
|
|||
|
{
|
|||
|
|
|||
|
ftextout("Status Achsensoren",1,0,0,0);
|
|||
|
|
|||
|
INPAapiJob(sgbd,"STATUS_CODIERBITS","","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_XENON_SW",1);
|
|||
|
|
|||
|
if (logik_var == TRUE)
|
|||
|
{
|
|||
|
|
|||
|
ftextout("Status nur bei Licht ein !",3,0,0,0);
|
|||
|
INPAapiJob(sgbd,"STATUS_ANALOG_INPUTS","","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
ftextout("Achssensor vorne (Einheit Volt):",7,0,0,0);
|
|||
|
INPAapiResultAnalog(zahlen_var,"STAT_SPANNUNG_BELADUNGSSENSOR_VORN_WERT",1);
|
|||
|
analogout(zahlen_var,8,0, 0, 5, 0.5, 4.6,"1.0");
|
|||
|
|
|||
|
ftextout("Achssensor hinten (Einheit Volt):",11,0,0,0);
|
|||
|
INPAapiResultAnalog(zahlen_var,"STAT_SPANNUNG_BELADUNGSSENSOR_HINTEN_WERT",1);
|
|||
|
analogout(zahlen_var,12,0, 0, 5, 0.5, 4.6,"1.0");
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
ftextout("Keine Achssensoren verbaut",3,0,1,0);
|
|||
|
ftextout("",5,0,0,0);
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
LINE("ALC","")
|
|||
|
{
|
|||
|
|
|||
|
ftextout("Status ALC-System",1,0,0,0);
|
|||
|
|
|||
|
INPAapiJob(sgbd,"STATUS_CODIERBITS","","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_ALC_SYSTEM",1);
|
|||
|
|
|||
|
if (logik_var == TRUE)
|
|||
|
{
|
|||
|
INPAapiJob(sgbd,"STATUS_REFERENZLAUF_ALC_SYSTEM","","");
|
|||
|
INPAapiResultText(text_var,"JOB_STATUS",1,"");
|
|||
|
|
|||
|
if (text_var=="OKAY")
|
|||
|
INPAapiResultDigital(logik_var,"STAT_ALC_SYSTEM_REFERENZIERT_EIN",1);
|
|||
|
else
|
|||
|
logik_var = FALSE;
|
|||
|
|
|||
|
digitalout(logik_var, 3,0,"ALC-System eingelernt ","ALC-System nicht eingelernt ");
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
ftextout("ALC nicht verf<72>gbar",3,0,1,0);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
// ***************************
|
|||
|
// *** Status Reversier-Logger ***
|
|||
|
// ***************************
|
|||
|
SCREEN s_status_logger_rev()
|
|||
|
{
|
|||
|
|
|||
|
|
|||
|
LINE("","")
|
|||
|
{
|
|||
|
|
|||
|
INPAapiJob(sgbd,"STATUS_FH_LOGGER_REVERSIERER","","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
// Z<>hler
|
|||
|
|
|||
|
INPAapiResultInt(ganz_zahl,"STAT_REVERSIERUNGS_COUNTER",1);
|
|||
|
inttostring(ganz_zahl,text_var);
|
|||
|
|
|||
|
ftextout("Reversier-Logger (Anzahl Eintr<74>ge " + text_var +")",1,0,1,0);
|
|||
|
|
|||
|
// Letzter Datensatz
|
|||
|
|
|||
|
ftextout("Letzter Eintrag",5,30,0,0);
|
|||
|
|
|||
|
ftextout("Fehlertext",7,0,0,0);
|
|||
|
ftextout("Headertext",11,0,0,0);
|
|||
|
ftextout("Scheibenposition Hall-Sensor",15,0,0,0);
|
|||
|
ftextout("Status Motor",17,0,0,0);
|
|||
|
ftextout("Spannung Fensterheber Relais (in Volt)",19,0,0,0);
|
|||
|
ftextout("Spannung Fensterheber (in Volt)",21,0,0,0);
|
|||
|
ftextout("Geschwindigkeit Fahrzeug (in Km/h)",23,0,0,0);
|
|||
|
ftextout("Aussentemperatur (in Grad Celsius)",25,0,0,0);
|
|||
|
|
|||
|
INPAapiResultText(text_var,"STAT_FEHLERNUMMER_TEXT_1",1,"");
|
|||
|
ftextout(text_var,7,30,0,0);
|
|||
|
|
|||
|
INPAapiResultText(text_var,"STAT_HEADER_TEXT_1",1,"");
|
|||
|
ftextout(text_var,11,30,0,0);
|
|||
|
|
|||
|
INPAapiResultInt(ganz_zahl,"STAT_POSITION_HZ_1",1);
|
|||
|
inttostring(ganz_zahl,text_var);
|
|||
|
ftextout(text_var,15,30,0,0);
|
|||
|
|
|||
|
INPAapiResultInt(ganz_zahl,"STAT_MOTOR_1",1);
|
|||
|
inttostring(ganz_zahl,text_var);
|
|||
|
ftextout(text_var,17,30,0,0);
|
|||
|
|
|||
|
INPAapiResultInt(ganz_zahl,"STAT_IN_VOLTAGE_WERT_1",1);
|
|||
|
inttostring(ganz_zahl,text_var);
|
|||
|
ftextout(text_var,19,30,0,0);
|
|||
|
|
|||
|
INPAapiResultInt(ganz_zahl,"STAT_VOLTAGE_WERT_1",1);
|
|||
|
inttostring(ganz_zahl,text_var);
|
|||
|
ftextout(text_var,21,30,0,0);
|
|||
|
|
|||
|
INPAapiResultInt(ganz_zahl,"STAT_SPEED_WERT_1",1);
|
|||
|
inttostring(ganz_zahl,text_var);
|
|||
|
ftextout(text_var,23,30,0,0);
|
|||
|
|
|||
|
INPAapiResultInt(ganz_zahl,"STAT_AUSSENTEMP_WERT_1",1);
|
|||
|
inttostring(ganz_zahl,text_var);
|
|||
|
ftextout(text_var,25,30,0,0);
|
|||
|
|
|||
|
// Vorletzter Eintrag
|
|||
|
ftextout("Vorletzter Eintrag",5,45,0,0);
|
|||
|
|
|||
|
INPAapiResultText(text_var,"STAT_FEHLERNUMMER_TEXT_2",1,"");
|
|||
|
ftextout(text_var,9,45,0,0);
|
|||
|
|
|||
|
INPAapiResultText(text_var,"STAT_HEADER_TEXT_2",1,"");
|
|||
|
ftextout(text_var,13,45,0,0);
|
|||
|
|
|||
|
INPAapiResultInt(ganz_zahl,"STAT_POSITION_HZ_2",1);
|
|||
|
inttostring(ganz_zahl,text_var);
|
|||
|
ftextout(text_var,15,45,0,0);
|
|||
|
|
|||
|
INPAapiResultInt(ganz_zahl,"STAT_MOTOR_2",1);
|
|||
|
inttostring(ganz_zahl,text_var);
|
|||
|
ftextout(text_var,17,45,0,0);
|
|||
|
|
|||
|
INPAapiResultInt(ganz_zahl,"STAT_IN_VOLTAGE_WERT_2",1);
|
|||
|
inttostring(ganz_zahl,text_var);
|
|||
|
ftextout(text_var,19,45,0,0);
|
|||
|
|
|||
|
INPAapiResultInt(ganz_zahl,"STAT_VOLTAGE_WERT_2",1);
|
|||
|
inttostring(ganz_zahl,text_var);
|
|||
|
ftextout(text_var,21,45,0,0);
|
|||
|
|
|||
|
INPAapiResultInt(ganz_zahl,"STAT_SPEED_WERT_2",1);
|
|||
|
inttostring(ganz_zahl,text_var);
|
|||
|
ftextout(text_var,23,45,0,0);
|
|||
|
|
|||
|
INPAapiResultInt(ganz_zahl,"STAT_AUSSENTEMP_WERT_2",1);
|
|||
|
inttostring(ganz_zahl,text_var);
|
|||
|
ftextout(text_var,25,45,0,0);
|
|||
|
|
|||
|
|
|||
|
// Drittletzter Eintrag
|
|||
|
ftextout("Drittletzter Eintrag",5,60,0,0);
|
|||
|
|
|||
|
INPAapiResultText(text_var,"STAT_FEHLERNUMMER_TEXT_3",1,"");
|
|||
|
ftextout(text_var,7,60,0,0);
|
|||
|
|
|||
|
INPAapiResultText(text_var,"STAT_HEADER_TEXT_3",1,"");
|
|||
|
ftextout(text_var,11,60,0,0);
|
|||
|
|
|||
|
INPAapiResultInt(ganz_zahl,"STAT_POSITION_HZ_3",1);
|
|||
|
inttostring(ganz_zahl,text_var);
|
|||
|
ftextout(text_var,15,60,0,0);
|
|||
|
|
|||
|
INPAapiResultInt(ganz_zahl,"STAT_MOTOR_3",1);
|
|||
|
inttostring(ganz_zahl,text_var);
|
|||
|
ftextout(text_var,17,60,0,0);
|
|||
|
|
|||
|
INPAapiResultInt(ganz_zahl,"STAT_IN_VOLTAGE_WERT_3",1);
|
|||
|
inttostring(ganz_zahl,text_var);
|
|||
|
ftextout(text_var,19,60,0,0);
|
|||
|
|
|||
|
INPAapiResultInt(ganz_zahl,"STAT_VOLTAGE_WERT_3",1);
|
|||
|
inttostring(ganz_zahl,text_var);
|
|||
|
ftextout(text_var,21,60,0,0);
|
|||
|
|
|||
|
INPAapiResultInt(ganz_zahl,"STAT_SPEED_WERT_3",1);
|
|||
|
inttostring(ganz_zahl,text_var);
|
|||
|
ftextout(text_var,23,60,0,0);
|
|||
|
|
|||
|
INPAapiResultInt(ganz_zahl,"STAT_AUSSENTEMP_WERT_3",1);
|
|||
|
inttostring(ganz_zahl,text_var);
|
|||
|
ftextout(text_var,25,60,0,0);
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
// ***************************
|
|||
|
// *** Status Reversier-Logger ***
|
|||
|
// ***************************
|
|||
|
SCREEN s_status_logger_denorm()
|
|||
|
{
|
|||
|
|
|||
|
|
|||
|
LINE("","")
|
|||
|
{
|
|||
|
|
|||
|
INPAapiJob(sgbd,"STATUS_FH_LOGGER_DENORMIERER","","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
// Z<>hler
|
|||
|
|
|||
|
INPAapiResultInt(ganz_zahl,"STAT_DENORMIERUNGS_COUNTER",1);
|
|||
|
inttostring(ganz_zahl,text_var);
|
|||
|
|
|||
|
ftextout("Denormier-Logger (Anzahl Eintr<74>ge " + text_var +")",1,0,1,0);
|
|||
|
|
|||
|
// Letzter Datensatz
|
|||
|
|
|||
|
ftextout("Letzter Eintrag",5,30,0,0);
|
|||
|
|
|||
|
ftextout("Fehlertext",7,0,0,0);
|
|||
|
ftextout("Headertext",12,0,0,0);
|
|||
|
ftextout("Scheibenposition Hall-Sensor",17,0,0,0);
|
|||
|
ftextout("Spannung Fensterheber (in Volt)",19,0,0,0);
|
|||
|
ftextout("Text Fehlerflag",21,0,0,0);
|
|||
|
ftextout("Text Hallflag",24,0,0,0);
|
|||
|
|
|||
|
INPAapiResultText(text_var,"STAT_FEHLERNUMMER_TEXT_1",1,"");
|
|||
|
ftextout(text_var,7,30,0,0);
|
|||
|
|
|||
|
INPAapiResultText(text_var,"STAT_HEADER_TEXT_1",1,"");
|
|||
|
ftextout(text_var,12,30,0,0);
|
|||
|
|
|||
|
INPAapiResultInt(ganz_zahl,"STAT_POSITION_HZ_1",1);
|
|||
|
inttostring(ganz_zahl,text_var);
|
|||
|
ftextout(text_var,17,30,0,0);
|
|||
|
|
|||
|
INPAapiResultInt(ganz_zahl,"STAT_VOLTAGE_WERT_1",1);
|
|||
|
inttostring(ganz_zahl,text_var);
|
|||
|
ftextout(text_var,19,30,0,0);
|
|||
|
|
|||
|
INPAapiResultText(text_var,"STAT_FEHLERFLAGS_TEXT_1",1,"");
|
|||
|
ftextout(text_var,21,30,0,0);
|
|||
|
|
|||
|
INPAapiResultText(text_var,"STAT_HALLFLAGS_TEXT_1",1,"");
|
|||
|
ftextout(text_var,24,30,0,0);
|
|||
|
|
|||
|
// Vorletzter Eintrag
|
|||
|
ftextout("Vorletzter Eintrag",5,45,0,0);
|
|||
|
|
|||
|
INPAapiResultText(text_var,"STAT_FEHLERNUMMER_TEXT_2",1,"");
|
|||
|
ftextout(text_var,8,45,0,0);
|
|||
|
|
|||
|
INPAapiResultText(text_var,"STAT_HEADER_TEXT_2",1,"");
|
|||
|
ftextout(text_var,13,45,0,0);
|
|||
|
|
|||
|
INPAapiResultInt(ganz_zahl,"STAT_POSITION_HZ_2",1);
|
|||
|
inttostring(ganz_zahl,text_var);
|
|||
|
ftextout(text_var,17,45,0,0);
|
|||
|
|
|||
|
INPAapiResultInt(ganz_zahl,"STAT_VOLTAGE_WERT_2",1);
|
|||
|
inttostring(ganz_zahl,text_var);
|
|||
|
ftextout(text_var,19,45,0,0);
|
|||
|
|
|||
|
INPAapiResultText(text_var,"STAT_FEHLERFLAGS_TEXT_2",1,"");
|
|||
|
ftextout(text_var,22,45,0,0);
|
|||
|
|
|||
|
INPAapiResultText(text_var,"STAT_HALLFLAGS_TEXT_2",1,"");
|
|||
|
ftextout(text_var,25,45,0,0);
|
|||
|
|
|||
|
|
|||
|
// Drittletzter Eintrag
|
|||
|
ftextout("Drittletzter Eintrag",5,60,0,0);
|
|||
|
|
|||
|
INPAapiResultText(text_var,"STAT_FEHLERNUMMER_TEXT_3",1,"");
|
|||
|
ftextout(text_var,9,60,0,0);
|
|||
|
|
|||
|
INPAapiResultText(text_var,"STAT_HEADER_TEXT_3",1,"");
|
|||
|
ftextout(text_var,14,60,0,0);
|
|||
|
|
|||
|
INPAapiResultInt(ganz_zahl,"STAT_POSITION_HZ_3",1);
|
|||
|
inttostring(ganz_zahl,text_var);
|
|||
|
ftextout(text_var,17,60,0,0);
|
|||
|
|
|||
|
INPAapiResultInt(ganz_zahl,"STAT_VOLTAGE_WERT_3",1);
|
|||
|
inttostring(ganz_zahl,text_var);
|
|||
|
ftextout(text_var,19,60,0,0);
|
|||
|
|
|||
|
INPAapiResultText(text_var,"STAT_FEHLERFLAGS_TEXT_3",1,"");
|
|||
|
ftextout(text_var,23,60,0,0);
|
|||
|
|
|||
|
INPAapiResultText(text_var,"STAT_HALLFLAGS_TEXT_3",1,"");
|
|||
|
ftextout(text_var,26,60,0,0);
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
// ************************************
|
|||
|
// *** Statusscreen Lampen Digital ***
|
|||
|
// ************************************
|
|||
|
SCREEN s_status_lampen()
|
|||
|
{
|
|||
|
ftextout("Status Lampen Digital",1,0,1,0);
|
|||
|
ftextout("",3,0,0,0);
|
|||
|
|
|||
|
LINE("Lampen Digital","")
|
|||
|
{
|
|||
|
|
|||
|
// Job
|
|||
|
INPAapiJob(sgbd,"STATUS_LAMPEN_DIGITAL","","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
|
|||
|
// Nebelscheinwerfer
|
|||
|
INPAapiResultDigital(logik_var,"STAT_AUSGANG_NSW_LINKS_EIN",1);
|
|||
|
digitalout(logik_var, 1,15,"","");
|
|||
|
ftextout("NSW links",1,19,0,0);
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_AUSGANG_NSW_RECHTS_EIN",1);
|
|||
|
digitalout(logik_var, 1,55,"","");
|
|||
|
ftextout("NSW rechts",1,59,0,0);
|
|||
|
|
|||
|
// Blinker, AL und FL vorn
|
|||
|
INPAapiResultDigital(logik_var,"STAT_AUSGANG_FRA_LINKS_VORN_EIN",1);
|
|||
|
digitalout(logik_var, 4,5,"","");
|
|||
|
ftextout("Blinker links",6,2,0,0);
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_AUSGANG_AL_LINKS_EIN",1);
|
|||
|
digitalout(logik_var, 4,15,"","");
|
|||
|
ftextout("AL links",6,15,0,0);
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_AUSGANG_FL_LINKS_EIN",1);
|
|||
|
digitalout(logik_var, 4,25,"","");
|
|||
|
ftextout("FL links",6,25,0,0);
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_AUSGANG_FL_RECHTS_EIN",1);
|
|||
|
digitalout(logik_var, 4,45,"","");
|
|||
|
ftextout("FL rechts",6,44,0,0);
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_AUSGANG_AL_RECHTS_EIN",1);
|
|||
|
digitalout(logik_var, 4,55,"","");
|
|||
|
ftextout("AL rechts",6,54,0,0);
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_AUSGANG_FRA_RECHTS_VORN_EIN",1);
|
|||
|
digitalout(logik_var, 4,65,"","");
|
|||
|
ftextout("Blinker rechts",6,64,0,0);
|
|||
|
|
|||
|
// Begrenzungslicht vorne
|
|||
|
INPAapiResultDigital(logik_var,"STAT_AUSGANG_BEGRL_LINKS_EIN",1);
|
|||
|
digitalout(logik_var, 8,5,"","");
|
|||
|
ftextout("Begr.-Licht links",8,9,0,0);
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_AUSGANG_BEGRL_RECHTS_EIN",1);
|
|||
|
digitalout(logik_var, 8,65,"","");
|
|||
|
ftextout("Begr.-Licht rechts",8,69,0,0);
|
|||
|
|
|||
|
// Bremslichter und Schlusslichter
|
|||
|
INPAapiResultDigital(logik_var,"STAT_AUSGANG_SL_BL_LINKS_1_EIN",1);
|
|||
|
digitalout(logik_var, 12,5,"","");
|
|||
|
ftextout("SL BL 1",14,5,0,0);
|
|||
|
ftextout("links",15,5,0,0);
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_AUSGANG_E70_SL_BL_LINKS_2_R56_SML_LV_RH_EIN",1);
|
|||
|
digitalout(logik_var, 12,15,"","");
|
|||
|
ftextout("SL BL 2",14,15,0,0);
|
|||
|
ftextout("links",15,15,0,0);
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_AUSGANG_BREMSLICHT_LINKS_EIN",1);
|
|||
|
digitalout(logik_var, 12,25,"","");
|
|||
|
ftextout("Brems.",14,25,0,0);
|
|||
|
ftextout("links",15,25,0,0);
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_AUSGANG_BREMSLICHT_MITTE_EIN",1);
|
|||
|
digitalout(logik_var, 12,35,"","");
|
|||
|
ftextout("Brems.",14,35,0,0);
|
|||
|
ftextout("mitte",15,35,0,0);
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_AUSGANG_BREMSLICHT_RECHTS_EIN",1);
|
|||
|
digitalout(logik_var, 12,45,"","");
|
|||
|
ftextout("Brems.",14,45,0,0);
|
|||
|
ftextout("rechts",15,45,0,0);
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_AUSGANG_E70_SL_BL_RECHTS_2_R56_SML_RV_LH_EIN",1);
|
|||
|
digitalout(logik_var, 12,55,"","");
|
|||
|
ftextout("SL BL 2",14,55,0,0);
|
|||
|
ftextout("rechts",15,55,0,0);
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_AUSGANG_SL_BL_RECHTS_1_EIN",1);
|
|||
|
digitalout(logik_var, 12,65,"","");
|
|||
|
ftextout("SL BL 2",14,65,0,0);
|
|||
|
ftextout("rechts",15,65,0,0);
|
|||
|
|
|||
|
// Blinker, BFD und RFL hinten
|
|||
|
INPAapiResultDigital(logik_var,"STAT_AUSGANG_FRA_LINKS_HINTEN_EIN",1);
|
|||
|
digitalout(logik_var, 17,5,"","");
|
|||
|
ftextout("Blinker",19,5,0,0);
|
|||
|
ftextout("links",20,5,0,0);
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_AUSGANG_RFL_LINKS_EIN",1);
|
|||
|
digitalout(logik_var, 17,15,"","");
|
|||
|
ftextout("RFL",19,15,0,0);
|
|||
|
ftextout("links",20,15,0,0);
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_AUSGANG_BFD_LINKS_EIN",1);
|
|||
|
digitalout(logik_var, 17,25,"","");
|
|||
|
ftextout("BFD",19,25,0,0);
|
|||
|
ftextout("links",20,25,0,0);
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_AUSGANG_BFD_RECHTS_EIN",1);
|
|||
|
digitalout(logik_var, 17,45,"","");
|
|||
|
ftextout("BFD",19,45,0,0);
|
|||
|
ftextout("rechts",20,45,0,0);
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_AUSGANG_RFL_RECHTS_EIN",1);
|
|||
|
digitalout(logik_var, 17,55,"","");
|
|||
|
ftextout("RFL",19,55,0,0);
|
|||
|
ftextout("rechts",20,55,0,0);
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_AUSGANG_FRA_RECHTS_HINTEN_EIN",1);
|
|||
|
digitalout(logik_var, 17,65,"","");
|
|||
|
ftextout("Blinker",19,65,0,0);
|
|||
|
ftextout("rechts",20,65,0,0);
|
|||
|
|
|||
|
// NSL und KZL
|
|||
|
INPAapiResultDigital(logik_var,"STAT_AUSGANG_NSL_LINKS_EIN",1);
|
|||
|
digitalout(logik_var, 22,15,"","");
|
|||
|
ftextout("NSL links",24,15,0,0);
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_AUSGANG_KZL_EIN",1);
|
|||
|
digitalout(logik_var, 22,35,"","");
|
|||
|
ftextout("KZL",24,35,0,0);
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_AUSGANG_NSL_RECHTS_EIN",1);
|
|||
|
digitalout(logik_var, 22,55,"","");
|
|||
|
ftextout("NSL rechts",24,55,0,0);
|
|||
|
|
|||
|
|
|||
|
|
|||
|
// INPAapiResultDigital(logik_var,"STAT_AUSGANG_IBL_EIN",1);
|
|||
|
// digitalout(logik_var, 7,0,"","");
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
// INPAapiResultDigital(logik_var,"STAT_AUSGANG_BEL_WBL_TASTE_EIN",1);
|
|||
|
// digitalout(logik_var, 4,0,"","");
|
|||
|
|
|||
|
// INPAapiResultDigital(logik_var,"STAT_AUSGANG_VORFELD_BEL_EIN",1);
|
|||
|
// digitalout(logik_var, 7,0,"","");
|
|||
|
|
|||
|
// INPAapiResultDigital(logik_var,"STAT_AUSGANG_KL58G_EIN",1);
|
|||
|
// digitalout(logik_var, 10,0,"","");
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
// ************************************
|
|||
|
// *** Statusscreen Gurtbringer ***
|
|||
|
// ************************************
|
|||
|
|
|||
|
SCREEN s_status_gurt()
|
|||
|
{
|
|||
|
ftextout("Status Gurtbringer",1,0,1,0);
|
|||
|
ftextout("",3,0,0,0);
|
|||
|
|
|||
|
LINE("Gurtbringer","")
|
|||
|
{
|
|||
|
|
|||
|
INPAapiJob(sgbd,"STATUS_GURTBRINGER","3","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_GURTBRINGER_FAHRER_ENDLAGE_2_WERT",1);
|
|||
|
digitalout(logik_var, 1,0,"Gurtbringer Fahrer: Endlage erreicht","Gurtbringer Fahrer: Endlage erreicht");
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_GURTBRINGER_BEIFAHRER_ENDLAGE_2_WERT",1);
|
|||
|
digitalout(logik_var, 4,0,"Gurtbringer Beifahrer: Endlage erreicht","Gurtbringer Beifahrer: Endlage erreicht");
|
|||
|
|
|||
|
ftextout("Position Gurtbringer Fahrer",9,0,0,0);
|
|||
|
INPAapiResultAnalog(zahlen_var,"STAT_POS_GURTBRINGER_FAHRER_WERT",1);
|
|||
|
analogout(zahlen_var,10,0, -1, 80000, 0, 65000,"1");
|
|||
|
|
|||
|
ftextout("Position Gurtbringer Beifahrer",14,0,0,0);
|
|||
|
INPAapiResultAnalog(zahlen_var,"STAT_POS_GURTBRINGER_BEIFAHRER_WERT",1);
|
|||
|
analogout(zahlen_var,15,0, -1, 80000, 0, 65000,"1");
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
// ************************************
|
|||
|
// *** Statusscreen Spiegel ***
|
|||
|
// ************************************
|
|||
|
|
|||
|
SCREEN s_status_spiegel()
|
|||
|
{
|
|||
|
ftextout("Status Spiegel",1,0,1,0);
|
|||
|
ftextout("",3,0,0,0);
|
|||
|
|
|||
|
LINE("Status Spiegel","")
|
|||
|
{
|
|||
|
|
|||
|
// STAT_LIN_SPIEGEL
|
|||
|
|
|||
|
ftextout("Taster Richtung",1,0,0,0);
|
|||
|
|
|||
|
INPAapiJob(sgbd,"STATUS_SCHALTERBLOCK_TUER","","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_SPIEGEL_TASTER_LINKS_EIN",1);
|
|||
|
digitalout(logik_var, 8,0,"links","links");
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_SPIEGEL_TASTER_OBEN_EIN",1);
|
|||
|
digitalout(logik_var, 5,9,"oben","oben");
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_SPIEGEL_TASTER_RECHTS_EIN",1);
|
|||
|
digitalout(logik_var, 8,18,"rechts","rechts");
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_SPIEGEL_TASTER_UNTEN_EIN",1);
|
|||
|
digitalout(logik_var, 11,9,"unten","unten");
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
LINE("Status Spiegel","")
|
|||
|
{
|
|||
|
|
|||
|
INPAapiJob(sgbd,"STATUS_SCHALTERBLOCK_TUER","","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
ftextout("Schalter Auswahl Fahrer / Beifahrer",1,0,0,0);
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_SPIEGEL_SCHALTER_FA_EIN",1);
|
|||
|
digitalout(logik_var, 3,0,"Fahrer ","");
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_SPIEGEL_SCHALTER_FA_EIN",1);
|
|||
|
digitalout(logik_var, 3,18,"","Beifahrer");
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
LINE("Status Spiegel","")
|
|||
|
{
|
|||
|
|
|||
|
INPAapiJob(sgbd,"STATUS_SPIEGEL_HEIZUNG","","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
ftextout("Spiegelheizung",1,0,0,0);
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_SPIEGELHEIZUNG_WERT",1);
|
|||
|
digitalout(logik_var, 3,0,"ein","aus");
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
// ************************************
|
|||
|
// *** Statusscreen Spiegel ***
|
|||
|
// ************************************
|
|||
|
SCREEN s_status_kontakte()
|
|||
|
{
|
|||
|
ftextout("Status Tuerkontakte",1,0,1,0);
|
|||
|
ftextout("",3,0,0,0);
|
|||
|
|
|||
|
LINE("Status Tuerkontakte","")
|
|||
|
{
|
|||
|
|
|||
|
INPAapiJob(sgbd,"STATUS_DIGITAL_INPUTS","","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_EINGANG_TK_VL_EIN",1);
|
|||
|
digitalout(logik_var, 1,0,"Tuerkontakt Fahrer vorne ein","Tuerkontakt Fahrer vorne aus");
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_EINGANG_TK_VR_EIN",1);
|
|||
|
digitalout(logik_var, 1,30,"Tuerkontakt Beifahrer vorne ein","Tuerkontakt Beifahrer vorne aus");
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_EINGANG_TK_HL_EIN",1);
|
|||
|
digitalout(logik_var, 4,0,"Tuerkontakt Fahrer hinten ein","Tuerkontakt Fahrer hinten aus");
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_EINGANG_TK_HR_EIN",1);
|
|||
|
digitalout(logik_var, 4,30,"Tuerkontakt Beifahrer hinten ein","Tuerkontakt Beifahrer hinten aus");
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
// **************************
|
|||
|
// *** Steuernscreen ***
|
|||
|
// **************************
|
|||
|
SCREEN s_steuern()
|
|||
|
{
|
|||
|
ftextout("Steuern",1,0,1,0);
|
|||
|
ftextout("",3,0,0,0);
|
|||
|
LINE("","")
|
|||
|
{
|
|||
|
// ftextout("< F1 > init. Fensterheber" , 4,5,0,1);
|
|||
|
if (baureihe_R5x == FALSE)
|
|||
|
ftextout("< F1 > Init. Fensterheber" , 4,5,0,1);
|
|||
|
|
|||
|
ftextout("< F2 > Fenster verfahren" , 6,5,0,1);
|
|||
|
|
|||
|
|
|||
|
// Bei ALC Auswahl nur, wenn Spiegel auch verbaut
|
|||
|
if (LBLinSpiegel == TRUE)
|
|||
|
ftextout("< F3 > Aussenspiegel" , 8,5,0,1);
|
|||
|
else
|
|||
|
ftextout("< F3 > Aussenspiegel (nicht <20>ber FRM)" , 8,5,0,1);
|
|||
|
|
|||
|
// Bei ALC Auswahl nur, wenn ALC auch verbaut
|
|||
|
if (LBALC == TRUE)
|
|||
|
ftextout("< F4 > ALC" ,10,5,0,1);
|
|||
|
else
|
|||
|
ftextout("< F4 > ALC (nicht verf<72>gbar)" ,10,5,0,1);
|
|||
|
|
|||
|
// Gurtbringer
|
|||
|
if (LBGurtbringer == TRUE)
|
|||
|
ftextout("< F5 > Gurtbringer" ,12,5,0,1);
|
|||
|
else
|
|||
|
ftextout("< F5 > Gurtbringer (nicht verf<72>gbar)" ,12,5,0,1);
|
|||
|
|
|||
|
|
|||
|
|
|||
|
ftextout("< F6 > Lampen" ,14,5,0,1);
|
|||
|
|
|||
|
// ftextout("< F7 > Sonnenrollo" ,16,5,0,1);
|
|||
|
// ftextout("< F8 > Heizung" ,18,5,0,1);
|
|||
|
|
|||
|
//ftextout("<Shift> + < F1 > " , 4,45,0,1);
|
|||
|
//ftextout("<Shift> + < F2 > " , 6,45,0,1);
|
|||
|
//ftextout("<Shift> + < F3 > " , 8,45,0,1);
|
|||
|
//ftextout("<Shift> + < F4 > " ,10,45,0,1);
|
|||
|
//ftextout("<Shift> + < F5 > " ,12,45,0,1);
|
|||
|
//ftextout("<Shift> + < F8 > " ,18,45,0,1);
|
|||
|
//ftextout("<Shift> + < F9 > " ,20,45,0,1);
|
|||
|
ftextout("<Shift> + < F10> Exit" ,22,45,0,1);
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// **************************
|
|||
|
// *** ALC ***
|
|||
|
// **************************
|
|||
|
SCREEN s_steuern_alc()
|
|||
|
{
|
|||
|
ftextout("Steuern ALC",1,0,1,0);
|
|||
|
ftextout("Sichtweise in Fahrtrichtung!",3,0,0,0);
|
|||
|
LINE("","")
|
|||
|
{
|
|||
|
ftextout(" Sichtweise in Fahrtrichtung!",2,0,0,0);
|
|||
|
|
|||
|
ftextout("< F1 > Mittelstellung" , 4,5,0,1);
|
|||
|
ftextout("< F2 > Links oben" , 6,5,0,1);
|
|||
|
ftextout("< F3 > Rechts oben" , 8,5,0,1);
|
|||
|
ftextout("< F4 > Rechts unten" ,10,5,0,1);
|
|||
|
ftextout("< F5 > Links unten" ,12,5,0,1);
|
|||
|
// ftextout("< F6 > Taster" ,14,5,0,1);
|
|||
|
// ftextout("< F7 > Sonnenrollo" ,16,5,0,1);
|
|||
|
// ftextout("< F8 > Heizung" ,18,5,0,1);
|
|||
|
|
|||
|
//ftextout("<Shift> + < F1 > " , 4,45,0,1);
|
|||
|
//ftextout("<Shift> + < F2 > " , 6,45,0,1);
|
|||
|
//ftextout("<Shift> + < F3 > " , 8,45,0,1);
|
|||
|
//ftextout("<Shift> + < F4 > " ,10,45,0,1);
|
|||
|
//ftextout("<Shift> + < F5 > " ,12,45,0,1);
|
|||
|
//ftextout("<Shift> + < F8 > " ,18,45,0,1);
|
|||
|
//ftextout("<Shift> + < F9 > " ,20,45,0,1);
|
|||
|
ftextout("<Shift> + < F10> Exit" ,22,45,0,1);
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// **********************************
|
|||
|
// *** Steuernscreen init. FH ***
|
|||
|
// **********************************
|
|||
|
SCREEN s_steuern_init_fh()
|
|||
|
{
|
|||
|
ftextout("Steuern Initialisierung Fensterheber",1,0,1,0);
|
|||
|
ftextout("",3,0,0,0);
|
|||
|
LINE("","")
|
|||
|
{
|
|||
|
if (baureihe_R5x == FALSE)//E7x
|
|||
|
{
|
|||
|
ftextout("< F1 > init. alle" , 4,5,0,1);
|
|||
|
ftextout("< F2 > init. vorne" , 6,5,0,1);
|
|||
|
ftextout("< F3 > init. hinten" , 8,5,0,1);
|
|||
|
ftextout("< F4 > denor. alle" ,10,5,0,1);
|
|||
|
ftextout("< F5 > denor. vorne" ,12,5,0,1);
|
|||
|
ftextout("< F6 > denor. hinten" ,14,5,0,1);
|
|||
|
}
|
|||
|
else//Mini
|
|||
|
{
|
|||
|
ftextout("< F2 > Initialisieren" , 6,5,0,1);
|
|||
|
ftextout("< F4 > Denormieren" ,10,5,0,1);
|
|||
|
}
|
|||
|
|
|||
|
ftextout("< F9 > Druck" ,20,5,0,1);
|
|||
|
ftextout("< F10> Zur<75>ck" ,22,5,0,1);
|
|||
|
|
|||
|
//ftextout("<Shift> + < F1 > " , 4,45,0,1);
|
|||
|
//ftextout("<Shift> + < F2 > " , 6,45,0,1);
|
|||
|
//ftextout("<Shift> + < F3 > " , 8,45,0,1);
|
|||
|
//ftextout("<Shift> + < F4 > " ,10,45,0,1);
|
|||
|
//ftextout("<Shift> + < F5 > " ,12,45,0,1);
|
|||
|
//ftextout("<Shift> + < F8 > " ,18,45,0,1);
|
|||
|
//ftextout("<Shift> + < F9 > " ,20,45,0,1);
|
|||
|
ftextout("<Shift> + < F10> Exit" ,22,45,0,1);
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// ****************************************
|
|||
|
// *** Steuernscreen Speigelheizung ***
|
|||
|
// ****************************************
|
|||
|
SCREEN s_steuern_spiegelheizung()
|
|||
|
{
|
|||
|
ftextout("Steuern Spiegel nur LIN-Spiegel",1,0,1,0);
|
|||
|
ftextout("",3,0,0,0);
|
|||
|
LINE("","")
|
|||
|
{
|
|||
|
ftextout("< F1 > Spiegelheizung einschalten" , 4,5,0,1);
|
|||
|
ftextout("< F2 > Spiegelheizung ausschalten" , 6,5,0,1);
|
|||
|
ftextout("< F3 > Spiegel abblenden" , 8,5,0,1);
|
|||
|
ftextout("< F4 > Spiegel aufhellen" ,10,5,0,1);
|
|||
|
ftextout("< F5 > Spiegel ein/ausklappen" ,12,5,0,1);
|
|||
|
|
|||
|
ftextout("",7,0,0,0);
|
|||
|
}
|
|||
|
|
|||
|
LINE("","")
|
|||
|
{
|
|||
|
|
|||
|
|
|||
|
LSAusgabe = "Spiegelheizung aus";
|
|||
|
|
|||
|
INPAapiJob(sgbd,"STATUS_SPIEGEL_HEIZUNG","","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
INPAapiResultDigital(logik_var,"STAT_SPIEGELHEIZUNG_WERT",1);
|
|||
|
digitalout(logik_var, 1,5,"Spiegelheizung","Spiegelheizung");
|
|||
|
|
|||
|
if (logik_var ==TRUE)
|
|||
|
{
|
|||
|
LSAusgabe = "Spiegelheizung zu ";
|
|||
|
}
|
|||
|
|
|||
|
INPAapiResultText(text_var,"STAT_SPIEGELHEIZUNG_TEXT",1,"");
|
|||
|
ftextout(LSAusgabe + text_var + " ",5,5,1,0);
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// *************************************************
|
|||
|
// *** Steuernmen<65> Gurtbringer ***
|
|||
|
// *************************************************
|
|||
|
MENU m_steuern_gurt()
|
|||
|
{
|
|||
|
|
|||
|
|
|||
|
INIT {
|
|||
|
setmenutitle("Gurtbringer ansteuern");
|
|||
|
}
|
|||
|
|
|||
|
ITEM( 1 ,"Initialisieren")
|
|||
|
{
|
|||
|
|
|||
|
INPAapiJob(sgbd,"STEUERN_GURTBRINGER_INITIALISIERUNG","","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
}
|
|||
|
ITEM( 2 ,"Einfahren")
|
|||
|
{
|
|||
|
INPAapiJob(sgbd,"STEUERN_GURTBRINGER_RICHTUNG","2;2","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
}
|
|||
|
ITEM( 3 ,"Ausfahren")
|
|||
|
{
|
|||
|
|
|||
|
INPAapiJob(sgbd,"STEUERN_GURTBRINGER_RICHTUNG","1;1","");
|
|||
|
INPAapiCheckJobStatus("OKAY");
|
|||
|
|
|||
|
}
|
|||
|
ITEM( 4 ,"")
|
|||
|
{
|
|||
|
}
|
|||
|
ITEM( 5 ,"")
|
|||
|
{
|
|||
|
}
|
|||
|
ITEM( 6 ,"")
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
ITEM( 7 ,"")
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
ITEM( 8 ,"")
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
ITEM(18 ,"Gesamt") {
|
|||
|
start();
|
|||
|
deselect();
|
|||
|
}
|
|||
|
ITEM( 9 ,"Druck") {
|
|||
|
printscreen();
|
|||
|
}
|
|||
|
ITEM( 10 ,"Zur<75>ck") {
|
|||
|
setscreen( s_steuern ,TRUE);
|
|||
|
setmenu( m_steuern );
|
|||
|
}
|
|||
|
ITEM( 20 ,"Exit") {
|
|||
|
exit();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// **************************
|
|||
|
// *** Gurtbringer ***
|
|||
|
// **************************
|
|||
|
SCREEN s_steuern_gurt()
|
|||
|
{
|
|||
|
ftextout("Steuern Gurtbringer",1,0,1,0);
|
|||
|
LINE("","")
|
|||
|
{
|
|||
|
ftextout("< F1 > Initialisieren" , 4,5,0,1);
|
|||
|
ftextout("< F2 > Einfahren" , 6,5,0,1);
|
|||
|
ftextout("< F3 > Ausfahren" , 8,5,0,1);
|
|||
|
// ftextout("< F6 > Taster" ,14,5,0,1);
|
|||
|
// ftextout("< F7 > Sonnenrollo" ,16,5,0,1);
|
|||
|
// ftextout("< F8 > Heizung" ,18,5,0,1);
|
|||
|
|
|||
|
//ftextout("<Shift> + < F1 > " , 4,45,0,1);
|
|||
|
//ftextout("<Shift> + < F2 > " , 6,45,0,1);
|
|||
|
//ftextout("<Shift> + < F3 > " , 8,45,0,1);
|
|||
|
//ftextout("<Shift> + < F4 > " ,10,45,0,1);
|
|||
|
//ftextout("<Shift> + < F5 > " ,12,45,0,1);
|
|||
|
//ftextout("<Shift> + < F8 > " ,18,45,0,1);
|
|||
|
//ftextout("<Shift> + < F9 > " ,20,45,0,1);
|
|||
|
ftextout("<Shift> + < F10> Exit" ,22,45,0,1);
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// **************************
|
|||
|
// *** Lampen ***
|
|||
|
// **************************
|
|||
|
SCREEN s_steuern_lampen()
|
|||
|
{
|
|||
|
ftextout("Steuern Lampen",1,0,1,0);
|
|||
|
LINE("","")
|
|||
|
{
|
|||
|
ftextout("< F1 > Abblendlicht ein" , 4,5,0,1);
|
|||
|
ftextout("< F2 > Fernlicht ein" , 6,5,0,1);
|
|||
|
ftextout("< F3 > Blinker / Begr.-Licht ein" , 8,5,0,1);
|
|||
|
ftextout("< F4 > Nebelsscheinwerfer ein" ,10,5,0,1);
|
|||
|
ftextout("< F5 > Bremslicht / Schlusslicht ein" ,12,5,0,1);
|
|||
|
ftextout("< F6 > Nebelschlussl. / R<>ckfahrl. ein" ,14,5,0,1);
|
|||
|
ftextout("< F7 > Breakforce-Display ein" ,16,5,0,1);
|
|||
|
|
|||
|
if (baureihe_R5x == FALSE)
|
|||
|
ftextout("< F8 > Vorfeld-Bel. ein" ,18,5,0,1);
|
|||
|
else
|
|||
|
ftextout("< F8 > Colour Switch blau" ,18,5,0,1);
|
|||
|
|
|||
|
ftextout("< F10> Zur<75>ck" ,22,5,0,1);
|
|||
|
|
|||
|
ftextout("<Shift> + < F1 > Abblendlicht aus" , 4,45,0,1);
|
|||
|
ftextout("<Shift> + < F2 > Fernlicht aus" , 6,45,0,1);
|
|||
|
ftextout("<Shift> + < F3 > Blinker / Begr.-Licht aus" , 8,45,0,1);
|
|||
|
ftextout("<Shift> + < F4 > Nebelsscheinwerfer aus" ,10,45,0,1);
|
|||
|
ftextout("<Shift> + < F5 > Bremslicht / Schlusslicht aus" ,12,45,0,1);
|
|||
|
ftextout("<Shift> + < F6 > Nebelschlussl. / R<>ckfahrl. aus" ,14,45,0,1);
|
|||
|
ftextout("<Shift> + < F7 > Breakforce-Display aus" ,16,45,0,1);
|
|||
|
|
|||
|
if (baureihe_R5x == FALSE)
|
|||
|
ftextout("<Shift> + < F8 > Vorfeld-Bel. aus" ,18,45,0,1);
|
|||
|
else
|
|||
|
ftextout("<Shift> + < F8 > Colour Switch orange" ,18,45,0,1);
|
|||
|
|
|||
|
|
|||
|
ftextout("<Shift> + < F10> Exit" ,22,45,0,1);
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// **********************************
|
|||
|
// *** Steuernscreen init. FH ***
|
|||
|
// **********************************
|
|||
|
SCREEN s_steuern_fh_verfahren()
|
|||
|
{
|
|||
|
ftextout("Steuern Fensterheber verfahren",1,0,1,0);
|
|||
|
ftextout("",3,0,0,0);
|
|||
|
LINE("","")
|
|||
|
{
|
|||
|
if (baureihe_R5x == FALSE)
|
|||
|
{
|
|||
|
ftextout("< F1 > Schliessen alle" , 4,5,0,1);
|
|||
|
ftextout("< F2 > Schliessen vorne" , 6,5,0,1);
|
|||
|
ftextout("< F3 > Schliessen hinten" , 8,5,0,1);
|
|||
|
ftextout("< F4 > <20>ffnen alle" ,10,5,0,1);
|
|||
|
ftextout("< F5 > <20>ffnen vorne" ,12,5,0,1);
|
|||
|
ftextout("< F6 > <20>ffnen hinten" ,14,5,0,1);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
ftextout("< F1 > Schliessen" , 4,5,0,1);
|
|||
|
ftextout("< F2 > <20>ffnen" , 6,5,0,1);
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
ftextout("< F9 > Druck" ,20,5,0,1);
|
|||
|
ftextout("< F10> Zur<75>ck" ,22,5,0,1);
|
|||
|
|
|||
|
//ftextout("<Shift> + < F1 > " , 4,45,0,1);
|
|||
|
//ftextout("<Shift> + < F2 > " , 6,45,0,1);
|
|||
|
//ftextout("<Shift> + < F3 > " , 8,45,0,1);
|
|||
|
//ftextout("<Shift> + < F4 > " ,10,45,0,1);
|
|||
|
//ftextout("<Shift> + < F5 > " ,12,45,0,1);
|
|||
|
//ftextout("<Shift> + < F8 > " ,18,45,0,1);
|
|||
|
//ftextout("<Shift> + < F9 > " ,20,45,0,1);
|
|||
|
ftextout("<Shift> + < F10> Exit" ,22,45,0,1);
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// -- EOF --
|