#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
|
|