areaDetector  3-5-0
EPICS areaDetector framework
Macros | Functions
PIXIEII_data_utilities_v2.h File Reference
#include "pxrd2_interface_misc.h"

Go to the source code of this file.

Macros

#define PIXIE_SI_STATUS_REG   0
 
#define SER_INT_RST   0x1
 
#define SER_INT_START   0x2
 
#define CAL_MODE   0x00
 
#define CONF_MODE   0x0C
 
#define RD_CONF_MODE   0x04
 
#define DEF_CONF_MODE   0x08
 
#define PIXIEII_THSET_REG   7
 
#define PIXIEII_REG0_1   15
 
#define GLOBAL_CONF_REG_WR_OPCODE   0x0000
 
#define GLOBAL_DEFCONF_REG_WR_OPCODE   0x0020
 
#define GLOBAL_CONF_REG_RD_OPCODE   0x0010
 
#define COLUMN_BYPASS_WR_OPCODE   0x0030
 
#define COLUMN_BYPASS_RD_OPCODE   0x0040
 
#define COLUMN_BYPASS_WRDEF_OPCODE   0x0050
 
#define COLUMN_PAIR_SELECTION_OPCODE   0x0060
 
#define ALL_COLUMN_PAIR_SELECTION_OPCODE   0x0070
 
#define PIXEL_CONFIGURATION_OPCODE   0x0080
 
#define AUTOCALIBRATION_OPCODE   0x0090
 
#define COLUMN_BYPASS_WRDEFAULT_OPCODE   0x00a0
 
#define REG_0_BUFF_CODE   0
 
#define REG_1_BUFF_CODE   1
 
#define NETWORK_WAIT_ms   10
 
#define PIXIEII_GLOBAL_CONF_REG   18
 
#define PIXIEII_PIXEL_CONF_REG   12
 
#define PIXIEII_READ_OUT_MODE_REG   21
 
#define STANDARD_READOUT   0
 
#define READ_AUTOCAL_CODES   1
 
#define PIXIE_MEM_DATA_REG   12
 
#define PIXIE_MEM_DATA_LOADER_REG   11
 
#define PIXIE_SHUTTER_OPENING_REG   10
 
#define PIXIE_STIMULI_REG_STATUS   1
 
#define PIXIEII_MEM_WR_CLK   0x4000
 
#define PIXIEII_FIFO_RESET   0x8000
 
#define MEM_ADD_MASK   0x03ff
 
#define EN_WR_INJ   0x1
 
#define COUNT_MODE   0x0
 
#define SERIALIZE   0x8
 
#define TESTENABLE   0x1
 
#define SHUTTEREND_FLAG   0x20
 
#define MASKREAD   0x4
 
#define PXDIN   0x2
 
#define PSCNT_WIDTH   15
 
#define PSTABLE_DEPTH   32768
 
#define PII_AUTOCAL_CODE_DEPTH   5
 
#define PII_STD_COUNTER_CODE_DEPTH   15
 
#define PII_PIXIE_COLS   512
 
#define PII_PIXIE_ROWS   476
 
#define PII_PIXIE_DOUTS   16
 
#define PII_COLS_PER_DOUT   32
 
#define PII_PIXELS_IN_SECTOR_MAP   (PII_COLS_PER_DOUT*PII_PIXIE_ROWS)
 
#define PII_MATRIX_DIM_WORDS   (PII_PIXIE_COLS*PII_PIXIE_ROWS)
 
#define PII_AUTOCAL_REGS   1
 
#define PII_COUNTER_REGS   2
 
#define PII_SEPARATION_COLUMNS_INPXX   3
 
#define PIII_AUTOCAL_CODE_DEPTH   9
 
#define PIII_STD_COUNTER_CODE_DEPTH   15
 
#define PIII_SHORT_COUNTER_CODE_DEPTH   7
 
#define PIII_PIXIE_COLS   512
 
#define PIII_PIXIE_ROWS   402
 
#define PIII_PIXIE_DOUTS   16
 
#define PIII_COLS_PER_DOUT   32
 
#define PIII_PIXELS_IN_SECTOR_MAP   (PIII_COLS_PER_DOUT*PIII_PIXIE_ROWS)
 
