Hi Sriram,
First thing, in your custom function, that "live" in "Speed_and_Position_Estimator" you declared an output "theta" to feed the "THETA_EST" variable which is used and declared in the model as single. In Matlab function data that are not declared as certain type, are by default declared as double. So the simplest thing to get rid of this error was to make a cast inside of your function where values are assigned to the output. If you make a cast like this one, then the output will automatically be modified as the type that you used in the cast.

I recommend you avoid the data type as auto for any data in the Simulink model. The better is to know what you want and set the data type as you need.
Another tip for you is to use the power of the "Information Overlays" from the debug tab in your model.

In this case, I used "Alias Data Types" which adds a label to the signals that show you the data type. In this way, you can find that the type of eg. "ntc3" data store must be "uint32".
If you need to store values, let's say "uint32" in a data store that is declared as "single", then you can use the "Data Type Conversion" block and insert this one between the block, which generate some data of certain type, and the destination for that value that uses different data type.
And I found some broken links of "Storage Class" for data stores and signals used in the model. In this case, you must go to "Code Mappings" and in the "Data Stores" tab you have to select "Storage Class" and the "Model default".
Here is your fixed model.
Best regards,
Adrian