summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSuchita Lad2025-04-23 15:25:44 +0530
committerSuchita Lad2025-04-23 15:25:44 +0530
commit433f227622ab8760e8298ecf963976d3997b4fd3 (patch)
treeb8170da93de27dec1d906edbfcc9b2e4859ad47b
parentcacba22860264ce200ed4d856950a87cc706f4eb (diff)
downloadCommon-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.py2
-rw-r--r--blocks/Xcos/blocks/CONST.py2
-rw-r--r--blocks/Xcos/blocks/Capacitor.py4
-rw-r--r--blocks/Xcos/blocks/DELAY_f.py2
-rw-r--r--blocks/Xcos/blocks/GAINBLK.py2
-rw-r--r--blocks/Xcos/blocks/GAINBLK_f.py11
-rw-r--r--blocks/Xcos/blocks/IN_f.py2
-rw-r--r--blocks/Xcos/blocks/STEP.py2
-rw-r--r--blocks/Xcos/blocks/SineVoltage.py8
-rw-r--r--blocks/Xcos/common/AAAAAA.py1
-rw-r--r--blocks/Xcos/ports/ExplicitOutputPort.py4
-rw-r--r--blocks/eda-frontend/src/components/SchematicEditor/ToolbarExtension.js4
-rw-r--r--blocks/simulationAPI/helpers/ngspice_helper.py2
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()