#define PIII_MATRIX_DIM_WORDS   (PIII_PIXIE_COLS*PIII_PIXIE_ROWS)
 
#define PIII_AUTOCAL_REGS   3
 
#define PIII_COUNTER_REGS   2
 
#define PIII_SEPARATION_COLUMNS_INPXX   4
 
#define MAX_CODE_DEPTH   15
 
#define MAX_DOUTS   16
 
#define OLDRAW_HEADER_LENGHT   10
 
#define FILE_HEADER_LENGHT   12
 
#define FF_FILEHEADER_LENGHT   12
 
#define BUFFER_HDR_TAG   0xffff
 
#define RESET_BUFFER_HDR_TAG   0xfff0
 
#define FLE_END_TAG   0xfffe
 
#define NEG_MODE_OFF   745
 
#define OUTLIER_STDEV   8
 
#define MEDIAN_RADIUS   2
 
#define INTERPOLA_PITCH_DEFAULT   60.0
 
#define GRADIENT   0
 
#define LINE_45   1
 
#define SOMB   2
 
#define INJ   1
 
#define QUIET   0
 
#define PIXIE_CLOCKSEL_REG   2
 
#define PIXIE_AUTOCAL_CLOCKSEL_REG   7
 
#define PIXIE_WRITEPULSES_REG   8
 
#define PIXIE_OUTSEL_REG   3
 
#define PIXIE_CHIPSEL_REG   17
 
#define PIXIE_CLOCK_CNT_LSW_REG   4
 
#define PIXIE_CLOCK_CNT_MSW_REG   5
 
#define PIXIE_INJ_FREQ_REG   6
 
#define PIII_PRANDOM_15BITS_B0   13
 
#define PIII_PRANDOM_15BITS_B1   14
 
#define PIII_PRANDOM_07BITS_B0   5
 
#define PIII_PRANDOM_07BITS_B1   6
 
#define CONVERSIONTABLEDEPTH   32768
 

Functions

void genera_tabella_clock (unsigned short *clocks, unsigned short dim, unsigned short counterwidth)
 
unsigned short * conversion_table_allocation (SENSOR *Sens_ptr)
 
unsigned short * databuffer_allocation (unsigned long size)
 
void * buffer_allocation (unsigned long elems, int size_el)
 
int databuffer_sorting (unsigned short *buffer_a, SENSOR Sens)
 
int map_data_buffer_on_pixie (unsigned short *buffer_a, SENSOR Sens)
 
int map_data_buffer_on_pixieIII (unsigned short *buffer_a, SENSOR Sens)
 
int generate_test_buffer (unsigned short *buffer_a, unsigned short type, SENSOR Sens)
 
void decode_pixie_data_buffer (unsigned short *table, int table_depth, unsigned short *databuffer, int databuffer_len)
 
void databuffer_filtering (unsigned short *buffer_a, unsigned short low_limit, unsigned short high_limit, SENSOR Sens)
 
void check_data_consistency (unsigned short *data_buffer, unsigned short test_pattern)
 
int dummy_buffer_init (unsigned short *data_buffer, char *namefile, SENSOR Sens)
 
void copy_databuff_to_netbuff (unsigned short *databuff, unsigned short *netbuff, unsigned char position, SENSOR Sens)
 
void my_bytes_swap (unsigned short *us_ptr)
 
int convert_bit_stream_to_counts (int code_depth, unsigned short *source_memory_offset, unsigned short *destination_memory_offset, SENSOR Sens, int verbose)
 
void get_pixie_raw_data (unsigned short *source_buff_ptr, unsigned short *dest_buff_ptr, ACQ_PROP Acq_sett, SENSOR Sens)
 
int GeneratePIIIConversionTable (unsigned short *table_ptr, int table_size, int code_dept)
 
int InvertPIIIConversionTable (unsigned short *table_ptr, int table_size, int code_dept)
 
unsigned short * PIIIConversion_table_allocation (int code_depth)
 

Macro Definition Documentation

◆ ALL_COLUMN_PAIR_SELECTION_OPCODE

#define ALL_COLUMN_PAIR_SELECTION_OPCODE   0x0070

◆ AUTOCALIBRATION_OPCODE

#define AUTOCALIBRATION_OPCODE   0x0090

◆ BUFFER_HDR_TAG

