MATLAB Answers


Are the 5G toolbox functions coder friendly? I am getting errors while generating C++ code for some 5G toolbox functions. (v2019a)

Asked by Pranjali Deshmukh on 18 Oct 2019
Latest activity Commented on by Graham Freeland on 11 Nov 2019 at 12:44
In some functions, the array sizes are dynamically changing which is not supported by coder. This gives errors in coder.
Some functions require inputs to be of bigger bitwidth (uint8 or double) where logical would also have sufficed. These datatypes are validated at the inputs. In order to make coder pass, we are giving bigger datatypes. Is there a way to get around this?


Sign in to comment.




2 Answers

Answer by Steven Lord
on 18 Oct 2019
 Accepted Answer

Looking at the list of functions in 5G Toolbox in release R2019a, I see that 67 of them are listed as having the "C/C++ Code Generation" extended capability. Are the functions you're trying to use listed when you filter based on that extended capability? If so, open the function's reference page and scroll down to the "Extended Capabilities" section at the end and see what usage notes or limitations are listed there.
Note that you can do this same listing and filtering in other products, such as in the list of functions in MATLAB.


Thanks. Some of the functions do have some usage limitations & we'll have to make sure we adhere to those while generating the C code.
I'd still be interested in knowing the particular 'design cases' that you are referring to here.

Sign in to comment.

Answer by Graham Freeland on 4 Nov 2019 at 11:17

Hi Pranjali,
Regarding the dynamic array sizes, can you state the specific functions that you are referring to, and, if appropriate, the usage which requires them to be dynamic. For code generation troubleshooting, we really need to know the details.
Regarding the data types, a C99 boolean is at least a char and on most platform will probably map to the same size as an unit8. So, a logical will not be 'bigger', without resorting to bitpacking representations etc.


Sign in to comment.