diff options
Diffstat (limited to 'macros/scilab2c.sci')
-rw-r--r-- | macros/scilab2c.sci | 109 |
1 files changed, 94 insertions, 15 deletions
diff --git a/macros/scilab2c.sci b/macros/scilab2c.sci index d922e0b1..70290d09 100644 --- a/macros/scilab2c.sci +++ b/macros/scilab2c.sci @@ -12,7 +12,7 @@ function scilab2c(varargin) [lhs, rhs] = argn(); - + select rhs // // scilab2c() @@ -34,7 +34,9 @@ function scilab2c(varargin) CCodeOutputDir = varargin(2); UserSciFilesPaths = []; RunMode = 'All'; - BuildTool = getNativeBuildTool(); + BuildTool = getNativeBuildTool(); + Target = "StandAlone" + //Board_name = "uno" // // scilab2c(UserScilabMainFile, CCodeOutputDir, UserSciFilesPaths) // @@ -53,7 +55,9 @@ function scilab2c(varargin) UserSciFilesPaths = varargin(3); end RunMode = "All"; - BuildTool = getNativeBuildTool(); + BuildTool = getNativeBuildTool(); + Target = "StandAlone" + Board_name = "uno" // // scilab2c(UserScilabMainFile, CCodeOutputDir, UserSciFilesPaths, RunMode) // @@ -64,8 +68,8 @@ function scilab2c(varargin) return end end - if varargin(4) <> "All" & varargin(4) <> "Translate" & varargin(4) <> "GenLibraryStructure" - error(msprintf(gettext("%s: argument #%d must be: ""All"", ""Translate"" or ""GenLibraryStructure"".\n"),"scilab2c",4)); + if varargin(4) <> "All" & varargin(4) <> "Translate" & varargin(4) <> "GenLibraryStructure" + error(msprintf(gettext("%s: argument #%d must be: ""All"", ""Translate"",""GenLibraryStructure"".\n"),"scilab2c",4)); return end UserScilabMainFile = varargin(1); @@ -76,7 +80,9 @@ function scilab2c(varargin) UserSciFilesPaths = varargin(3); end RunMode = varargin(4); - BuildTool = getNativeBuildTool(); + BuildTool = getNativeBuildTool(); + Target = "StandAlone" + //Board_name = "uno" case 5 for i = 1:4 if typeof(varargin(i)) <> "string" @@ -84,8 +90,8 @@ function scilab2c(varargin) return end end - if varargin(4) <> "All" & varargin(4) <> "Translate" & varargin(4) <> "GenLibraryStructure" - error(msprintf(gettext("%s: argument #%d must be: ""All"", ""Translate"" or ""GenLibraryStructure"".\n"),"scilab2c",4)); + if varargin(4) <> "All" & varargin(4) <> "Translate" & varargin(4) <> "GenLibraryStructure" & varargin(4) <> "FunCall" + error(msprintf(gettext("%s: argument #%d must be: ""All"", ""Translate"",""GenLibraryStructure"" or ""FunCall"".\n"),"scilab2c",4)); return end if varargin(5) <> "make" & varargin(5) <> "nmake" @@ -100,7 +106,73 @@ function scilab2c(varargin) UserSciFilesPaths = varargin(3); end RunMode = varargin(4); - BuildTool = varargin(5); + BuildTool = varargin(5); + Target = "StandAlone" + //Board_name = "uno" + case 6 + for i = 1:4 + if typeof(varargin(i)) <> "string" + error(msprintf(gettext("%s: Wrong type for input argument #%d: String expected.\n"),"scilab2c",i)); + return + end + end + if varargin(4) <> "All" & varargin(4) <> "Translate" & varargin(4) <> "GenLibraryStructure" & varargin(4) <> "FunCall" + error(msprintf(gettext("%s: argument #%d must be: ""All"", ""Translate"" ,""GenLibraryStructure"" or ""FunCall"".\n"),"scilab2c",4)); + return + end + if varargin(5) <> "make" & varargin(5) <> "nmake" + error(msprintf(gettext("%s: argument #%d must be: ""make"" or ""nmake"".\n"),"scilab2c",5)); + return + end + if varargin(6) <> "StandAlone" & varargin(6) <> "Arduino" & varargin(6) <> "AVR" & varargin(6) <> "RPi" + error(msprintf(gettext("%s: argument #%d must be: ""StandAlone"" or ""Arduino"" or ""AVR"" or ""RPi"".\n"),"scilab2c",5)); + return + end + UserScilabMainFile = varargin(1); + CCodeOutputDir = varargin(2); + if varargin(3) == "" + UserSciFilesPaths = []; + else + UserSciFilesPaths = varargin(3); + end + RunMode = varargin(4); + BuildTool = varargin(5); + Target = varargin(6); + //Board_name = "uno"; + case 7 + for i = 1:4 + if typeof(varargin(i)) <> "string" + error(msprintf(gettext("%s: Wrong type for input argument #%d: String expected.\n"),"scilab2c",i)); + return + end + end + if varargin(4) <> "All" & varargin(4) <> "Translate" & varargin(4) <> "GenLibraryStructure" & varargin(4) <> "FunCall" + error(msprintf(gettext("%s: argument #%d must be: ""All"", ""Translate"" ,""GenLibraryStructure"" or ""FunCall"".\n"),"scilab2c",4)); + return + end + if varargin(5) <> "make" & varargin(5) <> "nmake" + error(msprintf(gettext("%s: argument #%d must be: ""make"" or ""nmake"".\n"),"scilab2c",5)); + return + end + if varargin(6) <> "StandAlone" & varargin(6) <> "Arduino" & varargin(6) <> "AVR" & varargin(6) <> "RPi" + error(msprintf(gettext("%s: argument #%d must be: ""StandAlone"" or ""Arduino"" or ""AVR"" or ""RPi"".\n"),"scilab2c",5)); + return + end + //if varargin(7) <> "uno" & varargin(7) <> "mega" & varargin(7) <> "mega2560" & varargin(7) <> "micro" & varargin(7) <> "nano" & varargin(7) <> "mini" + // error(msprintf(gettext("%s: argument #%d must be: ""uno"" or ""mega"" or ""micro"" or ""nano"" or ""mini"".\n"),"scilab2c",7)); + //return + //end + UserScilabMainFile = varargin(1); + CCodeOutputDir = varargin(2); + if varargin(3) == "" + UserSciFilesPaths = []; + else + UserSciFilesPaths = varargin(3); + end + RunMode = varargin(4); + BuildTool = varargin(5); + Target = varargin(6); + Board_name = varargin(7); else // // Calling scilab2c with more than understood values @@ -110,18 +182,25 @@ error(msprintf(gettext("%s: Wrong number of input argument(s): %d expected.\n"), // --- LAUNCH USER SCI CODE TO TEST IT BEFORE TRANSLATING IT!!! --- +// If Target choosen is 'Standalone' then only execute the code, otherwise directly start conversion. + if (Target == "StandAlone" |Target == "AVR") runscicode(UserScilabMainFile, UserSciFilesPaths); -// --- ASK USER FOR CONTINUATION. --- + + // --- ASK USER FOR CONTINUATION. --- // Do not open confirmation box if we are not in STD mode. - if(getscilabmode() == "STD") - userchoice = messagebox("Exection Succesfull. Start translation ?", "modal", "info", ["Yes" "No"]) + if(getscilabmode() == "STD") + userchoice = messagebox("Exection Succesfull. Start translation ?", "modal", "info", ["Yes" "No"]) + else + userchoice = 1 + end else - userchoice = 1 + userchoice = 1; end if (userchoice == 1) + // --- LAUNCH SCI2C --- - runsci2c(UserScilabMainFile, UserSciFilesPaths, CCodeOutputDir, RunMode, BuildTool); + runsci2c(UserScilabMainFile, UserSciFilesPaths, CCodeOutputDir, RunMode, BuildTool,Target,Board_name); end endfunction @@ -132,4 +211,4 @@ function BuildTool = getNativeBuildTool() else BuildTool = "make" end -endfunction
\ No newline at end of file +endfunction |