Skip to content
Snippets Groups Projects
Commit cbbbd9b1 authored by Armin Luntzer's avatar Armin Luntzer
Browse files

update to register map draft v0.14

parent f25b8df7
Branches
No related tags found
No related merge requests found
......@@ -392,6 +392,22 @@ int fee_read_cmd_cfg_reg_22(uint16_t trans_id, uint8_t *cmd)
}
/**
* @brief create a command to read the FEE configuration register 23
*
* @param trans_id a transaction identifier
*
* @param cmd the command buffer; if NULL, the function returns the needed size
*
* @returns the size of the command data buffer or 0 on error
*/
int fee_read_cmd_cfg_reg_23(uint16_t trans_id, uint8_t *cmd)
{
return fee_read_cmd_register_internal(trans_id, cmd, FEE_CFG_REG_23);
}
/**
* @brief create a command to read the FEE configuration register 24
*
......@@ -408,6 +424,22 @@ int fee_read_cmd_cfg_reg_24(uint16_t trans_id, uint8_t *cmd)
}
/**
* @brief create a command to read the FEE configuration register 25
*
* @param trans_id a transaction identifier
*
* @param cmd the command buffer; if NULL, the function returns the needed size
*
* @returns the size of the command data buffer or 0 on error
*/
int fee_read_cmd_cfg_reg_25(uint16_t trans_id, uint8_t *cmd)
{
return fee_read_cmd_register_internal(trans_id, cmd, FEE_CFG_REG_25);
}
/**
* @brief create a command to write the FEE configuration register 0
*
......@@ -584,6 +616,22 @@ int fee_write_cmd_cfg_reg_22(uint16_t trans_id, uint8_t *cmd)
}
/**
* @brief create a command to write the FEE configuration register 23
*
* @param trans_id a transaction identifier
*
* @param cmd the command buffer; if NULL, the function returns the needed size
*
* @returns the size of the command data buffer or 0 on error
*/
int fee_write_cmd_cfg_reg_23(uint16_t trans_id, uint8_t *cmd)
{
return fee_write_cmd_register_internal(trans_id, cmd, FEE_CFG_REG_23);
}
/**
* @brief create a command to write the FEE configuration register 24
*
......@@ -600,6 +648,22 @@ int fee_write_cmd_cfg_reg_24(uint16_t trans_id, uint8_t *cmd)
}
/**
* @brief create a command to write the FEE configuration register 25
*
* @param trans_id a transaction identifier
*
* @param cmd the command buffer; if NULL, the function returns the needed size
*
* @returns the size of the command data buffer or 0 on error
*/
int fee_write_cmd_cfg_reg_25(uint16_t trans_id, uint8_t *cmd)
{
return fee_write_cmd_register_internal(trans_id, cmd, FEE_CFG_REG_25);
}
/**
* @brief create a command to read the FEE HK register 3
*
......
......@@ -22,7 +22,7 @@
#include <stdint.h>
/* FEE RW registers (SMILE-MSSL-PL-Register_map_v0.10_Draft) */
/* FEE RW registers (SMILE-MSSL-PL-Register_map_v0.14_Draft) */
#define FEE_CFG_REG_0 0x00000000UL
#define FEE_CFG_REG_1 0x00000004UL
......@@ -47,11 +47,12 @@
#define FEE_CFG_REG_20 0x00000050UL
#define FEE_CFG_REG_21 0x00000054UL
#define FEE_CFG_REG_22 0x00000058UL
#define FEE_CFG_REG_23 0x0000005CUL /* reserved */
#define FEE_CFG_REG_23 0x0000005CUL
#define FEE_CFG_REG_24 0x00000060UL
#define FEE_CFG_REG_25 0x00000064UL
/* FEE RO registers (SMILE-MSSL-PL-Register_map_v0.10_Draft) */
/* FEE RO registers (SMILE-MSSL-PL-Register_map_v0.14_Draft) */
#define FEE_HK_REG_0 0x00000700 /* reserved */
#define FEE_HK_REG_1 0x00000704 /* reserved */
......@@ -114,7 +115,9 @@ int fee_read_cmd_cfg_reg_19(uint16_t trans_id, uint8_t *cmd);
int fee_read_cmd_cfg_reg_20(uint16_t trans_id, uint8_t *cmd);
int fee_read_cmd_cfg_reg_21(uint16_t trans_id, uint8_t *cmd);
int fee_read_cmd_cfg_reg_22(uint16_t trans_id, uint8_t *cmd);
int fee_read_cmd_cfg_reg_23(uint16_t trans_id, uint8_t *cmd);
int fee_read_cmd_cfg_reg_24(uint16_t trans_id, uint8_t *cmd);
int fee_read_cmd_cfg_reg_25(uint16_t trans_id, uint8_t *cmd);
/* FEE configuration register write accessors */
......@@ -129,7 +132,9 @@ int fee_write_cmd_cfg_reg_19(uint16_t trans_id, uint8_t *cmd);
int fee_write_cmd_cfg_reg_20(uint16_t trans_id, uint8_t *cmd);
int fee_write_cmd_cfg_reg_21(uint16_t trans_id, uint8_t *cmd);
int fee_write_cmd_cfg_reg_22(uint16_t trans_id, uint8_t *cmd);
int fee_write_cmd_cfg_reg_23(uint16_t trans_id, uint8_t *cmd);
int fee_write_cmd_cfg_reg_24(uint16_t trans_id, uint8_t *cmd);
int fee_write_cmd_cfg_reg_25(uint16_t trans_id, uint8_t *cmd);
/* FEE housekeeping register read accessors */
......
......@@ -48,7 +48,6 @@
* development process. Make sure to inspect the latest register
* map for changes.
*/
#define FEE_SIM 1 /* XXX */
#include <stdio.h>
#include <stdlib.h>
......@@ -584,6 +583,35 @@ void smile_fee_set_correction_bypass(uint32_t mode)
}
/**
* @brief get DG en
*
* @returns 0 if DG operate as per mode
*/
uint32_t smile_fee_get_dg_en(void)
{
return (smile_fee->cfg_reg_5 >> 25) & 0x1UL;
}
/**
* @brief set DG en
*
* @param mode set 0 to operate DG as per mode
*/
void smile_fee_set_dg_en(uint32_t mode)
{
if (mode)
mode = 1;
smile_fee->cfg_reg_5 &= ~(0x1UL << 25);
smile_fee->cfg_reg_5 |= (mode << 25);
}
/**
* @brief get vod_config
*
......@@ -851,12 +879,18 @@ void smile_fee_set_h_start(uint16_t row)
*
* @note as per register map document, the following return values
* are currently valid:
* 0x0 on mode
* 0x1 full frame pattern mode
* 0x4 stand-by mode
* 0xd immediate on mode (this is a command, not a mode)
* 0xf frame transfer mode
* 0xe full frame mode
*
* 0x0 (On-Mode)
* 0x1 (Frame Transfer (FT) Mode Pattern Mode)
* 0x2 (Stand-By-Mode)
* 0x3 (Frame Transfer Mode(FT))
* 0x4 (Full Frame Mode(FF))
* 0x5 (Parallel trap pumping mode 1 (FF))
* 0x6 (Parallel trap pumping mode 2 (FF))
* 0x7 (Serial trap pumping mode 1 (FF))
* 0x8 (Serial trap pumping mode 2 (FF))
* 0xd (Immediate On-Mode) (this is a command and not a mode)
*
*/
uint8_t smile_fee_get_ccd_mode_config(void)
......@@ -872,12 +906,17 @@ uint8_t smile_fee_get_ccd_mode_config(void)
*
* @note as per register map document, the following return values
* are currently valid:
* 0x0 on mode
* 0x1 full frame pattern mode
* 0x4 stand-by mode
* 0xd immediate on mode (this is a command, not a mode)
* 0xf frame transfer mode
* 0xe full frame mode
*
* 0x0 (On-Mode)
* 0x1 (Frame Transfer (FT) Mode Pattern Mode)
* 0x2 (Stand-By-Mode)
* 0x3 (Frame Transfer Mode(FT))
* 0x4 (Full Frame Mode(FF))
* 0x5 (Parallel trap pumping mode 1 (FF))
* 0x6 (Parallel trap pumping mode 2 (FF))
* 0x7 (Serial trap pumping mode 1 (FF))
* 0x8 (Serial trap pumping mode 2 (FF))
* 0xd (Immediate On-Mode) (this is a command and not a mode)
*
* @warn input parameter is not checked for validity
*/
......@@ -990,59 +1029,163 @@ void smile_fee_set_clear_error_flag(uint32_t mode)
/**
* @brief get ccd1 single pixel threshold
* @brief get ccd2 E single pixel threshold
*
* @note this is the threshold above which a pixel may be considered a possible
* soft X-ray event
*/
uint16_t smile_fee_get_ccd1_single_pixel_treshold(void)
uint16_t smile_fee_get_ccd2_e_pix_treshold(void)
{
return (uint16_t) (smile_fee->cfg_reg_22 & 0xFFFUL);
return (uint16_t) (smile_fee->cfg_reg_22 & 0xFFFFUL);
}
/**
* @brief set ccd1 single pixel threshold
* @brief set ccd2 E single pixel threshold
*
* @param threshold the threshold above which a pixel may be considered
* a possible soft X-ray event
*/
void smile_fee_set_ccd1_single_pixel_treshold(uint16_t threshold)
void smile_fee_set_ccd2_e_pix_treshold(uint16_t threshold)
{
smile_fee->cfg_reg_22 &= ~0xFFFUL;
smile_fee->cfg_reg_22 |= 0xFFFUL & ((uint32_t) threshold);
smile_fee->cfg_reg_22 &= ~0xFFFFUL;
smile_fee->cfg_reg_22 |= 0xFFFFUL & ((uint32_t) threshold);
}
/**
* @brief get ccd2 single pixel threshold
* @brief get ccd2 F single pixel threshold
*
* @note this is the threshold above which a pixel may be considered a possible
* soft X-ray event
*/
uint16_t smile_fee_get_ccd2_single_pixel_treshold(void)
uint16_t smile_fee_get_ccd2_f_pix_treshold(void)
{
return (uint16_t) ((smile_fee->cfg_reg_22 >> 16) & 0xFFFFUL);
}
/**
* @brief set ccd2 single pixel threshold
* @brief set ccd2 F single pixel threshold
*
* @param threshold the threshold above which a pixel may be considered
* a possible soft X-ray event
*/
void smile_fee_set_ccd2_single_pixel_treshold(uint16_t threshold)
void smile_fee_set_ccd2_f_pix_treshold(uint16_t threshold)
{
smile_fee->cfg_reg_22 &= ~(0xFFFFUL << 16);
smile_fee->cfg_reg_22 |= (0xFFFFUL & ((uint32_t) threshold)) << 16;
}
/**
* @brief get ccd4 E single pixel threshold
*
* @note this is the threshold above which a pixel may be considered a possible
* soft X-ray event
*/
uint16_t smile_fee_get_ccd4_e_pix_treshold(void)
{
return (uint16_t) (smile_fee->cfg_reg_23 & 0xFFFFUL);
}
/**
* @brief set ccd4 E single pixel threshold
*
* @param threshold the threshold above which a pixel may be considered
* a possible soft X-ray event
*/
void smile_fee_set_ccd4_e_pix_treshold(uint16_t threshold)
{
smile_fee->cfg_reg_23 &= ~0xFFFFUL;
smile_fee->cfg_reg_23 |= 0xFFFFUL & ((uint32_t) threshold);
}
/**
* @brief get ccd4 F single pixel threshold
*
* @note this is the threshold above which a pixel may be considered a possible
* soft X-ray event
*/
uint16_t smile_fee_get_ccd4_f_pix_treshold(void)
{
return (uint16_t) ((smile_fee->cfg_reg_23 >> 16) & 0xFFFFUL);
}
/**
* @brief set ccd4 F single pixel threshold
*
* @param threshold the threshold above which a pixel may be considered
* a possible soft X-ray event
*/
void smile_fee_set_ccd4_f_pix_treshold(uint16_t threshold)
{
smile_fee->cfg_reg_23 &= ~(0xFFFFUL << 16);
smile_fee->cfg_reg_23 |= (0xFFFFUL & ((uint32_t) threshold)) << 16;
}
/**
* @brief get pixel offset value
*
* @note his offset value is added to the average incoming pixel value
*/
uint8_t smile_fee_get_pix_offset(void)
{
return (uint8_t) (smile_fee->cfg_reg_24 & 0xFFUL);
}
/**
* @brief set pixel offset value
*
* @offset the offset value to be added to the average incoming pixel value
*/
void smile_fee_set_pix_offset(uint8_t offset)
{
smile_fee->cfg_reg_24 &= ~0xFFUL;
smile_fee->cfg_reg_24 |= 0xFFUL & ((uint32_t) offset);
}
/**
* @brief get event packet limit
*
* @note this is the total number of even packet per CCD that will be transmitted
*/
uint32_t smile_fee_get_event_pkt_limit(void)
{
return (uint32_t) ((smile_fee->cfg_reg_24 >> 8) & 0xFFFFFUL);
}
/**
* @brief set event packet limit
*
* @param pkt_limit the total number of even packet per CCD that will be transmitted
*/
void smile_fee_set_event_pkt_limit(uint32_t pkt_limit)
{
smile_fee->cfg_reg_24 &= ~(0xFFFFFFUL << 8);
smile_fee->cfg_reg_23 |= (0xFFFFFFUL & ((uint32_t) pkt_limit)) << 8;
}
/**
* @brief get execute op flag
*
......@@ -1056,7 +1199,7 @@ void smile_fee_set_ccd2_single_pixel_treshold(uint16_t threshold)
uint32_t smile_fee_get_execute_op(void)
{
return smile_fee->cfg_reg_24 & 0x1UL;
return smile_fee->cfg_reg_25 & 0x1UL;
}
......@@ -1079,8 +1222,8 @@ void smile_fee_set_execute_op(uint32_t mode)
mode = 1;
smile_fee->cfg_reg_24 &= ~0x1UL;
smile_fee->cfg_reg_24 |= mode;
smile_fee->cfg_reg_25 &= ~0x1UL;
smile_fee->cfg_reg_25 |= mode;
}
......@@ -2600,6 +2743,90 @@ void smile_fee_set_hk_error_flag_spw_link_parity_error(uint32_t error_flag_spw_l
#endif /* FEE_SIM */
/**
* @brief get FPGA minor version HK value
*
* @returns the FPGA minor version
*/
uint8_t smile_fee_get_hk_fpga_minor_version(void)
{
return (uint8_t) (smile_fee->hk_reg_35 & 0xFFUL);
}
#ifdef FEE_SIM
/**
* @brief set FPGA minor version HK value
*
* @param minor the FPGA minor version
*/
void smile_fee_set_hk_fpga_minor_version(uint8_t minor)
{
smile_fee->hk_reg_35 &= ~0xFFUL;
smile_fee->hk_reg_35 |= 0xFFUL & ((uint32_t) minor);
}
#endif /* FEE_SIM */
/**
* @brief get FPGA major version HK value
*
* @returns the FPGA major version
*/
uint8_t smile_fee_get_hk_fpga_major_version(void)
{
return (uint8_t) ((smile_fee->hk_reg_35 >> 8) & 0xFUL);
}
#ifdef FEE_SIM
/**
* @brief set FPGA major version HK value
*
* @param minor the FPGA minor version
*/
void smile_fee_set_hk_fpga_major_version(uint8_t major)
{
smile_fee->hk_reg_35 &= ~(0xFUL << 8);
smile_fee->hk_reg_35 |= (0xFUL & ((uint32_t) major)) << 8;
}
#endif /* FEE_SIM */
/**
* @brief get the board id the FPGA is housed on
*
* @returns the FPGA board id
*/
uint16_t smile_fee_get_hk_board_id(void)
{
return (uint16_t) ((smile_fee->hk_reg_35 >> 20) & 0xFUL);
}
#ifdef FEE_SIM
/**
* @brief set the board id the FPGA is housed on
*
* @param id the FPGA board id
*/
void smile_fee_set_hk_board_id(uint16_t id)
{
smile_fee->hk_reg_35 &= ~(0x1FFUL << 20);
smile_fee->hk_reg_35 |= (0x1FFUL & ((uint32_t) id)) << 20;
}
#endif /* FEE_SIM */
/**
* @brief sync configuration register 0
*
......@@ -2831,6 +3058,27 @@ int smile_fee_sync_cfg_reg_22(enum sync_direction dir)
}
/**
* @brief sync configuration register 23
*
* @param dir the syncronisation direction
*
* @returns 0 on success, otherwise error
*/
int smile_fee_sync_cfg_reg_23(enum sync_direction dir)
{
if (dir == FEE2DPU)
return smile_fee_sync(fee_read_cmd_cfg_reg_23,
&smile_fee->cfg_reg_23, 0);
if (dir == DPU2FEE)
return smile_fee_sync(fee_write_cmd_cfg_reg_23,
&smile_fee->cfg_reg_23, 4);
return -1;
}
/**
* @brief sync configuration register 24
*
......@@ -2852,6 +3100,27 @@ int smile_fee_sync_cfg_reg_24(enum sync_direction dir)
}
/**
* @brief sync configuration register 25
*
* @param dir the syncronisation direction
*
* @returns 0 on success, otherwise error
*/
int smile_fee_sync_cfg_reg_25(enum sync_direction dir)
{
if (dir == FEE2DPU)
return smile_fee_sync(fee_read_cmd_cfg_reg_25,
&smile_fee->cfg_reg_25, 0);
if (dir == DPU2FEE)
return smile_fee_sync(fee_write_cmd_cfg_reg_25,
&smile_fee->cfg_reg_25, 4);
return -1;
}
/**
* @brief sync register containing vstart
*
......@@ -3115,6 +3384,21 @@ int smile_fee_sync_correction_bypass(enum sync_direction dir)
}
/**
* @brief sync dg enable
*
* @param dir the syncronisation direction
*
* @returns 0 on success, otherwise error
*/
int smile_fee_sync_dg_en(enum sync_direction dir)
{
return smile_fee_sync_cfg_reg_5(dir);
}
/**
* @brief sync vod_config
* @note no description available in register map document
......@@ -3333,33 +3617,89 @@ int smile_fee_sync_clear_error_flag(enum sync_direction dir)
/**
* @brief sync ccd1 single pixel threshold
* @brief sync ccd2 E single pixel threshold
*
* @param dir the syncronisation direction
*
* @returns 0 on success, otherwise error
*/
int smile_fee_sync_ccd1_single_pixel_treshold(enum sync_direction dir)
int smile_fee_sync_ccd2_e_pix_treshold(enum sync_direction dir)
{
return smile_fee_sync_cfg_reg_22(dir);
}
/**
* @brief sync ccd2 single pixel threshold
* @brief sync ccd2 F single pixel threshold
*
* @param dir the syncronisation direction
*
* @returns 0 on success, otherwise error
*/
int smile_fee_sync_ccd2_single_pixel_treshold(enum sync_direction dir)
int smile_fee_sync_ccd2_f_pix_treshold(enum sync_direction dir)
{
return smile_fee_sync_cfg_reg_22(dir);
}
/**
* @brief sync ccd4 E single pixel threshold
*
* @param dir the syncronisation direction
*
* @returns 0 on success, otherwise error
*/
int smile_fee_sync_ccd4_e_pix_treshold(enum sync_direction dir)
{
return smile_fee_sync_cfg_reg_23(dir);
}
/**
* @brief sync ccd4 F single pixel threshold
*
* @param dir the syncronisation direction
*
* @returns 0 on success, otherwise error
*/
int smile_fee_sync_ccd4_f_pix_treshold(enum sync_direction dir)
{
return smile_fee_sync_cfg_reg_23(dir);
}
/**
* @brief sync pix offset
*
* @param dir the syncronisation direction
*
* @returns 0 on success, otherwise error
*/
int smile_fee_sync_pix_offset(enum sync_direction dir)
{
return smile_fee_sync_cfg_reg_24(dir);
}
/**
* @brief sync event pkt limit
*
* @param dir the syncronisation direction
*
* @returns 0 on success, otherwise error
*/
int smile_fee_sync_event_pkt_limit(enum sync_direction dir)
{
return smile_fee_sync_cfg_reg_24(dir);
}
/**
* @brief sync execute op flag
*
......@@ -3370,7 +3710,7 @@ int smile_fee_sync_ccd2_single_pixel_treshold(enum sync_direction dir)
int smile_fee_sync_execute_op(enum sync_direction dir)
{
return smile_fee_sync_cfg_reg_24(dir);
return smile_fee_sync_cfg_reg_25(dir);
}
......
......@@ -23,7 +23,7 @@
__extension__
struct smile_fee_mirror {
/* FEE RW registers (SMILE-MSSL-PL-Register_map_v0.10_Draft) */
/* FEE RW registers (SMILE-MSSL-PL-Register_map_v0.14_Draft) */
/* (includes unused) */
uint32_t cfg_reg_0;
uint32_t cfg_reg_1;
......@@ -48,10 +48,11 @@ struct smile_fee_mirror {
uint32_t cfg_reg_20;
uint32_t cfg_reg_21;
uint32_t cfg_reg_22;
uint32_t cfg_reg_23; /* reserved */
uint32_t cfg_reg_23;
uint32_t cfg_reg_24;
uint32_t cfg_reg_25;
/* FEE RO registers (SMILE-MSSL-PL-Register_map_v0.10_Draft) */
/* FEE RO registers (SMILE-MSSL-PL-Register_map_v0.14_Draft) */
uint32_t unused[423];
......@@ -116,7 +117,9 @@ int smile_fee_sync_cfg_reg_19(enum sync_direction dir);
int smile_fee_sync_cfg_reg_20(enum sync_direction dir);
int smile_fee_sync_cfg_reg_21(enum sync_direction dir);
int smile_fee_sync_cfg_reg_22(enum sync_direction dir);
int smile_fee_sync_cfg_reg_23(enum sync_direction dir);
int smile_fee_sync_cfg_reg_24(enum sync_direction dir);
int smile_fee_sync_cfg_reg_25(enum sync_direction dir);
int smile_fee_sync_hk_regs(void);
......@@ -141,6 +144,7 @@ int smile_fee_sync_sync_sel(enum sync_direction dir);
int smile_fee_sync_readout_nodes(enum sync_direction dir);
int smile_fee_sync_digitise(enum sync_direction dir);
int smile_fee_sync_correction_bypass(enum sync_direction dir);
int smile_fee_sync_dg_en(enum sync_direction dir);
int smile_fee_sync_vod_config(enum sync_direction dir);
int smile_fee_sync_ccd1_vrd_config(enum sync_direction dir);
int smile_fee_sync_ccd2_vrd_config(enum sync_direction dir);
......@@ -155,8 +159,12 @@ int smile_fee_sync_ccd_mode_config(enum sync_direction dir);
int smile_fee_sync_ccd_mode2_config(enum sync_direction dir);
int smile_fee_sync_event_detection(enum sync_direction dir);
int smile_fee_sync_clear_error_flag(enum sync_direction dir);
int smile_fee_sync_ccd1_single_pixel_treshold(enum sync_direction dir);
int smile_fee_sync_ccd2_single_pixel_treshold(enum sync_direction dir);
int smile_fee_sync_ccd2_e_pix_treshold(enum sync_direction dir);
int smile_fee_sync_ccd2_f_pix_treshold(enum sync_direction dir);
int smile_fee_sync_ccd4_e_pix_treshold(enum sync_direction dir);
int smile_fee_sync_ccd4_f_pix_treshold(enum sync_direction dir);
int smile_fee_sync_pix_offset(enum sync_direction dir);
int smile_fee_sync_event_pkt_limit(enum sync_direction dir);
int smile_fee_sync_execute_op(enum sync_direction dir);
......@@ -181,6 +189,7 @@ uint32_t smile_fee_get_sync_sel(void);
uint16_t smile_fee_get_readout_nodes(void);
uint32_t smile_fee_get_digitise(void);
uint32_t smile_fee_get_correction_bypass(void);
uint32_t smile_fee_get_dg_en(void);
uint16_t smile_fee_get_vod_config(void);
uint16_t smile_fee_get_ccd1_vrd_config(void);
uint16_t smile_fee_get_ccd2_vrd_config(void);
......@@ -195,8 +204,12 @@ uint8_t smile_fee_get_ccd_mode_config(void);
uint8_t smile_fee_get_ccd_mode2_config(void);
uint32_t smile_fee_get_event_detection(void);
uint32_t smile_fee_get_clear_error_flag(void);
uint16_t smile_fee_get_ccd1_single_pixel_treshold(void);
uint16_t smile_fee_get_ccd2_single_pixel_treshold(void);
uint16_t smile_fee_get_ccd2_e_pix_treshold(void);
uint16_t smile_fee_get_ccd2_f_pix_treshold(void);
uint16_t smile_fee_get_ccd4_e_pix_treshold(void);
uint16_t smile_fee_get_ccd4_f_pix_treshold(void);
uint8_t smile_fee_get_pix_offset(void);
uint32_t smile_fee_get_event_pkt_limit(void);
uint32_t smile_fee_get_execute_op(void);
......@@ -221,6 +234,7 @@ uint16_t smile_fee_get_int_period(void);
void smile_fee_set_readout_nodes(uint32_t nodes);
void smile_fee_set_digitise(uint32_t mode);
void smile_fee_set_correction_bypass(uint32_t mode);
void smile_fee_set_dg_en(uint32_t mode);
void smile_fee_set_vod_config(uint16_t vod);
void smile_fee_set_ccd1_vrd_config(uint16_t vrd);
void smile_fee_set_ccd2_vrd_config(uint16_t vrd);
......@@ -235,8 +249,12 @@ void smile_fee_set_ccd_mode_config(uint8_t mode);
void smile_fee_set_ccd_mode2_config(uint8_t mode);
void smile_fee_set_event_detection(uint32_t mode);
void smile_fee_set_clear_error_flag(uint32_t mode);
void smile_fee_set_ccd1_single_pixel_treshold(uint16_t threshold);
void smile_fee_set_ccd2_single_pixel_treshold(uint16_t threshold);
void smile_fee_set_ccd2_e_pix_treshold(uint16_t threshold);
void smile_fee_set_ccd2_f_pix_treshold(uint16_t threshold);
void smile_fee_set_ccd4_e_pix_treshold(uint16_t threshold);
void smile_fee_set_ccd4_f_pix_treshold(uint16_t threshold);
void smile_fee_set_pix_offset(uint8_t offset);
void smile_fee_set_event_pkt_limit(uint32_t pkt_limit);
void smile_fee_set_execute_op(uint32_t mode);
......@@ -300,6 +318,9 @@ uint8_t smile_fee_get_hk_fpga_op_mode(void);
uint32_t smile_fee_get_hk_error_flag_spw_link_escape_error(void);
uint32_t smile_fee_get_hk_error_flag_spw_link_credit_error(void);
uint32_t smile_fee_get_hk_error_flag_spw_link_parity_error(void);
uint8_t smile_fee_get_hk_fpga_minor_version(void);
uint8_t smile_fee_get_hk_fpga_major_version(void);// >> 8 0xf
uint16_t smile_fee_get_hk_board_id(void);// >> 12 1ff
......@@ -363,6 +384,9 @@ void smile_fee_set_hk_fpga_op_mode(uint8_t fpga_op_mode);
void smile_fee_set_hk_error_flag_spw_link_escape_error(uint32_t error_flag_spw_link_escape_error);
void smile_fee_set_hk_error_flag_spw_link_credit_error(uint32_t error_flag_spw_link_credit_error);
void smile_fee_set_hk_error_flag_spw_link_parity_error(uint32_t error_flag_spw_link_parity_error);
void smile_fee_set_hk_fpga_minor_version(uint8_t minor);
void smile_fee_set_hk_fpga_major_version(uint8_t major);
void smile_fee_set_hk_board_id(uint16_t id);
#endif /* FEE_SIM */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment