Source file: /~heha/messtech/sensokom.zip/include/DRIVER.H

#if !defined(__driver_h) // Datei nur benutzen, wenn Sie nicht bereits aufgenommen wurde
#define __driver_h
# ifdef __cplusplus
extern "C" {
# endif

extern int verstaerk[8];
extern int strom_inv[4];
extern WORD wcDisplay[0x60];
extern WORD bcDisplay[0x20];
extern HINSTANCE hInstance;	// ich komm an das blöde OWL nicht ran!
// INITIALISIERUNG DER SERIELLEN SCHNITTSTELLE ------------------------------
BOOL pascal Com_Init (LPCSTR DdeServer, WORD ComX, WORD BaudRate);
// SENDEN EINES STRINGS šBER DIE SERIELLE SCHNITTSTELLE ---------------------
BOOL pascal Com_Query(LPCSTR send, LPSTR recv, UINT rlen);
// ASCII-Hex Charakter in ein Byte umwandeln --------------------------------
BYTE pascal ConvHex(char Wert);
// ISM-01 MESSWERT/STATUS ABFRAGEN ------------------------------------------
BOOL pascal ISM_Abfrage (BYTE Adresse, LPSTR recv, UINT rlen);
// LIEFERT DEN MESSWERT AUS DER ISM-ANTWORT ---------------------------------
PSTR pascal Get_Messwert (LPSTR AntwortStringZeiger);
// DIGITALER STATUS ---
#define GetOut(s)	(ConvHex((s)[8]) & 0x01 ? TRUE : FALSE)	// OUT-Treiber
#define Get_IO(s)	(ConvHex((s)[8]) & 0x02 ? TRUE : FALSE)	// I/O-Anschluss
#define GetInp(s)	(ConvHex((s)[8]) & 0x04 ? TRUE : FALSE)	// IN-Anschluss
#define GetOutOfLin(s)	(ConvHex((s)[8]) & 0x08 ? TRUE : FALSE)	// ERROR-LED

// Grundlegender Speicherzugriff, den Rest erledigen Makros
BOOL pascal SetMemoryP(BYTE Adresse, UINT memadr, LPBYTE value, UINT bytes);
BOOL pascal SetMemoryB(BYTE Adresse, UINT memadr, BYTE value);
BOOL pascal SetMemoryW(BYTE Adresse, UINT memadr, WORD value);
BOOL pascal SetMemoryL(BYTE Adresse, UINT memadr, long value);
BOOL pascal GetMemoryP(BYTE Adresse, UINT memadr, LPBYTE value, UINT bytes);
BYTE pascal GetMemoryB(BYTE Adresse, UINT memadr);
WORD pascal GetMemoryW(BYTE Adresse, UINT memadr);
long pascal GetMemoryL(BYTE Adresse, UINT memadr);

// ISM-01 SERIENNUMMER/FILENAME ABFRAGEN ------------------------------------
BOOL pascal ISM_Info (BYTE Adresse, LPSTR recv, UINT rlen);
// LIEFERT DEN SERIENNUMMER AUS DER ISM-ANTWORT -----------------------------
LPSTR pascal Get_Number(LPSTR AntwortStringZeiger);
// LIEFERT DEN FILENAME AUS DER ISM-ANTWORT ---------------------------------
LPSTR pascal Get_File(LPSTR AntwortStringZeiger);
// BERRECHNET CHECKSUMME ----------------------------------------------------
BYTE pascal Make_Summe (LPCSTR S);
#define Get_Messart(a)		GetMemoryB(a,0xE019)
#define Set_Messart(a,m)	SetMemoryB(a,0xE019,m)
#define Get_Thermotyp(a)	GetMemoryB(a,0xE0FE)
#define Set_Thermotyp(a,t)	SetMemoryB(a,0xE0FE,t)
#define Get_Mittelungen(a)	GetMemoryW(a,0xE010)
#define Set_Mittelungen(a,m)	SetMemoryW(a,0xE010,m)
#define Get_Strom(a)	 (BYTE)(GetMemoryB(a,0xE02C)&3)
#define Set_Strom(a,s)		SetMemoryB(a,0xE02C,s)
BOOL pascal Get_Einheit(BYTE Adresse, LPSTR Einheit);
BOOL pascal Set_Einheit(BYTE Adresse, LPSTR Einheit);	// modifiziert Einheit!
#define Get_Komma(a)		GetMemoryW(a,0xE012)
#define Set_Komma(a,k)		SetMemoryW(a,0xE012,k)
#define Get_Schwelle(a,i)	GetMemoryL(a,0xE01C+((i)<<2))
#define Set_Schwelle(a,i,s)	SetMemoryL(a,0xE01C+((i)<<2),s)
#define Get_OutputSettings(a)	GetMemoryB(a,0xE01B)
#define Set_OutputSettings(a,v)	SetMemoryB(a,0xE01B,v)
#define Get_IoputSettings(a)	GetMemoryB(a,0xE01A)
#define Set_IoputSettings(a,v)	SetMemoryB(a,0xE01A,v)
//int pascal Get_Verstaerkung(BYTE Adresse);
//BOOL pascal Set_Verstaerkung(BYTE Adresse, int Verstaerkung);
#define Get_Verstaerk(a) (BYTE)(GetMemoryB(a,0xE018)&7)
#define Set_Verstaerk(a,v)	SetMemoryB(a,0xE018,v)
#define Get_LinWert(a,i)	GetMemoryL(a,0xE080+((i)<<2))
#define Set_LinWert(a,i,v)	SetMemoryL(a,0xE080+((i)<<2),v)
#define Get_OrgWert(a,i) (short)GetMemoryW(a,0xE0D0+((i)<<1))
#define Set_OrgWert(a,i,v)	SetMemoryW(a,0xE0D0+((i)<<1),(WORD)(v))
#define Get_LinAnzahl(a)	GetMemoryW(a,0xE0F8)
#define Set_LinAnzahl(a,z)	SetMemoryW(a,0xE0F8,z)
#define Get_Baudrate(a)		GetMemoryW(a,0xE004)
#define Set_Baudrate(a,b)	SetMemoryW(a,0xE004,b)
int pascal Get_ModulAdresse(BYTE Adresse);
BOOL pascal Set_ModulAdresse(BYTE Adresse,BYTE newAdresse);
# ifdef __cplusplus
}
# endif
#endif	// __driver_h

Detected encoding: ANSI (CP1252)4
Wrong umlauts? - Assume file is ANSI (CP1252) encoded