dcu3_sequence.cfg

来自「flash programming STI 5.5.1.4 DCU3」· CFG 代码 · 共 103 行

CFG
103
字号
DCU3_sequence_config = DCU3_config
DCU3_sequence_config.varname = "DCU3_sequence_config"

DCU3_sequence_trig_in_events_tag = DCU3_sequence_config.index++
DCU3_sequence_config[DCU3_sequence_trig_in_events_tag].name = "num_trig_in_events"
DCU3_sequence_config[DCU3_sequence_trig_in_events_tag].bit = 16
DCU3_sequence_config[DCU3_sequence_trig_in_events_tag].width = 5

DCU3_sequence_jtr_support_events_tag = DCU3_sequence_config.index++
DCU3_sequence_config[DCU3_sequence_jtr_support_events_tag].name = "jtr_support_events"
DCU3_sequence_config[DCU3_sequence_jtr_support_events_tag].bit = 21
DCU3_sequence_config[DCU3_sequence_jtr_support_events_tag].width = 1

DCU3_sequence_compare_events_tag=DCU3_sequence_config.index++
DCU3_sequence_config[DCU3_sequence_compare_events_tag].name = "num_compare_events"
DCU3_sequence_config[DCU3_sequence_compare_events_tag].bit = 22
DCU3_sequence_config[DCU3_sequence_compare_events_tag].width = 5

proc dcu3_sequence_decode 
  _ST_local_tag=$1 
  _ST_local_reg_val=$2 {

  $$ = dcu3_config_decode (_ST_local_tag) (_ST_local_reg_val) (DCU3_sequence_config)
}

proc dcu3_sequence_decode_all 
  _ST_local_reg_val=$1 {

  dcu3_config_decode_all (_ST_local_reg_val) (DCU3_sequence_config)
}

proc dcu3_sequence_encode 
  _ST_local_tag=$1 
  _ST_local_val=$2 {

  $$ = dcu3_config_encode (_ST_local_tag) (_ST_local_val) (DCU3_sequence_config)
}

proc dcu3_sequence_fields {
  
  dcu3_config_fields (DCU3_sequence_config)
}

## Return sequence value corresponding to encoding all the 
## parameters. The parameter offset provides the sequence field it
## refers to, eg. $1 is the first sequence field which is num_trig_in,
## $2 is the second sequence field which is jtr_support etc.
##
## If a parameter is not supplied then that sequence field is setup to 
## a default value of 0.
##

proc dcu3_sequence_encode_all
  _ST_local_nparams = $# 
  _ST_local_num_trig_in = 0
  _ST_local_jtr_support = 0
  _ST_local_num_compare = 0
  _ST_local_num_capture = 0
  _ST_local_num_trig_in_events = 0
  _ST_local_jtr_support_events = 0
  _ST_local_num_compare_events = 0
  _ST_local_i = 0 {

  ##write -- DBG -- dcu3_sequence_encode_all nparams= (_ST_local_nparams) 

  for (_ST_local_i=1; _ST_local_i <= $#; _ST_local_i++) {
    ##{{{    
    if ( _ST_local_i == 1 ) {
      _ST_local_num_trig_in = $(_ST_local_i)
    } else if ( _ST_local_i == 2 ) {
      _ST_local_jtr_support = $(_ST_local_i)
    } else if ( _ST_local_i == 3 ) {
      _ST_local_num_compare = $(_ST_local_i)
    } else if ( _ST_local_i == 4 ) {
      _ST_local_num_capture = $(_ST_local_i)
    } else if ( _ST_local_i == 5 ) {
      _ST_local_num_trig_in_events = $(_ST_local_i)
    } else if ( _ST_local_i == 6 ) {
      _ST_local_jtr_support_events = $(_ST_local_i)
    } else if ( _ST_local_i == 7 ) {
      _ST_local_num_compare_events = $(_ST_local_i)
    } else {
      write dcu3_sequence_encode_all ignoring parameter offset (_ST_local_i)
    }
    ##}}}
  }

  ##write -- DBG -- "\t"   (_ST_local_num_trig_in) (_ST_local_jtr_support) (_ST_local_num_compare) (_ST_local_num_capture) (_ST_local_num_trig_in_events) (_ST_local_jtr_support_events) (_ST_local_num_compare_events)  


  $$ = 0x0
  $$ |= dcu3_sequence_encode (DCU3_config_TriggerIn_tag) (_ST_local_num_trig_in)
  $$ |= dcu3_sequence_encode (DCU3_config_JumpTrace_tag) (_ST_local_jtr_support)
  $$ |= dcu3_sequence_encode (DCU3_config_Compare_tag) (_ST_local_num_compare)
  $$ |= dcu3_sequence_encode (DCU3_config_Capture_tag) (_ST_local_num_capture)
  $$ |= dcu3_sequence_encode (DCU3_sequence_trig_in_events_tag) (_ST_local_num_trig_in_events)
  $$ |= dcu3_sequence_encode (DCU3_sequence_jtr_support_events_tag) (_ST_local_jtr_support_events)
  $$ |= dcu3_sequence_encode (DCU3_sequence_compare_events_tag) (_ST_local_num_compare_events)

  ##write DBG "\t" dcu3_sequence_encode_all res= -x ($$)
} 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?