summaryrefslogtreecommitdiff
path: root/macros
diff options
context:
space:
mode:
Diffstat (limited to 'macros')
-rw-r--r--macros/ASTManagement/AST2Ccode.binbin32492 -> 32548 bytes
-rw-r--r--macros/ASTManagement/AST2Ccode.sci8
-rw-r--r--macros/FunctionAnnotation/FA_SZ_OBSCNT.binbin0 -> 2180 bytes
-rw-r--r--macros/FunctionAnnotation/FA_SZ_OBSCNT.sci17
-rw-r--r--macros/FunctionAnnotation/libbin2324 -> 2348 bytes
-rw-r--r--macros/FunctionAnnotation/names1
-rw-r--r--macros/Hardware/RasberryPi/RPI_DigitalIn.binbin4952 -> 5264 bytes
-rw-r--r--macros/Hardware/RasberryPi/RPI_DigitalIn.sci3
-rw-r--r--macros/SymbolTable/ST_GetInArgInfo.binbin37380 -> 37384 bytes
-rw-r--r--macros/SymbolTable/ST_GetInArgInfo.sci1
-rw-r--r--macros/ToolInitialization/INIT_FillSCI2LibCDirs.binbin1342296 -> 1363208 bytes
-rw-r--r--macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci106
-rw-r--r--macros/findDeps/getAllHeaders.binbin33376 -> 33872 bytes
-rw-r--r--macros/findDeps/getAllHeaders.sci5
-rw-r--r--macros/findDeps/getAllInterfaces.binbin34796 -> 35364 bytes
-rw-r--r--macros/findDeps/getAllInterfaces.sci5
-rw-r--r--macros/findDeps/getAllSources.binbin196436 -> 196932 bytes
-rw-r--r--macros/findDeps/getAllSources.sci5
18 files changed, 143 insertions, 8 deletions
diff --git a/macros/ASTManagement/AST2Ccode.bin b/macros/ASTManagement/AST2Ccode.bin
index f931fd3a..e5e07800 100644
--- a/macros/ASTManagement/AST2Ccode.bin
+++ b/macros/ASTManagement/AST2Ccode.bin
Binary files differ
diff --git a/macros/ASTManagement/AST2Ccode.sci b/macros/ASTManagement/AST2Ccode.sci
index b42fe954..8076d7e2 100644
--- a/macros/ASTManagement/AST2Ccode.sci
+++ b/macros/ASTManagement/AST2Ccode.sci
@@ -153,10 +153,10 @@ while ~meof(fidAST)
SharedInfo.Equal.Lhs = 1; // 1 means that we are inside the Lhs block of the Equal
[EqualInArgName,EqualInArgScope,EqualNInArg] = AST_ReadEqualRhsNames(FileInfo,SharedInfo);
- lengthNumber = length('Number_');
- if (part(EqualInArgScope,1:lengthNumber) == 'Number_')
- SharedInfo.SkipNextEqual = 1
- end
+ // lengthNumber = length('Number_');
+ // if (part(EqualInArgScope,1:lengthNumber) == 'Number_')
+ // SharedInfo.SkipNextEqual = 1
+ // end
SharedInfo.Equal.NInArg = EqualNInArg;
for tmpcnt = 1:SharedInfo.Equal.NInArg
SharedInfo.Equal.InArg(tmpcnt).Name = EqualInArgName(tmpcnt);
diff --git a/macros/FunctionAnnotation/FA_SZ_OBSCNT.bin b/macros/FunctionAnnotation/FA_SZ_OBSCNT.bin
new file mode 100644
index 00000000..70ce8df8
--- /dev/null
+++ b/macros/FunctionAnnotation/FA_SZ_OBSCNT.bin
Binary files differ
diff --git a/macros/FunctionAnnotation/FA_SZ_OBSCNT.sci b/macros/FunctionAnnotation/FA_SZ_OBSCNT.sci
new file mode 100644
index 00000000..80c0f956
--- /dev/null
+++ b/macros/FunctionAnnotation/FA_SZ_OBSCNT.sci
@@ -0,0 +1,17 @@
+function outsize = FA_SZ_OBSCNT(inval,insz1,insz2,nout)
+
+ inval = eval(inval);
+ insz1 = eval(insz1);
+ insz2 = eval(insz2);
+ //nout = eval(nout);
+ no_of_st = int(inval);
+ no_of_in = insz2 - no_of_st;
+ no_of_op = insz1 - no_of_st;
+ if(nout == 1)
+ outsize(1) = string(no_of_st+no_of_op+2);
+ outsize(2) = string(no_of_st+no_of_in);
+ else
+ outsize(1) = string(no_of_st+no_of_in+no_of_op+2);
+ outsize(2) = string(no_of_st+no_of_in+no_of_op);
+ end
+endfunction
diff --git a/macros/FunctionAnnotation/lib b/macros/FunctionAnnotation/lib
index 4053992e..b36e12c2 100644
--- a/macros/FunctionAnnotation/lib
+++ b/macros/FunctionAnnotation/lib
Binary files differ
diff --git a/macros/FunctionAnnotation/names b/macros/FunctionAnnotation/names
index e072098d..3386d8e1 100644
--- a/macros/FunctionAnnotation/names
+++ b/macros/FunctionAnnotation/names
@@ -21,6 +21,7 @@ FA_SZ_FROM_VAL
FA_SZ_LINSPACE_ROW
FA_SZ_LQE
FA_SZ_LQR
+FA_SZ_OBSCNT
FA_SZ_OPAPEX
FA_SZ_OPBACKSLASH
FA_SZ_OPCC
diff --git a/macros/Hardware/RasberryPi/RPI_DigitalIn.bin b/macros/Hardware/RasberryPi/RPI_DigitalIn.bin
index ec8fd0d7..f4c16f39 100644
--- a/macros/Hardware/RasberryPi/RPI_DigitalIn.bin
+++ b/macros/Hardware/RasberryPi/RPI_DigitalIn.bin
Binary files differ
diff --git a/macros/Hardware/RasberryPi/RPI_DigitalIn.sci b/macros/Hardware/RasberryPi/RPI_DigitalIn.sci
index 8775e4cd..4df03f67 100644
--- a/macros/Hardware/RasberryPi/RPI_DigitalIn.sci
+++ b/macros/Hardware/RasberryPi/RPI_DigitalIn.sci
@@ -22,7 +22,8 @@ function state = RPI_DigitalIn(pin)
//
// -----------------------------------------------------------------
//Pins of header P1 which can be used as GPIO
-supported_pins = [3,5,7,8,10,11,12,13,15,16,18,19,21,22,23,24,26]
+supported_pins = [3,5,7,8,10,11,12,13,15,16,18,19,21,22,23,24,26,27,28,29,...
+ 31,31,33,35,36,37,38,40];
PinIsGPIO = members(pin, supported_pins); //Check if input pin supports GPIO
diff --git a/macros/SymbolTable/ST_GetInArgInfo.bin b/macros/SymbolTable/ST_GetInArgInfo.bin
index 4a316171..6eb16e37 100644
--- a/macros/SymbolTable/ST_GetInArgInfo.bin
+++ b/macros/SymbolTable/ST_GetInArgInfo.bin
Binary files differ
diff --git a/macros/SymbolTable/ST_GetInArgInfo.sci b/macros/SymbolTable/ST_GetInArgInfo.sci
index a81c115d..9f5cbd4e 100644
--- a/macros/SymbolTable/ST_GetInArgInfo.sci
+++ b/macros/SymbolTable/ST_GetInArgInfo.sci
@@ -129,6 +129,7 @@ for cntinarg = 1:NInArg
PrintStringInfo('Input Argument '+string(cntinarg)+' is a symbol: '+tmpname+'.',FileInfo.Funct(nxtscifunnumber).ReportFileName,'file');
// #RNU_RES_E
[TBFlagfound,TBType,TBSize,TBValue,TBFindLike,TBDimension,TBScope] = ST_GetSymbolInfo(tmpname,FileInfo,SharedInfo);
+
if (TBFlagfound == 0)
if(ASTFunName == 'ode')
if((NInArg == 4 & cntinarg == 4) | (NInArg == 6 & cntinarg == 6))
diff --git a/macros/ToolInitialization/INIT_FillSCI2LibCDirs.bin b/macros/ToolInitialization/INIT_FillSCI2LibCDirs.bin
index ae688b27..bcc63fc2 100644
--- a/macros/ToolInitialization/INIT_FillSCI2LibCDirs.bin
+++ b/macros/ToolInitialization/INIT_FillSCI2LibCDirs.bin
Binary files differ
diff --git a/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci b/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci
index bcf26703..4afbbe6d 100644
--- a/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci
+++ b/macros/ToolInitialization/INIT_FillSCI2LibCDirs.sci
@@ -6168,6 +6168,112 @@ PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file',
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+//------------------------------------
+//---- Class obscont -----------------
+//------------------------------------
+ClassName = 'OBSCONT';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+
+PrintStringInfo('NIN= 3',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''d''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= FA_SZ_1(FA_SZ_OBSCNT(IN(1).VAL,IN(1).SZ(1), ...
+ IN(1).SZ(2),NOutArg))',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= FA_SZ_2(FA_SZ_OBSCNT(IN(1).VAL,IN(1).SZ(1), ...
+ IN(1).SZ(2),NOutArg))',ClassFileName,'file','y');
+
+PrintStringInfo('NIN= 3',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 2',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''d''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= FA_SZ_1(FA_SZ_OBSCNT(IN(1).VAL,IN(1).SZ(1), ...
+ IN(1).SZ(2),NOutArg))',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= FA_SZ_2(FA_SZ_OBSCNT(IN(1).VAL,IN(1).SZ(1), ...
+ IN(1).SZ(2),NOutArg))',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).TP= ''d''',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(2)= ''2''',ClassFileName,'file','y');
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('ss2d2d2'+ArgSeparator+'d2',ClassFileName,'file','y');
+PrintStringInfo('ss2d2d2'+ArgSeparator+'d2d2',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'obscont';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+
+//------------------------------------
+//---- Class balanc ------------------
+//------------------------------------
+ClassName = 'BALANC';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+
+PrintStringInfo('NIN= 1',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 2',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+
+PrintStringInfo('NIN= 2',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 4',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(2).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(3).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+PrintStringInfo('OUT(4).TP= IN(1).TP',ClassFileName,'file','y');
+PrintStringInfo('OUT(4).SZ(1)= IN(1).SZ(1)',ClassFileName,'file','y');
+PrintStringInfo('OUT(4).SZ(2)= IN(1).SZ(2)',ClassFileName,'file','y');
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('d2'+ArgSeparator+'d2d2',ClassFileName,'file','y');
+PrintStringInfo('d2d2'+ArgSeparator+'d2d2d2d2',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'balanc';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
+//------------------------------------
+//---- Class RCOND -------------------
+//------------------------------------
+ClassName = 'RCOND';
+
+// --- Class Annotation. ---
+PrintStringInfo(' Adding Class: '+ClassName+'.',GeneralReport,'file','y');
+ClassFileName = fullfile(SCI2CLibCAnnClsDir,ClassName+ExtensionCAnnCls);
+
+PrintStringInfo('NIN= 1',ClassFileName,'file','y');
+PrintStringInfo('NOUT= 1',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).TP= ''d''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(1)= ''1''',ClassFileName,'file','y');
+PrintStringInfo('OUT(1).SZ(2)= ''1''',ClassFileName,'file','y');
+
+ClassFileName = fullfile(SCI2CLibCFLClsDir,ClassName+ExtensionCFuncListCls);
+PrintStringInfo('d2'+ArgSeparator+'d0',ClassFileName,'file','y');
+
+// --- Annotation Function And Function List Function. ---
+FunctionName = 'rcond';
+PrintStringInfo(' Adding Function: '+FunctionName+'.',GeneralReport,'file','y');
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCAnnFunDir,ClassName,GeneralReport,ExtensionCAnnFun);
+INIT_GenAnnFLFunctions(FunctionName,SCI2CLibCFLFunDir,ClassName,GeneralReport,ExtensionCFuncListFun);
+
// ////////////////////////////////////////////
// /////PARTE INTRODOTTA DA ALBERTO MOREA
// /////////////////////////////////////////////
diff --git a/macros/findDeps/getAllHeaders.bin b/macros/findDeps/getAllHeaders.bin
index f5bb98e9..8ba5545f 100644
--- a/macros/findDeps/getAllHeaders.bin
+++ b/macros/findDeps/getAllHeaders.bin
Binary files differ
diff --git a/macros/findDeps/getAllHeaders.sci b/macros/findDeps/getAllHeaders.sci
index b37f3e57..50ee358a 100644
--- a/macros/findDeps/getAllHeaders.sci
+++ b/macros/findDeps/getAllHeaders.sci
@@ -151,7 +151,10 @@ function allHeaders = getAllHeaders(SharedInfo)
"src/c/CACSD/includes/syslin.h"
"src/c/CACSD/includes/lqr.h"
"src/c/CACSD/includes/lqe.h"
- "src/c/linearAlgebra/includes/schur.h"];
+ "src/c/CACSD/includes/obscont.h"
+ "src/c/linearAlgebra/includes/schur.h"
+ "src/c/linearAlgebra/includes/balanc.h"
+ "src/c/linearAlgebra/includes/rcond.h"];
//Header files required for "Arduino" output
Arduino_headers = [
diff --git a/macros/findDeps/getAllInterfaces.bin b/macros/findDeps/getAllInterfaces.bin
index da506e8d..66d7e559 100644
--- a/macros/findDeps/getAllInterfaces.bin
+++ b/macros/findDeps/getAllInterfaces.bin
Binary files differ
diff --git a/macros/findDeps/getAllInterfaces.sci b/macros/findDeps/getAllInterfaces.sci
index 32a0c6bb..92f4db95 100644
--- a/macros/findDeps/getAllInterfaces.sci
+++ b/macros/findDeps/getAllInterfaces.sci
@@ -146,7 +146,10 @@ function allInterfaces = getAllInterfaces(SharedInfo)
"src/c/CACSD/interfaces/int_syslin.h"
"src/c/CACSD/interfaces/int_lqr.h"
"src/c/CACSD/interfaces/int_lqe.h"
- "src/c/linearAlgebra/interfaces/int_schur.h"];
+ "src/c/CACSD/interfaces/int_obscont.h"
+ "src/c/linearAlgebra/interfaces/int_schur.h"
+ "src/c/linearAlgebra/interfaces/int_balanc.h"
+ "src/c/linearAlgebra/interfaces/int_rcond.h"];
//Interface files required for "Arduino" output
Arduino_interfaces = [
diff --git a/macros/findDeps/getAllSources.bin b/macros/findDeps/getAllSources.bin
index aa5d4744..e233504b 100644
--- a/macros/findDeps/getAllSources.bin
+++ b/macros/findDeps/getAllSources.bin
Binary files differ
diff --git a/macros/findDeps/getAllSources.sci b/macros/findDeps/getAllSources.sci
index 3f789b47..624de4bc 100644
--- a/macros/findDeps/getAllSources.sci
+++ b/macros/findDeps/getAllSources.sci
@@ -981,8 +981,11 @@ function allSources = getAllSources(SharedInfo)
"src/c/CACSD/syslin/dsyslina.c"
"src/c/CACSD/lqr/dlqra.c"
"src/c/CACSD/lqe/dlqea.c"
+ "src/c/CACSD/obscont/dobsconta.c"
"src/c/linearAlgebra/schur/dschura.c"
- "src/c/linearAlgebra/schur/dgschura.c"];
+ "src/c/linearAlgebra/schur/dgschura.c"
+ "src/c/linearAlgebra/balanc/dbalanca.c"
+ "src/c/linearAlgebra/rcond/drconda.c"];
//Files to be inserted only if output format selected is 'Arduino'.
Arduino_files = ["src/c/scilab-arduino/cmd_digital_out/u8cmd_digital_outs.c"