// PWLIB.H

// Includes
#include	<stdarg.h>
#include	<stddef.h>
#include	<stdio.h>
#include	<stdlib.h>
#include	<string.h>
#include	<time.h>
#include	<ctype.h>
#include	<math.h>
#include	<assert.h>
#include	<errno.h>
#include	<float.h>
#include	<limits.h>
#include	<locale.h>
#include	<setjmp.h>
#include	<signal.h>


#include	<TT8.h>			/* Tattletale Model 8 Definitions */
#include	<tat332.h>		/* 68332 Tattletale (7,8) Hardware Definitions */
#include	<sim332.h>		/* 68332 System Integration Module Definitions */
#include	<qsm332.h>		/* 68332 Queued Serial Module Definitions */
#include	<tpu332.h>		/* 68332 Time Processing Unit Definitions */
#include	<dio332.h>		/* 68332 Digital I/O Port Pin Definitions */
#include	<tt8pic.h>		/* Model 8 PIC Parallel Slave Port Definitions */
#include	<tt8lib.h>		/* definitions and prototypes for Model 8 library */
#include	<fcntl.h>
#include	<sgtty.h>
#include	<stat.h>
#include	<userio.h>




/******************* TPU Definitions ********************/


enum	{ LINK_CTRL, MAX_PER_CNT, LAST_ACCUM, ACCUM, ACCRT_UB, PPWA_LW };

/* PSC Pin State Control */
#define			ForceByPAC		0x00
#define			ForceHigh		0x01
#define			ForceLow		0x02
#define			NoForceState	0x03

/* PAC Pin Action Control (Inputs) */
#define			NoTranDet		0x00
#define			DetRising		0x04
#define			DetFalling		0x08
#define			DetEither		0x0c
#define			NoChangePAC		0x10

/* PAC Pin Action Control (Outputs) */
#define			NoChangematch	0x00
#define			HighOnMatch		0x04
#define			LowOnMatch		0x08
#define			ToggleOnMatch	0x0c

/* TBS Time Base/Directionality Control */
#define			InputChan		0x00
#define			OutputChan		0x80
#define			Cap1Match1		0x00
#define			Cap1Match2		0x20
#define			Cap2Match1		0x40
#define			Cap2Match2		0x60
#define			NoChangeTBS		0x100

/* DIO Parameters */
#define			CHANNEL_CONTROL		0
#define			PIN_LEVEL			1
#define			MATCH_RATE			2

/* DIO Sequences */
#define			UpdtOnTrans			0
#define			UpdtAtRate			1
#define			UpdtOnHSRInit		2

/* DIO Requests */
#define			SetHigh				1
#define			SetLow				2
#define			Initialize			3

