Xcos: fix some issues on Xcos->Scilab actions
[scilab.git] / scilab / modules / xcos / macros / xcosCodeGeneration.sci
1 //
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2009-2009 - DIGITEO - Bruno JOFRET
4 //
5 // This file must be used under the terms of the CeCILL.
6 // This source file is licensed as described in the file COPYING, which
7 // you should have received as part of this distribution.  The terms
8 // are also available at
9 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
10 //
11 //
12
13 function xcosCodeGeneration(hdf5FileToLoad, hdf5FileToSave)
14
15     //-- BJ : Alias Warning Function
16     prot = funcprot();
17     funcprot(0);
18     hilite_obj = xcosShowBlockWarning;
19     unhilite_obj = xcosClearBlockWarning;
20     funcprot(prot);
21     //-- end
22
23     // This will create a scs_m variable.
24     status = import_from_hdf5(hdf5FileToLoad);
25     if ~status then
26         error(msprintf(gettext("%s: Unable to import data from %s"), "xcosCodeGeneration", hdf5FileToLoad));
27     end
28
29     // define scicos variables
30     %scicos_prob = %f
31     %scicos_debug_gr = %f
32     needcompile = 4;
33
34     ierr = execstr("[ok, XX] = do_compile_superblock42(scs_m, [], [], %f); ", 'errcatch');
35     if ierr <> 0 then
36         [msg, err] = lasterror();
37         disp(msg);
38         deletefile(hdf5FileToSave);
39         return;
40     end
41
42     if ok then
43         status = export_to_hdf5(hdf5FileToSave, "XX");
44         if ~status then
45             error(msprintf(gettext("%s: Unable to export ''XX'' to %s"), "xcosCodeGeneration", hdf5FileToSave));
46         end
47     else
48         deletefile(hdf5FileToSave);
49     end
50 endfunction
51