#include <memory.h>
#include <string.h>
#include "cvt_V1724.h"
Go to the source code of this file.
Defines | |
#define | V1724_DATA_TYPE_MSK 0xf8000000 |
Data type bit masks. | |
#define | V1724_GLOBAL_HEADER 0x40000000 |
Global header data type. | |
#define | V1724_GLOBAL_TRAILER 0x80000000 |
Global trailer data type. | |
#define | V1724_TDC_HEADER 0x08000000 |
TDC header data type. | |
#define | V1724_TDC_MEASURE 0x00000000 |
TDC measure data type. | |
#define | V1724_TDC_ERROR 0x20000000 |
TDC error data type. | |
#define | V1724_TDC_TRAILER 0x18000000 |
TDC trailer data type. | |
#define | V1724_GLOBAL_TRIGGER_TIME 0x88000000 |
Global trigger tag time data type. | |
#define | V1724_FILLER 0xc0000000 |
Filler data type. | |
#define | IS_GLOBAL_HEADER(data) ((data& V1724_DATA_TYPE_MSK)== V1724_GLOBAL_HEADER) |
Checks if data type is global header. | |
#define | IS_GLOBAL_TRAILER(data) ((data& V1724_DATA_TYPE_MSK)== V1724_GLOBAL_TRAILER) |
Checks if data type is global trailer. | |
#define | IS_TDC_HEADER(data) ((data& V1724_DATA_TYPE_MSK)== V1724_TDC_HEADER) |
Checks if data type is TDC header. | |
#define | IS_TDC_MEASURE(data) ((data& V1724_DATA_TYPE_MSK)== V1724_TDC_MEASURE) |
Checks if data type is TDC measure. | |
#define | IS_TDC_ERROR(data) ((data& V1724_DATA_TYPE_MSK)== V1724_TDC_ERROR) |
Checks if data type is TDC error. | |
#define | IS_TDC_TRAILER(data) ((data& V1724_DATA_TYPE_MSK)== V1724_TDC_TRAILER) |
Checks if data type is TDC trailer. | |
#define | IS_GLOBAL_TRIGGER_TIME(data) ((data& V1724_DATA_TYPE_MSK)== V1724_GLOBAL_TRIGGER_TIME) |
Checks if data type is global trigger time. | |
#define | IS_FILLER(data) ((data& V1724_DATA_TYPE_MSK)== V1724_FILLER) |
Checks if data type is filler. | |
#define | GET_EVENT_COUNT(data) ((UINT32)((((UINT32)data)>>5)& 0x003fffff)) |
Gets the event counter of this event. | |
Functions | |
BOOL | cvt_V1724_open (cvt_V1724_data *p_data, UINT16 base_address, long vme_handle) |
V1724 VME boards data initialization. | |
BOOL | cvt_V1724_close (cvt_V1724_data *p_data) |
V1724 VME boards closing and resource free. | |
BOOL | cvt_V1724_read_buffer (cvt_V1724_data *p_data, UINT8 ch_index, UINT16 *p_buff, UINT32 *p_buff_size) |
CH 0 Read Block Trigger register index CH 1 Read Block Trigger register index CH 2 Read Block Trigger register index CH 3 Read Block Trigger register index CH 4 Read Block Trigger register index CH 5 Read Block Trigger register index CH 6 Read Block Trigger register index CH 7 Read Block Trigger register index CH 0 Number of Blocks Written register index CH 1 Number of Blocks Written register index CH 2 Number of Blocks Written register index CH 3 Number of Blocks Written register index CH 4 Number of Blocks Written register index CH 5 Number of Blocks Written register index CH 6 Number of Blocks Written register index CH 7 Number of Blocks Written register index. | |
BOOL | cvt_V1724_set_trigger_mode (cvt_V1724_data *p_data, BOOL falling_edge_enable, BOOL trigger_in_enable, BOOL trigger_out_enable, BOOL ext_trigger_enable, BOOL sw_trigger_enable, UINT8 ch_trigger_enable_msk, BOOL trigger_overlap_enable, UINT32 post_trigger) |
Setups the triggering mode parameters. | |
BOOL | cvt_V1724_set_acquisition_mode (cvt_V1724_data *p_data, BOOL sample_enable, CVT_V1724_CH_BLKSIZE block_size) |
Setups the acquisition mode parameters. | |
BOOL | cvt_V1724_set_dither_enable (cvt_V1724_data *p_data, UINT8 ch_msk, BOOL dither_value) |
CH 0 Configuration register index CH 1 Configuration register index CH 2 Configuration register index CH 3 Configuration register index CH 4 Configuration register index CH 5 Configuration register index CH 6 Configuration register index CH 7 Configuration register index. | |
BOOL | cvt_V1724_set_interrupt (cvt_V1724_data *p_data, UINT8 level, UINT8 vector, UINT8 event_number) |
Setups interrupt parameters. | |
BOOL | cvt_V1724_set_readout_mode (cvt_V1724_data *p_data, BOOL enable_bus_error, UINT16 BLT_event_number) |
Setups data readout mode parameters. | |
BOOL | cvt_V1724_software_reset (cvt_V1724_data *p_data) |
Performs a software reset. | |
BOOL | cvt_V1724_data_clear (cvt_V1724_data *p_data) |
Performs a data clear. | |
BOOL | cvt_V1724_set_channel_offset (cvt_V1724_data *p_data, UINT8 ch_msk, UINT16 offset_value) |
CH 0 DAC Data Configuration register index CH 1 DAC Data Configuration register index CH 2 DAC Data Configuration register index CH 3 DAC Data Configuration register index CH 4 DAC Data Configuration register index CH 5 DAC Data Configuration register index CH 6 DAC Data Configuration register index CH 7 DAC Data Configuration register index. | |
BOOL | cvt_V1724_set_channel_trigger (cvt_V1724_data *p_data, UINT8 ch_msk, UINT32 trigger_threshold, UINT32 threshold_samples) |
CH 0 Threshold register index CH 1 Threshold register index CH 2 Threshold register index CH 3 Threshold register index CH 4 Threshold register index CH 5 Threshold register index CH 6 Threshold register index CH 7 Threshold register index CH 0 Over/Under Threshold Samples register index CH 1 Over/Under Threshold Samples register index CH 2 Over/Under Threshold Samples register index CH 3 Over/Under Threshold Samples register index CH 4 Over/Under Threshold Samples register index CH 5 Over/Under Threshold Samples register index CH 6 Over/Under Threshold Samples register index CH 7 Over/Under Threshold Samples register index. | |
BOOL | cvt_V1724_software_trigger (cvt_V1724_data *p_data) |
Performs a software trigger. | |
BOOL | cvt_V1724_get_channel_status (cvt_V1724_data *p_data, UINT8 ch_index, BOOL *p_is_dac_busy, BOOL *p_is_fifo_full, BOOL *p_is_fifo_empty, BOOL *p_is_block_remove_ok) |
CH 0 status register relative address CH 1 status register relative address CH 2 status register relative address CH 3 status register relative address CH 4 status register relative address CH 5 status register relative address CH 6 status register relative address CH 7 status register relative address. | |
BOOL | cvt_V1724_get_system_info (cvt_V1724_data *p_data, UINT16 *p_firmware_rev, UINT16 *p_serial_number) |
Gets board's system information. | |
BOOL | cvt_V1724_set_MCST_CBLT (cvt_V1724_data *p_data, UINT8 address, MCST_CBLT_board_pos pos) |
Setups MCST/CBLT parameters this board. |
Definition in file cvt_V1724.c.
|
V1724 VME boards closing and resource free. Provides specific handling for V1724 boards closing.
Definition at line 236 of file cvt_V1724.c. References cvt_board_close(), FALSE, cvt_V1724_data::m_common_data, cvt_V1724_data::m_tmp_sample_buffer, cvt_V1724_data::m_tmp_sample_buffer_size, and TRUE. |
|
Performs a data clear. Writes a dummy value into SW_CLEAR_REGISTER register.
Definition at line 783 of file cvt_V1724.c. References CVT_V1724_SW_CLEAR_INDEX, cvt_write_reg(), FALSE, cvt_V1724_data::m_common_data, TRACE, and TRUE. |
|
CH 0 status register relative address CH 1 status register relative address CH 2 status register relative address CH 3 status register relative address CH 4 status register relative address CH 5 status register relative address CH 6 status register relative address CH 7 status register relative address. < < < < < < < < Definition at line 949 of file cvt_V1724.c. References cvt_read_reg(), CVT_V1724_CH0_STATUS_INDEX, CVT_V1724_CH1_STATUS_INDEX, CVT_V1724_CH2_STATUS_INDEX, CVT_V1724_CH3_STATUS_INDEX, CVT_V1724_CH4_STATUS_INDEX, CVT_V1724_CH5_STATUS_INDEX, CVT_V1724_CH6_STATUS_INDEX, CVT_V1724_CH7_STATUS_INDEX, CVT_V1724_CHSTS_BLOCK_REM_OK_MSK, CVT_V1724_CHSTS_DAC_BUSY_MSK, CVT_V1724_CHSTS_FIFO_EMPTY_MSK, CVT_V1724_CHSTS_FIFO_FULL_MSK, CVT_V1724_MAX_CHANNEL, FALSE, cvt_V1724_data::m_common_data, TRACE1, and TRUE. Referenced by cvt_V1724_set_channel_offset(). |
|
Gets board's system information. Reads the firmware revision register and the serial number.
Definition at line 999 of file cvt_V1724.c. References cvt_read_reg(), CVT_V1724_FW_REV_INDEX, FALSE, cvt_V1724_data::m_common_data, TRACE, and TRUE. |
|
V1724 VME boards data initialization. Provides specific handling for V1724 boards opening.
Definition at line 207 of file cvt_V1724.c. References cvt_board_open(), cvt_V1724_set_MCST_CBLT(), FALSE, cvt_V1724_data::m_common_data, cvt_V1724_data::m_tmp_sample_buffer, cvt_V1724_data::m_tmp_sample_buffer_size, cvt_board_data::set_MCST_CBLT, and TRUE. |
|
CH 0 Read Block Trigger register index CH 1 Read Block Trigger register index CH 2 Read Block Trigger register index CH 3 Read Block Trigger register index CH 4 Read Block Trigger register index CH 5 Read Block Trigger register index CH 6 Read Block Trigger register index CH 7 Read Block Trigger register index CH 0 Number of Blocks Written register index CH 1 Number of Blocks Written register index CH 2 Number of Blocks Written register index CH 3 Number of Blocks Written register index CH 4 Number of Blocks Written register index CH 5 Number of Blocks Written register index CH 6 Number of Blocks Written register index CH 7 Number of Blocks Written register index. < < < < < < < < < < < < < < < < Definition at line 272 of file cvt_V1724.c. References cvt_FIFO_BLT_read_reg(), cvt_read_reg(), CVT_V1724_BROAD_CH_BLK_REM_NUM_INDEX, CVT_V1724_CH0_BLK_WRI_NUM_INDEX, CVT_V1724_CH0_READ_BLK_TRIG_INDEX, CVT_V1724_CH1_BLK_WRI_NUM_INDEX, CVT_V1724_CH1_READ_BLK_TRIG_INDEX, CVT_V1724_CH2_BLK_WRI_NUM_INDEX, CVT_V1724_CH2_READ_BLK_TRIG_INDEX, CVT_V1724_CH3_BLK_WRI_NUM_INDEX, CVT_V1724_CH3_READ_BLK_TRIG_INDEX, CVT_V1724_CH4_BLK_WRI_NUM_INDEX, CVT_V1724_CH4_READ_BLK_TRIG_INDEX, CVT_V1724_CH5_BLK_WRI_NUM_INDEX, CVT_V1724_CH5_READ_BLK_TRIG_INDEX, CVT_V1724_CH6_BLK_WRI_NUM_INDEX, CVT_V1724_CH6_READ_BLK_TRIG_INDEX, CVT_V1724_CH7_BLK_WRI_NUM_INDEX, CVT_V1724_CH7_READ_BLK_TRIG_INDEX, CVT_V1724_MAX_CHANNEL, cvt_write(), FALSE, cvt_V1724_data::m_common_data, cvt_board_data::m_p_reg_table, cvt_V1724_data::m_tmp_sample_buffer, cvt_V1724_data::m_tmp_sample_buffer_size, TRACE1, and TRUE. |
|
Setups the acquisition mode parameters. < 2048 blocks, 256 32-bit memory locations ( 1K byte/block), 512 samples/block < 1024 blocks, 512 32-bit memory locations ( 2K byte/block), 1K samples/block < 512 blocks, 1024 32-bit memory locations ( 4K byte/block), 2K samples/block < 256 blocks, 2048 32-bit memory locations ( 8K byte/block), 4K samples/block < 128 blocks, 4096 32-bit memory locations ( 16K byte/block), 8K samples/block < 64 blocks, 8192 32-bit memory locations ( 32K byte/block), 16K samples/block < 32 blocks, 16384 32-bit memory locations ( 64K byte/block), 32K samples/block < 16 blocks, 32768 32-bit memory locations ( 128K byte/block), 64K samples/block < 8 blocks, 65536 32-bit memory locations ( 256K byte/block), 128K samples/block < 4 blocks, 131072 32-bit memory locations ( 512K byte/block), 256K samples/block < 2 blocks, 262144 32-bit memory locations (1024K byte/block), 512K samples/block Definition at line 563 of file cvt_V1724.c. References CVT_V1724_BROAD_CH_BLKSIZE_INDEX, CVT_V1724_BROAD_CH_CLEAR_CTRL_INDEX, CVT_V1724_BROAD_CH_SET_CTRL_INDEX, CVT_V1724_CHBKSZ_128K, CVT_V1724_CHBKSZ_16K, CVT_V1724_CHBKSZ_1K, CVT_V1724_CHBKSZ_256K, CVT_V1724_CHBKSZ_2K, CVT_V1724_CHBKSZ_32K, CVT_V1724_CHBKSZ_4K, CVT_V1724_CHBKSZ_512, CVT_V1724_CHBKSZ_512K, CVT_V1724_CHBKSZ_64K, CVT_V1724_CHBKSZ_8K, CVT_V1724_CHCTRL_SAMPLE_ACQ_MSK, cvt_write_reg(), FALSE, cvt_V1724_data::m_common_data, TRACE, TRACE1, and TRUE. |
|
CH 0 DAC Data Configuration register index CH 1 DAC Data Configuration register index CH 2 DAC Data Configuration register index CH 3 DAC Data Configuration register index CH 4 DAC Data Configuration register index CH 5 DAC Data Configuration register index CH 6 DAC Data Configuration register index CH 7 DAC Data Configuration register index. < < < < < < < < Definition at line 799 of file cvt_V1724.c. References CVT_V1724_CH0_DAC_CONF_INDEX, CVT_V1724_CH1_DAC_CONF_INDEX, CVT_V1724_CH2_DAC_CONF_INDEX, CVT_V1724_CH3_DAC_CONF_INDEX, CVT_V1724_CH4_DAC_CONF_INDEX, CVT_V1724_CH5_DAC_CONF_INDEX, CVT_V1724_CH6_DAC_CONF_INDEX, CVT_V1724_CH7_DAC_CONF_INDEX, CVT_V1724_CHDAC_SET_A_MSK, CVT_V1724_CHDAC_SET_B_MSK, cvt_V1724_get_channel_status(), CVT_V1724_MAX_CHANNEL, CVT_V1724_SET_CH_DAC_CONF, FALSE, TRACE, and TRUE. |
|
CH 0 Threshold register index CH 1 Threshold register index CH 2 Threshold register index CH 3 Threshold register index CH 4 Threshold register index CH 5 Threshold register index CH 6 Threshold register index CH 7 Threshold register index CH 0 Over/Under Threshold Samples register index CH 1 Over/Under Threshold Samples register index CH 2 Over/Under Threshold Samples register index CH 3 Over/Under Threshold Samples register index CH 4 Over/Under Threshold Samples register index CH 5 Over/Under Threshold Samples register index CH 6 Over/Under Threshold Samples register index CH 7 Over/Under Threshold Samples register index. < < < < < < < < < < < < < < < < Definition at line 862 of file cvt_V1724.c. References CVT_V1724_CH0_THR_SAMPLE_INDEX, CVT_V1724_CH0_THRESHOLD_INDEX, CVT_V1724_CH1_THR_SAMPLE_INDEX, CVT_V1724_CH1_THRESHOLD_INDEX, CVT_V1724_CH2_THR_SAMPLE_INDEX, CVT_V1724_CH2_THRESHOLD_INDEX, CVT_V1724_CH3_THR_SAMPLE_INDEX, CVT_V1724_CH3_THRESHOLD_INDEX, CVT_V1724_CH4_THR_SAMPLE_INDEX, CVT_V1724_CH4_THRESHOLD_INDEX, CVT_V1724_CH5_THR_SAMPLE_INDEX, CVT_V1724_CH5_THRESHOLD_INDEX, CVT_V1724_CH6_THR_SAMPLE_INDEX, CVT_V1724_CH6_THRESHOLD_INDEX, CVT_V1724_CH7_THR_SAMPLE_INDEX, CVT_V1724_CH7_THRESHOLD_INDEX, CVT_V1724_MAX_CHANNEL, cvt_write_reg(), FALSE, cvt_V1724_data::m_common_data, and TRACE. |
|
CH 0 Configuration register index CH 1 Configuration register index CH 2 Configuration register index CH 3 Configuration register index CH 4 Configuration register index CH 5 Configuration register index CH 6 Configuration register index CH 7 Configuration register index. < < < < < < < < Definition at line 624 of file cvt_V1724.c. References cvt_set_bitmask_reg(), CVT_V1724_CH0_CONF_INDEX, CVT_V1724_CH1_CONF_INDEX, CVT_V1724_CH2_CONF_INDEX, CVT_V1724_CH3_CONF_INDEX, CVT_V1724_CH4_CONF_INDEX, CVT_V1724_CH5_CONF_INDEX, CVT_V1724_CH6_CONF_INDEX, CVT_V1724_CH7_CONF_INDEX, CVT_V1724_CHCONF_DITHER_MSK, CVT_V1724_MAX_CHANNEL, FALSE, cvt_V1724_data::m_common_data, and TRACE. |
|
Setups interrupt parameters. Setups the relevant parameters for interrupt usage.
Definition at line 676 of file cvt_V1724.c. References CVT_V1724_INT_LEVEL_INDEX, CVT_V1724_INT_VECTOR_INDEX, cvt_write_reg(), FALSE, cvt_V1724_data::m_common_data, TRACE, and TRUE. |
|
Setups MCST/CBLT parameters this board. Setups the relevant parameters for MCST/CBLT usage.
Definition at line 1034 of file cvt_V1724.c. References CVT_V1724_MCCTRL_FIRST_BOARD_MSK, CVT_V1724_MCCTRL_LAST_BOARD_MSK, CVT_V1724_MCCTRL_MID_BOARD_MSK, CVT_V1724_MCST_CBLT_ADDRESS_INDEX, CVT_V1724_MCST_CBLT_CTRL_INDEX, cvt_write_reg(), FALSE, cvt_V1724_data::m_common_data, MCST_CBLT_board_pos_first, MCST_CBLT_board_pos_last, MCST_CBLT_board_pos_mid, TRACE, TRACE1, and TRUE. Referenced by cvt_V1724_open(). |
|
Setups data readout mode parameters. Setups the relevant parameters for data readout.
Definition at line 721 of file cvt_V1724.c. References cvt_clear_bitmask_reg(), cvt_set_bitmask_reg(), CVT_V1724_BLT_EVENT_NUM_INDEX, CVT_V1724_CONTROL_INDEX, CVT_V1724_CTRL_BERR_ENABLE_MSK, cvt_write_reg(), FALSE, cvt_V1724_data::m_common_data, TRACE, and TRUE. |
|
Setups the triggering mode parameters. < Enable CH 0 trigger bit < Enable CH 1 trigger bit < Enable CH 2 trigger bit < Enable CH 3 trigger bit < Enable CH 4 trigger bit < Enable CH 5 trigger bit < Enable CH 6 trigger bit < Enable CH 7 trigger bit Definition at line 443 of file cvt_V1724.c. References CVT_V1724_BROAD_CH_CLEAR_CTRL_INDEX, CVT_V1724_BROAD_CH_SET_CTRL_INDEX, CVT_V1724_CHCTRL_TRG_IN_EN_MSK, CVT_V1724_CHCTRL_TRG_OUT_EN_MSK, CVT_V1724_CHCTRL_TRG_OUT_UNDER_EN_MSK, CVT_V1724_CHCTRL_TRG_OVERLAP_MSK, CVT_V1724_MAX_CHANNEL, CVT_V1724_TRGEN_CH0_MSK, CVT_V1724_TRGEN_CH1_MSK, CVT_V1724_TRGEN_CH2_MSK, CVT_V1724_TRGEN_CH3_MSK, CVT_V1724_TRGEN_CH4_MSK, CVT_V1724_TRGEN_CH5_MSK, CVT_V1724_TRGEN_CH6_MSK, CVT_V1724_TRGEN_CH7_MSK, CVT_V1724_TRGEN_ENABLE_MSK, CVT_V1724_TRGEN_EXT_MSK, CVT_V1724_TRGEN_SW_MSK, cvt_write_reg(), FALSE, cvt_V1724_data::m_common_data, and TRACE. |
|
Performs a software reset. Writes a dummy value into SW_RESET_REGISTER register.
Definition at line 767 of file cvt_V1724.c. References CVT_V1724_SW_RESET_INDEX, cvt_write_reg(), FALSE, cvt_V1724_data::m_common_data, TRACE, and TRUE. |
|
Performs a software trigger. Sends a software trigger. Software triggers must be enabled
Definition at line 931 of file cvt_V1724.c. References CVT_V1724_SW_TRIGGER_INDEX, cvt_write_reg(), FALSE, cvt_V1724_data::m_common_data, TRACE, and TRUE. |