File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / ntp / include / hopf6039.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue May 29 12:08:38 2012 UTC (12 years, 1 month ago) by misho
Branches: ntp, MAIN
CVS tags: v4_2_6p5p0, v4_2_6p5, HEAD
ntp 4.2.6p5

    1: /****************************************************************************/
    2: /*      hopf6039.h                                                          */     
    3: /*      hopf Elektronik 6039 PCI radio clock header                         */
    4: /*      (c) 1999, 2000 Bernd Altmeier    <altmeier@ATLSoft.de>              */
    5: /*      Rev. 1.00 Date 25.03.2000                                           */
    6: /*      History:                                                            */
    7: /****************************************************************************/
    8: 
    9: #ifndef _hopf6039_H_
   10: #define _hopf6039_H_
   11: 
   12: #define HOPF_MAXVERSION			8
   13: #define	HOPF_CNTR_MEM_LEN		0x7f
   14: #define	HOPF_DATA_MEM_LEN		0x3ff	/* this is our memory size */
   15: 
   16: /* macros and definition for 32 to 16 to 8 bit conversion */
   17: 
   18: typedef unsigned long       DWORD;
   19: typedef unsigned char       BYTE;
   20: typedef unsigned short      WORD;
   21: 
   22: #define LOWORD(l)     ((WORD)(l))
   23: #define HIWORD(l)     ((WORD)(((DWORD)(l) >> 16) & 0xFFFF))
   24: #define LOBYTE(w)     ((BYTE)(w))
   25: #define HIBYTE(w)     ((BYTE)(((WORD)(w) >> 8) & 0xFF))
   26: 
   27: /* iocntl codes for driver access */
   28: 
   29: #define HOPF_CLOCK_CMD_MASK 0xff000
   30: 
   31: #define HOPF_CLOCK_GET_LOCAL		0x10000 
   32: #define HOPF_CLOCK_GET_UTC		0x20000
   33: #define HOPF_CLOCK_GET_ANTENNA		0x30000
   34: #define HOPF_CLOCK_GET_DIFFERENCE	0x40000
   35: #define HOPF_CLOCK_GET_VERSION		0x50000
   36: #define HOPF_CLOCK_GET_POSITION		0x60000
   37: #define HOPF_CLOCK_GET_SATDATA		0x70000
   38: #define HOPF_CLOCK_GET_SYSTEMBYTE	0x80000
   39: #define HOPF_CLOCK_GET_IRIG		0x90000
   40: 
   41: #define HOPF_CLOCK_SET_DIFFERENCE	0x01000
   42: #define HOPF_CLOCK_SET_ANTENNA		0x02000
   43: #define HOPF_CLOCK_SET_TIME 		0x03000
   44: #define HOPF_CLOCK_SET_POSITION		0x04000
   45: #define HOPF_CLOCK_SET_SATMODE		0x05000
   46: #define HOPF_CLOCK_SET_SYSTEMBYTE	0x06000
   47: #define HOPF_CLOCK_SET_RESET		0x07000
   48: #define HOPF_CLOCK_SET_IRIG		0x08000
   49: 
   50: /* clock command codes */
   51: 
   52: #define HOPF_CLOCK_HARDRESET		0x00008000
   53: #define HOPF_CLOCK_SOFTRESET		0x00004000
   54: 
   55: /* sat-information */
   56: 
   57: typedef struct SatStat{    
   58: 	BYTE wVisible;    
   59: 	BYTE wMode;
   60: 	BYTE wSat0;
   61: 	BYTE wRat0;
   62: 	BYTE wSat1;
   63: 	BYTE wRat1;
   64: 	BYTE wSat2;
   65: 	BYTE wRat2;
   66: 	BYTE wSat3;
   67: 	BYTE wRat3;
   68: 	BYTE wSat4;
   69: 	BYTE wRat4;
   70: 	BYTE wSat5;
   71: 	BYTE wRat5;
   72: 	BYTE wSat6;
   73: 	BYTE wRat6;
   74: 	BYTE wSat7;
   75: 	BYTE wRat7;
   76: } SatStat;
   77: 
   78: /* GPS position */
   79: 
   80: typedef struct GPSPos {  /* Position */
   81: 	long wAltitude;   
   82: 	long wLongitude;   
   83: 	long wLatitude;    
   84: } GPSPos;
   85: 
   86: /* clock hardware version */
   87: 
   88: typedef struct ClockVersion {    
   89: 	char cVersion[255];  /* Hardware Version like " DCF-RECEIVER,   VERSION 01.01, DAT: 23.NOV.1999" */
   90: 	char dVersion[255];  /* Driver Version */
   91: } ClockVersion;
   92: 
   93: /* hopftime what you think */
   94: 
   95: typedef struct HOPFTIME { 
   96:     unsigned int wYear; 
   97:     unsigned int wMonth; 
   98:     unsigned int wDayOfWeek; 
   99:     unsigned int wDay; 
  100:     unsigned int wHour; 
  101:     unsigned int wMinute; 
  102:     unsigned int wSecond; 
  103:     unsigned int wMilliseconds; 
  104:     unsigned int wStatus; 
  105: } HOPFTIME; 
  106: 
  107: /* DCF77 antenna alignment */
  108: 
  109: typedef struct DcfAntenne {    
  110: 	BYTE bStatus;    
  111: 	BYTE bStatus1;    
  112: 	WORD wAntValue;    
  113: } DcfAntenne;
  114: 
  115: /* hopf PCI clock */
  116: 
  117: typedef struct hopfCard {
  118: 	char name[32];
  119: 	unsigned irq;
  120: 	unsigned long membase; /* without mmap */
  121: 	unsigned int port;
  122: 
  123: 	int versionlen;
  124: 	char versionbuf[1024];
  125: 	char *version[HOPF_MAXVERSION];
  126: 	char cardname[32];
  127: 	int interrupt;
  128: 	void *mbase;		   /* this will be our memory base address */
  129: 
  130: } hopfCard;
  131: 
  132: typedef struct cardparams {
  133: 	unsigned int port;
  134: 	unsigned irq;
  135: 	int cardtype;
  136: 	int cardnr;
  137: 	unsigned int membase;
  138: } cardparams;
  139: 
  140: 
  141: #define WRITE_REGISTER		0x00
  142: #define READ_REGISTER		0x01
  143: 
  144: #endif /* _hopf6039_H_ */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>