⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pm5337_line_sonet_hopp.tcl

📁 用于EOS芯片的驱动程序, 供参考 参考
💻 TCL
📖 第 1 页 / 共 3 页
字号:
    ##### For example, assign an L-Code of "0xFC" for the OOF defect #####    # i) Poll MAPS_BUSY until it is low    Poll_BUSY_Bit $devID $addr_0x1488 15        # ii) Set ALARM_LCODE[7:0] = 0xFC in ALARM_ID[5:0] = 111010b    set alarm_lcode 0xFC    set alarm_id 0x3A    set maps_rwb 0    set value [expr [expr $maps_rwb << 14]|[expr $alarm_lcode << 6]|$alarm_id]    admwr $devID $addr_0x1488 $value  #   ##### For example, assign an L-Code of "0xFB" for the APSBF defect ##### #   # i) Poll MAPS_BUSY until it is low #   Poll_BUSY_Bit $devID $addr_0x1488 15 #    #   # ii) Set ALARM_LCODE[7:0] = 0xFB in ALARM_ID[5:0] = 111011b #   set alarm_lcode 0xFB #   set alarm_id 0x3B #   set maps_rwb 0 #   set value [expr [expr $maps_rwb << 14]|[expr $alarm_lcode << 6]|$alarm_id] #   admwr $devID $addr_0x1488 $value   # #   ##### For example, assign an L-Code of "0xFA" for the TIM-S defect ##### #   # i) Poll MAPS_BUSY until it is low #   Poll_BUSY_Bit $devID $addr_0x1488 15 #    #   # ii) Set ALARM_LCODE[7:0] = 0xFA in ALARM_ID[5:0] = 111001b #   set alarm_lcode 0xFA #   set alarm_id 0x39 #   set maps_rwb 0 #   set value [expr [expr $maps_rwb << 14]|[expr $alarm_lcode << 6]|$alarm_id] #   admwr $devID $addr_0x1488 $value  #    ##### For example, assign an L-Code of "0xF9" for the AIS-L defect #####    # i) Poll MAPS_BUSY until it is low    Poll_BUSY_Bit $devID $addr_0x1488 15        # ii) Set ALARM_LCODE[7:0] = 0xF9 in ALARM_ID[5:0] = 110110b    set alarm_lcode 0xF9    set alarm_id 0x36    set maps_rwb 0    set value [expr [expr $maps_rwb << 14]|[expr $alarm_lcode << 6]|$alarm_id]    admwr $devID $addr_0x1488 $value   #  ##### For example, assign an L-Code of "0xF8" for the SF-L #####  #  # i) Poll MAPS_BUSY until it is low  #  Poll_BUSY_Bit $devID $addr_0x1488 15  #    #  # ii) Set ALARM_LCODE[7:0] = 0xF8 in ALARM_ID[5:0] = 110000b  #  set alarm_lcode 0xF8  #  set alarm_id 0x30  #  set maps_rwb 0  #  set value [expr [expr $maps_rwb << 14]|[expr $alarm_lcode << 6]|$alarm_id]  #  admwr $devID $addr_0x1488 $value   #    ##### For example, assign an L-Code of "0xF7" for the AIS-P #####    # i) Poll MAPS_BUSY until it is low    Poll_BUSY_Bit $devID $addr_0x1488 15        # ii) Set ALARM_LCODE[7:0] = 0xF7 in ALARM_ID[5:0] = 110101b    set alarm_lcode 0xF7    set alarm_id 0x35    set maps_rwb 0    set value [expr [expr $maps_rwb << 14]|[expr $alarm_lcode << 6]|$alarm_id]    admwr $devID $addr_0x1488 $value         ##### For example, assign an L-Code of "0xF6" for the LOP-P #####    # i) Poll MAPS_BUSY until it is low    Poll_BUSY_Bit $devID $addr_0x1488 15        # ii) Set ALARM_LCODE[7:0] = 0xF6 in ALARM_ID[5:0] = 110100b    set alarm_lcode 0xF6    set alarm_id 0x34    set maps_rwb 0    set value [expr [expr $maps_rwb << 14]|[expr $alarm_lcode << 6]|$alarm_id]    admwr $devID $addr_0x1488 $value         ##### For example, assign an L-Code of "0xF5" for the UNEQ-P #####    # i) Poll MAPS_BUSY until it is low    Poll_BUSY_Bit $devID $addr_0x1488 15        # ii) Set ALARM_LCODE[7:0] = 0xF5 in ALARM_ID[5:0] = 110011b    set alarm_lcode 0xF5    set alarm_id 0x33    set maps_rwb 0    set value [expr [expr $maps_rwb << 14]|[expr $alarm_lcode << 6]|$alarm_id]    admwr $devID $addr_0x1488 $value       #  ##### For example, assign an L-Code of "0xF4" for the TIM-P #####  #  # i) Poll MAPS_BUSY until it is low  #  Poll_BUSY_Bit $devID $addr_0x1488 15  #    #  # ii) Set ALARM_LCODE[7:0] = 0xF4 in ALARM_ID[5:0] = 110001b  #  set alarm_lcode 0xF4  #  set alarm_id 0x31  #  set maps_rwb 0  #  set value [expr [expr $maps_rwb << 14]|[expr $alarm_lcode << 6]|$alarm_id]  #  admwr $devID $addr_0x1488 $value   #    #  ##### For example, assign an L-Code of "0xF3" for the PLM-P #####  #  # i) Poll MAPS_BUSY until it is low  #  Poll_BUSY_Bit $devID $addr_0x1488 15  #    #  # ii) Set ALARM_LCODE[7:0] = 0xF3 in ALARM_ID[5:0] = 110010b  #  set alarm_lcode 0xF3  #  set alarm_id 0x32  #  set maps_rwb 0  #  set value [expr [expr $maps_rwb << 14]|[expr $alarm_lcode << 6]|$alarm_id]  #  admwr $devID $addr_0x1488 $value   #    #  ##### For example, assign an L-Code of "0xF2 to 0xEA" for the SF-P  #####  #  # (10-3 to 10-11)  #    #  for {set j 0} {$j <= 8} {incr j} {  #    # i) Poll MAPS_BUSY until it is low  #    Poll_BUSY_Bit $devID $addr_0x1488 15  #    #    # ii) Set ALARM_LCODE[7:0] = 0xEA in ALARM_ID[5:0] = 100111b  #    set alarm_lcode [expr (0xEA + $j)]  #    set alarm_id [expr (0x27+$j)]  #    set maps_rwb 0  #    set value [expr [expr $maps_rwb << 14]|[expr $alarm_lcode << 6]|$alarm_id]  #    admwr $devID $addr_0x1488 $value   #  }      #  ##### For example, assign an L-Code of "0xE9 to 0xCE" for the PDI  #####  #  # Code (28 to 1)  #    #  for {set j 0} {$j <= 27} {incr j} {  #    # i) Poll MAPS_BUSY until it is low  #    Poll_BUSY_Bit $devID $addr_0x1488 15  #    #    # ii) Set ALARM_LCODE[7:0] = 0xCE+j in ALARM_ID[5:0] = 001011b +j  #    set alarm_lcode [expr (0xCE + $j)]  #    set alarm_id [expr (0x0B+$j)]  #    set maps_rwb 0  #    set value [expr [expr $maps_rwb << 14]|[expr $alarm_lcode << 6]|$alarm_id]  #    admwr $devID $addr_0x1488 $value   #  }      #  ##### For example, assign an L-Code of "0x87 to 0x7F" for the SD-P  #####  #  # (10-3 to 10-11)  #    #  for {set j 0} {$j <= 8} {incr j} {  #    # i) Poll MAPS_BUSY until it is low  #    Poll_BUSY_Bit $devID $addr_0x1488 15  #    #    # ii) Set ALARM_LCODE[7:0] = 0x7F+j in ALARM_ID[5:0] = 000001b+j  #    set alarm_lcode [expr (0x7F + $j)]  #    set alarm_id [expr (0x01+$j)]    #    set maps_rwb 0                   #    set value [expr [expr $maps_rwb << 14]|[expr $alarm_lcode << 6]|$alarm_id]  #    admwr $devID $addr_0x1488 $value   #  }                                                                       #  ##### For example, assign an L-Code of "0x7E" for the SD-L #####  #                                     #  # i) Poll MAPS_BUSY until it is low  #  Poll_BUSY_Bit $devID $addr_0x1488 15  #                                     #  # ii) Set ALARM_LCODE[7:0] = 0x7E in ALARM_ID[5:0] = 001010b  #  set alarm_lcode 0x7E                                       #  set alarm_id 0x0A                                          #  set maps_rwb 0                                             #  set value [expr [expr $maps_rwb << 14]|[expr $alarm_lcode << 6]|$alarm_id]  #  admwr $devID $addr_0x1488 $value                                                     ################################################################       ##### 5. Enable MAPS processing by setting MAPS_ENABLE and #####    #####    MAPS_SYNC to 1 in 0x148A + 0x100*(n-1)            #####    ################################################################                            admwrb $devID $addr_0x148A 14 1    admwrb $devID $addr_0x148A 15 1                            # Set SARC-L HOINSEN bit    set addr_0x1786 [expr (0x1786 + (($interface-1)*0x0200))]    admwrb $devID $addr_0x1786 2 1        #########################################    ##### 6. Enable L-Code to propagate #####    #########################################                          set value [expr 0x4040 | (($G2i_ColPosition << 4) | ($G2i_RowPosition) | ($G2i_ColPosition << 12) | ($G2i_RowPosition << 8))]    set value [dec2hex $value]                wr adm 0x100d $value    wr adm 0x100e $value      }         if {$enable == 0} {         ##############################################################    ##### Disable MAPS processing by setting MAPS_ENABLE and #####    ##### MAPS_SYNC to 0 in 0x148A                           #####    ##############################################################        # Disable MAPS    admwrb $devID $addr_148A 14 0    admwrb $devID $addr_148A 15 0           # Set SARC-L HOINSEN bit      set addr_0x1786 [expr (0x1786 + (($interface-1)*0x0200))]    admwrb $devID $addr_0x1786 2 0   }}#------------------------------------------------------------------------------# SCRIPT NAME: LINE_SONET_HO_MAPS_SW_Path_Config## DESCRIPTION:  This procedure configure the MAPS Software Path #               L-Code in the SARC-H block##  PARAMETERS : devID     - This parameter is used to specify the device #                           under configuration  ##               interface - 1 or 2##               force_enable - 0 to disable, 1 to enable##               manual_enable - 0 to disable, 1 to enable##               force_lcode - 0x01 ~ 0xFE## 		manual_lcode - 0x01 ~ 0xFE##		stm1 - 0~3 (STS-3/STM1 #1~#4) [optional]##		stm0 - 0~2 (STS-1/STM0 #1~#3) [optional]#               #  NOTE : 	If no values are specified for stm1 or stm0, then#		the process configures all tributaries.##------------------------------------------------------------------------------proc LINE_SONET_HO_MAPS_SW_Path_Config {devID interface force_enable manual_enable                                         force_lcode manual_lcode {stm1 -1} {stm0 -1}} {   source /usr/lib/cgi-bin/apps/tclscripts/PM5337_util.tcl    ##### Defining system block name #####  if {$interface == 1} {    set SARCH "LINE_SONET::HOPP::SARCH_1"  } elseif {$interface == 2} {    set SARCH "LINE_SONET::HOPP::SARCH_2"  }    #########################################################  ### Configure the MAPS Software Path Manual and Force ###  ### L-Code for each STS-1/STM-0 	 	        ###  #########################################################    if {$stm1 == -1 || $stm0 == -1} {      # Write same settings to all 12 paths     for {set stm1_index 0} {$stm1_index <= 3} {incr stm1_index} {      for {set stm0_index 0} {$stm0_index <= 2} {incr stm0_index} {                                                                                  # Configure the L-CODE values for SW_P_M_LCODE (Manual) and         # SW_P_F_LCODE (Force)               set SW_P_M_LCODE $manual_lcode        set SW_P_F_LCODE $force_lcode        set lcodevalue [expr [expr $SW_P_M_LCODE << 8]|$SW_P_F_LCODE]                          admindwr $devID $SARCH $lcodevalue 0x0A $stm1_index $stm0_index      }    }   } else {    # Write settings to specified path           # Configure the L-CODE values for SW_P_M_LCODE (Manual) and     # SW_P_F_LCODE (Force)            set SW_P_M_LCODE $manual_lcode    set SW_P_F_LCODE $force_lcode    set lcodevalue [expr [expr $SW_P_M_LCODE << 8]|$SW_P_F_LCODE]    admindwr $devID $SARCH $lcodevalue 0x0A $stm1 $stm0  }  ##############################################################  ### Enable/disable the MAPS Software Path Manual and Force ###  ### L-Code for each STS-1/STM-0	  	             ###  ##############################################################  if {$stm1 == -1 || $stm0 == -1} {         # Write same settings to all 12 paths     for {set stm1_index 0} {$stm1_index <= 3} {incr stm1_index} {      for {set stm0_index 0} {$stm0_index <= 2} {incr stm0_index} {                            set value [expr [expr $manual_enable << 1]|$force_enable]        admindwr $devID $SARCH $value 0x0B $stm1_index $stm0_index          }    }      } else {          # Write settings to specified path          set value [expr [expr $manual_enable << 1]|$force_enable]    admindwr $devID $SARCH $value 0x0B $stm1 $stm0    }    }#------------------------------------------------------------------------------# SCRIPT NAME: LINE_SONET_HO_MAPS_SW_Line_Config## DESCRIPTION:  This procedure configure the MAPS Software Line #               L-Code in the SARC-H block##  PARAMETERS : devID     - This parameter is used to specify the device #                           under configuration  ##               interface - 1 or 2##               force_enable - 0 to disable, 1 to enable##               manual_enable - 0 to disable, 1 to enable##               force_lcode - 0x01 ~ 0xFE## 		manual_lcode - 0x01 ~ 0xFE#               #  NOTE : 	#               #------------------------------------------------------------------------------proc LINE_SONET_HO_MAPS_SW_Line_Config {devID interface force_enable manual_enable                                                           force_lcode manual_lcode} {   source /usr/lib/cgi-bin/apps/tclscripts/PM5337_util.tcl    ##############################################################    ### Configure and enable the MAPS SW Line Manual and Force ###  ### L-Code values					     ###  ##############################################################    set addr_0x1489 [expr 0x1489 + (0x100 * ($interface -1))]  set addr_0x148A [expr 0x148A + (0x100 * ($interface -1))]    set value [expr [expr $manual_lcode << 8]|$force_lcode]  admwr $devID $addr_0x1489 $value        admwrb $devID $addr_0x148A 10 $manual_enable  admwrb $devID $addr_0x148A 9 $manual_enable}

⌨️ 快捷键说明

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