| | 104 | return [MainFrameTreeNode("Components", self.Available_Components), |
| | 105 | MainFrameTreeNode("Devices", self.Available_Devices), |
| | 106 | MainFrameTreeNode("Nodes", self.Available_Nodes)] |
| | 107 | |
| | 108 | def getActiveWaveform(self): |
| | 109 | return self.active_waveform |
| | 110 | |
| | 111 | def getActivePlatform(self): |
| | 112 | return self.active_platform |
| | 113 | |
| | 114 | |
| | 115 | def generateTestWaveform(self): |
| | 116 | self.active_wave = wavedev.WaveformClass.Waveform() |
| | 117 | int1 = wavedev.ComponentClass.Interface('complexShort') |
| | 118 | op1 = wavedev.ComponentClass.Operation('pushPacket','void') |
| | 119 | param1 = wavedev.ComponentClass.Param('I','PortTypes::ShortSequence','in') |
| | 120 | param2 = wavedev.ComponentClass.Param('Q','PortTypes::ShortSequence','in') |
| | 121 | op1.params.extend([param1,param2]) |
| | 122 | int1.operations.append(op1) |
| | 123 | |
| | 124 | t2 = wavedev.ComponentClass.Component("Transmitter",AC=True) |
| | 125 | p1 = wavedev.ComponentClass.Port('inPortTx1',copy.deepcopy(int1),'Provides') |
| | 126 | p2 = wavedev.ComponentClass.Port('outPortTx1',copy.deepcopy(int1),'Uses') |
| | 127 | t2.ports.append(p1); t2.ports.append(p2) |
| | 128 | self.active_wave.components.append(t2) |
| | 129 | |
| | 130 | t3 = wavedev.ComponentClass.Component("Channel") |
| | 131 | p1 = wavedev.ComponentClass.Port('inPortCh1',copy.deepcopy(int1),'Provides') |
| | 132 | p2 = wavedev.ComponentClass.Port('inPortCh2',copy.deepcopy(int1),'Provides') |
| | 133 | p3 = wavedev.ComponentClass.Port('inPortCh3',copy.deepcopy(int1),'Provides') |
| | 134 | p4 = wavedev.ComponentClass.Port('outPortCh1',copy.deepcopy(int1),'Uses') |
| | 135 | p5 = wavedev.ComponentClass.Port('outPortCh2',copy.deepcopy(int1),'Uses') |
| | 136 | p6 = wavedev.ComponentClass.Port('outPortCh3',copy.deepcopy(int1),'Uses') |
| | 137 | t3.ports.extend([p1,p2,p3,p4,p5,p6]) |
| | 138 | self.active_wave.components.append(t3) |
| | 139 | |
| | 140 | t4 = wavedev.ComponentClass.Component("Receiver") |
| | 141 | p1 = wavedev.ComponentClass.Port('inPortRx1',copy.deepcopy(int1),'Provides') |
| | 142 | p2 = wavedev.ComponentClass.Port('outPortRx1',copy.deepcopy(int1),'Uses') |
| | 143 | t4.ports.append(p1); t4.ports.append(p2) |
| | 144 | self.active_wave.components.append(t4) |
| | 145 | |
| | 146 | temp_dev = wavedev.ComponentClass.Component("GPP") |
| | 147 | self.active_wave.devices.append(temp_dev) |
| | 148 | return [MainFrameTreeNode("Sample Waveform", self.active_wave)] |
| | 149 | |
| | 150 | def displayDoxygen(self, referenceMaterials): |
| | 151 | defaultHtml = 'index.html' |
| | 152 | defaultPdf = 'refman.pdf' |
| | 153 | docList = None |
| | 154 | |
| | 155 | docsPath = self.installPath + 'docs/' + referenceMaterials.name |
| | 156 | print docsPath |
| | 157 | RunInNewThread('evince ' + "/home/Ossie/Desktop/OSSIE_0.6.2_User_Guide.pdf").start() |
| | 158 | if os.path.isdir(docsPath): |
| | 159 | docList = os.listdir(docsPath) |
| | 160 | if os.path.isfile(docsPath + '/' + defaultHtml): |
| | 161 | webbrowser.open_new('file://' + docsPath + '/' + defaultHtml) |
| | 162 | elif os.path.isfile(docsPath + '/' + defaultPdf): |
| | 163 | #find more portable way to view pdf? |
| | 164 | try: |
| | 165 | RunInNewThread('evince ' + docsPath + '/' + defaultPdf + ' &') |
| | 166 | finally: |
| | 167 | errorMsg(self,'evince pdf viewer threw exception or not found') |
| | 168 | #webbrowser.open('file://' + docsPath + '/' + defaultPdf, 1) |
| | 169 | else: |
| | 170 | errorMsg(self,'Neither index.html nor refman.pdf found in ' + docsPath + ': directory listing: ' + str(docList)) |
| | 171 | else: |
| | 172 | errorMsg(self,'No directory for ' + referenceMaterials.name + ' could be found in: ' + self.installPath + 'docs') |
| | 173 | return |
| | 174 | |
| | 175 | def errorMsg(self, message): |
| | 176 | sys.stderr.write(message) |
| | 177 | |