#define BUFFER_HDR_TAG   0xffff

◆ CAL_MODE

#define CAL_MODE   0x00

◆ COLUMN_BYPASS_RD_OPCODE

#define COLUMN_BYPASS_RD_OPCODE   0x0040

◆ COLUMN_BYPASS_WR_OPCODE

#define COLUMN_BYPASS_WR_OPCODE   0x0030

◆ COLUMN_BYPASS_WRDEF_OPCODE

#define COLUMN_BYPASS_WRDEF_OPCODE   0x0050

◆ COLUMN_BYPASS_WRDEFAULT_OPCODE

#define COLUMN_BYPASS_WRDEFAULT_OPCODE   0x00a0

◆ COLUMN_PAIR_SELECTION_OPCODE

#define COLUMN_PAIR_SELECTION_OPCODE   0x0060

◆ CONF_MODE

#define CONF_MODE   0x0C

◆ CONVERSIONTABLEDEPTH

#define CONVERSIONTABLEDEPTH   32768

◆ COUNT_MODE

#define COUNT_MODE   0x0

◆ DEF_CONF_MODE

#define DEF_CONF_MODE   0x08

◆ EN_WR_INJ

#define EN_WR_INJ   0x1

◆ FF_FILEHEADER_LENGHT

#define FF_FILEHEADER_LENGHT   12

◆ FILE_HEADER_LENGHT

#define FILE_HEADER_LENGHT   12

◆ FLE_END_TAG

#define FLE_END_TAG   0xfffe

◆ GLOBAL_CONF_REG_RD_OPCODE

#define GLOBAL_CONF_REG_RD_OPCODE   0x0010

◆ GLOBAL_CONF_REG_WR_OPCODE

#define GLOBAL_CONF_REG_WR_OPCODE   0x0000

◆ GLOBAL_DEFCONF_REG_WR_OPCODE

#define GLOBAL_DEFCONF_REG_WR_OPCODE   0x0020

◆ GRADIENT

#define GRADIENT   0

◆ INJ

#define INJ   1

◆ INTERPOLA_PITCH_DEFAULT

#define INTERPOLA_PITCH_DEFAULT   60.0

◆ LINE_45

#define LINE_45   1

◆ MASKREAD

#define MASKREAD   0x4

◆ MAX_CODE_DEPTH

#define MAX_CODE_DEPTH   15

◆ MAX_DOUTS

#define MAX_DOUTS   16

◆ MEDIAN_RADIUS

#define MEDIAN_RADIUS   2

◆ MEM_ADD_MASK

#define MEM_ADD_MASK   0x03ff

◆ NEG_MODE_OFF

#define NEG_MODE_OFF   745

◆ NETWORK_WAIT_ms

#define NETWORK_WAIT_ms   10

◆ OLDRAW_HEADER_LENGHT

#define OLDRAW_HEADER_LENGHT   10

◆ OUTLIER_STDEV

#define OUTLIER_STDEV   8

◆ PII_AUTOCAL_CODE_DEPTH

#define PII_AUTOCAL_CODE_DEPTH   5

◆ PII_AUTOCAL_REGS

#define PII_AUTOCAL_REGS   1

◆ PII_COLS_PER_DOUT

#define PII_COLS_PER_DOUT   32

◆ PII_COUNTER_REGS

#define PII_COUNTER_REGS   2

◆ PII_MATRIX_DIM_WORDS

#define PII_MATRIX_DIM_WORDS   (PII_PIXIE_COLS*PII_PIXIE_ROWS)

◆ PII_PIXELS_IN_SECTOR_MAP

#define PII_PIXELS_IN_SECTOR_MAP   (PII_COLS_PER_DOUT*PII_PIXIE_ROWS)

◆ PII_PIXIE_COLS

#define PII_PIXIE_COLS   512

◆ PII_PIXIE_DOUTS

#define PII_PIXIE_DOUTS   16

◆ PII_PIXIE_ROWS

#define PII_PIXIE_ROWS   476

◆ PII_SEPARATION_COLUMNS_INPXX

#define PII_SEPARATION_COLUMNS_INPXX   3

◆ PII_STD_COUNTER_CODE_DEPTH

#define PII_STD_COUNTER_CODE_DEPTH   15

