tmwtypes.h required in R2018a generated code
27 views (last 30 days)
I have a project that has been generating standalone C code from R2017b fine and I recently began testing the codegen tools with R2018a. When switching to R2018a the generated code now requires a header "tmwtypes.h". This is included with R2018a, but under a specific MathWorks license. So I cannot use it for my GPL project.
Is there a workaround for this or a flag I'm missing?
-- Reproduction Steps:--
The MATLAB project is available here: https://github.com/analogdevicesinc/ad936x-filter-wizard under the codegen-support branch.
Add the "test" folder to path and run the "generate_internal_designer" script to create the DLL source. Under the codegen->dll->internal_design_filter_cg folder the header "rtwtypes.h" has this header dependency.
Andy on 9 Apr 2018
If you set a specific "target hardware device" then rtwtypes.h won't include tmwtypes.h. In other words add something like the following on line 19 of your "generate_internal_designer.m" script:
cfg.HardwareImplementation.TargetHWDeviceType = 'Intel->x86-64 (Windows64)';
If you want to use a different device type you can get the string for it by doing the following:
>> cfg = coder.config('dll');
>> open cfg
Then click the "Hardware" button along the top of the "Project Settings" window, set Hardware Board to "None - Select device below", and set the device as desired.
And MATLAB will display the string you want.
Also, why do you think tmwtypes.h is under a specific license? Looking at the file I see there's a copyright but nothing indicating a specific license. It should be fine to package tmwtypes.h with your code.