mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-21 17:18:00 +02:00
format slsdetectorservers
This commit is contained in:
3
slsDetectorServers/slsDetectorServer/include/AD7689.h
Executable file → Normal file
3
slsDetectorServers/slsDetectorServer/include/AD7689.h
Executable file → Normal file
@ -11,7 +11,8 @@
|
||||
* @param dmsk digital output mask
|
||||
* @param dofst digital output offset
|
||||
*/
|
||||
void AD7689_SetDefines(uint32_t reg, uint32_t roreg, uint32_t cmsk, uint32_t clkmsk, uint32_t dmsk, int dofst);
|
||||
void AD7689_SetDefines(uint32_t reg, uint32_t roreg, uint32_t cmsk,
|
||||
uint32_t clkmsk, uint32_t dmsk, int dofst);
|
||||
|
||||
/**
|
||||
* Disable SPI
|
||||
|
3
slsDetectorServers/slsDetectorServer/include/AD9252.h
Executable file → Normal file
3
slsDetectorServers/slsDetectorServer/include/AD9252.h
Executable file → Normal file
@ -10,7 +10,8 @@
|
||||
* @param dmsk digital output mask
|
||||
* @param dofst digital output offset
|
||||
*/
|
||||
void AD9252_SetDefines(uint32_t reg, uint32_t cmsk, uint32_t clkmsk, uint32_t dmsk, int dofst);
|
||||
void AD9252_SetDefines(uint32_t reg, uint32_t cmsk, uint32_t clkmsk,
|
||||
uint32_t dmsk, int dofst);
|
||||
|
||||
/**
|
||||
* Disable SPI
|
||||
|
8
slsDetectorServers/slsDetectorServer/include/AD9257.h
Executable file → Normal file
8
slsDetectorServers/slsDetectorServer/include/AD9257.h
Executable file → Normal file
@ -10,12 +10,13 @@
|
||||
* @param dmsk digital output mask
|
||||
* @param dofst digital output offset
|
||||
*/
|
||||
void AD9257_SetDefines(uint32_t reg, uint32_t cmsk, uint32_t clkmsk, uint32_t dmsk, int dofst);
|
||||
void AD9257_SetDefines(uint32_t reg, uint32_t cmsk, uint32_t clkmsk,
|
||||
uint32_t dmsk, int dofst);
|
||||
|
||||
/**
|
||||
* Disable SPI
|
||||
*/
|
||||
void AD9257_Disable() ;
|
||||
void AD9257_Disable();
|
||||
|
||||
/**
|
||||
* Get vref voltage
|
||||
@ -24,7 +25,8 @@ int AD9257_GetVrefVoltage(int mV);
|
||||
|
||||
/**
|
||||
* Set vref voltage
|
||||
* @param val voltage to be set (0 for 1.0V, 1 for 1.14V, 2 for 1.33V, 3 for 1.6V, 4 for 2.0V
|
||||
* @param val voltage to be set (0 for 1.0V, 1 for 1.14V, 2 for 1.33V, 3
|
||||
* for 1.6V, 4 for 2.0V
|
||||
* @returns ok or fail
|
||||
*/
|
||||
int AD9257_SetVrefVoltage(int val, int mV);
|
||||
|
21
slsDetectorServers/slsDetectorServer/include/ALTERA_PLL.h
Executable file → Normal file
21
slsDetectorServers/slsDetectorServer/include/ALTERA_PLL.h
Executable file → Normal file
@ -15,7 +15,9 @@
|
||||
* @param wd2msk write parameter mask for pll for dbit clock (Jungfrau only)
|
||||
* @param clk2Index clkIndex of second pll (Jungfrau only)
|
||||
*/
|
||||
void ALTERA_PLL_SetDefines(uint32_t creg, uint32_t preg, uint32_t rprmsk, uint32_t wpmsk, uint32_t prmsk, uint32_t amsk, int aofst, uint32_t wd2msk, int clk2Index);
|
||||
void ALTERA_PLL_SetDefines(uint32_t creg, uint32_t preg, uint32_t rprmsk,
|
||||
uint32_t wpmsk, uint32_t prmsk, uint32_t amsk,
|
||||
int aofst, uint32_t wd2msk, int clk2Index);
|
||||
#else
|
||||
/**
|
||||
* Set Defines
|
||||
@ -27,26 +29,30 @@ void ALTERA_PLL_SetDefines(uint32_t creg, uint32_t preg, uint32_t rprmsk, uint32
|
||||
* @param amsk address mask
|
||||
* @param aofst address offset
|
||||
*/
|
||||
void ALTERA_PLL_SetDefines(uint32_t creg, uint32_t preg, uint32_t rprmsk, uint32_t wpmsk, uint32_t prmsk, uint32_t amsk, int aofst);
|
||||
void ALTERA_PLL_SetDefines(uint32_t creg, uint32_t preg, uint32_t rprmsk,
|
||||
uint32_t wpmsk, uint32_t prmsk, uint32_t amsk,
|
||||
int aofst);
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Reset only PLL
|
||||
*/
|
||||
void ALTERA_PLL_ResetPLL ();
|
||||
void ALTERA_PLL_ResetPLL();
|
||||
|
||||
/**
|
||||
* Reset PLL Reconfiguration and PLL
|
||||
*/
|
||||
void ALTERA_PLL_ResetPLLAndReconfiguration ();
|
||||
void ALTERA_PLL_ResetPLLAndReconfiguration();
|
||||
|
||||
/**
|
||||
* Set PLL Reconfig register
|
||||
* @param reg register
|
||||
* @param val value
|
||||
* @param useDefaultWRMask only jungfrau for dbit clk (clkindex1, use second WR mask)
|
||||
* @param useDefaultWRMask only jungfrau for dbit clk (clkindex1, use second WR
|
||||
* mask)
|
||||
*/
|
||||
void ALTERA_PLL_SetPllReconfigReg(uint32_t reg, uint32_t val, int useSecondWRMask);
|
||||
void ALTERA_PLL_SetPllReconfigReg(uint32_t reg, uint32_t val,
|
||||
int useSecondWRMask);
|
||||
|
||||
/**
|
||||
* Write Phase Shift
|
||||
@ -67,5 +73,4 @@ void ALTERA_PLL_SetModePolling();
|
||||
* @param value frequency to set to
|
||||
* @param frequency set
|
||||
*/
|
||||
int ALTERA_PLL_SetOuputFrequency (int clkIndex, int pllVCOFreqMhz, int value);
|
||||
|
||||
int ALTERA_PLL_SetOuputFrequency(int clkIndex, int pllVCOFreqMhz, int value);
|
||||
|
15
slsDetectorServers/slsDetectorServer/include/ALTERA_PLL_CYCLONE10.h
Executable file → Normal file
15
slsDetectorServers/slsDetectorServer/include/ALTERA_PLL_CYCLONE10.h
Executable file → Normal file
@ -14,7 +14,10 @@
|
||||
* @param vcofreq0 vco frequency of pll 0
|
||||
* @param vcofreq1 vco frequency of pll 1
|
||||
*/
|
||||
void ALTERA_PLL_C10_SetDefines(int regofst, uint32_t baseaddr0, uint32_t baseaddr1, uint32_t resetreg0, uint32_t resetreg1, uint32_t resetmsk0, uint32_t resetmsk1, int vcofreq0, int vcofreq1);
|
||||
void ALTERA_PLL_C10_SetDefines(int regofst, uint32_t baseaddr0,
|
||||
uint32_t baseaddr1, uint32_t resetreg0,
|
||||
uint32_t resetreg1, uint32_t resetmsk0,
|
||||
uint32_t resetmsk1, int vcofreq0, int vcofreq1);
|
||||
|
||||
/**
|
||||
* Get Max Clock Divider
|
||||
@ -35,7 +38,7 @@ int ALTERA_PLL_C10_GetVCOFrequency(int pllIndex);
|
||||
int ALTERA_PLL_C10_GetMaxPhaseShiftStepsofVCO();
|
||||
|
||||
/**
|
||||
* Start reconfiguration
|
||||
* Start reconfiguration
|
||||
* @param pllIndex pll index
|
||||
*/
|
||||
void ALTERA_PLL_C10_Reconfigure(int pllIndex);
|
||||
@ -44,7 +47,7 @@ void ALTERA_PLL_C10_Reconfigure(int pllIndex);
|
||||
* Reset pll
|
||||
* @param pllIndex pll index
|
||||
*/
|
||||
void ALTERA_PLL_C10_ResetPLL (int pllIndex);
|
||||
void ALTERA_PLL_C10_ResetPLL(int pllIndex);
|
||||
|
||||
/**
|
||||
* Set Phase Shift
|
||||
@ -53,7 +56,8 @@ void ALTERA_PLL_C10_ResetPLL (int pllIndex);
|
||||
* @param phase phase shift
|
||||
* @param pos 1 if up down direction of shift is positive, else 0
|
||||
*/
|
||||
void ALTERA_PLL_C10_SetPhaseShift(int pllIndex, int clkIndex, int phase, int pos);
|
||||
void ALTERA_PLL_C10_SetPhaseShift(int pllIndex, int clkIndex, int phase,
|
||||
int pos);
|
||||
|
||||
/**
|
||||
* Calculate and write output frequency
|
||||
@ -61,5 +65,4 @@ void ALTERA_PLL_C10_SetPhaseShift(int pllIndex, int clkIndex, int phase, int pos
|
||||
* @param clkIndex clock index
|
||||
* @param value clock divider to set to
|
||||
*/
|
||||
void ALTERA_PLL_C10_SetOuputClockDivider (int pllIndex, int clkIndex, int value);
|
||||
|
||||
void ALTERA_PLL_C10_SetOuputClockDivider(int pllIndex, int clkIndex, int value);
|
||||
|
4
slsDetectorServers/slsDetectorServer/include/ASIC_Driver.h
Executable file → Normal file
4
slsDetectorServers/slsDetectorServer/include/ASIC_Driver.h
Executable file → Normal file
@ -6,7 +6,7 @@
|
||||
* Set Defines
|
||||
* @param driverfname driver file name
|
||||
*/
|
||||
void ASIC_Driver_SetDefines(char* driverfname);
|
||||
void ASIC_Driver_SetDefines(char *driverfname);
|
||||
|
||||
/**
|
||||
* Set value
|
||||
@ -15,4 +15,4 @@ void ASIC_Driver_SetDefines(char* driverfname);
|
||||
* @param buffer buffer
|
||||
* @return OK or FAIL
|
||||
*/
|
||||
int ASIC_Driver_Set(int index, int length, char* buffer);
|
||||
int ASIC_Driver_Set(int index, int length, char *buffer);
|
9
slsDetectorServers/slsDetectorServer/include/DAC6571.h
Executable file → Normal file
9
slsDetectorServers/slsDetectorServer/include/DAC6571.h
Executable file → Normal file
@ -4,17 +4,14 @@
|
||||
|
||||
/**
|
||||
* Set Defines
|
||||
* @param hardMaxV maximum hardware limit
|
||||
* @param hardMaxV maximum hardware limit
|
||||
* @param driverfname driver file name
|
||||
*/
|
||||
void DAC6571_SetDefines(int hardMaxV, char* driverfname);
|
||||
void DAC6571_SetDefines(int hardMaxV, char *driverfname);
|
||||
|
||||
/**
|
||||
* Set value
|
||||
* @param val value to set
|
||||
* @return OK or FAIL
|
||||
*/
|
||||
int DAC6571_Set (int val) ;
|
||||
|
||||
|
||||
|
||||
int DAC6571_Set(int val);
|
||||
|
8
slsDetectorServers/slsDetectorServer/include/I2C.h
Executable file → Normal file
8
slsDetectorServers/slsDetectorServer/include/I2C.h
Executable file → Normal file
@ -15,9 +15,9 @@
|
||||
* @param sdreg sda hold register (defined in RegisterDefs.h)
|
||||
* @param treg transfer command fifo register (defined in RegisterDefs.h)
|
||||
*/
|
||||
void I2C_ConfigureI2CCore(uint32_t creg, uint32_t sreg,
|
||||
uint32_t rreg, uint32_t rlvlreg,
|
||||
uint32_t slreg, uint32_t shreg, uint32_t sdreg, uint32_t treg);
|
||||
void I2C_ConfigureI2CCore(uint32_t creg, uint32_t sreg, uint32_t rreg,
|
||||
uint32_t rlvlreg, uint32_t slreg, uint32_t shreg,
|
||||
uint32_t sdreg, uint32_t treg);
|
||||
|
||||
/**
|
||||
* Read register
|
||||
@ -34,5 +34,3 @@ uint32_t I2C_Read(uint32_t devId, uint32_t addr);
|
||||
* @param data data to be written (16 bit)
|
||||
*/
|
||||
void I2C_Write(uint32_t devId, uint32_t addr, uint16_t data);
|
||||
|
||||
|
||||
|
7
slsDetectorServers/slsDetectorServer/include/INA226.h
Executable file → Normal file
7
slsDetectorServers/slsDetectorServer/include/INA226.h
Executable file → Normal file
@ -4,7 +4,8 @@
|
||||
|
||||
/**
|
||||
* Configure the I2C core and Enable core
|
||||
* @param rOhm shunt resister value in Ohms (defined in slsDetectorServer_defs.h)
|
||||
* @param rOhm shunt resister value in Ohms (defined in
|
||||
* slsDetectorServer_defs.h)
|
||||
* @param creg control register (defined in RegisterDefs.h)
|
||||
* @param sreg status register (defined in RegisterDefs.h)
|
||||
* @param rreg rx data fifo register (defined in RegisterDefs.h)
|
||||
@ -15,8 +16,8 @@
|
||||
* @param treg transfer command fifo register (defined in RegisterDefs.h)
|
||||
*/
|
||||
void INA226_ConfigureI2CCore(double rOhm, uint32_t creg, uint32_t sreg,
|
||||
uint32_t rreg, uint32_t rlvlreg,
|
||||
uint32_t slreg, uint32_t shreg, uint32_t sdreg, uint32_t treg);
|
||||
uint32_t rreg, uint32_t rlvlreg, uint32_t slreg,
|
||||
uint32_t shreg, uint32_t sdreg, uint32_t treg);
|
||||
|
||||
/**
|
||||
* Calibrate resolution of current register
|
||||
|
19
slsDetectorServers/slsDetectorServer/include/LTC2620.h
Executable file → Normal file
19
slsDetectorServers/slsDetectorServer/include/LTC2620.h
Executable file → Normal file
@ -9,11 +9,13 @@
|
||||
* @param clkmsk clock output mask
|
||||
* @param dmsk digital output mask
|
||||
* @param dofst digital output offset
|
||||
* @param nd total number of dacs for this board (for dac channel and daisy chain chip id)
|
||||
* @param nd total number of dacs for this board (for dac channel and daisy
|
||||
* chain chip id)
|
||||
* @param minMV minimum voltage determined by hardware
|
||||
* @param maxMV maximum voltage determined by hardware
|
||||
*/
|
||||
void LTC2620_SetDefines(uint32_t reg, uint32_t cmsk, uint32_t clkmsk, uint32_t dmsk, int dofst, int nd, int minMV, int maxMV);
|
||||
void LTC2620_SetDefines(uint32_t reg, uint32_t cmsk, uint32_t clkmsk,
|
||||
uint32_t dmsk, int dofst, int nd, int minMV, int maxMV);
|
||||
|
||||
/**
|
||||
* Disable SPI
|
||||
@ -46,7 +48,7 @@ int LTC2620_GetMaxNumSteps();
|
||||
* @param dacval pointer to value converted to dac units
|
||||
* @returns FAIL when voltage outside limits, OK if conversion successful
|
||||
*/
|
||||
int LTC2620_VoltageToDac(int voltage, int* dacval);
|
||||
int LTC2620_VoltageToDac(int voltage, int *dacval);
|
||||
|
||||
/**
|
||||
* Convert dac units to voltage
|
||||
@ -54,7 +56,7 @@ int LTC2620_VoltageToDac(int voltage, int* dacval);
|
||||
* @param voltage pointer to value converted to mV
|
||||
* @returns FAIL when voltage outside limits, OK if conversion successful
|
||||
*/
|
||||
int LTC2620_DacToVoltage(int dacval, int* voltage);
|
||||
int LTC2620_DacToVoltage(int dacval, int *voltage);
|
||||
|
||||
/**
|
||||
* Set a single chip (all non ctb detectors use this)
|
||||
@ -70,7 +72,7 @@ void LTC2620_SetSingle(int cmd, int data, int dacaddr);
|
||||
* @param valw current value of register while bit banging
|
||||
* @param val data to be sent (data, dac addr and command)
|
||||
*/
|
||||
void LTC2620_SendDaisyData(uint32_t* valw, uint32_t val);
|
||||
void LTC2620_SendDaisyData(uint32_t *valw, uint32_t val);
|
||||
|
||||
/**
|
||||
* Set a single chip (all non ctb detectors use this)
|
||||
@ -84,7 +86,8 @@ void LTC2620_SetDaisy(int cmd, int data, int dacaddr, int chipIndex);
|
||||
|
||||
/**
|
||||
* Sets a single chip (LTC2620_SetSingle) or multiple chip (LTC2620_SetDaisy)
|
||||
* multiple chip is only for ctb where the multiple chips are connected in daisy fashion
|
||||
* multiple chip is only for ctb where the multiple chips are connected in daisy
|
||||
* fashion
|
||||
* @param cmd command to send
|
||||
* @param data dac value to be set
|
||||
* @param dacaddr dac channel number for the chip
|
||||
@ -102,7 +105,7 @@ void LTC2620_Configure();
|
||||
* @param dacnum dac number
|
||||
* @param data dac value to set
|
||||
*/
|
||||
void LTC2620_SetDAC (int dacnum, int data);
|
||||
void LTC2620_SetDAC(int dacnum, int data);
|
||||
|
||||
/**
|
||||
* Set dac in dac units or mV
|
||||
@ -112,4 +115,4 @@ void LTC2620_SetDAC (int dacnum, int data);
|
||||
* @param dacval pointer to value in dac units
|
||||
* @returns OK or FAIL for success of operation
|
||||
*/
|
||||
int LTC2620_SetDACValue (int dacnum, int val, int mV, int* dacval);
|
||||
int LTC2620_SetDACValue(int dacnum, int val, int mV, int *dacval);
|
12
slsDetectorServers/slsDetectorServer/include/LTC2620_Driver.h
Executable file → Normal file
12
slsDetectorServers/slsDetectorServer/include/LTC2620_Driver.h
Executable file → Normal file
@ -4,12 +4,11 @@
|
||||
|
||||
/**
|
||||
* Set Defines
|
||||
* @param hardMaxV maximum hardware limit
|
||||
* @param hardMaxV maximum hardware limit
|
||||
* @param driverfname driver file name
|
||||
* @param numdacs number of dacs
|
||||
*/
|
||||
void LTC2620_D_SetDefines(int hardMaxV, char* driverfname, int numdacs);
|
||||
|
||||
void LTC2620_D_SetDefines(int hardMaxV, char *driverfname, int numdacs);
|
||||
|
||||
/**
|
||||
* Get max number of steps
|
||||
@ -22,7 +21,7 @@ int LTC2620_D_GetMaxNumSteps();
|
||||
* @param dacval pointer to value converted to dac units
|
||||
* @returns FAIL when voltage outside limits, OK if conversion successful
|
||||
*/
|
||||
int LTC2620_D_VoltageToDac(int voltage, int* dacval);
|
||||
int LTC2620_D_VoltageToDac(int voltage, int *dacval);
|
||||
|
||||
/**
|
||||
* Convert dac units to voltage
|
||||
@ -30,7 +29,7 @@ int LTC2620_D_VoltageToDac(int voltage, int* dacval);
|
||||
* @param voltage pointer to value converted to mV
|
||||
* @returns FAIL when voltage outside limits, OK if conversion successful
|
||||
*/
|
||||
int LTC2620_D_DacToVoltage(int dacval, int* voltage);
|
||||
int LTC2620_D_DacToVoltage(int dacval, int *voltage);
|
||||
|
||||
/**
|
||||
* Set value
|
||||
@ -41,4 +40,5 @@ int LTC2620_D_DacToVoltage(int dacval, int* voltage);
|
||||
* @param dacval pointer to dac value
|
||||
* @return OK or FAIL
|
||||
*/
|
||||
int LTC2620_D_SetDACValue(int dacnum, int val, int mV, char* dacname, int *dacval);
|
||||
int LTC2620_D_SetDACValue(int dacnum, int val, int mV, char *dacname,
|
||||
int *dacval);
|
9
slsDetectorServers/slsDetectorServer/include/MAX1932.h
Executable file → Normal file
9
slsDetectorServers/slsDetectorServer/include/MAX1932.h
Executable file → Normal file
@ -12,8 +12,8 @@
|
||||
* @param minMV minimum voltage determined by hardware
|
||||
* @param maxMV maximum voltage determined by hardware
|
||||
*/
|
||||
void MAX1932_SetDefines(uint32_t reg, uint32_t cmsk, uint32_t clkmsk, uint32_t dmsk, int dofst,
|
||||
int minMV, int maxMV);
|
||||
void MAX1932_SetDefines(uint32_t reg, uint32_t cmsk, uint32_t clkmsk,
|
||||
uint32_t dmsk, int dofst, int minMV, int maxMV);
|
||||
|
||||
/**
|
||||
* Disable SPI
|
||||
@ -25,7 +25,4 @@ void MAX1932_Disable();
|
||||
* @param val pointer to value to set
|
||||
* @return OK or FAIL
|
||||
*/
|
||||
int MAX1932_Set (int* val) ;
|
||||
|
||||
|
||||
|
||||
int MAX1932_Set(int *val);
|
||||
|
16
slsDetectorServers/slsDetectorServer/include/UDPPacketHeaderGenerator.h
Executable file → Normal file
16
slsDetectorServers/slsDetectorServer/include/UDPPacketHeaderGenerator.h
Executable file → Normal file
@ -2,13 +2,13 @@
|
||||
|
||||
#include <inttypes.h>
|
||||
|
||||
/**
|
||||
* Get current udp packet number
|
||||
/**
|
||||
* Get current udp packet number
|
||||
*/
|
||||
uint32_t getUDPPacketNumber();
|
||||
|
||||
/**
|
||||
* Get current udp frame number
|
||||
/**
|
||||
* Get current udp frame number
|
||||
*/
|
||||
uint64_t getUDPFrameNumber();
|
||||
|
||||
@ -17,10 +17,10 @@ uint64_t getUDPFrameNumber();
|
||||
* @param buffer pointer to header
|
||||
* @param id module id
|
||||
*/
|
||||
void createUDPPacketHeader(char* buffer, uint16_t id);
|
||||
void createUDPPacketHeader(char *buffer, uint16_t id);
|
||||
|
||||
/**
|
||||
* fill up the udp packet with data till its full
|
||||
/**
|
||||
* fill up the udp packet with data till its full
|
||||
* @param buffer pointer to memory
|
||||
*/
|
||||
int fillUDPPacket(char* buffer);
|
||||
int fillUDPPacket(char *buffer);
|
||||
|
6
slsDetectorServers/slsDetectorServer/include/blackfin.h
Executable file → Normal file
6
slsDetectorServers/slsDetectorServer/include/blackfin.h
Executable file → Normal file
@ -1,10 +1,10 @@
|
||||
#pragma once
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <inttypes.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
/** I2C defines */
|
||||
#define I2C_CLOCK_MHZ (131.25)
|
||||
#define I2C_CLOCK_MHZ (131.25)
|
||||
|
||||
/**
|
||||
* Write into a 16 bit register
|
||||
@ -98,7 +98,7 @@ u_int32_t writeRegister16(u_int32_t offset, u_int32_t data);
|
||||
/**
|
||||
* Get base address for memory copy
|
||||
*/
|
||||
uint32_t* Blackfin_getBaseAddress();
|
||||
uint32_t *Blackfin_getBaseAddress();
|
||||
/**
|
||||
* Map FPGA
|
||||
*/
|
||||
|
116
slsDetectorServers/slsDetectorServer/include/clogger.h
Executable file → Normal file
116
slsDetectorServers/slsDetectorServer/include/clogger.h
Executable file → Normal file
@ -2,10 +2,9 @@
|
||||
|
||||
#include "ansi.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <stdarg.h>
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#ifdef FIFODEBUG
|
||||
#define FILELOG_MAX_LEVEL logDEBUG5
|
||||
@ -21,48 +20,85 @@
|
||||
#define FILELOG_MAX_LEVEL logINFO
|
||||
#endif
|
||||
|
||||
enum TLogLevel{
|
||||
logERROR, logWARNING, logINFOBLUE, logINFOGREEN, logINFORED, logINFO,
|
||||
logDEBUG, logDEBUG1, logDEBUG2, logDEBUG3, logDEBUG4, logDEBUG5
|
||||
enum TLogLevel {
|
||||
logERROR,
|
||||
logWARNING,
|
||||
logINFOBLUE,
|
||||
logINFOGREEN,
|
||||
logINFORED,
|
||||
logINFO,
|
||||
logDEBUG,
|
||||
logDEBUG1,
|
||||
logDEBUG2,
|
||||
logDEBUG3,
|
||||
logDEBUG4,
|
||||
logDEBUG5
|
||||
};
|
||||
|
||||
#define ERROR_MSG_LENGTH 1000
|
||||
|
||||
#define LOG(lvl, fmt, ...) \
|
||||
if (lvl > FILELOG_MAX_LEVEL); \
|
||||
else {char* temp = FILELOG_BuildLog fmt; FILELOG_PrintLog(lvl, temp);free(temp);}
|
||||
#define LOG(lvl, fmt, ...) \
|
||||
if (lvl > FILELOG_MAX_LEVEL) \
|
||||
; \
|
||||
else { \
|
||||
char *temp = FILELOG_BuildLog fmt; \
|
||||
FILELOG_PrintLog(lvl, temp); \
|
||||
free(temp); \
|
||||
}
|
||||
|
||||
static inline void FILELOG_PrintLog(enum TLogLevel level, char* m) {
|
||||
switch(level) {
|
||||
case logERROR: cprintf(RED BOLD, "ERROR: %s", m); break;
|
||||
case logWARNING: cprintf(YELLOW BOLD, "WARNING: %s", m); break;
|
||||
case logINFOBLUE: cprintf(BLUE, "INFO: %s", m); break;
|
||||
case logINFOGREEN: cprintf(GREEN, "INFO: %s", m); break;
|
||||
case logINFORED: cprintf(RED, "INFO: %s", m); break;
|
||||
case logINFO: cprintf(RESET, "INFO: %s", m); break;
|
||||
case logDEBUG: cprintf(MAGENTA, "DEBUG: %s", m); break;
|
||||
case logDEBUG1: cprintf(MAGENTA, "DEBUG1: %s", m); break;
|
||||
case logDEBUG2: cprintf(MAGENTA, "DEBUG2: %s", m); break;
|
||||
case logDEBUG3: cprintf(MAGENTA, "DEBUG3: %s", m); break;
|
||||
case logDEBUG4: cprintf(MAGENTA, "DEBUG4: %s", m); break;
|
||||
case logDEBUG5: cprintf(MAGENTA, "DEBUG5: %s", m); break;
|
||||
}
|
||||
fflush(stdout);
|
||||
static inline void FILELOG_PrintLog(enum TLogLevel level, char *m) {
|
||||
switch (level) {
|
||||
case logERROR:
|
||||
cprintf(RED BOLD, "ERROR: %s", m);
|
||||
break;
|
||||
case logWARNING:
|
||||
cprintf(YELLOW BOLD, "WARNING: %s", m);
|
||||
break;
|
||||
case logINFOBLUE:
|
||||
cprintf(BLUE, "INFO: %s", m);
|
||||
break;
|
||||
case logINFOGREEN:
|
||||
cprintf(GREEN, "INFO: %s", m);
|
||||
break;
|
||||
case logINFORED:
|
||||
cprintf(RED, "INFO: %s", m);
|
||||
break;
|
||||
case logINFO:
|
||||
cprintf(RESET, "INFO: %s", m);
|
||||
break;
|
||||
case logDEBUG:
|
||||
cprintf(MAGENTA, "DEBUG: %s", m);
|
||||
break;
|
||||
case logDEBUG1:
|
||||
cprintf(MAGENTA, "DEBUG1: %s", m);
|
||||
break;
|
||||
case logDEBUG2:
|
||||
cprintf(MAGENTA, "DEBUG2: %s", m);
|
||||
break;
|
||||
case logDEBUG3:
|
||||
cprintf(MAGENTA, "DEBUG3: %s", m);
|
||||
break;
|
||||
case logDEBUG4:
|
||||
cprintf(MAGENTA, "DEBUG4: %s", m);
|
||||
break;
|
||||
case logDEBUG5:
|
||||
cprintf(MAGENTA, "DEBUG5: %s", m);
|
||||
break;
|
||||
}
|
||||
fflush(stdout);
|
||||
}
|
||||
|
||||
static inline char* FILELOG_BuildLog(const char* fmt, ...) {
|
||||
char* p;
|
||||
va_list ap;
|
||||
p = malloc(ERROR_MSG_LENGTH);
|
||||
va_start(ap, fmt);
|
||||
int ret = vsnprintf(p, ERROR_MSG_LENGTH, fmt, ap);
|
||||
va_end(ap);
|
||||
if (ret < 0 || ret >= ERROR_MSG_LENGTH) {
|
||||
FILELOG_PrintLog(logERROR, ("Could not print the "
|
||||
"complete error message in the next print.\n"));
|
||||
}
|
||||
return p;
|
||||
static inline char *FILELOG_BuildLog(const char *fmt, ...) {
|
||||
char *p;
|
||||
va_list ap;
|
||||
p = malloc(ERROR_MSG_LENGTH);
|
||||
va_start(ap, fmt);
|
||||
int ret = vsnprintf(p, ERROR_MSG_LENGTH, fmt, ap);
|
||||
va_end(ap);
|
||||
if (ret < 0 || ret >= ERROR_MSG_LENGTH) {
|
||||
FILELOG_PrintLog(logERROR,
|
||||
("Could not print the "
|
||||
"complete error message in the next print.\n"));
|
||||
}
|
||||
return p;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
7
slsDetectorServers/slsDetectorServer/include/common.h
Executable file → Normal file
7
slsDetectorServers/slsDetectorServer/include/common.h
Executable file → Normal file
@ -1,7 +1,8 @@
|
||||
#pragma once
|
||||
|
||||
/**
|
||||
* Convert a value from a range to a different range (eg voltage to dac or vice versa)
|
||||
* Convert a value from a range to a different range (eg voltage to dac or vice
|
||||
* versa)
|
||||
* @param inputMin input minimum
|
||||
* @param inputMax input maximum
|
||||
* @param outputMin output minimum
|
||||
@ -10,5 +11,5 @@
|
||||
* @param outputValue pointer to output value
|
||||
* @returns FAIL if input value is out of bounds, else OK
|
||||
*/
|
||||
int ConvertToDifferentRange(int inputMin, int inputMax, int outputMin, int outputMax,
|
||||
int inputValue, int* outputValue);
|
||||
int ConvertToDifferentRange(int inputMin, int inputMax, int outputMin,
|
||||
int outputMax, int inputValue, int *outputValue);
|
||||
|
21
slsDetectorServers/slsDetectorServer/include/commonServerFunctions.h
Executable file → Normal file
21
slsDetectorServers/slsDetectorServer/include/commonServerFunctions.h
Executable file → Normal file
@ -2,14 +2,23 @@
|
||||
|
||||
#include <inttypes.h>
|
||||
|
||||
void SPIChipSelect (uint32_t* valw, uint32_t addr, uint32_t csmask, uint32_t clkmask, uint32_t digoutmask, int convBit);
|
||||
void SPIChipSelect(uint32_t *valw, uint32_t addr, uint32_t csmask,
|
||||
uint32_t clkmask, uint32_t digoutmask, int convBit);
|
||||
|
||||
void SPIChipDeselect (uint32_t* valw, uint32_t addr, uint32_t csmask, uint32_t clkmask, uint32_t digoutmask, int convBit);
|
||||
void SPIChipDeselect(uint32_t *valw, uint32_t addr, uint32_t csmask,
|
||||
uint32_t clkmask, uint32_t digoutmask, int convBit);
|
||||
|
||||
void sendDataToSPI (uint32_t* valw, uint32_t addr, uint32_t val, int numbitstosend, uint32_t clkmask, uint32_t digoutmask, int digofset);
|
||||
void sendDataToSPI(uint32_t *valw, uint32_t addr, uint32_t val,
|
||||
int numbitstosend, uint32_t clkmask, uint32_t digoutmask,
|
||||
int digofset);
|
||||
|
||||
uint32_t receiveDataFromSPI (uint32_t* valw, uint32_t addr, int numbitstoreceive, uint32_t clkmask, uint32_t readaddr) ;
|
||||
uint32_t receiveDataFromSPI(uint32_t *valw, uint32_t addr, int numbitstoreceive,
|
||||
uint32_t clkmask, uint32_t readaddr);
|
||||
|
||||
void serializeToSPI(uint32_t addr, uint32_t val, uint32_t csmask, int numbitstosend, uint32_t clkmask, uint32_t digoutmask, int digofset, int convBit);
|
||||
void serializeToSPI(uint32_t addr, uint32_t val, uint32_t csmask,
|
||||
int numbitstosend, uint32_t clkmask, uint32_t digoutmask,
|
||||
int digofset, int convBit);
|
||||
|
||||
uint32_t serializeFromSPI(uint32_t addr, uint32_t csmask, int numbitstoreceive, uint32_t clkmask, uint32_t digoutmask, uint32_t readaddr, int convBit);
|
||||
uint32_t serializeFromSPI(uint32_t addr, uint32_t csmask, int numbitstoreceive,
|
||||
uint32_t clkmask, uint32_t digoutmask,
|
||||
uint32_t readaddr, int convBit);
|
||||
|
42
slsDetectorServers/slsDetectorServer/include/communication_funcs.h
Executable file → Normal file
42
slsDetectorServers/slsDetectorServer/include/communication_funcs.h
Executable file → Normal file
@ -1,22 +1,16 @@
|
||||
#ifndef COMMUNICATION_FUNCS_H
|
||||
#define COMMUNICATION_FUNCS_H
|
||||
|
||||
|
||||
#include "sls_detector_defs.h"
|
||||
|
||||
typedef enum{
|
||||
INT16,
|
||||
INT32,
|
||||
INT64,
|
||||
OTHER
|
||||
}intType;
|
||||
typedef enum { INT16, INT32, INT64, OTHER } intType;
|
||||
|
||||
// communciate with stop server
|
||||
#ifdef VIRTUAL
|
||||
#define FILE_STATUS "/tmp/Sls_virtual_server_status_"
|
||||
#define FILE_STOP "/tmp/Sls_virtual_server_stop_"
|
||||
#define FD_STATUS 0
|
||||
#define FD_STOP 1
|
||||
#define FILE_STOP "/tmp/Sls_virtual_server_stop_"
|
||||
#define FD_STATUS 0
|
||||
#define FD_STOP 1
|
||||
#endif
|
||||
|
||||
int bindSocket(unsigned short int port_number);
|
||||
@ -24,14 +18,14 @@ int acceptConnection(int socketDescriptor);
|
||||
void closeConnection(int file_Des);
|
||||
void exitServer(int socketDescriptor);
|
||||
|
||||
void swapData(void* val,int length,intType itype);
|
||||
int sendData(int file_des, void* buf,int length, intType itype);
|
||||
int receiveData(int file_des, void* buf,int length, intType itype);
|
||||
int sendDataOnly(int file_des, void* buf,int length);
|
||||
int receiveDataOnly(int file_des, void* buf,int length);
|
||||
void swapData(void *val, int length, intType itype);
|
||||
int sendData(int file_des, void *buf, int length, intType itype);
|
||||
int receiveData(int file_des, void *buf, int length, intType itype);
|
||||
int sendDataOnly(int file_des, void *buf, int length);
|
||||
int receiveDataOnly(int file_des, void *buf, int length);
|
||||
|
||||
int sendModule(int file_des, sls_detector_module *myMod);
|
||||
int receiveModule(int file_des, sls_detector_module* myMod);
|
||||
int receiveModule(int file_des, sls_detector_module *myMod);
|
||||
|
||||
/**
|
||||
* Servers sets and prints error message for locked server
|
||||
@ -39,7 +33,6 @@ int receiveModule(int file_des, sls_detector_module* myMod);
|
||||
*/
|
||||
void Server_LockedError();
|
||||
|
||||
|
||||
/**
|
||||
* Server verifies if it is unlocked,
|
||||
* sets and prints appropriate message if it is locked and different clients
|
||||
@ -47,16 +40,17 @@ void Server_LockedError();
|
||||
*/
|
||||
int Server_VerifyLock();
|
||||
|
||||
|
||||
/**
|
||||
* Server sends result to client (also set ret to force_update if different clients)
|
||||
* Server sends result to client (also set ret to force_update if different
|
||||
* clients)
|
||||
* @param fileDes file descriptor for the socket
|
||||
* @param itype 32 or 64 or others to determine to swap data from big endian to little endian
|
||||
* @param itype 32 or 64 or others to determine to swap data from big endian to
|
||||
* little endian
|
||||
* @param retval pointer to result
|
||||
* @param retvalSize size of result
|
||||
* @returns result of operation
|
||||
*/
|
||||
int Server_SendResult(int fileDes, intType itype, void* retval, int retvalSize);
|
||||
int Server_SendResult(int fileDes, intType itype, void *retval, int retvalSize);
|
||||
|
||||
/**
|
||||
* Convert mac address from integer to char array
|
||||
@ -64,20 +58,20 @@ int Server_SendResult(int fileDes, intType itype, void* retval, int retvalSize);
|
||||
* @param size size of char array result
|
||||
* @param mac mac address as an integer
|
||||
*/
|
||||
void getMacAddressinString(char* cmac, int size, uint64_t mac);
|
||||
void getMacAddressinString(char *cmac, int size, uint64_t mac);
|
||||
|
||||
/**
|
||||
* Convert ip address from integer to char array
|
||||
* @param cip char arrary result
|
||||
* @param ip ip address as an integer
|
||||
*/
|
||||
void getIpAddressinString(char* cip, uint32_t ip);
|
||||
void getIpAddressinString(char *cip, uint32_t ip);
|
||||
|
||||
/**
|
||||
* Convert string to ip address
|
||||
* @param cip string source
|
||||
* @param ip result
|
||||
*/
|
||||
void getIpAddressFromString(char* cip, uint32_t* ip);
|
||||
void getIpAddressFromString(char *cip, uint32_t *ip);
|
||||
|
||||
#endif
|
||||
|
5
slsDetectorServers/slsDetectorServer/include/communication_funcs_UDP.h
Executable file → Normal file
5
slsDetectorServers/slsDetectorServer/include/communication_funcs_UDP.h
Executable file → Normal file
@ -11,7 +11,8 @@ int getUdPSocketDescriptor(int index);
|
||||
* @param ip udp destination ip
|
||||
* @param port udp destination port
|
||||
*/
|
||||
int setUDPDestinationDetails(int index, const char* ip, unsigned short int port);
|
||||
int setUDPDestinationDetails(int index, const char *ip,
|
||||
unsigned short int port);
|
||||
|
||||
/**
|
||||
* Create udp socket
|
||||
@ -25,7 +26,7 @@ int createUDPSocket(int index);
|
||||
* @param buf pointer to memory to write
|
||||
* @param length length of buffer to write to socket
|
||||
*/
|
||||
int sendUDPPacket(int index, const char* buf, int length);
|
||||
int sendUDPPacket(int index, const char *buf, int length);
|
||||
|
||||
/**
|
||||
* Close udp socket
|
||||
|
6
slsDetectorServers/slsDetectorServer/include/communication_virtual.h
Executable file → Normal file
6
slsDetectorServers/slsDetectorServer/include/communication_virtual.h
Executable file → Normal file
@ -8,7 +8,9 @@ void ComVirtual_setStatus(int value);
|
||||
int ComVirtual_getStatus();
|
||||
void ComVirtual_setStop(int value);
|
||||
int ComVirtual_getStop();
|
||||
int ComVirtual_writeToFile(int value, const char* fname, const char* serverName);
|
||||
int ComVirtual_readFromFile(int* value, const char* fname, const char* serverName);
|
||||
int ComVirtual_writeToFile(int value, const char *fname,
|
||||
const char *serverName);
|
||||
int ComVirtual_readFromFile(int *value, const char *fname,
|
||||
const char *serverName);
|
||||
|
||||
#endif
|
||||
|
4
slsDetectorServers/slsDetectorServer/include/nios.h
Executable file → Normal file
4
slsDetectorServers/slsDetectorServer/include/nios.h
Executable file → Normal file
@ -1,7 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <inttypes.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
/**
|
||||
* Write into a 32 bit register for cspbase 1
|
||||
@ -86,4 +86,4 @@ int mapCSP0(void);
|
||||
/**
|
||||
* Get Nios base address
|
||||
*/
|
||||
u_int32_t* Nios_getBaseAddress();
|
||||
u_int32_t *Nios_getBaseAddress();
|
||||
|
8
slsDetectorServers/slsDetectorServer/include/programFpgaBlackfin.h
Executable file → Normal file
8
slsDetectorServers/slsDetectorServer/include/programFpgaBlackfin.h
Executable file → Normal file
@ -1,7 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
|
||||
/**
|
||||
* Define GPIO pins if not defined
|
||||
@ -34,14 +34,14 @@ void eraseFlash();
|
||||
* @param filefp pointer to flash
|
||||
* @return 0 for success, 1 for fail (cannot open file for writing program)
|
||||
*/
|
||||
int startWritingFPGAprogram(FILE** filefp);
|
||||
int startWritingFPGAprogram(FILE **filefp);
|
||||
|
||||
/**
|
||||
* When done writing the program, close file pointer and
|
||||
* notify FPGA to pick up the program from flash
|
||||
* @param filefp pointer to flash
|
||||
*/
|
||||
void stopWritingFPGAprogram(FILE* filefp);
|
||||
void stopWritingFPGAprogram(FILE *filefp);
|
||||
|
||||
/**
|
||||
* Write FPGA Program to flash
|
||||
@ -50,4 +50,4 @@ void stopWritingFPGAprogram(FILE* filefp);
|
||||
* @param filefp pointer to flash
|
||||
* @return 0 for success, 1 for fail (cannot write)
|
||||
*/
|
||||
int writeFPGAProgram(char* fpgasrc, uint64_t fsize, FILE* filefp);
|
||||
int writeFPGAProgram(char *fpgasrc, uint64_t fsize, FILE *filefp);
|
||||
|
13
slsDetectorServers/slsDetectorServer/include/programFpgaNios.h
Executable file → Normal file
13
slsDetectorServers/slsDetectorServer/include/programFpgaNios.h
Executable file → Normal file
@ -1,14 +1,15 @@
|
||||
#pragma once
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#define NIOS_MAX_APP_IMAGE_SIZE (0x00580000)
|
||||
|
||||
/** Notify microcontroller of successful server start up */
|
||||
void NotifyServerStartSuccess();
|
||||
|
||||
/** create notification file to notify watchdog of critical tasks (to not shutdown) */
|
||||
/** create notification file to notify watchdog of critical tasks (to not
|
||||
* shutdown) */
|
||||
void CreateNotificationForCriticalTasks();
|
||||
|
||||
/** write 1 to notification file to postpone shut down process if requested*/
|
||||
@ -23,8 +24,8 @@ void rebootControllerAndFPGA();
|
||||
/** finds the right mtd drive
|
||||
* @param mess error message
|
||||
* @returns ok or fail
|
||||
*/
|
||||
int findFlash(char* mess);
|
||||
*/
|
||||
int findFlash(char *mess);
|
||||
|
||||
/** erase flash */
|
||||
void eraseFlash();
|
||||
@ -35,7 +36,7 @@ void eraseFlash();
|
||||
* @param fsize file size
|
||||
* @returns ok or fail
|
||||
*/
|
||||
int eraseAndWriteToFlash(char* mess, char* fpgasrc, uint64_t fsize);
|
||||
int eraseAndWriteToFlash(char *mess, char *fpgasrc, uint64_t fsize);
|
||||
|
||||
/**
|
||||
* Write FPGA Program to flash
|
||||
@ -45,4 +46,4 @@ int eraseAndWriteToFlash(char* mess, char* fpgasrc, uint64_t fsize);
|
||||
* @param filefp pointer to flash
|
||||
* @return ok or fail
|
||||
*/
|
||||
int writeFPGAProgram(char* mess, char* fpgasrc, uint64_t fsize, FILE* filefp);
|
||||
int writeFPGAProgram(char *mess, char *fpgasrc, uint64_t fsize, FILE *filefp);
|
||||
|
22
slsDetectorServers/slsDetectorServer/include/readDefaultPattern.h
Executable file → Normal file
22
slsDetectorServers/slsDetectorServer/include/readDefaultPattern.h
Executable file → Normal file
@ -1,22 +1,24 @@
|
||||
#pragma once
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <inttypes.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
int loadDefaultPattern(char* fname);
|
||||
int loadDefaultPattern(char *fname);
|
||||
|
||||
int default_writePatternWord(char* line, uint32_t addr, uint64_t word);
|
||||
int default_writePatternWord(char *line, uint32_t addr, uint64_t word);
|
||||
|
||||
int default_writePatternIOControl(char* line, uint64_t arg);
|
||||
int default_writePatternIOControl(char *line, uint64_t arg);
|
||||
|
||||
int default_writePatternClkControl(char* line, uint64_t arg);
|
||||
int default_writePatternClkControl(char *line, uint64_t arg);
|
||||
|
||||
int default_setPatternLoopLimits(char* line, uint32_t startAddr, uint32_t stopAddr);
|
||||
int default_setPatternLoopLimits(char *line, uint32_t startAddr,
|
||||
uint32_t stopAddr);
|
||||
|
||||
int default_setPatternLoopAddresses(char* line, int level, uint32_t startAddr, uint32_t stopAddr);
|
||||
int default_setPatternLoopAddresses(char *line, int level, uint32_t startAddr,
|
||||
uint32_t stopAddr);
|
||||
|
||||
int default_setPatternLoopCycles(char* line, int level, int numLoops);
|
||||
int default_setPatternLoopCycles(char *line, int level, int numLoops);
|
||||
|
||||
int default_setPatternWaitAddresses(char* line, int level, uint32_t addr);
|
||||
int default_setPatternWaitAddresses(char *line, int level, uint32_t addr);
|
||||
|
||||
int default_setPatternWaitTime(char* line, int level, uint64_t waittime);
|
||||
int default_setPatternWaitTime(char *line, int level, uint64_t waittime);
|
706
slsDetectorServers/slsDetectorServer/include/slsDetectorFunctionList.h
Executable file → Normal file
706
slsDetectorServers/slsDetectorServer/include/slsDetectorFunctionList.h
Executable file → Normal file
@ -1,11 +1,12 @@
|
||||
#include "sls_detector_defs.h"
|
||||
#include "slsDetectorServer_defs.h" // DAC_INDEX, ADC_INDEX, also include RegisterDefs.h
|
||||
#include "sls_detector_defs.h"
|
||||
#ifdef GOTTHARDD
|
||||
#include "clogger.h" // runState(enum TLogLevel)
|
||||
#include "AD9252.h" // old board compatibility
|
||||
#include "AD9252.h" // old board compatibility
|
||||
#include "clogger.h" // runState(enum TLogLevel)
|
||||
#endif
|
||||
#if defined(GOTTHARDD) || defined(JUNGFRAUD) || defined(CHIPTESTBOARDD) || defined(MOENCHD)
|
||||
#include "AD9257.h" // commonServerFunctions.h, blackfin.h, ansi.h
|
||||
#if defined(GOTTHARDD) || defined(JUNGFRAUD) || defined(CHIPTESTBOARDD) || \
|
||||
defined(MOENCHD)
|
||||
#include "AD9257.h" // commonServerFunctions.h, blackfin.h, ansi.h
|
||||
#endif
|
||||
#ifdef MOENCHD
|
||||
#include "readDefaultPattern.h"
|
||||
@ -19,533 +20,528 @@
|
||||
|
||||
#if defined(MYTHEN3D) || defined(GOTTHARD2D)
|
||||
#include "nios.h"
|
||||
#elif defined(GOTTHARDD) || defined(JUNGFRAUD) || defined(CHIPTESTBOARDD) || defined(MOENCHD)
|
||||
#elif defined(GOTTHARDD) || defined(JUNGFRAUD) || defined(CHIPTESTBOARDD) || \
|
||||
defined(MOENCHD)
|
||||
#include "blackfin.h"
|
||||
#endif
|
||||
|
||||
|
||||
#include <stdio.h> // FILE
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h> // FILE
|
||||
#include <sys/types.h>
|
||||
|
||||
/****************************************************
|
||||
This functions are used by the slsDetectroServer_funcs interface.
|
||||
Here are the definitions, but the actual implementation should be done for each single detector.
|
||||
Here are the definitions, but the actual implementation should be done for each
|
||||
single detector.
|
||||
|
||||
****************************************************/
|
||||
|
||||
enum interfaceType {OUTER, INNER};
|
||||
enum interfaceType { OUTER, INNER };
|
||||
typedef struct udpStruct_s {
|
||||
int srcport;
|
||||
int srcport2;
|
||||
int dstport;
|
||||
int dstport2;
|
||||
uint64_t srcmac;
|
||||
uint64_t srcmac2;
|
||||
uint64_t dstmac;
|
||||
uint64_t dstmac2;
|
||||
uint32_t srcip;
|
||||
uint32_t srcip2;
|
||||
uint32_t dstip;
|
||||
uint32_t dstip2;
|
||||
}udpStruct;
|
||||
|
||||
int srcport;
|
||||
int srcport2;
|
||||
int dstport;
|
||||
int dstport2;
|
||||
uint64_t srcmac;
|
||||
uint64_t srcmac2;
|
||||
uint64_t dstmac;
|
||||
uint64_t dstmac2;
|
||||
uint32_t srcip;
|
||||
uint32_t srcip2;
|
||||
uint32_t dstip;
|
||||
uint32_t dstip2;
|
||||
} udpStruct;
|
||||
|
||||
// basic tests
|
||||
int isInitCheckDone();
|
||||
int getInitResult(char** mess);
|
||||
void basictests();
|
||||
#if defined(GOTTHARDD) || defined(JUNGFRAUD) || defined(CHIPTESTBOARDD) || defined(MOENCHD) || defined(MYTHEN3D) || defined(GOTTHARD2D)
|
||||
int checkType();
|
||||
int testFpga();
|
||||
int testBus();
|
||||
int isInitCheckDone();
|
||||
int getInitResult(char **mess);
|
||||
void basictests();
|
||||
#if defined(GOTTHARDD) || defined(JUNGFRAUD) || defined(CHIPTESTBOARDD) || \
|
||||
defined(MOENCHD) || defined(MYTHEN3D) || defined(GOTTHARD2D)
|
||||
int checkType();
|
||||
int testFpga();
|
||||
int testBus();
|
||||
#endif
|
||||
|
||||
#if defined(GOTTHARDD) || ((defined(EIGERD) || defined(JUNGFRAUD)) && defined(VIRTUAL))
|
||||
void setTestImageMode(int ival);
|
||||
int getTestImageMode();
|
||||
#if defined(GOTTHARDD) || \
|
||||
((defined(EIGERD) || defined(JUNGFRAUD)) && defined(VIRTUAL))
|
||||
void setTestImageMode(int ival);
|
||||
int getTestImageMode();
|
||||
#endif
|
||||
|
||||
// Ids
|
||||
u_int64_t getServerVersion();
|
||||
u_int64_t getClientServerAPIVersion();
|
||||
u_int64_t getFirmwareVersion();
|
||||
u_int64_t getFirmwareAPIVersion();
|
||||
#if defined(JUNGFRAUD) || defined(CHIPTESTBOARDD) || defined(MOENCHD) || defined(MYTHEN3D) || defined(GOTTHARD2D)
|
||||
u_int16_t getHardwareVersionNumber();
|
||||
u_int64_t getServerVersion();
|
||||
u_int64_t getClientServerAPIVersion();
|
||||
u_int64_t getFirmwareVersion();
|
||||
u_int64_t getFirmwareAPIVersion();
|
||||
#if defined(JUNGFRAUD) || defined(CHIPTESTBOARDD) || defined(MOENCHD) || \
|
||||
defined(MYTHEN3D) || defined(GOTTHARD2D)
|
||||
u_int16_t getHardwareVersionNumber();
|
||||
#endif
|
||||
#if defined(JUNGFRAUD) || defined(CHIPTESTBOARDD) || defined(MOENCHD)
|
||||
u_int16_t getHardwareSerialNumber();
|
||||
u_int16_t getHardwareSerialNumber();
|
||||
#endif
|
||||
#ifdef JUNGFRAUD
|
||||
int isHardwareVersion2();
|
||||
int isHardwareVersion2();
|
||||
#endif
|
||||
u_int32_t getDetectorNumber();
|
||||
u_int64_t getDetectorMAC();
|
||||
u_int32_t getDetectorIP();
|
||||
u_int32_t getDetectorNumber();
|
||||
u_int64_t getDetectorMAC();
|
||||
u_int32_t getDetectorIP();
|
||||
#ifdef GOTTHARDD
|
||||
u_int32_t getBoardRevision();
|
||||
u_int32_t getBoardRevision();
|
||||
#endif
|
||||
|
||||
|
||||
// initialization
|
||||
void initControlServer();
|
||||
void initStopServer();
|
||||
void initControlServer();
|
||||
void initStopServer();
|
||||
#ifdef EIGERD
|
||||
void getModuleConfiguration();
|
||||
void getModuleConfiguration();
|
||||
#endif
|
||||
|
||||
// set up detector
|
||||
#ifdef EIGERD
|
||||
void allocateDetectorStructureMemory();
|
||||
void allocateDetectorStructureMemory();
|
||||
#endif
|
||||
void setupDetector();
|
||||
void setupDetector();
|
||||
#if defined(CHIPTESTBOARDD) || defined(MOENCHD)
|
||||
int updateDatabytesandAllocateRAM();
|
||||
void updateDataBytes();
|
||||
int updateDatabytesandAllocateRAM();
|
||||
void updateDataBytes();
|
||||
#endif
|
||||
|
||||
#if defined(GOTTHARDD) || defined(JUNGFRAUD) || defined(MYTHEN3D) || defined(MOENCHD)
|
||||
int setDefaultDacs();
|
||||
#if defined(GOTTHARDD) || defined(JUNGFRAUD) || defined(MYTHEN3D) || \
|
||||
defined(MOENCHD)
|
||||
int setDefaultDacs();
|
||||
#endif
|
||||
#ifdef GOTTHARD2D
|
||||
int readConfigFile();
|
||||
int readConfigFile();
|
||||
#endif
|
||||
|
||||
|
||||
// advanced read/write reg
|
||||
#ifdef EIGERD
|
||||
int writeRegister(uint32_t offset, uint32_t data);
|
||||
int readRegister(uint32_t offset, uint32_t* retval);
|
||||
int writeRegister(uint32_t offset, uint32_t data);
|
||||
int readRegister(uint32_t offset, uint32_t *retval);
|
||||
#elif GOTTHARDD
|
||||
uint32_t writeRegister16And32(uint32_t offset, uint32_t data); //FIXME its not there in ctb or moench?
|
||||
uint32_t readRegister16And32(uint32_t offset);
|
||||
uint32_t
|
||||
writeRegister16And32(uint32_t offset,
|
||||
uint32_t data); // FIXME its not there in ctb or moench?
|
||||
uint32_t readRegister16And32(uint32_t offset);
|
||||
#endif
|
||||
|
||||
|
||||
// firmware functions (resets)
|
||||
#if defined(JUNGFRAUD) || defined(CHIPTESTBOARDD) || defined(MOENCHD) || defined(MYTHEN3D) || defined(GOTTHARD2D)
|
||||
void cleanFifos();
|
||||
void resetCore();
|
||||
void resetPeripheral();
|
||||
#if defined(JUNGFRAUD) || defined(CHIPTESTBOARDD) || defined(MOENCHD) || \
|
||||
defined(MYTHEN3D) || defined(GOTTHARD2D)
|
||||
void cleanFifos();
|
||||
void resetCore();
|
||||
void resetPeripheral();
|
||||
#elif GOTTHARDD
|
||||
void setPhaseShiftOnce();
|
||||
void setPhaseShift(int numphaseshift);
|
||||
void cleanFifos();
|
||||
void setADCSyncRegister();
|
||||
void setDAQRegister();
|
||||
void setChipOfInterestRegister(int adc);
|
||||
void setROIADC(int adc);
|
||||
void setGbitReadout();
|
||||
int readConfigFile();
|
||||
void setMasterSlaveConfiguration();
|
||||
void setPhaseShiftOnce();
|
||||
void setPhaseShift(int numphaseshift);
|
||||
void cleanFifos();
|
||||
void setADCSyncRegister();
|
||||
void setDAQRegister();
|
||||
void setChipOfInterestRegister(int adc);
|
||||
void setROIADC(int adc);
|
||||
void setGbitReadout();
|
||||
int readConfigFile();
|
||||
void setMasterSlaveConfiguration();
|
||||
#endif
|
||||
|
||||
|
||||
// parameters - dr, roi
|
||||
int setDynamicRange(int dr);
|
||||
int setDynamicRange(int dr);
|
||||
#ifdef GOTTHARDD
|
||||
int setROI(ROI arg);
|
||||
ROI getROI();
|
||||
int setROI(ROI arg);
|
||||
ROI getROI();
|
||||
#endif
|
||||
#ifdef JUNGFRAUD
|
||||
void setADCInvertRegister(uint32_t val);
|
||||
uint32_t getADCInvertRegister();
|
||||
void setADCInvertRegister(uint32_t val);
|
||||
uint32_t getADCInvertRegister();
|
||||
#endif
|
||||
#if defined(CHIPTESTBOARDD) || defined(MOENCHD)
|
||||
int setADCEnableMask(uint32_t mask);
|
||||
uint32_t getADCEnableMask();
|
||||
void setADCEnableMask_10G(uint32_t mask);
|
||||
uint32_t getADCEnableMask_10G();
|
||||
void setADCInvertRegister(uint32_t val);
|
||||
uint32_t getADCInvertRegister();
|
||||
int setADCEnableMask(uint32_t mask);
|
||||
uint32_t getADCEnableMask();
|
||||
void setADCEnableMask_10G(uint32_t mask);
|
||||
uint32_t getADCEnableMask_10G();
|
||||
void setADCInvertRegister(uint32_t val);
|
||||
uint32_t getADCInvertRegister();
|
||||
#endif
|
||||
#if defined(CHIPTESTBOARDD)
|
||||
int setExternalSamplingSource(int val);
|
||||
int setExternalSampling(int val);
|
||||
int setExternalSamplingSource(int val);
|
||||
int setExternalSampling(int val);
|
||||
#endif
|
||||
|
||||
// parameters - readout
|
||||
#ifdef EIGERD
|
||||
int setParallelMode(int mode);
|
||||
int getParallelMode();
|
||||
int setOverFlowMode(int mode);
|
||||
int getOverFlowMode();
|
||||
void setStoreInRamMode(int mode);
|
||||
int getStoreInRamMode();
|
||||
int setParallelMode(int mode);
|
||||
int getParallelMode();
|
||||
int setOverFlowMode(int mode);
|
||||
int getOverFlowMode();
|
||||
void setStoreInRamMode(int mode);
|
||||
int getStoreInRamMode();
|
||||
#endif
|
||||
#ifdef CHIPTESTBOARDD
|
||||
int setReadoutMode(enum readoutMode mode);
|
||||
int getReadoutMode();
|
||||
int setReadoutMode(enum readoutMode mode);
|
||||
int getReadoutMode();
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
// parameters - timer
|
||||
#ifdef JUNGFRAUD
|
||||
int selectStoragecellStart(int pos);
|
||||
int selectStoragecellStart(int pos);
|
||||
#endif
|
||||
#if defined(JUNGFRAUD) || defined(EIGERD)
|
||||
int setStartingFrameNumber(uint64_t value);
|
||||
int getStartingFrameNumber(uint64_t* value);
|
||||
#if defined(JUNGFRAUD) || defined(EIGERD)
|
||||
int setStartingFrameNumber(uint64_t value);
|
||||
int getStartingFrameNumber(uint64_t *value);
|
||||
#endif
|
||||
void setNumFrames(int64_t val);
|
||||
int64_t getNumFrames();
|
||||
void setNumTriggers(int64_t val);
|
||||
int64_t getNumTriggers();
|
||||
int setExpTime(int64_t val);
|
||||
int64_t getExpTime();
|
||||
int setPeriod(int64_t val);
|
||||
int64_t getPeriod();
|
||||
void setNumFrames(int64_t val);
|
||||
int64_t getNumFrames();
|
||||
void setNumTriggers(int64_t val);
|
||||
int64_t getNumTriggers();
|
||||
int setExpTime(int64_t val);
|
||||
int64_t getExpTime();
|
||||
int setPeriod(int64_t val);
|
||||
int64_t getPeriod();
|
||||
#ifdef GOTTHARD2D
|
||||
void setNumBursts(int64_t val);
|
||||
int64_t getNumBursts();
|
||||
int setBurstPeriod(int64_t val);
|
||||
int64_t getBurstPeriod();
|
||||
void setNumBursts(int64_t val);
|
||||
int64_t getNumBursts();
|
||||
int setBurstPeriod(int64_t val);
|
||||
int64_t getBurstPeriod();
|
||||
#endif
|
||||
#ifdef EIGERD
|
||||
int setSubExpTime(int64_t val);
|
||||
int64_t getSubExpTime();
|
||||
int setSubDeadTime(int64_t val);
|
||||
int64_t getSubDeadTime();
|
||||
int64_t getMeasuredPeriod();
|
||||
int64_t getMeasuredSubPeriod();
|
||||
int setSubExpTime(int64_t val);
|
||||
int64_t getSubExpTime();
|
||||
int setSubDeadTime(int64_t val);
|
||||
int64_t getSubDeadTime();
|
||||
int64_t getMeasuredPeriod();
|
||||
int64_t getMeasuredSubPeriod();
|
||||
#endif
|
||||
#ifdef JUNGFRAUD
|
||||
void setNumAdditionalStorageCells(int val);
|
||||
int getNumAdditionalStorageCells();
|
||||
int setStorageCellDelay(int64_t val);
|
||||
int64_t getStorageCellDelay();
|
||||
void setNumAdditionalStorageCells(int val);
|
||||
int getNumAdditionalStorageCells();
|
||||
int setStorageCellDelay(int64_t val);
|
||||
int64_t getStorageCellDelay();
|
||||
#endif
|
||||
#if defined(CHIPTESTBOARDD) || defined(MOENCHD)
|
||||
int setNumAnalogSamples(int val);
|
||||
int getNumAnalogSamples();
|
||||
int setNumAnalogSamples(int val);
|
||||
int getNumAnalogSamples();
|
||||
#endif
|
||||
#ifdef CHIPTESTBOARDD
|
||||
int setNumDigitalSamples(int val);
|
||||
int getNumDigitalSamples();
|
||||
int setNumDigitalSamples(int val);
|
||||
int getNumDigitalSamples();
|
||||
#endif
|
||||
#ifdef MYTHEN3D
|
||||
void setCounterMask(uint32_t arg);
|
||||
uint32_t getCounterMask();
|
||||
void setCounterMask(uint32_t arg);
|
||||
uint32_t getCounterMask();
|
||||
#endif
|
||||
|
||||
#if defined(JUNGFRAUD) || defined(GOTTHARDD) || defined(CHIPTESTBOARDD) || defined(MOENCHD) || defined(MYTHEN3D) || defined(GOTTHARD2D)
|
||||
int setDelayAfterTrigger(int64_t val);
|
||||
int64_t getDelayAfterTrigger();
|
||||
int64_t getNumFramesLeft();
|
||||
int64_t getNumTriggersLeft();
|
||||
int64_t getDelayAfterTriggerLeft();
|
||||
int64_t getPeriodLeft();
|
||||
#if defined(JUNGFRAUD) || defined(GOTTHARDD) || defined(CHIPTESTBOARDD) || \
|
||||
defined(MOENCHD) || defined(MYTHEN3D) || defined(GOTTHARD2D)
|
||||
int setDelayAfterTrigger(int64_t val);
|
||||
int64_t getDelayAfterTrigger();
|
||||
int64_t getNumFramesLeft();
|
||||
int64_t getNumTriggersLeft();
|
||||
int64_t getDelayAfterTriggerLeft();
|
||||
int64_t getPeriodLeft();
|
||||
#endif
|
||||
#ifdef GOTTHARDD
|
||||
int64_t getExpTimeLeft();
|
||||
int64_t getExpTimeLeft();
|
||||
#endif
|
||||
#if defined(JUNGFRAUD) || defined(CHIPTESTBOARDD) || defined(MOENCHD) || defined(MYTHEN3D) || defined(GOTTHARD2D)
|
||||
int64_t getFramesFromStart();
|
||||
int64_t getActualTime();
|
||||
int64_t getMeasurementTime();
|
||||
#if defined(JUNGFRAUD) || defined(CHIPTESTBOARDD) || defined(MOENCHD) || \
|
||||
defined(MYTHEN3D) || defined(GOTTHARD2D)
|
||||
int64_t getFramesFromStart();
|
||||
int64_t getActualTime();
|
||||
int64_t getMeasurementTime();
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
// parameters - module, settings
|
||||
#if (!defined(CHIPTESTBOARDD)) && (!defined(MOENCHD)) && (!defined(MYTHEN3D)) && (!defined(GOTTHARD2D))
|
||||
int setModule(sls_detector_module myMod, char* mess);
|
||||
int getModule(sls_detector_module *myMod);
|
||||
#if (!defined(CHIPTESTBOARDD)) && (!defined(MOENCHD)) && \
|
||||
(!defined(MYTHEN3D)) && (!defined(GOTTHARD2D))
|
||||
int setModule(sls_detector_module myMod, char *mess);
|
||||
int getModule(sls_detector_module *myMod);
|
||||
#endif
|
||||
#if (!defined(CHIPTESTBOARDD)) && (!defined(MYTHEN3D))
|
||||
enum detectorSettings setSettings(enum detectorSettings sett);
|
||||
#if (!defined(CHIPTESTBOARDD)) && (!defined(MYTHEN3D))
|
||||
enum detectorSettings setSettings(enum detectorSettings sett);
|
||||
#endif
|
||||
#if !defined(MYTHEN3D)
|
||||
enum detectorSettings getSettings();
|
||||
enum detectorSettings getSettings();
|
||||
#endif
|
||||
|
||||
// parameters - threshold
|
||||
#ifdef EIGERD
|
||||
int getThresholdEnergy();
|
||||
int setThresholdEnergy(int ev);
|
||||
int getThresholdEnergy();
|
||||
int setThresholdEnergy(int ev);
|
||||
#endif
|
||||
|
||||
// parameters - dac, adc, hv
|
||||
|
||||
#ifdef GOTTHARD2D
|
||||
int setOnChipDAC(enum ONCHIP_DACINDEX ind, int chipIndex, int val);
|
||||
int getOnChipDAC(enum ONCHIP_DACINDEX ind, int chipIndex);
|
||||
int setOnChipDAC(enum ONCHIP_DACINDEX ind, int chipIndex, int val);
|
||||
int getOnChipDAC(enum ONCHIP_DACINDEX ind, int chipIndex);
|
||||
#endif
|
||||
void setDAC(enum DACINDEX ind, int val, int mV);
|
||||
int getDAC(enum DACINDEX ind, int mV);
|
||||
int getMaxDacSteps();
|
||||
void setDAC(enum DACINDEX ind, int val, int mV);
|
||||
int getDAC(enum DACINDEX ind, int mV);
|
||||
int getMaxDacSteps();
|
||||
#if defined(CHIPTESTBOARDD) || defined(MOENCHD)
|
||||
int dacToVoltage(int dac);
|
||||
int checkVLimitCompliant(int mV);
|
||||
int checkVLimitDacCompliant(int dac);
|
||||
int getVLimit();
|
||||
void setVLimit(int l);
|
||||
int dacToVoltage(int dac);
|
||||
int checkVLimitCompliant(int mV);
|
||||
int checkVLimitDacCompliant(int dac);
|
||||
int getVLimit();
|
||||
void setVLimit(int l);
|
||||
#endif
|
||||
|
||||
#ifdef CHIPTESTBOARDD
|
||||
int isVchipValid(int val);
|
||||
int getVchip();
|
||||
void setVchip(int val);
|
||||
int getVChipToSet(enum DACINDEX ind, int val);
|
||||
int getDACIndexFromADCIndex(enum ADCINDEX ind);
|
||||
int getADCIndexFromDACIndex(enum DACINDEX ind);
|
||||
int isPowerValid(enum DACINDEX ind, int val);
|
||||
int getPower();
|
||||
void setPower(enum DACINDEX ind, int val);
|
||||
void powerOff();
|
||||
int isVchipValid(int val);
|
||||
int getVchip();
|
||||
void setVchip(int val);
|
||||
int getVChipToSet(enum DACINDEX ind, int val);
|
||||
int getDACIndexFromADCIndex(enum ADCINDEX ind);
|
||||
int getADCIndexFromDACIndex(enum DACINDEX ind);
|
||||
int isPowerValid(enum DACINDEX ind, int val);
|
||||
int getPower();
|
||||
void setPower(enum DACINDEX ind, int val);
|
||||
void powerOff();
|
||||
#endif
|
||||
|
||||
#if !defined(MOENCHD) && !defined(MYTHEN3D) && !defined(GOTTHARD2D)
|
||||
int getADC(enum ADCINDEX ind);
|
||||
#if !defined(MOENCHD) && !defined(MYTHEN3D) && !defined(GOTTHARD2D)
|
||||
int getADC(enum ADCINDEX ind);
|
||||
#endif
|
||||
|
||||
int setHighVoltage(int val);
|
||||
|
||||
|
||||
int setHighVoltage(int val);
|
||||
|
||||
// parameters - timing, extsig
|
||||
void setTiming( enum timingMode arg);
|
||||
enum timingMode getTiming();
|
||||
void setTiming(enum timingMode arg);
|
||||
enum timingMode getTiming();
|
||||
#ifdef GOTTHARDD
|
||||
void setExtSignal(enum externalSignalFlag mode);
|
||||
int getExtSignal();
|
||||
void setExtSignal(enum externalSignalFlag mode);
|
||||
int getExtSignal();
|
||||
#endif
|
||||
|
||||
// configure mac
|
||||
#ifdef GOTTHARDD
|
||||
void calcChecksum(mac_conf* mac, int sourceip, int destip);
|
||||
void calcChecksum(mac_conf *mac, int sourceip, int destip);
|
||||
#elif JUNGFRAUD
|
||||
void setNumberofUDPInterfaces(int val);
|
||||
int getNumberofUDPInterfaces();
|
||||
void selectPrimaryInterface(int val);
|
||||
int getPrimaryInterface();
|
||||
void setupHeader(int iRxEntry, enum interfaceType type, uint32_t destip, uint64_t destmac, uint32_t destport, uint64_t sourcemac, uint32_t sourceip, uint32_t sourceport);
|
||||
void setNumberofUDPInterfaces(int val);
|
||||
int getNumberofUDPInterfaces();
|
||||
void selectPrimaryInterface(int val);
|
||||
int getPrimaryInterface();
|
||||
void setupHeader(int iRxEntry, enum interfaceType type, uint32_t destip,
|
||||
uint64_t destmac, uint32_t destport, uint64_t sourcemac,
|
||||
uint32_t sourceip, uint32_t sourceport);
|
||||
#endif
|
||||
#if defined(JUNGFRAUD) || defined(GOTTHARD2D) || defined(MYTHEN3D) || defined(CHIPTESTBOARDD) || defined(MOENCHD)
|
||||
void calcChecksum(udp_header* udp);
|
||||
#if defined(JUNGFRAUD) || defined(GOTTHARD2D) || defined(MYTHEN3D) || \
|
||||
defined(CHIPTESTBOARDD) || defined(MOENCHD)
|
||||
void calcChecksum(udp_header *udp);
|
||||
#endif
|
||||
#ifdef GOTTHARDD
|
||||
int getAdcConfigured();
|
||||
int getAdcConfigured();
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
int configureMAC();
|
||||
int setDetectorPosition(int pos[]);
|
||||
int* getDetectorPosition();
|
||||
|
||||
int configureMAC();
|
||||
int setDetectorPosition(int pos[]);
|
||||
int *getDetectorPosition();
|
||||
|
||||
#ifdef EIGERD
|
||||
int setQuad(int value);
|
||||
int getQuad();
|
||||
int setInterruptSubframe(int value);
|
||||
int getInterruptSubframe();
|
||||
int setReadNLines(int value);
|
||||
int getReadNLines();
|
||||
int setQuad(int value);
|
||||
int getQuad();
|
||||
int setInterruptSubframe(int value);
|
||||
int getInterruptSubframe();
|
||||
int setReadNLines(int value);
|
||||
int getReadNLines();
|
||||
#endif
|
||||
#if defined(CHIPTESTBOARDD) || defined(MOENCHD) || defined(EIGERD)
|
||||
int enableTenGigabitEthernet(int val);
|
||||
int enableTenGigabitEthernet(int val);
|
||||
#endif
|
||||
|
||||
|
||||
// very detector specific
|
||||
|
||||
// moench specific - powerchip
|
||||
#ifdef MOENCHD
|
||||
int powerChip (int on);
|
||||
int setAnalogOnlyReadout();
|
||||
int powerChip(int on);
|
||||
int setAnalogOnlyReadout();
|
||||
#endif
|
||||
|
||||
// chip test board or moench specific - configure frequency, phase, pll, flashing firmware
|
||||
// chip test board or moench specific - configure frequency, phase, pll,
|
||||
// flashing firmware
|
||||
#if defined(CHIPTESTBOARDD) || defined(MOENCHD)
|
||||
int setPhase(enum CLKINDEX ind, int val, int degrees);
|
||||
int getPhase(enum CLKINDEX ind, int degrees);
|
||||
int getMaxPhase(enum CLKINDEX ind);
|
||||
int validatePhaseinDegrees(enum CLKINDEX ind, int val, int retval);
|
||||
int setFrequency(enum CLKINDEX ind, int val);
|
||||
int getFrequency(enum CLKINDEX ind);
|
||||
void configureSyncFrequency(enum CLKINDEX ind);
|
||||
void setPipeline(enum CLKINDEX ind, int val);
|
||||
int getPipeline(enum CLKINDEX ind);
|
||||
int setPhase(enum CLKINDEX ind, int val, int degrees);
|
||||
int getPhase(enum CLKINDEX ind, int degrees);
|
||||
int getMaxPhase(enum CLKINDEX ind);
|
||||
int validatePhaseinDegrees(enum CLKINDEX ind, int val, int retval);
|
||||
int setFrequency(enum CLKINDEX ind, int val);
|
||||
int getFrequency(enum CLKINDEX ind);
|
||||
void configureSyncFrequency(enum CLKINDEX ind);
|
||||
void setPipeline(enum CLKINDEX ind, int val);
|
||||
int getPipeline(enum CLKINDEX ind);
|
||||
// patterns
|
||||
uint64_t writePatternIOControl(uint64_t word);
|
||||
uint64_t writePatternClkControl(uint64_t word);
|
||||
uint64_t readPatternWord(int addr);
|
||||
uint64_t writePatternWord(int addr, uint64_t word);
|
||||
int setPatternWaitAddress(int level, int addr);
|
||||
uint64_t setPatternWaitTime(int level, uint64_t t);
|
||||
void setPatternLoop(int level, int *startAddr, int *stopAddr, int *nLoop);
|
||||
uint64_t writePatternIOControl(uint64_t word);
|
||||
uint64_t writePatternClkControl(uint64_t word);
|
||||
uint64_t readPatternWord(int addr);
|
||||
uint64_t writePatternWord(int addr, uint64_t word);
|
||||
int setPatternWaitAddress(int level, int addr);
|
||||
uint64_t setPatternWaitTime(int level, uint64_t t);
|
||||
void setPatternLoop(int level, int *startAddr, int *stopAddr, int *nLoop);
|
||||
#ifdef CHIPTESTBOARDD
|
||||
int setLEDEnable(int enable);
|
||||
void setDigitalIODelay(uint64_t pinMask, int delay);
|
||||
int setLEDEnable(int enable);
|
||||
void setDigitalIODelay(uint64_t pinMask, int delay);
|
||||
#endif
|
||||
void setPatternMask(uint64_t mask);
|
||||
uint64_t getPatternMask();
|
||||
void setPatternBitMask(uint64_t mask);
|
||||
uint64_t getPatternBitMask();
|
||||
void setPatternMask(uint64_t mask);
|
||||
uint64_t getPatternMask();
|
||||
void setPatternBitMask(uint64_t mask);
|
||||
uint64_t getPatternBitMask();
|
||||
#endif
|
||||
|
||||
// jungfrau specific - powerchip, autocompdisable, clockdiv, asictimer, clock, pll, flashing firmware
|
||||
// jungfrau specific - powerchip, autocompdisable, clockdiv, asictimer, clock,
|
||||
// pll, flashing firmware
|
||||
#ifdef JUNGFRAUD
|
||||
void initReadoutConfiguration();
|
||||
int powerChip (int on);
|
||||
int autoCompDisable(int on);
|
||||
void configureASICTimer();
|
||||
int setClockDivider(enum CLKINDEX ind, int val);
|
||||
int getClockDivider(enum CLKINDEX ind);
|
||||
int setPhase(enum CLKINDEX ind, int val, int degrees);
|
||||
int getPhase(enum CLKINDEX ind, int degrees);
|
||||
int getMaxPhase(enum CLKINDEX ind);
|
||||
int validatePhaseinDegrees(enum CLKINDEX ind, int val, int retval);
|
||||
int setThresholdTemperature(int val);
|
||||
int setTemperatureControl(int val);
|
||||
int setTemperatureEvent(int val);
|
||||
void alignDeserializer();
|
||||
void initReadoutConfiguration();
|
||||
int powerChip(int on);
|
||||
int autoCompDisable(int on);
|
||||
void configureASICTimer();
|
||||
int setClockDivider(enum CLKINDEX ind, int val);
|
||||
int getClockDivider(enum CLKINDEX ind);
|
||||
int setPhase(enum CLKINDEX ind, int val, int degrees);
|
||||
int getPhase(enum CLKINDEX ind, int degrees);
|
||||
int getMaxPhase(enum CLKINDEX ind);
|
||||
int validatePhaseinDegrees(enum CLKINDEX ind, int val, int retval);
|
||||
int setThresholdTemperature(int val);
|
||||
int setTemperatureControl(int val);
|
||||
int setTemperatureEvent(int val);
|
||||
void alignDeserializer();
|
||||
|
||||
// eiger specific - iodelay, pulse, rate, temp, activate, delay nw parameter
|
||||
#elif EIGERD
|
||||
int setClockDivider(enum CLKINDEX ind, int val);
|
||||
int getClockDivider(enum CLKINDEX ind);
|
||||
int setIODelay(int val);
|
||||
int setCounterBit(int val);
|
||||
int pulsePixel(int n, int x, int y);
|
||||
int pulsePixelNMove(int n, int x, int y);
|
||||
int pulseChip(int n);
|
||||
int updateRateCorrection(char* mess);
|
||||
int validateAndSetRateCorrection(int64_t tau_ns, char* mess);
|
||||
int setRateCorrection(int64_t custom_tau_in_nsec);
|
||||
int getRateCorrectionEnable();
|
||||
int getDefaultSettingsTau_in_nsec();
|
||||
void setDefaultSettingsTau_in_nsec(int t);
|
||||
int64_t getCurrentTau();
|
||||
void setExternalGating(int enable[]);
|
||||
int setAllTrimbits(int val);
|
||||
int getAllTrimbits();
|
||||
int getBebFPGATemp();
|
||||
int activate(int enable);
|
||||
int setClockDivider(enum CLKINDEX ind, int val);
|
||||
int getClockDivider(enum CLKINDEX ind);
|
||||
int setIODelay(int val);
|
||||
int setCounterBit(int val);
|
||||
int pulsePixel(int n, int x, int y);
|
||||
int pulsePixelNMove(int n, int x, int y);
|
||||
int pulseChip(int n);
|
||||
int updateRateCorrection(char *mess);
|
||||
int validateAndSetRateCorrection(int64_t tau_ns, char *mess);
|
||||
int setRateCorrection(int64_t custom_tau_in_nsec);
|
||||
int getRateCorrectionEnable();
|
||||
int getDefaultSettingsTau_in_nsec();
|
||||
void setDefaultSettingsTau_in_nsec(int t);
|
||||
int64_t getCurrentTau();
|
||||
void setExternalGating(int enable[]);
|
||||
int setAllTrimbits(int val);
|
||||
int getAllTrimbits();
|
||||
int getBebFPGATemp();
|
||||
int activate(int enable);
|
||||
|
||||
// gotthard specific - adc phase
|
||||
#elif GOTTHARDD
|
||||
int setPhase(enum CLKINDEX ind, int val, int degrees);
|
||||
int setPhase(enum CLKINDEX ind, int val, int degrees);
|
||||
|
||||
#elif MYTHEN3D
|
||||
uint64_t readPatternWord(int addr);
|
||||
uint64_t writePatternWord(int addr, uint64_t word);
|
||||
int setPatternWaitAddress(int level, int addr);
|
||||
uint64_t setPatternWaitTime(int level, uint64_t t);
|
||||
void setPatternLoop(int level, int *startAddr, int *stopAddr, int *nLoop);
|
||||
void setPatternMask(uint64_t mask);
|
||||
uint64_t getPatternMask();
|
||||
void setPatternBitMask(uint64_t mask);
|
||||
uint64_t getPatternBitMask();
|
||||
int checkDetectorType();
|
||||
int powerChip (int on);
|
||||
int setPhase(enum CLKINDEX ind, int val, int degrees);
|
||||
int getPhase(enum CLKINDEX ind, int degrees);
|
||||
int getMaxPhase(enum CLKINDEX ind);
|
||||
int validatePhaseinDegrees(enum CLKINDEX ind, int val, int retval);
|
||||
//void setFrequency(enum CLKINDEX ind, int val);
|
||||
int getFrequency(enum CLKINDEX ind);
|
||||
int getVCOFrequency(enum CLKINDEX ind);
|
||||
int getMaxClockDivider();
|
||||
int setClockDivider(enum CLKINDEX ind, int val);
|
||||
int getClockDivider(enum CLKINDEX ind);
|
||||
uint64_t readPatternWord(int addr);
|
||||
uint64_t writePatternWord(int addr, uint64_t word);
|
||||
int setPatternWaitAddress(int level, int addr);
|
||||
uint64_t setPatternWaitTime(int level, uint64_t t);
|
||||
void setPatternLoop(int level, int *startAddr, int *stopAddr, int *nLoop);
|
||||
void setPatternMask(uint64_t mask);
|
||||
uint64_t getPatternMask();
|
||||
void setPatternBitMask(uint64_t mask);
|
||||
uint64_t getPatternBitMask();
|
||||
int checkDetectorType();
|
||||
int powerChip(int on);
|
||||
int setPhase(enum CLKINDEX ind, int val, int degrees);
|
||||
int getPhase(enum CLKINDEX ind, int degrees);
|
||||
int getMaxPhase(enum CLKINDEX ind);
|
||||
int validatePhaseinDegrees(enum CLKINDEX ind, int val, int retval);
|
||||
// void setFrequency(enum CLKINDEX ind, int val);
|
||||
int getFrequency(enum CLKINDEX ind);
|
||||
int getVCOFrequency(enum CLKINDEX ind);
|
||||
int getMaxClockDivider();
|
||||
int setClockDivider(enum CLKINDEX ind, int val);
|
||||
int getClockDivider(enum CLKINDEX ind);
|
||||
|
||||
#elif GOTTHARD2D
|
||||
int checkDetectorType();
|
||||
int powerChip (int on);
|
||||
int setPhase(enum CLKINDEX ind, int val, int degrees);
|
||||
int getPhase(enum CLKINDEX ind, int degrees);
|
||||
int getMaxPhase(enum CLKINDEX ind);
|
||||
int validatePhaseinDegrees(enum CLKINDEX ind, int val, int retval);
|
||||
//void setFrequency(enum CLKINDEX ind, int val);
|
||||
int getFrequency(enum CLKINDEX ind);
|
||||
int getVCOFrequency(enum CLKINDEX ind);
|
||||
int getMaxClockDivider();
|
||||
int setClockDivider(enum CLKINDEX ind, int val);
|
||||
int getClockDivider(enum CLKINDEX ind);
|
||||
int setInjectChannel(int offset, int increment);
|
||||
void getInjectedChannels(int* offset, int* increment);
|
||||
int setVetoReference(int gainIndex, int value);
|
||||
int setVetoPhoton(int chipIndex, int gainIndex, int* values);
|
||||
int getVetoPhoton(int chipIndex, int* retvals);
|
||||
int configureSingleADCDriver(int chipIndex);
|
||||
int configureADC();
|
||||
int setBurstModeinFPGA(enum burstMode value);
|
||||
int setBurstMode(enum burstMode burst);
|
||||
enum burstMode getBurstMode();
|
||||
void setCurrentSource(int value);
|
||||
int getCurrentSource();
|
||||
void setTimingSource(enum timingSourceType value);
|
||||
enum timingSourceType getTimingSource();
|
||||
int checkDetectorType();
|
||||
int powerChip(int on);
|
||||
int setPhase(enum CLKINDEX ind, int val, int degrees);
|
||||
int getPhase(enum CLKINDEX ind, int degrees);
|
||||
int getMaxPhase(enum CLKINDEX ind);
|
||||
int validatePhaseinDegrees(enum CLKINDEX ind, int val, int retval);
|
||||
// void setFrequency(enum CLKINDEX ind, int val);
|
||||
int getFrequency(enum CLKINDEX ind);
|
||||
int getVCOFrequency(enum CLKINDEX ind);
|
||||
int getMaxClockDivider();
|
||||
int setClockDivider(enum CLKINDEX ind, int val);
|
||||
int getClockDivider(enum CLKINDEX ind);
|
||||
int setInjectChannel(int offset, int increment);
|
||||
void getInjectedChannels(int *offset, int *increment);
|
||||
int setVetoReference(int gainIndex, int value);
|
||||
int setVetoPhoton(int chipIndex, int gainIndex, int *values);
|
||||
int getVetoPhoton(int chipIndex, int *retvals);
|
||||
int configureSingleADCDriver(int chipIndex);
|
||||
int configureADC();
|
||||
int setBurstModeinFPGA(enum burstMode value);
|
||||
int setBurstMode(enum burstMode burst);
|
||||
enum burstMode getBurstMode();
|
||||
void setCurrentSource(int value);
|
||||
int getCurrentSource();
|
||||
void setTimingSource(enum timingSourceType value);
|
||||
enum timingSourceType getTimingSource();
|
||||
#endif
|
||||
|
||||
#if defined(JUNGFRAUD) || defined(EIGERD)
|
||||
int getTenGigaFlowControl();
|
||||
int setTenGigaFlowControl(int value);
|
||||
int getTransmissionDelayFrame();
|
||||
int setTransmissionDelayFrame(int value);
|
||||
int getTenGigaFlowControl();
|
||||
int setTenGigaFlowControl(int value);
|
||||
int getTransmissionDelayFrame();
|
||||
int setTransmissionDelayFrame(int value);
|
||||
#endif
|
||||
#ifdef EIGERD
|
||||
int getTransmissionDelayLeft();
|
||||
int setTransmissionDelayLeft(int value);
|
||||
int getTransmissionDelayRight();
|
||||
int setTransmissionDelayRight(int value);
|
||||
int getTransmissionDelayLeft();
|
||||
int setTransmissionDelayLeft(int value);
|
||||
int getTransmissionDelayRight();
|
||||
int setTransmissionDelayRight(int value);
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
// aquisition
|
||||
#ifdef EIGERD
|
||||
int prepareAcquisition();
|
||||
int prepareAcquisition();
|
||||
#endif
|
||||
int startStateMachine();
|
||||
int startStateMachine();
|
||||
#ifdef VIRTUAL
|
||||
void* start_timer(void* arg);
|
||||
void *start_timer(void *arg);
|
||||
#endif
|
||||
int stopStateMachine();
|
||||
int stopStateMachine();
|
||||
#ifdef EIGERD
|
||||
int softwareTrigger();
|
||||
int softwareTrigger();
|
||||
#endif
|
||||
|
||||
#ifdef EIGERD
|
||||
int startReadOut();
|
||||
int startReadOut();
|
||||
#endif
|
||||
enum runStatus getRunStatus();
|
||||
void readFrame(int *ret, char *mess);
|
||||
enum runStatus getRunStatus();
|
||||
void readFrame(int *ret, char *mess);
|
||||
#if defined(CHIPTESTBOARDD) || defined(MOENCHD)
|
||||
void readandSendUDPFrames(int *ret, char *mess);
|
||||
void unsetFifoReadStrobes();
|
||||
void readSample(int ns);
|
||||
uint32_t checkDataInFifo();
|
||||
int checkFifoForEndOfAcquisition();
|
||||
int readFrameFromFifo();
|
||||
void readandSendUDPFrames(int *ret, char *mess);
|
||||
void unsetFifoReadStrobes();
|
||||
void readSample(int ns);
|
||||
uint32_t checkDataInFifo();
|
||||
int checkFifoForEndOfAcquisition();
|
||||
int readFrameFromFifo();
|
||||
#endif
|
||||
|
||||
#if defined(GOTTHARDD) || defined(JUNGFRAUD) || defined(CHIPTESTBOARDD) || defined(MOENCHD) || defined(MYTHEN3D) || defined(GOTTHARD2D)
|
||||
u_int32_t runBusy();
|
||||
#if defined(GOTTHARDD) || defined(JUNGFRAUD) || defined(CHIPTESTBOARDD) || \
|
||||
defined(MOENCHD) || defined(MYTHEN3D) || defined(GOTTHARD2D)
|
||||
u_int32_t runBusy();
|
||||
#endif
|
||||
|
||||
#ifdef GOTTHARDD
|
||||
u_int32_t runState(enum TLogLevel lev);
|
||||
u_int32_t runState(enum TLogLevel lev);
|
||||
#endif
|
||||
|
||||
|
||||
//common
|
||||
// common
|
||||
#ifdef EIGERD
|
||||
int copyModule(sls_detector_module *destMod, sls_detector_module *srcMod);
|
||||
int copyModule(sls_detector_module *destMod, sls_detector_module *srcMod);
|
||||
#endif
|
||||
int calculateDataBytes();
|
||||
int getTotalNumberOfChannels();
|
||||
#if defined(MOENCHD) || defined(CHIPTESTBOARDD)
|
||||
void getNumberOfChannels(int* nchanx, int* nchany);
|
||||
int calculateDataBytes();
|
||||
int getTotalNumberOfChannels();
|
||||
#if defined(MOENCHD) || defined(CHIPTESTBOARDD)
|
||||
void getNumberOfChannels(int *nchanx, int *nchany);
|
||||
#endif
|
||||
int getNumberOfChips();
|
||||
int getNumberOfDACs();
|
||||
int getNumberOfChannelsPerChip();
|
||||
|
||||
|
||||
|
||||
int getNumberOfChips();
|
||||
int getNumberOfDACs();
|
||||
int getNumberOfChannelsPerChip();
|
||||
|
22
slsDetectorServers/slsDetectorServer/include/slsDetectorServer_funcs.h
Executable file → Normal file
22
slsDetectorServers/slsDetectorServer/include/slsDetectorServer_funcs.h
Executable file → Normal file
@ -1,23 +1,24 @@
|
||||
#pragma once
|
||||
#include "sls_detector_defs.h"
|
||||
#include "clogger.h"
|
||||
#include "sls_detector_defs.h"
|
||||
|
||||
enum numberMode {DEC, HEX};
|
||||
#define GOODBYE (-200)
|
||||
#define REBOOT (-400)
|
||||
enum numberMode { DEC, HEX };
|
||||
#define GOODBYE (-200)
|
||||
#define REBOOT (-400)
|
||||
|
||||
// initialization functions
|
||||
int printSocketReadError();
|
||||
void init_detector();
|
||||
int decode_function(int);
|
||||
const char* getRetName();
|
||||
const char* getFunctionName(enum detFuncs func);
|
||||
const char *getRetName();
|
||||
const char *getFunctionName(enum detFuncs func);
|
||||
void function_table();
|
||||
void functionNotImplemented();
|
||||
void modeNotImplemented(char* modename, int mode);
|
||||
void validate(int arg, int retval, char* modename, enum numberMode nummode);
|
||||
void validate64(int64_t arg, int64_t retval, char* modename, enum numberMode nummode);
|
||||
int executeCommand(char* command, char* result, enum TLogLevel level);
|
||||
void modeNotImplemented(char *modename, int mode);
|
||||
void validate(int arg, int retval, char *modename, enum numberMode nummode);
|
||||
void validate64(int64_t arg, int64_t retval, char *modename,
|
||||
enum numberMode nummode);
|
||||
int executeCommand(char *command, char *result, enum TLogLevel level);
|
||||
int M_nofunc(int);
|
||||
#if defined(MYTHEN3D) || defined(GOTTHARD2D)
|
||||
void rebootNiosControllerAndFPGA();
|
||||
@ -217,4 +218,3 @@ int set_timing_source(int);
|
||||
int get_num_channels(int);
|
||||
int update_rate_correction(int);
|
||||
int get_receiver_parameters(int);
|
||||
|
||||
|
Reference in New Issue
Block a user