◆ PIII_AUTOCAL_CODE_DEPTH

#define PIII_AUTOCAL_CODE_DEPTH   9

◆ PIII_AUTOCAL_REGS

#define PIII_AUTOCAL_REGS   3

◆ PIII_COLS_PER_DOUT

#define PIII_COLS_PER_DOUT   32

◆ PIII_COUNTER_REGS

#define PIII_COUNTER_REGS   2

◆ PIII_MATRIX_DIM_WORDS

#define PIII_MATRIX_DIM_WORDS   (PIII_PIXIE_COLS*PIII_PIXIE_ROWS)

◆ PIII_PIXELS_IN_SECTOR_MAP

#define PIII_PIXELS_IN_SECTOR_MAP   (PIII_COLS_PER_DOUT*PIII_PIXIE_ROWS)

◆ PIII_PIXIE_COLS

#define PIII_PIXIE_COLS   512

◆ PIII_PIXIE_DOUTS

#define PIII_PIXIE_DOUTS   16

◆ PIII_PIXIE_ROWS

#define PIII_PIXIE_ROWS   402

◆ PIII_PRANDOM_07BITS_B0

#define PIII_PRANDOM_07BITS_B0   5

◆ PIII_PRANDOM_07BITS_B1

#define PIII_PRANDOM_07BITS_B1   6

◆ PIII_PRANDOM_15BITS_B0

#define PIII_PRANDOM_15BITS_B0   13

◆ PIII_PRANDOM_15BITS_B1

#define PIII_PRANDOM_15BITS_B1   14

◆ PIII_SEPARATION_COLUMNS_INPXX

#define PIII_SEPARATION_COLUMNS_INPXX   4

◆ PIII_SHORT_COUNTER_CODE_DEPTH

#define PIII_SHORT_COUNTER_CODE_DEPTH   7

◆ PIII_STD_COUNTER_CODE_DEPTH

#define PIII_STD_COUNTER_CODE_DEPTH   15

◆ PIXEL_CONFIGURATION_OPCODE

#define PIXEL_CONFIGURATION_OPCODE   0x0080

◆ PIXIE_AUTOCAL_CLOCKSEL_REG

#define PIXIE_AUTOCAL_CLOCKSEL_REG   7

◆ PIXIE_CHIPSEL_REG

#define PIXIE_CHIPSEL_REG   17

◆ PIXIE_CLOCK_CNT_LSW_REG

#define PIXIE_CLOCK_CNT_LSW_REG   4

◆ PIXIE_CLOCK_CNT_MSW_REG

#define PIXIE_CLOCK_CNT_MSW_REG   5

◆ PIXIE_CLOCKSEL_REG

#define PIXIE_CLOCKSEL_REG   2

◆ PIXIE_INJ_FREQ_REG

#define PIXIE_INJ_FREQ_REG   6

◆ PIXIE_MEM_DATA_LOADER_REG

#define PIXIE_MEM_DATA_LOADER_REG   11

◆ PIXIE_MEM_DATA_REG

#define PIXIE_MEM_DATA_REG   12

◆ PIXIE_OUTSEL_REG

#define PIXIE_OUTSEL_REG   3

◆ PIXIE_SHUTTER_OPENING_REG

#define PIXIE_SHUTTER_OPENING_REG   10

◆ PIXIE_SI_STATUS_REG

#define PIXIE_SI_STATUS_REG   0

◆ PIXIE_STIMULI_REG_STATUS

#define PIXIE_STIMULI_REG_STATUS   1

◆ PIXIE_WRITEPULSES_REG

#define PIXIE_WRITEPULSES_REG   8

◆ PIXIEII_FIFO_RESET

#define PIXIEII_FIFO_RESET   0x8000

◆ PIXIEII_GLOBAL_CONF_REG

#define PIXIEII_GLOBAL_CONF_REG   18

◆ PIXIEII_MEM_WR_CLK

#define PIXIEII_MEM_WR_CLK   0x4000

◆ PIXIEII_PIXEL_CONF_REG

#define PIXIEII_PIXEL_CONF_REG   12

◆ PIXIEII_READ_OUT_MODE_REG

#define PIXIEII_READ_OUT_MODE_REG   21

◆ PIXIEII_REG0_1

#define PIXIEII_REG0_1   15

◆ PIXIEII_THSET_REG

#define PIXIEII_THSET_REG   7

◆ PSCNT_WIDTH

#define PSCNT_WIDTH   15

◆ PSTABLE_DEPTH

#define PSTABLE_DEPTH   32768

◆ PXDIN

#define PXDIN   0x2

◆ QUIET

#define QUIET   0

◆ RD_CONF_MODE

#define RD_CONF_MODE   0x04

◆ READ_AUTOCAL_CODES

#define READ_AUTOCAL_CODES   1

◆ REG_0_BUFF_CODE

#define REG_0_BUFF_CODE   0

◆ REG_1_BUFF_CODE

#define REG_1_BUFF_CODE   1

◆ RESET_BUFFER_HDR_TAG

#define RESET_BUFFER_HDR_TAG   0xfff0

◆ SER_INT_RST

#define SER_INT_RST   0x1

◆ SER_INT_START

#define SER_INT_START   0x2

◆ SERIALIZE

#define SERIALIZE   0x8

◆ SHUTTEREND_FLAG

#define SHUTTEREND_FLAG   0x20

◆ SOMB

#define SOMB   2

◆ STANDARD_READOUT

#define STANDARD_READOUT   0

◆ TESTENABLE

#define TESTENABLE   0x1

Function Documentation

◆ buffer_allocation()

void* buffer_allocation ( unsigned long  elems,
int  size_el 
)

◆ check_data_consistency()

void check_data_consistency ( unsigned short *  data_buffer,
unsigned short  test_pattern 
)

◆ conversion_table_allocation()

unsigned short* conversion_table_allocation ( SENSOR Sens_ptr)

◆ convert_bit_stream_to_counts()

int convert_bit_stream_to_counts ( int  code_depth,
unsigned short *  source_memory_offset,
unsigned short *  destination_memory_offset,
SENSOR  Sens,
int  verbose 
)

◆ copy_databuff_to_netbuff()

void copy_databuff_to_netbuff ( unsigned short *  databuff,
unsigned short *  netbuff,
unsigned char  position,
SENSOR  Sens 
)

◆ databuffer_allocation()

unsigned short* databuffer_allocation ( unsigned long  size)

◆ databuffer_filtering()

void databuffer_filtering ( unsigned short *  buffer_a,
unsigned short  low_limit,
unsigned short  high_limit,
SENSOR  Sens 
)

◆ databuffer_sorting()

int databuffer_sorting ( unsigned short *  buffer_a,
SENSOR  Sens 
)

◆ decode_pixie_data_buffer()

void decode_pixie_data_buffer ( unsigned short *  table,
int  table_depth,
unsigned short *  databuffer,
int  databuffer_len 
)

◆ dummy_buffer_init()

int dummy_buffer_init ( unsigned short *  data_buffer,
char *  namefile,
SENSOR  Sens 
)

◆ genera_tabella_clock()

void genera_tabella_clock ( unsigned short *  clocks,
unsigned short  dim,
unsigned short  counterwidth 
)

◆ generate_test_buffer()

int generate_test_buffer ( unsigned short *  buffer_a,
unsigned short  type,
SENSOR  Sens 
)

◆ GeneratePIIIConversionTable()

int GeneratePIIIConversionTable ( unsigned short *  table_ptr,
int  table_size,
int  code_dept 
)

◆ get_pixie_raw_data()

void get_pixie_raw_data ( unsigned short *  source_buff_ptr,
unsigned short *  dest_buff_ptr,
ACQ_PROP  Acq_sett,
SENSOR  Sens 
)

◆ InvertPIIIConversionTable()

int InvertPIIIConversionTable ( unsigned short *  table_ptr,
int  table_size,
int  code_dept 
)

◆ map_data_buffer_on_pixie()

int map_data_buffer_on_pixie ( unsigned short *  buffer_a,
SENSOR  Sens 
)

◆ map_data_buffer_on_pixieIII()

int map_data_buffer_on_pixieIII ( unsigned short *  buffer_a,
SENSOR  Sens 
)

◆ my_bytes_swap()

void my_bytes_swap ( unsigned short *  us_ptr)

◆ PIIIConversion_table_allocation()

unsigned short* PIIIConversion_table_allocation ( int  code_depth)