From c32880b2387980c96dce25f8b2ced5dc71a724a5 Mon Sep 17 00:00:00 2001 From: Chris Morley Date: Mon, 1 Jan 2018 12:19:18 -0800 Subject: [PATCH] pncconf -add internal data for 7i92 and 7i80HD cards Not tested on cards --- src/emc/usr_intf/pncconf/pncconf.py | 20 +++++--- src/emc/usr_intf/pncconf/private_data.py | 64 +++++++++++++++++++++++- 2 files changed, 76 insertions(+), 8 deletions(-) diff --git a/src/emc/usr_intf/pncconf/pncconf.py b/src/emc/usr_intf/pncconf/pncconf.py index 9b140282b5..21cf728fc0 100755 --- a/src/emc/usr_intf/pncconf/pncconf.py +++ b/src/emc/usr_intf/pncconf/pncconf.py @@ -1344,7 +1344,7 @@ def make_pinname(self, pin, gpionumber = False, prefixonly = False): # if gpionumber flag is true - convert to gpio pin name if gpionumber or ptype in(_PD.GPIOI,_PD.GPIOO,_PD.GPIOD): comptype = "gpio" - if '5i25' in boardname or '7i76e' in boardname: + if '5i25' in boardname or '7i76e' in boardname or '7i92' in boardname: compnum = int(pinnum)+(concount*17) else: compnum = int(pinnum)+(concount*24) @@ -1658,12 +1658,16 @@ def add_external_folder_boardnames(self): self._p.MESA_BOARDNAMES.append(folder) self._p.MESA_BOARDNAMES.append('5i25-Internal Data') self._p.MESA_BOARDNAMES.append('7i76e-Internal Data') + self._p.MESA_BOARDNAMES.append('7i92-Internal Data') + self._p.MESA_BOARDNAMES.append('7i80HD-Internal Data') else: #TODO what if there are no external firmware is this enough? self.warning_dialog(_("You have no hostmot2 firmware downloaded in folder:\n%s\n\ PNCconf will use internal firmware data"%self._p.FIRMDIR),True) self._p.MESA_BOARDNAMES.append('5i25-Internal Data') self._p.MESA_BOARDNAMES.append('7i76e-Internal Data') + self._p.MESA_BOARDNAMES.append('7i92-Internal Data') + self._p.MESA_BOARDNAMES.append('7i80HD-Internal Data') # add any extra firmware boardnames from .pncconf-preference file if not self._p.EXTRA_MESA_FIRMWAREDATA == []: for search, item in enumerate(self._p.EXTRA_MESA_FIRMWAREDATA): @@ -2943,7 +2947,8 @@ def set_mesa_options(self,boardnum,title,firmware,numofpwmgens,numoftppwmgens,nu self.widgets["mesa%dsserial0_3"% boardnum].hide() self.widgets["mesa%dsserial0_4"% boardnum].hide() currentboard = self.d["mesa%d_currentfirmwaredata"% boardnum][_PD._BOARDNAME] - if currentboard == "5i20" or currentboard == "5i23" or currentboard == "5i24": + if currentboard == "5i20" or currentboard == "5i23" \ + or currentboard == "5i24" or currentboard == "7i80HD": self.widgets["mesa%dcon2table"% boardnum].show() self.widgets["mesa%dcon3table"% boardnum].show() self.widgets["mesa%dcon4table"% boardnum].show() @@ -2955,7 +2960,7 @@ def set_mesa_options(self,boardnum,title,firmware,numofpwmgens,numoftppwmgens,nu if currentboard == "5i25": self.widgets["mesa%dcon2table"% boardnum].show() self.widgets["mesa%dcon3table"% boardnum].show() - if currentboard == "7i76e": + if currentboard in ("7i76e","7i92"): for i in self.d["mesa%d_currentfirmwaredata"% boardnum][_PD._NUMOFCNCTRS]: self.widgets["mesa%dcon%dtable"% (boardnum,i)].show() @@ -3461,7 +3466,7 @@ def firmware_to_widgets(self,boardnum,firmptype,p,ptype,pinv,complabel,compnum,c self.widgets[complabel].set_text("%02d:"%(concount*24+pin)) # sserial input else: self.widgets[complabel].set_text("%02d:"%(concount*24+pin-24)) #sserial output - elif '5i25' in currentboard or '7i76e' in currentboard: + elif '5i25' in currentboard or '7i76e' in currentboard or '7i92' in currentboard: self.widgets[complabel].set_text("%03d:"%(concount*17+pin))# 5i25 mainboard GPIO else: self.widgets[complabel].set_text("%03d:"%(concount*24+pin))# mainboard GPIO @@ -5455,9 +5460,9 @@ def hostmot2_command_string(self): mesa0_ioaddr = ' ioaddr=%s ioaddr_hi=0 epp_wide=1'% self.d.mesa0_parportaddrs if '7i43' in board1: mesa1_ioaddr = ' ioaddr=%s ioaddr_hi=0 epp_wide=1'% self.d.mesa1_parportaddrs - if '7i76e' in board0: + if '7i76e' in board0 or '7i92' in board0 or '7i80' in board0: board0_ip = ''' board_ip="192.168.1.121"''' - if '7i76e' in board1: + if '7i76e' in board1 or '7i92' in board1 or '7i80' in board0: board1_ip = ''' board_ip="192.168.1.121"''' if not "5i25" in board0: firmstring0 = "firmware=hm2/%s/%s.BIT" % (directory0, firm0) @@ -5547,7 +5552,8 @@ def hostmot2_command_string(self): halnum = 0 write_cmnds.append( "addf hm2_%s.%d.write servo-thread"% (self.d["mesa%d_currentfirmwaredata"% boardnum][_PD._BOARDNAME], halnum)) - if '7i76e' in self.d["mesa%d_currentfirmwaredata"% boardnum][_PD._BOARDNAME]: + if '7i76e' in self.d["mesa%d_currentfirmwaredata"% boardnum][_PD._BOARDNAME] or \ + '7i92' in self.d["mesa%d_currentfirmwaredata"% boardnum][_PD._BOARDNAME]: write_cmnds.append( "setp hm2_%s.%d.dpll.01.timer-us -50"% (self.d["mesa%d_currentfirmwaredata"% boardnum][_PD._BOARDNAME], halnum)) write_cmnds.append( "setp hm2_%s.%d.stepgen.timer-number 1"% diff --git a/src/emc/usr_intf/pncconf/private_data.py b/src/emc/usr_intf/pncconf/private_data.py index 55bf3d1afe..398365c8b8 100644 --- a/src/emc/usr_intf/pncconf/private_data.py +++ b/src/emc/usr_intf/pncconf/private_data.py @@ -421,6 +421,7 @@ def __init__(self,app,bin_dir,base_dir): # low frequency rate , hi frequency rate, # available connector numbers, then list of component type and logical number self.MESA_INTERNAL_FIRMWAREDATA = [ + # 5i25 #################### ['5i25-Internal Data', '5i25', '7i76x2 -With One 7i76', '5i25', 'hm2_pci', 1,3, 0,0, 0,3, 0,0, 5,2, 1,2, 0,0,0,0,0,0,0,0, 1, 34, 33, 200, [3, 2], # TAB 3 [S.STEPB,0],[S.STEPA,0],[S.STEPB,1],[S.STEPA,1],[S.STEPB,2],[S.STEPA,2],[S.STEPB,3],[S.STEPA,3],[S.STEPB,4],[S.STEPA,4], @@ -481,6 +482,8 @@ def __init__(self,app,bin_dir,base_dir): [S.STEPA, 6],[S.STEPB, 6],[S.STEPA, 7],[S.STEPB, 7],[S.GPIOI, 0],[S.ENCA, 1],[S.ENCB, 1],[S.ENCI, 1], [S.NUSED, 0],[S.NUSED, 0],[S.NUSED, 0],[S.NUSED, 0],[S.NUSED, 0],[S.NUSED, 0],[S.NUSED, 0],], + + # 5i20 ##################### ["5i20", "5i20", "SV12", "5i20", "hm2_pci", 12,3, 0,0, 12,3, 0,0, 0,0, 0,0, 0,0,0,0,0,0,0,0, 1, 72 , 33, 100, [2,3,4], [S.ENCB,1],[S.ENCA,1],[S.ENCB,0],[S.ENCA,0],[S.ENCI,1],[S.ENCI,0],[S.PWMP,1],[S.PWMP,0],[S.PWMD,1],[S.PWMD,0],[S.PWME,1],[S.PWME,0], [S.ENCB,3],[S.ENCA,3],[S.ENCB,2],[S.ENCA,2],[S.ENCI,3],[S.ENCI,2],[S.PWMP,3],[S.PWMP,2],[S.PWMD,3],[S.PWMD,2],[S.PWME,3],[S.PWME,2], @@ -497,6 +500,8 @@ def __init__(self,app,bin_dir,base_dir): [S.STEPA,0],[S.STEPB,0],[S.GPIOI,0],[S.GPIOI,0],[S.GPIOI,0],[S.GPIOI,0],[S.STEPA,1],[S.STEPB,1],[S.GPIOI,0],[S.GPIOI,0],[S.GPIOI,0],[S.GPIOI,0], [S.STEPA,2],[S.STEPB,2],[S.GPIOI,0],[S.GPIOI,0],[S.GPIOI,0],[S.GPIOI,0],[S.STEPA,3],[S.STEPB,3],[S.GPIOI,0],[S.GPIOI,0],[S.GPIOI,0],[S.GPIOI,0] ], + + # 7i76e #################### ['7i76e-Internal Data', '7i76e', '7i76e', '7i76', 'hm2_eth', 1,3, 0,0, 0,3, 0,0, 5,2, 1,2, 0,0,0,0,0,0,0,0, 1, 34, 33, 200, [1, 2, 3], # TAB 1 [S.STEPB,0],[S.STEPA,0],[S.STEPB,1],[S.STEPA,1],[S.STEPB,2],[S.STEPA,2],[S.STEPB,3],[S.STEPA,3],[S.STEPB,4],[S.STEPA,4], @@ -509,8 +514,65 @@ def __init__(self,app,bin_dir,base_dir): # TAB 3 [S.GPIOI, 0],[S.GPIOI, 0],[S.GPIOI, 0],[S.GPIOI, 0],[S.GPIOI, 0],[S.GPIOI, 0],[S.GPIOI, 0],[S.GPIOI, 0],[S.GPIOI, 0],[S.GPIOI, 0], [S.GPIOI, 0],[S.GPIOI, 0],[S.GPIOI, 0],[S.GPIOI, 0],[S.GPIOI, 0],[S.GPIOI, 0],[S.GPIOI, 0], + [S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],], + + # 7i92 #################### + ["7i92-Internal Data", "7i92", "7i76x2 with one 7i76 ", "5i92", "hm2_eth", 2,3, 0,0, 0,3, 0,0, 10,2, 1,4, 0,0,0,0,0,0,0,0, 1, 34 , 33, 200, [2,1], + # TAB 2 + [S.STEPB,0],[S.STEPA,0],[S.STEPB,1],[S.STEPA,1],[S.STEPB,2],[S.STEPA,2],[S.STEPB,3],[S.STEPA,3],[S.STEPB,4],[S.STEPA,4], + [S.SS7I76M0,0],[S.RXDATA0,0],[S.TXDATA1,0],[S.RXDATA1,0],[S.ENCI,0],[S.ENCB,0],[S.ENCA,0], [S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0], - ], + # TAB 1 + [S.GPIOI, 0],[S.GPIOI, 0],[S.GPIOI, 0],[S.GPIOI, 0],[S.GPIOI, 0],[S.GPIOI, 0],[S.GPIOI, 0],[S.GPIOI, 0],[S.GPIOI, 0],[S.GPIOI, 0], + [S.GPIOI, 0],[S.GPIOI, 0],[S.GPIOI, 0],[S.GPIOI, 0],[S.GPIOI, 0],[S.GPIOI, 0],[S.GPIOI, 0], + [S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],], + + ["7i92-Internal Data", "7i92", "7i76x2", "7i92", "hm2_eth", 2,3, 0,0, 0,3, 0,0, 10,2, 1,4, 0,0,0,0,0,0,0,0, 1, 34 , 33, 200, [2,1], + # TAB 2 + [S.STEPB,0],[S.STEPA,0],[S.STEPB,1],[S.STEPA,1],[S.STEPB,2],[S.STEPA,2],[S.STEPB,3],[S.STEPA,3],[S.STEPB,4],[S.STEPA,4], + [S.SS7I76M0,0],[S.RXDATA0,0],[S.TXDATA1,0],[S.RXDATA1,0],[S.ENCI,0],[S.ENCB,0],[S.ENCA,0], + [S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0], + # TAB 1 + [S.STEPB,5],[S.STEPA,5],[S.STEPB,6],[S.STEPA,6],[S.STEPB,7],[S.STEPA,7],[S.STEPB,8],[S.STEPA,8],[S.STEPB,9],[S.STEPA,9], + [S.SS7I76M2,0],[S.RXDATA2,0],[S.TXDATA3,0],[S.RXDATA3,0],[S.ENCI,1],[S.ENCB,1],[S.ENCA,1], + [S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],], + + ['7i92-Internal Data', '7i92', '7i77x2 with on 7i77', '7i92', 'hm2_eth', 12,3, 0,0, 0,3, 0,0, 0,2, 1,6, 0,0,0,0,0,0,0,0, 1, 34, 33, 200, [2, 1], + # TAB 2 + [S.TXEN2, 0],[S.TXDATA2, 0],[S.RXDATA2, 0],[S.SS7I77M1, 0],[S.RXDATA1, 0],[S.SS7I77M0, 0],[S.RXDATA0, 0],[S.MXES, 0],[S.MXE0, 0],[S.MXE1, 0], + [S.MXEI, 0],[S.MXE0, 1],[S.MXE1, 1],[S.MXEI, 1],[S.MXE0, 2],[S.MXE1, 2],[S.MXEI, 2], + [S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0], + # TAB 1 + [S.GPIOI, 0],[S.GPIOI, 0],[S.GPIOI, 0],[S.GPIOI, 0],[S.GPIOI, 0],[S.GPIOI, 0],[S.GPIOI, 0],[S.GPIOI, 0],[S.GPIOI, 0],[S.GPIOI, 0], + [S.GPIOI, 0],[S.GPIOI, 0],[S.GPIOI, 0],[S.GPIOI, 0],[S.GPIOI, 0],[S.GPIOI, 0],[S.GPIOI, 0], + [S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],], + + ['7i92-Internal Data', '7i92', '7i77x2', '7i92', 'hm2_eth', 12,3, 0,0, 0,3, 0,0, 0,2, 1,6, 0,0,0,0,0,0,0,0, 1, 34, 33, 200, [2, 1], + # TAB 2 + [S.TXEN2, 0],[S.TXDATA2, 0],[S.RXDATA2, 0],[S.SS7I77M1, 0],[S.RXDATA1, 0],[S.SS7I77M0, 0],[S.RXDATA0, 0],[S.MXES, 0],[S.MXE0, 0],[S.MXE1, 0], + [S.MXEI, 0],[S.MXE0, 1],[S.MXE1, 1],[S.MXEI, 1],[S.MXE0, 2],[S.MXE1, 2],[S.MXEI, 2], + [S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0], + # TAB 1 + [S.TXEN5, 0],[S.TXDATA5, 0],[S.RXDATA5, 0],[S.SS7I77M4, 0],[S.RXDATA4, 0],[S.SS7I77M3, 0],[S.RXDATA3, 0],[S.MXES, 3],[S.MXE0, 3],[S.MXE1, 3], + [S.MXEI, 3],[S.MXE0, 4],[S.MXE1, 4],[S.MXEI, 4],[S.MXE0, 5],[S.MXE1, 5],[S.MXEI, 5], + [S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],[S.NUSED,0],], + + # 7i80HD ################# + ["7i80HD-Internal Data", "7i80HD", "SV12", "7i80HD", "hm2_eth", 12,3, 0,0, 12,3, 0,0, 0,0, 0,0, 0,0,0,0,0,0,0,0, 1, 72 , 33, 100, [2,3,4], + [S.ENCB,1],[S.ENCA,1],[S.ENCB,0],[S.ENCA,0],[S.ENCI,1],[S.ENCI,0],[S.PWMP,1],[S.PWMP,0],[S.PWMD,1],[S.PWMD,0],[S.PWME,1],[S.PWME,0], + [S.ENCB,3],[S.ENCA,3],[S.ENCB,2],[S.ENCA,2],[S.ENCI,3],[S.ENCI,2],[S.PWMP,3],[S.PWMP,2],[S.PWMD,3],[S.PWMD,2],[S.PWME,3],[S.PWME,2], + [S.ENCB,5],[S.ENCA,5],[S.ENCB,4],[S.ENCA,4],[S.ENCI,5],[S.ENCI,4],[S.PWMP,5],[S.PWMP,4],[S.PWMD,5],[S.PWMD,4],[S.PWME,5],[S.PWME,4], + [S.ENCB,7],[S.ENCA,7],[S.ENCB,6],[S.ENCA,6],[S.ENCI,7],[S.ENCI,6],[S.PWMP,7],[S.PWMP,6],[S.PWMD,7],[S.PWMD,6],[S.PWME,7],[S.PWME,6], + [S.ENCB,9],[S.ENCA,9],[S.ENCB,8],[S.ENCA,8],[S.ENCI,9],[S.ENCI,8],[S.PWMP,9],[S.PWMP,8],[S.PWMD,9],[S.PWMD,8],[S.PWME,9],[S.PWME,8], + [S.ENCB,11],[S.ENCA,11],[S.ENCB,10],[S.ENCA,10],[S.ENCI,11],[S.ENCI,10],[S.PWMP,11],[S.PWMP,10],[S.PWMD,11],[S.PWMD,10],[S.PWME,11],[S.PWME,10],], + + ["7i80HD-Internal Data", "7i80HD", "SVST8_4", "7i80HD", "hm2_eth", 8,3, 0,0, 8,3, 0,0, 4,2, 0,0, 0,0,0,0,0,0,0,0, 1, 72, 33, 100, [2,3,4], + [S.ENCB,1],[S.ENCA,1],[S.ENCB,0],[S.ENCA,0],[S.ENCI,1],[S.ENCI,0],[S.PWMP,1],[S.PWMP,0],[S.PWMD,1],[S.PWMD,0],[S.PWME,1],[S.PWME,0], + [S.ENCB,3],[S.ENCA,3],[S.ENCB,2],[S.ENCA,2],[S.ENCI,3],[S.ENCI,2],[S.PWMP,3],[S.PWMP,2],[S.PWMD,3],[S.PWMD,2],[S.PWME,3],[S.PWME,2], + [S.ENCB,5],[S.ENCA,5],[S.ENCB,4],[S.ENCA,4],[S.ENCI,5],[S.ENCI,4],[S.PWMP,5],[S.PWMP,4],[S.PWMD,5],[S.PWMD,4],[S.PWME,5],[S.PWME,4], + [S.ENCB,7],[S.ENCA,7],[S.ENCB,6],[S.ENCA,6],[S.ENCI,7],[S.ENCI,6],[S.PWMP,7],[S.PWMP,6],[S.PWMD,7],[S.PWMD,6],[S.PWME,7],[S.PWME,6], + [S.STEPA,0],[S.STEPB,0],[S.GPIOI,0],[S.GPIOI,0],[S.GPIOI,0],[S.GPIOI,0],[S.STEPA,1],[S.STEPB,1],[S.GPIOI,0],[S.GPIOI,0],[S.GPIOI,0],[S.GPIOI,0], + [S.STEPA,2],[S.STEPB,2],[S.GPIOI,0],[S.GPIOI,0],[S.GPIOI,0],[S.GPIOI,0],[S.STEPA,3],[S.STEPB,3],[S.GPIOI,0],[S.GPIOI,0],[S.GPIOI,0],[S.GPIOI,0] ], ] #**************************