1 1.5 christos /* $NetBSD: gps.h,v 1.5 2020/05/25 20:47:19 christos Exp $ */ 2 1.1 kardel 3 1.1 kardel /****************************************************************************/ 4 1.1 kardel /* gps.h */ 5 1.1 kardel /* TrueTime GPS-VME and VME-SG */ 6 1.1 kardel /* VME controller hardware commands and parameters. */ 7 1.1 kardel /* created 010694 res */ 8 1.1 kardel /* History: revised for 747i 3/94 */ 9 1.1 kardel /****************************************************************************/ 10 1.1 kardel 11 1.1 kardel 12 1.1 kardel #define GPS_VME "/dev/vme2" /* the device file for the GPS board */ 13 1.1 kardel /* change it to whatever yours is */ 14 1.1 kardel #define PRIO 120 /* set the realtime priority */ 15 1.1 kardel #define NREGS 7 /* number of registers we will use */ 16 1.1 kardel 17 1.1 kardel #define GFRZ1 0x0020 /* freeze cmd addr gen reg. 1 */ 18 1.1 kardel #define GREG1A 0x0021 /* Gen reg. 1 Word A (units microsec to 0.001 sec) */ 19 1.1 kardel #define GREG1B 0x0040 /* Gen reg. 1 Word B (units 0.01 sec to tens sec ) */ 20 1.1 kardel #define GREG1C 0x0041 /* Gen reg 1 Word C (units mins and hours) */ 21 1.1 kardel #define GREG1D 0x0042 /* Gen reg. 1 Word D (units days and status) */ 22 1.1 kardel #define GREG1E 0x0043 /* Gen reg. 1 Word E (units Years ) */ 23 1.1 kardel #define GUFRZ1 0x0022 /* unfreeze cmd addr gen reg 1 */ 24 1.1 kardel 25 1.1 kardel #define MASKDAY 0x0FFF /* mask for units days */ 26 1.1 kardel #define MASKHI 0xFF00 27 1.1 kardel #define MASKLO 0x00FF 28 1.1 kardel /* Use the following ASCII hex values: N(0x004e),S(0x0053),E(0x0045), 29 1.1 kardel W(0x0057), +(0x002B), - (0x002D) */ 30 1.1 kardel 31 1.1 kardel #define LAT1 0x0048 /* Lat (degrees) */ 32 1.1 kardel #define LAT2 0x0049 /* Lat (min, sec) */ 33 1.1 kardel #define LAT3 0x004A /* Lat (N/S, tenths sec) */ 34 1.1 kardel #define LON1 0x004B /* Lon (degrees) */ 35 1.1 kardel #define LON2 0x004C /* Lon (min, sec) */ 36 1.1 kardel #define LON3 0x004D /* Lon (E/W, tenths sec) */ 37 1.1 kardel #define ELV1 0x004E /* Elev. (sign, 10,000 and 1000 ) */ 38 1.1 kardel #define ELV2 0x004F /* Elev. (100, 10s, units, and .1) */ 39 1.1 kardel 40 1.1 kardel #define CFREG1 0x0050 /* config. register 1 */ 41 1.1 kardel #define CFREG2 0x00A0 /* config. register 2 */ 42 1.1 kardel #define PMODE 0x00A4 /* Position mode */ 43 1.1 kardel #define LOCAL 0x0051 /* Local hours offset */ 44 1.1 kardel #define RATE 0x0054 /* Pulse rate output select */ 45 1.1 kardel #define DAC 0x0055 /* OSC Control (DAC) select */ 46 1.1 kardel 47 1.1 kardel #define PUMS 0x0056 /* Gen. preset register unit millisec */ 48 1.1 kardel #define PMS 0x0057 /* Gen. preset register units hundreds and tens ms */ 49 1.1 kardel #define PSEC 0x0058 /* Gen. preset register units tens and unit seconds */ 50 1.1 kardel #define PMIN 0x0059 /* Gen. preset register units tens and unit minutes */ 51 1.1 kardel #define PHRS 0x005A /* Gen. preset register units tens and unit hours */ 52 1.1 kardel #define PDYS1 0x005B /* Gen. preset register units tens and unit days */ 53 1.1 kardel #define PDYS2 0x005C /* Gen. preset register units hundreds days */ 54 1.1 kardel #define PYRS1 0x005D /* Gen. preset register units tens and unit years */ 55 1.1 kardel #define PYRS2 0x005E /* Gen. preset reg. units thousands and hundreds yrs */ 56