diff options
author | Suchita Lad | 2025-04-23 15:25:44 +0530 |
---|---|---|
committer | Suchita Lad | 2025-04-23 15:25:44 +0530 |
commit | 433f227622ab8760e8298ecf963976d3997b4fd3 (patch) | |
tree | b8170da93de27dec1d906edbfcc9b2e4859ad47b | |
parent | cacba22860264ce200ed4d856950a87cc706f4eb (diff) | |
download | Common-Interface-Project-433f227622ab8760e8298ecf963976d3997b4fd3.tar.gz Common-Interface-Project-433f227622ab8760e8298ecf963976d3997b4fd3.tar.bz2 Common-Interface-Project-433f227622ab8760e8298ecf963976d3997b4fd3.zip |
Updated blocks to run simulation
-rw-r--r-- | blocks/Xcos/blocks/CLOCK_f.py | 2 | ||||
-rw-r--r-- | blocks/Xcos/blocks/CONST.py | 2 | ||||
-rw-r--r-- | blocks/Xcos/blocks/Capacitor.py | 4 | ||||
-rw-r--r-- | blocks/Xcos/blocks/DELAY_f.py | 2 | ||||
-rw-r--r-- | blocks/Xcos/blocks/GAINBLK.py | 2 | ||||
-rw-r--r-- | blocks/Xcos/blocks/GAINBLK_f.py | 11 | ||||
-rw-r--r-- | blocks/Xcos/blocks/IN_f.py | 2 | ||||
-rw-r--r-- | blocks/Xcos/blocks/STEP.py | 2 | ||||
-rw-r--r-- | blocks/Xcos/blocks/SineVoltage.py | 8 | ||||
-rw-r--r-- | blocks/Xcos/common/AAAAAA.py | 1 | ||||
-rw-r--r-- | blocks/Xcos/ports/ExplicitOutputPort.py | 4 | ||||
-rw-r--r-- | blocks/eda-frontend/src/components/SchematicEditor/ToolbarExtension.js | 4 | ||||
-rw-r--r-- | blocks/simulationAPI/helpers/ngspice_helper.py | 2 |
13 files changed, 21 insertions, 25 deletions
diff --git a/blocks/Xcos/blocks/CLOCK_f.py b/blocks/Xcos/blocks/CLOCK_f.py index ff2f4860..ae5aa488 100644 --- a/blocks/Xcos/blocks/CLOCK_f.py +++ b/blocks/Xcos/blocks/CLOCK_f.py @@ -5,7 +5,7 @@ from blocks.SplitBlock import SplitBlock from common.AAAAAA import * -def CLOCK_f(outroot, attribid, ordering, geometry, parameters, parent=1, style=None): +def CLOCK_f(outroot, attribid, ordering, geometry, parameters, parent=1, style=None, superblock=None): func_name = 'CLOCK_f' if style is None: style = func_name diff --git a/blocks/Xcos/blocks/CONST.py b/blocks/Xcos/blocks/CONST.py index 8bae533c..f88091fc 100644 --- a/blocks/Xcos/blocks/CONST.py +++ b/blocks/Xcos/blocks/CONST.py @@ -13,7 +13,7 @@ def CONST(outroot, attribid, ordering, geometry, parameters, parent=1, style=Non addExprsNode(outnode, TYPE_STRING, 1, parameters) addSciDBNode(outnode, TYPE_DOUBLE, AS_REAL_PARAM, - 1, realParts=[parameters[0]]) + 1, realParts=[format_real_number(parameters[0])]) addTypeNode(outnode, TYPE_DOUBLE, AS_INT_PARAM, 0, []) addObjNode(outnode, TYPE_ARRAY, CLASS_LIST, AS_OBJ_PARAM, []) array = ['0'] diff --git a/blocks/Xcos/blocks/Capacitor.py b/blocks/Xcos/blocks/Capacitor.py index 537dcf29..068123c8 100644 --- a/blocks/Xcos/blocks/Capacitor.py +++ b/blocks/Xcos/blocks/Capacitor.py @@ -13,8 +13,8 @@ def Capacitor(outroot, attribid, ordering, geometry, parameters, parent=1, style dependsOnU='1') addExprsNode(outnode, TYPE_STRING, 2, parameters) - addTypeNode(outnode, TYPE_DOUBLE, AS_REAL_PARAM, 1, - [format_real_number(parameters[0])]) + addSciDBNode(outnode, TYPE_DOUBLE, AS_REAL_PARAM, 1, realParts=[ + format_real_number(parameters[0])]) addTypeNode(outnode, TYPE_DOUBLE, AS_INT_PARAM, 0, []) addObjNode(outnode, TYPE_ARRAY, CLASS_LIST, AS_OBJ_PARAM, []) array = ['0'] diff --git a/blocks/Xcos/blocks/DELAY_f.py b/blocks/Xcos/blocks/DELAY_f.py index a7c39bee..3309a486 100644 --- a/blocks/Xcos/blocks/DELAY_f.py +++ b/blocks/Xcos/blocks/DELAY_f.py @@ -58,7 +58,7 @@ def DELAY_f(outroot, attribid, ordering, geometry, parameters, parent=1, style=N REGISTER_f(root, block_id[4], ordering, geometry, [parameters[1]]) - EVTDLY_f(root, block_id[5], ordering, geometry, [parameters[0], '0']) + EVTDLY_f(root, block_id[5], ordering, geometry, ['0.01', parameters[0]]) addNodemxCell(SuperBlockDiagram, TYPE_MXCELL, a='defaultParent', id=block_id[1], diff --git a/blocks/Xcos/blocks/GAINBLK.py b/blocks/Xcos/blocks/GAINBLK.py index 446cd126..c6903c7c 100644 --- a/blocks/Xcos/blocks/GAINBLK.py +++ b/blocks/Xcos/blocks/GAINBLK.py @@ -14,7 +14,7 @@ def GAINBLK(outroot, attribid, ordering, geometry, parameters, parent=1, style=N addExprsNode(outnode, TYPE_STRING, 2, parameters) addSciDBNode(outnode, TYPE_DOUBLE, AS_REAL_PARAM, - 1, realParts=[parameters[0]]) + 1, realParts=[format_real_number(parameters[0])]) addTypeNode(outnode, TYPE_DOUBLE, AS_INT_PARAM, 0, []) addObjNode(outnode, TYPE_ARRAY, CLASS_LIST, AS_OBJ_PARAM, []) array = ['0'] diff --git a/blocks/Xcos/blocks/GAINBLK_f.py b/blocks/Xcos/blocks/GAINBLK_f.py index dfcfcfae..6f8df444 100644 --- a/blocks/Xcos/blocks/GAINBLK_f.py +++ b/blocks/Xcos/blocks/GAINBLK_f.py @@ -13,16 +13,9 @@ def GAINBLK_f(outroot, attribid, ordering, geometry, parameters, parent=1, style dependsOnU='1') addExprsNode(outnode, TYPE_STRING, 1, parameters) - # num, denom = map(float, parameters[0].split('/')) - if '/' in parameters[0]: - num, denom = map(float, parameters[0].split('/')) - else: - num = float(parameters[0]) - denom = 1.0 - value = num / denom - realPart = "{:.1E}".format(value).replace("E-0", "E-").replace("E+0", "E+") addSciDBNode(outnode, TYPE_DOUBLE, AS_REAL_PARAM, - 1, realParts=[realPart]) + 1, realParts=[format_real_number(parameters[0])] + ) addTypeNode(outnode, TYPE_DOUBLE, AS_INT_PARAM, 0, []) addObjNode(outnode, TYPE_ARRAY, CLASS_LIST, AS_OBJ_PARAM, []) array = ['0'] diff --git a/blocks/Xcos/blocks/IN_f.py b/blocks/Xcos/blocks/IN_f.py index 2a52a5f4..d7ec27dd 100644 --- a/blocks/Xcos/blocks/IN_f.py +++ b/blocks/Xcos/blocks/IN_f.py @@ -13,7 +13,7 @@ def IN_f(outroot, attribid, ordering, geometry, parameters, parent=1, style=None addExprsNode(outnode, TYPE_STRING, len(parameters), parameters) addTypeNode(outnode, TYPE_DOUBLE, AS_REAL_PARAM, 0, []) - addPrecisionNode(outnode, TYPE_INTEGER, AS_INT_PARAM, 1, parameters) + addPrecisionNode(outnode, TYPE_INTEGER, AS_INT_PARAM, 1, parameters[0]) addObjNode(outnode, TYPE_ARRAY, CLASS_LIST, AS_OBJ_PARAM, parameters) array = ['0'] addPrecisionNode(outnode, TYPE_INTEGER, AS_NBZERO, 1, array) diff --git a/blocks/Xcos/blocks/STEP.py b/blocks/Xcos/blocks/STEP.py index 7b48a460..aa30983c 100644 --- a/blocks/Xcos/blocks/STEP.py +++ b/blocks/Xcos/blocks/STEP.py @@ -14,7 +14,7 @@ def STEP(outroot, attribid, ordering, geometry, parameters, parent=1, style=None addExprsNode(outnode, TYPE_STRING, 3, parameters) addSciDBNode(outnode, TYPE_DOUBLE, AS_REAL_PARAM, 2, realParts=[ - format_real_number(parameters[2]), + format_real_number(parameters[1]), format_real_number(parameters[2])]) addTypeNode(outnode, TYPE_DOUBLE, AS_INT_PARAM, 0, []) addObjNode(outnode, TYPE_ARRAY, CLASS_LIST, AS_OBJ_PARAM, parameters) diff --git a/blocks/Xcos/blocks/SineVoltage.py b/blocks/Xcos/blocks/SineVoltage.py index 3685b987..59f96762 100644 --- a/blocks/Xcos/blocks/SineVoltage.py +++ b/blocks/Xcos/blocks/SineVoltage.py @@ -14,7 +14,7 @@ def SineVoltage(outroot, attribid, ordering, geometry, parameters, parent=1, sty addExprsNode(outnode, TYPE_STRING, 5, parameters) addSciDBNode(outnode, TYPE_DOUBLE, AS_REAL_PARAM, 5, realParts=[ - parameters[0], parameters[1], parameters[2], + format_real_number(parameters[0]), format_real_number(parameters[1]), format_real_number(parameters[2]), parameters[3], parameters[4]]) array = ['0'] addTypeNode(outnode, TYPE_DOUBLE, AS_INT_PARAM, 0, []) @@ -48,9 +48,9 @@ def SineVoltage(outroot, attribid, ordering, geometry, parameters, parent=1, sty addSciStringNode(innerArrayNode, height=5, parameters=scilabStringParameters) nestedArrayNode = addArrayNode(innerArrayNode, scilabClass="ScilabList") - addScilabDoubleNode(nestedArrayNode, width=1, realParts=[parameters[0]]) - addScilabDoubleNode(nestedArrayNode, width=1, realParts=[parameters[1]]) - addScilabDoubleNode(nestedArrayNode, width=1, realParts=[parameters[2]]) + addScilabDoubleNode(nestedArrayNode, width=1, realParts=[format_real_number(parameters[0])]) + addScilabDoubleNode(nestedArrayNode, width=1, realParts=[format_real_number(parameters[1])]) + addScilabDoubleNode(nestedArrayNode, width=1, realParts=[format_real_number(parameters[2])]) addScilabDoubleNode(nestedArrayNode, width=1, realParts=[parameters[3]]) addScilabDoubleNode(nestedArrayNode, width=1, realParts=[parameters[4]]) diff --git a/blocks/Xcos/common/AAAAAA.py b/blocks/Xcos/common/AAAAAA.py index 20202e88..e9f91578 100644 --- a/blocks/Xcos/common/AAAAAA.py +++ b/blocks/Xcos/common/AAAAAA.py @@ -915,6 +915,7 @@ def format_real_number(parameter): return '0' try: parameter = convert_scientific_notation(parameter) + parameter = eval(parameter) return "{:.10g}".format(float(parameter)) # Convert numeric strings safely except ValueError: return parameter # Return original non-numeric string diff --git a/blocks/Xcos/ports/ExplicitOutputPort.py b/blocks/Xcos/ports/ExplicitOutputPort.py index 2a7d2437..9f0db2ea 100644 --- a/blocks/Xcos/ports/ExplicitOutputPort.py +++ b/blocks/Xcos/ports/ExplicitOutputPort.py @@ -22,8 +22,8 @@ def ExplicitOutputPort(outroot, attribid, parentattribid, ordering, geometry, outnode = addNode(outroot, func_name, **{'id': attribid}, parent=parentattribid, ordering=ordering, dataType='REAL_MATRIX', dataColumns=1, - initialState="-1.0", style=style, - value=value) + dataLines=1, initialState="-1.0", + style=style, value=value) return outnode diff --git a/blocks/eda-frontend/src/components/SchematicEditor/ToolbarExtension.js b/blocks/eda-frontend/src/components/SchematicEditor/ToolbarExtension.js index 381e40de..e3da555f 100644 --- a/blocks/eda-frontend/src/components/SchematicEditor/ToolbarExtension.js +++ b/blocks/eda-frontend/src/components/SchematicEditor/ToolbarExtension.js @@ -560,9 +560,9 @@ export function ScriptScreen ({ isOpen, onClose }) { </TableRow> </TableHead> <TableBody> - {variables.length > 0 + {variables?.length > 0 ? ( - variables.map((variable, index) => ( + variables.map((variable, index) => ( <TableRow key={index}> <TableCell style={{ border: '1px solid gray', padding: '4px 8px' }}> {variable.name} diff --git a/blocks/simulationAPI/helpers/ngspice_helper.py b/blocks/simulationAPI/helpers/ngspice_helper.py index 75b70e4f..4bfd5e7d 100644 --- a/blocks/simulationAPI/helpers/ngspice_helper.py +++ b/blocks/simulationAPI/helpers/ngspice_helper.py @@ -82,6 +82,8 @@ def CreateXml(file_path, parameters, task_id, workspace_file): (xcosfilebase, __) = splitext(file_path) xcosfile = xcosfilebase + '.xcos' logger.info('will run %s %s %s', 'XmlToXcos', file_path, workspace_file) + if workspace_file is None: + workspace_file = '' proc = subprocess.Popen([XmlToXcos, file_path, workspace_file], stdout=subprocess.PIPE, stderr=subprocess.PIPE) (stdout, stderr) = proc.communicate() |