1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
|
/*
* @(#)$Id: bitscope.h,v 2.0 2008/12/17 17:35:46 baccala Exp $
*
* Copyright (C) 2000 Tim Witham <twitham@quiknet.com>
*
* (see the files README and COPYING for more details)
*
* This file defines BitScope serial bits and function prototypes.
*
*/
/* BitScope serial data protocol bit definitions */
#define R13 (bs.r[13] ? bs.r[13] : 256)
#define R15 (bs.r[15] ? bs.r[15] : 256)
/* Spock Option Byte (R7) */
#define TRIGLEVEL 0
#define TRIGEDGE 0x20
#define TRIGEDGEF2T 0
#define TRIGEDGET2F 0x10
#define LOWER16BNC 0
#define UPPER16POD 0x08
#define TRIGDDBIT7 0
#define TRIGCOMPARE 2
#define TRIGEVENT1 4
#define TRIGEVENT2 6
#define TRIGDIGITAL 0
#define TRIGANALOG 1
/* Input / Attenuation Register (R14) */
#define PRIMARY(bits) (bits)
#define SECONDARY(bits) ((bits) << 4)
#define RANGE130 0
#define RANGE600 1
#define RANGE1200 2
#define RANGE3160 3
#define CHANNELA 4
#define CHANNELB 0
#define ZZCLK 8
/* Trace Modes (R8) */
#define SIMPLE 0
#define SIMPLECHOP 1
#define TIMEBASE 2
#define TIMEBASECHOP 3
#define SLOWCLOCK 4
#define FREQUENCY 8
#define SETWORD(r, w) *r = w & 0xff; *(r + 1) = ((w & 0xff00) >> 8);
typedef struct BitScope { /* The state of the BitScope */
short probed;
short found;
char bcid[12]; /* ? output, minus <CR>s */
int version; /* numeric version equivalent */
int fd; /* file descriptor */
unsigned char r[24]; /* registers */
int R[24]; /* register overrides from file load */
unsigned char buf[256 * 5 + 20]; /* serial input buffer */
} BitScope;
extern BitScope bs;
int idbitscope(int fd);
|