S-function for filter integration into Simulink
Afficher commentaires plus anciens
Dear all,
I am trying to generate S-function filter integration into Simulink using Legacy Code Tool .
I took this filter library fom https://uazu.net/fidlib/ (GitHub https://github.com/JamesHight/fidlib)
My m-file:
def = legacy_code('initialize')
def.SourceFiles = {'Simple_filter.c','fidlib.c'};
def.HeaderFiles = {'Simple_filter.h','types.h','fidlib.h'};
def.Options.language = 'C';
def.SFunctionName = 'Simple_filtering';
def.OutputFcnSpec = 'SimpleFilter(double u1, double y1[1])';
legacy_code('sfcn_cmex_generate', def);
legacy_code('compile', def);
legacy_code('slblock_generate', def);
The building process:
### Start Compiling Simple_filtering
mex('-IC:\Users\Vasyl Varvolik\Documents\MATLAB\Simple_Filter', '-c', '-outdir', 'C:\Users\Vasyl Varvolik\AppData\Local\Temp\tpebbfec31_b50d_4f60_8f6b_457d4db8894d', 'C:\Users\Vasyl Varvolik\Documents\MATLAB\Simple_Filter\Simple_filter.c')
Building with 'MinGW64 Compiler (C)'.
MEX completed successfully.
mex('-IC:\Users\Vasyl Varvolik\Documents\MATLAB\Simple_Filter', '-c', '-outdir', 'C:\Users\Vasyl Varvolik\AppData\Local\Temp\tpebbfec31_b50d_4f60_8f6b_457d4db8894d', 'C:\Users\Vasyl Varvolik\Documents\MATLAB\Simple_Filter\fidlib.c')
Building with 'MinGW64 Compiler (C)'.
In file included from C:\Users\Vasyl Varvolik\Documents\MATLAB\Simple_Filter\fast_math.h:4:0,
from C:\Users\Vasyl Varvolik\Documents\MATLAB\Simple_Filter\fidlib.c:251:
C:\Users\Vasyl Varvolik\Documents\MATLAB\Simple_Filter\constants.h:23:0: warning: "M_PI" redefined
#define M_PI 3.1415926535897932384626433832795F
In file included from C:\Users\Vasyl Varvolik\Documents\MATLAB\Simple_Filter\fidlib.c:249:0:
C:/ProgramData/MATLAB/SupportPackages/R2020a/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:45:0: note: this is the location of the previous definition
#define M_PI 3.14159265358979323846
In file included from C:\Users\Vasyl Varvolik\Documents\MATLAB\Simple_Filter\fast_math.h:4:0,
from C:\Users\Vasyl Varvolik\Documents\MATLAB\Simple_Filter\fidlib.c:251:
C:\Users\Vasyl Varvolik\Documents\MATLAB\Simple_Filter\constants.h:24:0: warning: "M_PI_2" redefined
#define M_PI_2 1.5707963267948966192313216916398F
In file included from C:\Users\Vasyl Varvolik\Documents\MATLAB\Simple_Filter\fidlib.c:249:0:
C:/ProgramData/MATLAB/SupportPackages/R2020a/3P.instrset/mingw_w64.instrset/x86_64-w64-mingw32/include/math.h:46:0: note: this is the location of the previous definition
#define M_PI_2 1.57079632679489661923
MEX completed successfully.
mex('Simple_filtering.c', '-IC:\Users\Vasyl Varvolik\Documents\MATLAB\Simple_Filter', 'C:\Users\Vasyl Varvolik\AppData\Local\Temp\tpebbfec31_b50d_4f60_8f6b_457d4db8894d\Simple_filter.obj', 'C:\Users\Vasyl Varvolik\AppData\Local\Temp\tpebbfec31_b50d_4f60_8f6b_457d4db8894d\fidlib.obj')
Building with 'MinGW64 Compiler (C)'.
MEX completed successfully.
### Finish Compiling Simple_filtering
### Exit
Although it is completed successfully when I run it Matlab crashes
The project and lib can be fiound attached
Réponses (0)
Catégories
En savoir plus sur Simulink Coder dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!