MATLAB Answers

1

S-function for reading the Lego NXT compass sensor

Hi!
My question is about using the NXT Toolbox in simulink. Since there is no built in block for reading the compass sensor, I would like to write an S-function containing C-code with libraries from nxtOSEK (ecrobot_interface.h mainly), which have methods for reading the compass sensor. I have tried using the s-function builder as well as writing the c-file manually from a template, and also the Code Legacy Tool. None of these manages to compile the c-code. I get lots of (>100) syntax errors in library files not written by me, for example:
C:\Matlab\R2012a\targets\nxtOSEK\lejos_nxj\src\nxtvm\javavm\classes.h(70) : error C2143: syntax error : missing ')' before '('
Is there something special I need to think about when using external libraries in C mex S-functions?
regards, Fredrik

  0 Comments

Sign in to comment.

1 Answer

Answer by Kaustubha Govind on 8 Jun 2012
 Accepted Answer

You just need to make sure to have all the right #includes and use the right compiler/linker flags. Pretty much what you might need to do if you were trying to create a standalone application with that code outside of MATLAB.

  0 Comments

Sign in to comment.