13 #ifndef __LSDelayChipV1_H_ 14 #define __LSDelayChipV1_H_ 22 #define INT_TH_0_CONFREG_ADDR 0x00 23 #define INT_TH_1_CONFREG_ADDR 0x02 24 #define INT_TH_2_CONFREG_ADDR 0x10 25 #define INT_TH_3_CONFREG_ADDR 0x12 27 #define ADC_0_CONFREG_ADDR 0x01 28 #define ADC_1_CONFREG_ADDR 0x03 29 #define ADC_2_CONFREG_ADDR 0x11 30 #define ADC_3_CONFREG_ADDR 0x13 32 #define DLL_0_STATREG_ADDR 0xA0 33 #define DLL_1_STATREG_ADDR 0xA1 34 #define DLL_2_STATREG_ADDR 0xB0 35 #define DLL_3_STATREG_ADDR 0xB1 38 #define CHARGEPUMP_SOFT_RST 0x40 39 #define SC_MOSI_MISO_BYPASS 0xFF 41 typedef unsigned long U32;
42 typedef unsigned short U16;
43 typedef unsigned char U8;
72 setType(
"LSDelayChipV1");
76 debug(
"LSDelayChipV1 built.",
"LSDelayChipV1::LSDelayChipV1");
81 m_regConfig->setName(
"ConfigRegister");
82 m_regStatus->setName(
"StatusRegister");
84 m_regConfig->io()->setSubAddress(9);
85 m_regStatus->io()->setSubAddress(19);
87 m_regConfig->io()->defDataU8(3);
88 m_regStatus->io()->defDataU8(2);
93 addChild(m_regConfig);
94 addChild(m_regStatus);
101 void configRegBulkRead (
U8 confRegAddr);
103 void getConfigReg (
U8 confRegAddr);
104 void setConfigReg (
U8 confRegAddr, confRegData d);
107 void setConfigRegPhaseADC (
U8 confRegAddr,
U8 phaseADC);
108 void setConfigRegPhaseTH (
U8 confRegAddr,
U8 phaseTH );
109 void setConfigRegPhaseINT (
U8 confRegAddr,
U8 phaseINT);
110 void setConfigRegLVDSOutEn (
U8 confRegAddr,
bool en);
111 void setConfigRegDebugMode (
U8 confRegAddr,
bool en);
112 void setConfigRegVControlOutEn (
U8 confRegAddr,
bool en);
113 void setConfigRegLOCUS (
U8 confRegAddr,
U8 locus);
117 void bypassMisoMosi(
U16 writeData);
120 void spiBERTest(
U8 confRegAddr,
long nFrames);
131 void help() { info(
"LSDelayChipV1 "+name()+
". No help.",
"LSDelayChipV1::help"); };
160 m_regConfig->setAddress(m_address);
161 m_regStatus->setAddress(m_address);
188 if(ok) debug(
"The address @" +
itos(addr) +
" is valid.");
189 else debug(
"The address @" +
itos(addr) +
" is not valid.");
200 if(ok) debug(
"The address @" +
itos(addr) +
" is valid.");
201 else debug(
"The address @" +
itos(addr) +
" is not valid.");
208 sprintf(buff,
"%04X",value);
209 return std::string(buff);
#define ADC_3_CONFREG_ADDR
#define DLL_0_STATREG_ADDR
#define DLL_3_STATREG_ADDR
#define INT_TH_2_CONFREG_ADDR
LVDS_OUTPUT_CURRENT_SELECTOR
void setAddress(U8 address)
#define INT_TH_0_CONFREG_ADDR
#define ADC_0_CONFREG_ADDR
#define INT_TH_1_CONFREG_ADDR
#define INT_TH_3_CONFREG_ADDR
bool checkStatusAddr(U8 addr)
#define DLL_1_STATREG_ADDR
#define ADC_2_CONFREG_ADDR
std::string itohs(U16 value)
#define ADC_1_CONFREG_ADDR
bool checkConfigAddr(U8 addr)
#define DLL_2_STATREG_ADDR