Generating Mex Files For Arduino Drivers - MS Compiler Not Working

1 view (last 30 days)
I am trying to use existing Arduino libraries with the S-Function Builder or Legacy Code Tool (same result). Particularly, I am trying to use the Time library to bring Hour and Minute into my model. This problem also applies to most of the libraries that I have tried.
The problem is that Time.h and Time.cpp include keywords and syntax for the Arduino compiler (avr-gcc). The Microsoft compiler that is set up with my Matlab/Simulink installation chokes on this code.
I can set up sfunctions using the regular Arduino.h library... such as digital/analog IO, but when I try to use interfaces from other libraries, I run into this issue.
Question is: How can I create drivers without trying to change my compiler selection? I know setting avr-gcc is not one of the compilers that is recommended to be used with my matlab-simulink installation

Accepted Answer

Nathan Crosty
Nathan Crosty on 29 Apr 2013
Edited: Nathan Crosty on 29 Apr 2013
My question has been answered here http://www.mathworks.com/matlabcentral/fileexchange/39354-device-drivers. I needed to change the wrapper file extension from c to cpp, and add extern "C" before the function call in the wrapper. This did the trick.

More Answers (0)

Categories

Find more on Arduino Hardware in Help Center and File Exchange

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!