This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AFE4960PEVM: Dual AFE

Part Number: AFE4960PEVM
Other Parts Discussed in Thread: AFE4960P

Tool/software:

Hi,

We have purchased AFE4960PEVM board. I am using the EVM board to capture ECG waveform in Biosensing application. I am able to capture the wave for ECG 1 and ECG 2, but for DUAL-AFE with 5 leads I'm getting Reset property not found error in both AFE1 and AFE2. I have attached the screenshot of the Log for your reference.

Regards,

Iasikha V.

  • Hello Iasikha,

    Thank you for your post. We are looking into this and will reply shortly.

    Regards,

    Ryan

  • Hi Iasikha - can you please share a copy of the python script as well as an image of your EVM jumper configuration?

    Regards,

    Ryan

  • Hi Ryan,

    Thanks for the reply.

    I have connected the board as suggested in the EVM User Guide and used the python script given in the AFE4960PEVM. I have attached the EVM jumper configuration image and the script for your reference. 

    """Hard reset AFE4960 on both EVM"""
    reset_AFE_GUI()
    
    """AFE1 Lead construction"""
    AFE1.component.segment.AFE4960.AFE4960_global.SW_ECG_INP_ECG				= 2
    AFE1.component.segment.AFE4960.AFE4960_global.SW_ECG_INM_ECG				= 8
    AFE1.component.segment.AFE4960.AFE4960_global.SW_BIOZ_RXP					= 5
    AFE1.component.segment.AFE4960.AFE4960_global.SW_BIOZ_RXM					= 6
    AFE1.component.segment.AFE4960.AFE4960_global.SW_BIOZ_TXP					= 1
    AFE1.component.segment.AFE4960.AFE4960_global.SW_BIOZ_TXM					= 2
    AFE1.component.segment.AFE4960.AFE4960_global.SW_RLD						= 1
    
    """AFE2 Lead construction"""
    AFE2.component.segment.AFE4960.AFE4960_global.SW_ECG_INP_ECG				= 2
    AFE2.component.segment.AFE4960.AFE4960_global.SW_ECG_INM_ECG				= 8
    AFE2.component.segment.AFE4960.AFE4960_global.SW_BIOZ_RXP					= 5
    AFE2.component.segment.AFE4960.AFE4960_global.SW_BIOZ_RXM					= 6
    AFE2.component.segment.AFE4960.AFE4960_global.SW_BIOZ_TXP					= 0
    AFE2.component.segment.AFE4960.AFE4960_global.SW_BIOZ_TXM					= 0
    AFE2.component.segment.AFE4960.AFE4960_global.SW_RLD						= 0
    
    """AFE1 Signal Acquisition configuration"""
    AFE1.component.segment.AFE4960.AFE4960_global.COUNT_RAC						= 96
    AFE1.component.segment.AFE4960.AFE4960_global.REG_NUM_TS					= 1
    AFE1.component.segment.AFE4960.AFE4960_global.REG_NUM_ESAW					= 0
    AFE1.component.segment.AFE4960.AFE4960_global.REG_NUM_BSAW					= 0
    AFE1.component.segment.AFE4960.AFE4960_global.CONFIG_TS0					= 1
    AFE1.component.segment.AFE4960.AFE4960_global.CONFIG_TS1					= 3
    
    """AFE2 Signal Acquisition configuration"""
    AFE2.component.segment.AFE4960.AFE4960_global.COUNT_RAC						= 96
    AFE2.component.segment.AFE4960.AFE4960_global.REG_NUM_TS					= 1
    AFE2.component.segment.AFE4960.AFE4960_global.REG_NUM_ESAW					= 0
    AFE2.component.segment.AFE4960.AFE4960_global.REG_NUM_BSAW					= 0
    AFE2.component.segment.AFE4960.AFE4960_global.CONFIG_TS0					= 1
    AFE2.component.segment.AFE4960.AFE4960_global.CONFIG_TS1					= 3
    
    """AFE1 Signal chain configuration"""
    AFE1.component.segment.AFE4960.AFE4960_global.ECG_INA_GAIN					= 1
    AFE1.component.segment.AFE4960.AFE4960_global.EN_DEC_ECG					= 1
    AFE1.component.segment.AFE4960.AFE4960_global.ECG_DEC_FACTOR				= 0
    AFE1.component.segment.AFE4960.AFE4960_global.BIOZ_PHI_STEP					= 174763
    AFE1.component.segment.AFE4960.AFE4960_global.BIOZ_EXC_SQUARE 				= 1
    AFE1.component.segment.AFE4960.AFE4960_global.BIOZ_RE 						= 8
    AFE1.component.segment.AFE4960.AFE4960_global.BIOZ_CE						= 0
    AFE1.component.segment.AFE4960.AFE4960_global.SHORT_RINT_BIOZ				= 1
    AFE1.component.segment.AFE4960.AFE4960_global.ATTN_BIOZ_TX					= 0
    AFE1.component.segment.AFE4960.AFE4960_global.EN_ECG2						= 0
    AFE1.component.segment.AFE4960.AFE4960_global.SEL_IN_BIOZ_RX				= 0
    AFE1.component.segment.AFE4960.AFE4960_global.RECONFIGURE_BIOZ_LPF 			= 0
    AFE1.component.segment.AFE4960.AFE4960_global.EN_RLD_LOOP_ECG2				= 0
    AFE1.component.segment.AFE4960.AFE4960_global.BIOZ_LPF_BW					= 2
    AFE1.component.segment.AFE4960.AFE4960_global.SEL_CHPF1_BIOZ				= 0
    AFE1.component.segment.AFE4960.AFE4960_global.SEL_RHPF1_BIOZ				= 2
    AFE1.component.segment.AFE4960.AFE4960_global.BIOZ_INA_GAIN					= 3
    AFE1.component.segment.AFE4960.AFE4960_global.PROCESS_BSAW					= 0
    AFE1.component.segment.AFE4960.AFE4960_global.EN_DEC_BIOZ					= 1
    AFE1.component.segment.AFE4960.AFE4960_global.BIOZ_DEC_FACTOR				= 4
    AFE1.component.segment.AFE4960.AFE4960_global.ACQ_MODE_SEL					= 74
    AFE1.component.segment.AFE4960.AFE4960_global.EN_ECG_RX						= 1
    AFE1.component.segment.AFE4960.AFE4960_global.PDN_ECG_INA					= 0
    AFE1.component.segment.AFE4960.AFE4960_global.PDN_ECG_RLD					= 0
    AFE1.component.segment.AFE4960.AFE4960_global.PDN_ADC						= 0
    AFE1.component.segment.AFE4960.AFE4960_global.PDN_OSCH						= 0
    AFE1.component.segment.AFE4960.AFE4960_global.PDN_ILEAD						= 0
    AFE1.component.segment.AFE4960.AFE4960_global.EN_BIOZ_RX					= 1
    AFE1.component.segment.AFE4960.AFE4960_global.EN_BIOZ_TX					= 1
    AFE1.component.segment.AFE4960.AFE4960_global.DIS_ACTIVE_BIOZ_TX			= 0
    AFE1.component.segment.AFE4960.AFE4960_global.DIS_BUF_PDN_ON_ADC			= 1
    AFE1.component.segment.AFE4960.AFE4960_global.DIS_PD_REFSYS					= 1
    AFE1.component.segment.AFE4960.AFE4960_global.DIS_PD_VCM					= 1
    AFE1.component.segment.AFE4960.AFE4960_global.PDNAFE						= 0
    AFE1.component.segment.AFE4960.AFE4960_global.PDN_BG_IN_DEEP_SLEEP			= 0
    AFE1.component.segment.AFE4960.AFE4960_global.DIS_CHOP_INA1					= 0
    AFE1.component.segment.AFE4960.AFE4960_global.DIS_CHOP_INA2					= 0
    AFE1.component.segment.AFE4960.AFE4960_global.TIMER_ENABLE					= 1
    AFE1.component.segment.AFE4960.AFE4960_global.RAC_COUNTER_ENABLE			= 1
    AFE1.component.segment.AFE4960.AFE4960_global.FIFO_EN						= 1
    AFE1.component.segment.AFE4960.AFE4960_global.REG_WM_FIFO					= 0 
    
    
    """AFE2 Signal chain configuration"""
    AFE2.component.segment.AFE4960.AFE4960_global.ECG_INA_GAIN					= 1
    AFE2.component.segment.AFE4960.AFE4960_global.EN_DEC_ECG					= 1
    AFE2.component.segment.AFE4960.AFE4960_global.ECG_DEC_FACTOR				= 0
    AFE2.component.segment.AFE4960.AFE4960_global.EN_ECG2						= 1
    AFE2.component.segment.AFE4960.AFE4960_global.SEL_IN_BIOZ_RX				= 1
    AFE2.component.segment.AFE4960.AFE4960_global.RECONFIGURE_BIOZ_LPF 			= 1
    AFE2.component.segment.AFE4960.AFE4960_global.EN_RLD_LOOP_ECG2				= 0
    AFE2.component.segment.AFE4960.AFE4960_global.BIOZ_LPF_BW					= 2
    AFE2.component.segment.AFE4960.AFE4960_global.SEL_CHPF1_BIOZ				= 0
    AFE2.component.segment.AFE4960.AFE4960_global.SEL_RHPF1_BIOZ				= 2
    AFE2.component.segment.AFE4960.AFE4960_global.BIOZ_INA_GAIN					= 0
    AFE2.component.segment.AFE4960.AFE4960_global.PROCESS_BSAW					= 3
    AFE2.component.segment.AFE4960.AFE4960_global.EN_DEC_BIOZ					= 1
    AFE2.component.segment.AFE4960.AFE4960_global.BIOZ_DEC_FACTOR				= 0
    AFE2.component.segment.AFE4960.AFE4960_global.ACQ_MODE_SEL					= 74
    AFE2.component.segment.AFE4960.AFE4960_global.EN_ECG_RX						= 1
    AFE2.component.segment.AFE4960.AFE4960_global.PDN_ECG_INA					= 0
    AFE2.component.segment.AFE4960.AFE4960_global.PDN_ECG_RLD					= 0
    AFE2.component.segment.AFE4960.AFE4960_global.PDN_ADC						= 0
    AFE2.component.segment.AFE4960.AFE4960_global.PDN_OSCH						= 0
    AFE2.component.segment.AFE4960.AFE4960_global.PDN_ILEAD						= 0
    AFE2.component.segment.AFE4960.AFE4960_global.EN_BIOZ_RX					= 1
    AFE2.component.segment.AFE4960.AFE4960_global.EN_BIOZ_TX					= 1
    AFE2.component.segment.AFE4960.AFE4960_global.DIS_ACTIVE_BIOZ_TX			= 1
    AFE2.component.segment.AFE4960.AFE4960_global.DIS_BUF_PDN_ON_ADC			= 1
    AFE2.component.segment.AFE4960.AFE4960_global.DIS_PD_REFSYS					= 1
    AFE2.component.segment.AFE4960.AFE4960_global.DIS_PD_VCM					= 1
    AFE2.component.segment.AFE4960.AFE4960_global.PDNAFE						= 0
    AFE2.component.segment.AFE4960.AFE4960_global.PDN_BG_IN_DEEP_SLEEP			= 0
    AFE2.component.segment.AFE4960.AFE4960_global.DIS_CHOP_INA1					= 0
    AFE2.component.segment.AFE4960.AFE4960_global.DIS_CHOP_INA2					= 0
    AFE2.component.segment.AFE4960.AFE4960_global.TIMER_ENABLE					= 1
    AFE2.component.segment.AFE4960.AFE4960_global.RAC_COUNTER_ENABLE			= 1
    AFE2.component.segment.AFE4960.AFE4960_global.FIFO_EN						= 1
    AFE2.component.segment.AFE4960.AFE4960_global.REG_WM_FIFO					= 0 
    
    """AFE1 Pace pulse detect configuration"""
    AFE1.component.segment.AFE4960.AFE4960_global.EN_PACE						= 1
    AFE1.component.segment.AFE4960.AFE4960_global.PACE_SET_HIGH_2				= 1
    AFE1.component.segment.AFE4960.AFE4960_global.PACE_SET_HIGH_1				= 1
    AFE1.component.segment.AFE4960.AFE4960_global.PACE_SET_HIGH_0				= 1
    AFE1.component.segment.AFE4960.AFE4960_global.PACE_CONFIG_REG1 				= 995684
    AFE1.component.segment.AFE4960.AFE4960_global.PACE_CONFIG_REG2				= 1048256
    AFE1.component.segment.AFE4960.AFE4960_global.PACE_DIS_RESP_REJECT			= 0
    AFE1.component.segment.AFE4960.AFE4960_global.SEL_CLK_PACE					= 0
    AFE1.component.segment.AFE4960.AFE4960_global.WIDTH_PACE_MIN				= 4
    AFE1.component.segment.AFE4960.AFE4960_global.WIDTH_PACE_MAX				= 135
    AFE1.component.segment.AFE4960.AFE4960_global.PACE_OBS_EXTEND				= 1
    AFE1.component.segment.AFE4960.AFE4960_global.PACE_VALID_COMPLETE			= 1
    AFE1.component.segment.AFE4960.AFE4960_global.PACE_REF1_H					= 2
    AFE1.component.segment.AFE4960.AFE4960_global.PACE_REF1_L					= 2
    AFE1.component.segment.AFE4960.AFE4960_global.PACE_FIFO_DATA_CTRL			= 0
    AFE1.component.segment.AFE4960.AFE4960_global.EN_PACE_WINDOW_ADC_RDY		= 0
    AFE1.component.segment.AFE4960.AFE4960_global.EN_PACE_WINDOW_GPIO2			= 0
    AFE1.component.segment.AFE4960.AFE4960_global.EN_PACE_VALID_TAG				= 1
    AFE1.component.segment.AFE4960.AFE4960_global.EN_PACE_OVERLAP_TAG			= 0
    AFE1.component.segment.AFE4960.AFE4960_global.USE_PACE_OVERLAP_TAG			= 0
    AFE1.component.segment.AFE4960.AFE4960_global.USE_BOTH_PACE_TAGS			= 0
    AFE1.component.segment.AFE4960.AFE4960_global.EN_PACE_TAG_ECG_CH1			= 1
    AFE1.component.segment.AFE4960.AFE4960_global.EN_PACE_TAG_ECG_CH2			= 1 
    
    """AFE2 Pace pulse detect configuration"""
    AFE2.component.segment.AFE4960.AFE4960_global.EN_PACE						= 1
    AFE2.component.segment.AFE4960.AFE4960_global.PACE_SET_HIGH_2				= 1
    AFE2.component.segment.AFE4960.AFE4960_global.PACE_SET_HIGH_1				= 1
    AFE2.component.segment.AFE4960.AFE4960_global.PACE_SET_HIGH_0				= 1
    AFE2.component.segment.AFE4960.AFE4960_global.PACE_CONFIG_REG1 				= 995684
    AFE2.component.segment.AFE4960.AFE4960_global.PACE_CONFIG_REG2				= 1048256
    AFE2.component.segment.AFE4960.AFE4960_global.PACE_DIS_RESP_REJECT			= 1
    AFE2.component.segment.AFE4960.AFE4960_global.SEL_CLK_PACE					= 0
    AFE2.component.segment.AFE4960.AFE4960_global.WIDTH_PACE_MIN				= 4
    AFE2.component.segment.AFE4960.AFE4960_global.WIDTH_PACE_MAX				= 135
    AFE2.component.segment.AFE4960.AFE4960_global.PACE_OBS_EXTEND				= 1
    AFE2.component.segment.AFE4960.AFE4960_global.PACE_VALID_COMPLETE			= 1
    AFE2.component.segment.AFE4960.AFE4960_global.PACE_REF1_H					= 2
    AFE2.component.segment.AFE4960.AFE4960_global.PACE_REF1_L					= 2
    AFE2.component.segment.AFE4960.AFE4960_global.PACE_FIFO_DATA_CTRL			= 0
    AFE2.component.segment.AFE4960.AFE4960_global.EN_PACE_WINDOW_ADC_RDY		= 0
    AFE2.component.segment.AFE4960.AFE4960_global.EN_PACE_WINDOW_GPIO2			= 0
    AFE2.component.segment.AFE4960.AFE4960_global.EN_PACE_VALID_TAG				= 1
    AFE2.component.segment.AFE4960.AFE4960_global.EN_PACE_OVERLAP_TAG			= 0
    AFE2.component.segment.AFE4960.AFE4960_global.USE_PACE_OVERLAP_TAG			= 0
    AFE2.component.segment.AFE4960.AFE4960_global.USE_BOTH_PACE_TAGS			= 0
    AFE2.component.segment.AFE4960.AFE4960_global.EN_PACE_TAG_ECG_CH1			= 1
    AFE2.component.segment.AFE4960.AFE4960_global.EN_PACE_TAG_ECG_CH2			= 1 
    
    """AFE1 Interrupt configuration"""
    AFE1.component.segment.AFE4960.AFE4960_global.MASK_DC_LEAD_DET				= 0
    AFE1.component.segment.AFE4960.AFE4960_global.MASK_AC_LEAD_ON				= 1
    AFE1.component.segment.AFE4960.AFE4960_global.MASK_AC_LEAD_OFF				= 1
    AFE1.component.segment.AFE4960.AFE4960_global.MASK_ADC_FIFO_RDY				= 1
    AFE1.component.segment.AFE4960.AFE4960_global.MASK_PACE_VALID_INT			= 0
    AFE1.component.segment.AFE4960.AFE4960_global.MASK_DISABLE1					= 1
    AFE1.component.segment.AFE4960.AFE4960_global.MASK_DISABLE2					= 1
    
    """AFE2 Interrupt configuration"""
    AFE2.component.segment.AFE4960.AFE4960_global.INT_MUX_ADC_RDY_1				= 2
    AFE2.component.segment.AFE4960.AFE4960_global.MASK_DC_LEAD_DET				= 0
    AFE2.component.segment.AFE4960.AFE4960_global.MASK_AC_LEAD_ON				= 1
    AFE2.component.segment.AFE4960.AFE4960_global.MASK_AC_LEAD_OFF				= 1
    AFE2.component.segment.AFE4960.AFE4960_global.MASK_ADC_FIFO_RDY				= 1  
    AFE2.component.segment.AFE4960.AFE4960_global.MASK_PACE_VALID_INT			= 0
    AFE2.component.segment.AFE4960.AFE4960_global.MASK_DISABLE1					= 1
    AFE2.component.segment.AFE4960.AFE4960_global.MASK_DISABLE2					= 1
    
    """AFE1 128K CLK ON GPIO2"""		
    AFE1.component.segment.AFE4960.AFE4960_global.EN_GPIO2_OUT					= 1
    AFE1.component.segment.AFE4960.AFE4960_global.INT_MUX_GPIO2_2				= 0
    AFE1.component.segment.AFE4960.AFE4960_global.INT_MUX_GPIO2_1				= 0
    AFE1.component.segment.AFE4960.AFE4960_global.EN_128K_CLKOUT				= 1
    
    """AFE1 RAC RST OUT ON ADC RDY"""		
    AFE1.component.segment.AFE4960.AFE4960_global.INT_MUX_ADC_RDY_2				= 1
    AFE1.component.segment.AFE4960.AFE4960_global.INT_MUX_ADC_RDY_1				= 3
    AFE1.component.segment.AFE4960.AFE4960_global.INPUT_OUTPUT_RAC_RST			= 1
    
    """AFE2 RAC RST IN ON GPIO2"""
    AFE2.component.segment.AFE4960.AFE4960_global.EN_GPIO2_IN					= 1
    AFE2.component.segment.AFE4960.AFE4960_global.EN_GPIO2_OUT					= 0
    AFE2.component.segment.AFE4960.AFE4960_global.INT_MUX_GPIO2_2				= 0
    AFE2.component.segment.AFE4960.AFE4960_global.INT_MUX_GPIO2_1				= 0
    AFE2.component.segment.AFE4960.AFE4960_global.INPUT_OUTPUT_RAC_RST			= 3
    
    """AFE1 Clocking configuration"""		
    AFE1.component.segment.AFE4960.AFE4960_global.SEL2_CLK_TE					= 1
    AFE1.component.segment.AFE4960.AFE4960_global.OSCL_DIS						= 1
    AFE1.component.segment.AFE4960.AFE4960_global.EN_OSCL_SYNC					= 0
    AFE1.component.segment.AFE4960.AFE4960_global.DIS_DYN_PDN_OSCH				= 1
    AFE1.component.segment.AFE4960.AFE4960_global.SEL1_CLK_BIOZ					= 1
    AFE1.component.segment.AFE4960.AFE4960_global.SEL2_CLK_BIOZ					= 1
    AFE1.component.segment.AFE4960.AFE4960_global.EN_PLL						= 1
    AFE1.component.segment.AFE4960.AFE4960_global.SEL2_CLK_RAC					= 1
    AFE1.component.segment.AFE4960.AFE4960_global.SEL1_CLK_RAC					= 0
    AFE1.component.segment.AFE4960.AFE4960_global.SEL1_CLK_TE					= 0
    AFE1.component.segment.AFE4960.AFE4960_global.DIV_TE_RAC_OUT_EN				= 1
    AFE1.component.segment.AFE4960.AFE4960_global.DIV_IN_BIOZ					= 0
    AFE1.component.segment.AFE4960.AFE4960_global.DIV_FB_PLL					= 4
    AFE1.component.segment.AFE4960.AFE4960_global.DIV_OUT_RAC					= 1
    AFE1.component.segment.AFE4960.AFE4960_global.DIV_OUT_BIOZ					= 2
    
    """AFE2 Clocking configuration"""		
    AFE2.component.segment.AFE4960.AFE4960_global.SEL2_CLK_TE					= 0
    AFE2.component.segment.AFE4960.AFE4960_global.OSCL_DIS						= 1
    AFE2.component.segment.AFE4960.AFE4960_global.EN_OSCL_SYNC					= 0
    AFE2.component.segment.AFE4960.AFE4960_global.DIS_DYN_PDN_OSCH				= 0
    AFE2.component.segment.AFE4960.AFE4960_global.SEL1_CLK_BIOZ					= 1
    AFE2.component.segment.AFE4960.AFE4960_global.SEL2_CLK_BIOZ					= 0
    AFE2.component.segment.AFE4960.AFE4960_global.EN_PLL						= 0
    AFE2.component.segment.AFE4960.AFE4960_global.SEL2_CLK_RAC					= 0
    AFE2.component.segment.AFE4960.AFE4960_global.SEL1_CLK_RAC					= 1
    AFE2.component.segment.AFE4960.AFE4960_global.SEL1_CLK_TE					= 1
    AFE2.component.segment.AFE4960.AFE4960_global.DIV_TE_RAC_OUT_EN				= 0
    AFE2.component.segment.AFE4960.AFE4960_global.DIV_IN_BIOZ					= 0
    AFE2.component.segment.AFE4960.AFE4960_global.DIV_FB_PLL					= 0
    AFE2.component.segment.AFE4960.AFE4960_global.DIV_OUT_RAC					= 0
    AFE2.component.segment.AFE4960.AFE4960_global.DIV_OUT_BIOZ					= 0
    
    """AFE1 DC Lead Detection Configuration """
    AFE1.component.segment.AFE4960.AFE4960_global.SW_RBIAS1_ECGP 				= 1
    AFE1.component.segment.AFE4960.AFE4960_global.SW_RBIAS1_LEAD_BIAS 			= 1
    AFE1.component.segment.AFE4960.AFE4960_global.POL_RBIAS1_LEAD_BIAS 			= 0
    AFE1.component.segment.AFE4960.AFE4960_global.SW_RBIAS2_ECGM 				= 1
    AFE1.component.segment.AFE4960.AFE4960_global.SW_RBIAS2_LEAD_BIAS 			= 1
    AFE1.component.segment.AFE4960.AFE4960_global.POL_RBIAS2_LEAD_BIAS 			= 1
    AFE1.component.segment.AFE4960.AFE4960_global.SW_RBIAS3_ECG1 				= 3
    AFE1.component.segment.AFE4960.AFE4960_global.SW_RBIAS3_LEAD_BIAS 			= 1
    AFE1.component.segment.AFE4960.AFE4960_global.POL_RBIAS3_LEAD_BIAS 			= 0
    AFE1.component.segment.AFE4960.AFE4960_global.SW_RBIAS4_ECG2 				= 3
    AFE1.component.segment.AFE4960.AFE4960_global.SW_RBIAS4_LEAD_BIAS 			= 0
    AFE1.component.segment.AFE4960.AFE4960_global.POL_RBIAS4_LEAD_BIAS 			= 0
    AFE1.component.segment.AFE4960.AFE4960_global.SEL_RBIAS_CH1 				= 0
    AFE1.component.segment.AFE4960.AFE4960_global.SEL_RBIAS_CH2 				= 0
    AFE1.component.segment.AFE4960.AFE4960_global.LEAD_DET_THR_L 				= 3
    AFE1.component.segment.AFE4960.AFE4960_global.LEAD_DET_THR_H 				= 3
    AFE1.component.segment.AFE4960.AFE4960_global.EN_COMP_ANA 					= 1
    AFE1.component.segment.AFE4960.AFE4960_global.LEAD_DET_MODULE_CLK_EN 		= 1
    AFE1.component.segment.AFE4960.AFE4960_global.LEAD_DET_WIDTH 				= 100
    
    """AFE2 DC Lead Detection Configuration """
    AFE2.component.segment.AFE4960.AFE4960_global.SW_RBIAS1_ECGP 				= 1
    AFE2.component.segment.AFE4960.AFE4960_global.SW_RBIAS1_LEAD_BIAS 			= 1
    AFE2.component.segment.AFE4960.AFE4960_global.POL_RBIAS1_LEAD_BIAS 			= 0
    AFE2.component.segment.AFE4960.AFE4960_global.SW_RBIAS2_ECGM 				= 1
    AFE2.component.segment.AFE4960.AFE4960_global.SW_RBIAS2_LEAD_BIAS 			= 1
    AFE2.component.segment.AFE4960.AFE4960_global.POL_RBIAS2_LEAD_BIAS 			= 1
    AFE2.component.segment.AFE4960.AFE4960_global.SW_RBIAS3_ECG1 				= 3
    AFE2.component.segment.AFE4960.AFE4960_global.SW_RBIAS3_LEAD_BIAS 			= 1
    AFE2.component.segment.AFE4960.AFE4960_global.POL_RBIAS3_LEAD_BIAS 			= 0
    AFE2.component.segment.AFE4960.AFE4960_global.SW_RBIAS4_ECG2 				= 3
    AFE2.component.segment.AFE4960.AFE4960_global.SW_RBIAS4_LEAD_BIAS 			= 0
    AFE2.component.segment.AFE4960.AFE4960_global.POL_RBIAS4_LEAD_BIAS 			= 0
    AFE2.component.segment.AFE4960.AFE4960_global.SEL_RBIAS_CH1 				= 0
    AFE2.component.segment.AFE4960.AFE4960_global.SEL_RBIAS_CH2 				= 0
    AFE2.component.segment.AFE4960.AFE4960_global.LEAD_DET_THR_L 				= 3
    AFE2.component.segment.AFE4960.AFE4960_global.LEAD_DET_THR_H 				= 3
    AFE2.component.segment.AFE4960.AFE4960_global.EN_COMP_ANA 					= 1
    AFE2.component.segment.AFE4960.AFE4960_global.LEAD_DET_MODULE_CLK_EN		= 1
    AFE2.component.segment.AFE4960.AFE4960_global.LEAD_DET_WIDTH 				= 100
    
    
    
    
    """Software requirements"""
    """Update the sequence of data in FIFO"""
    FIFO_ORDER_AFE1																= np.array(["AFE1_ECG_CH1",	\
    																						"AFE1_ECG_CH1",	\
    																						"AFE1_ECG_CH1",	\
    																						"AFE1_ECG_CH1",	\
    																						"AFE1_ECG_CH1",	\
    																						"AFE1_ECG_CH1",	\
    																						"AFE1_ECG_CH1",	\
    																						"AFE1_ECG_CH1",	\
    																						"AFE1_ECG_CH1",	\
    																						"AFE1_ECG_CH1",	\
    																						"AFE1_ECG_CH1",	\
    																						"AFE1_ECG_CH1",	\
    																						"AFE1_ECG_CH1",	\
    																						"AFE1_ECG_CH1",	\
    																						"AFE1_ECG_CH1",	\
    																						"AFE1_ECG_CH1",	\
    																						"AFE1_RESP_I", "AFE1_RESP_Q"])
    																						
    FIFO_ORDER_AFE2																= np.array(["AFE2_ECG_CH1","AFE2_ECG_CH2"])
    
    
    FIFO_ORDER_AFE1	= np.array(["AFE1_ECG_CH1","AFE1_RESP_I", "AFE1_RESP_Q"])
    FIFO_ORDER_AFE2	= np.array(["AFE2_ECG_CH1","AFE2_ECG_CH2"])
    
    regCapture._controller.updateFiFoOrder(FIFO_ORDER_AFE1,FIFO_ORDER_AFE2)
    
    """Update the data rate"""
    dataToAddDict										= {"KEY":"AFE1_ECG_CH1", 		"DATA_RATE":"682.666666667"}
    addData(dataToAddDict)		
    dataToAddDict										= {"KEY":"AFE1_ECG_CH1_RAW", 	"DATA_RATE":"682.666666667"}
    addData(dataToAddDict)		
    dataToAddDict										= {"KEY":"AFE1_RESP_I", 		"DATA_RATE":"42.6666666667"}
    addData(dataToAddDict)		
    dataToAddDict										= {"KEY":"AFE1_RESP_I_RAW", 	"DATA_RATE":"42.6666666667"}
    addData(dataToAddDict)		
    		
    dataToAddDict										= {"KEY":"AFE1_RESP_Q", 		"DATA_RATE":"42.6666666667"}
    addData(dataToAddDict)		
    dataToAddDict										= {"KEY":"AFE1_RESP_Q_RAW", 	"DATA_RATE":"42.6666666667"}
    addData(dataToAddDict)		
    		
    dataToAddDict										= {"KEY":"AFE2_ECG_CH1", 		"DATA_RATE":"682.666666667"}
    addData(dataToAddDict)		
    dataToAddDict										= {"KEY":"AFE2_ECG_CH1_RAW", 	"DATA_RATE":"682.666666667"}
    addData(dataToAddDict)		
    dataToAddDict										= {"KEY":"AFE2_ECG_CH2", 		"DATA_RATE":"682.666666667"}
    addData(dataToAddDict)		
    dataToAddDict										= {"KEY":"AFE2_ECG_CH2_RAW", 	"DATA_RATE":"682.666666667"}
    addData(dataToAddDict)		
    		
    		
    """Mandatory register to read"""		
    dataToAddDict										= {"KEY":"REG_6D", 				"DATA_RATE":"682.666666667"}
    addData(dataToAddDict)		
    		
    """Additional register to read"""		
    dataToAddDict										= {"KEY":"REG_BC", 				"DATA_RATE":"682.666666667"}
    addData(dataToAddDict)
    
    """Add data for plotting"""
    addDataToPlot("'AFE1_ECG_CH1'", 							1, filter="Disable", color=color['Blue'])
    addDataToPlot("AMPLITUDE('AFE1_RESP_I','AFE1_RESP_Q')",	  	2, filter="Disable", color=color['Maroon'])
    addDataToPlot("'AFE2_ECG_CH1'", 							3, filter="Disable", color=color['Green'])
    addDataToPlot("'AFE2_ECG_CH2'", 							4, filter="Disable", color=color['Maroon'])
    # addDataToPlot("PACE_STATUS('AFE1_REG_BC')",					3, filter="Disable", color=color['Red'])
    # addDataToPlot("PACE_STATUS('AFE2_REG_BC')",					4, filter="Disable", color=color['Green'])
    
    MODE	= "DUAL_AFE_3ECG_1RESP"
    
    START_LEAD_STATUS_CHECK()

    Regards,

    Iasikha V.

  • Thanks, Iasikha. I'll try this today and get back to you shortly.

    Regards,

    Ryan

  • Hello Iasikha,

    Within the installation directory, there should be a folder with the EVM Firmware (C:\Program Files\Texas Instruments\Bio-Sensing\AFE4960PEVM\EVM Firmware)

    You will find a file called "AFE4960P DUAL AFE V2.0.0." Can you try updating the EVM firmware to point to this file? Section 1.4 of the User Guide details the required steps.

    Regards,

    Ryan

  • Hi Ryan,

    Thanks for your reply.

    I tried updating the firmware as you said and I'm getting the same Reset property not found error. But I'm getting wave now. I have attached the ECG waves for your reference.

    Regards,

    Iasikha V.