#ifndef PtsModule__H_
 
#define PtsModule__H_
 
 
 
#define BYTE_PER_DOT 8192
 
#define ADR_CSR0 0x00   // D[1] LEDTEST; D[0] RESET
 
#define ADR_CLK 0x04    // D[15:12] CLKOUT1; D[11:8] CLKOUT0;
 
                                        // D[7:4] SCLK; D[3:0] PCLK
 
#define ADR_VMECLK 0x08 // D[3] CLKOUT1; D[2] CLKOUT0;
 
                                         // D[1] SCLK; D[0] PCLK
 
#define ADR_BUSA_REG 0x10
 
#define ADR_BUSA_IN 0x14
 
#define ADR_BUSA_DIR 0x18 // D[9:8] BUSA;
 
#define ADR_CFG 0x40
 
#define ADR_CSR1 0x44 // D[8] DONE; D[1] VCS_; D[0] PROGRAM_
 
#define ADR_MODE 0x48
 
#define ADR_SYSRESET 0xfc // write D=0 to sysreset
 
 
 
#define CSR1_PROGRAM_ 0x1
 
#define CSR1_VCS_ 0x2
 
#define CSR1_DONE 0x100
 
 
 
#define SELECTMAP_MODE 2
 
#define SLAVESERIAL_MODE 3
 
 
 
  int Pts_erase(uint32_t addr ,int);
 
//  int Pts_configure( const char *filename, int mode=SLAVESERIAL_MODE,
 
//  int Pts_configure(const char *, int, int );
 
  int Pts_configure_bit(uint32_t addr, const char *, int, int);
 
//  int Pts_configure_rbt(const char *, int, int);
 
  int Pts_check_configure(uint32_t addr,int);
 
  int Pts_reset(int);
 
 
 
//#define PTSADDR 0x50000000
 
 
 
 
 
//#define Pts_write(VME,DATA) VME_write_32(udev,Ext_NoPriv_Data,PTSADDR+(VME),(DATA))
 
//#define Pts_read(VME,DATA) VME_read_32(udev,Ext_NoPriv_Data,PTSADDR+(VME),(DATA))
 
 
 
 
 
#endif