Get IMU data from Reach M+

Hello everybody,

For a project (the study of animals behavior on a farm), we have to get IMU data from the Reach. We first developed a test with a Reach RTK but we don’t have enough Reach RTK to use them on the field. So we bough the new Reach M+ to try our program but we discovered that the program don’t work on it. We don’t have access to “nano”, “g++” is not recognized so the compilation of our program doesn’t work.
Is it possible to have access to these data, by another way? Will there be a firmware update to allow these actions?

Thanks.

Kevin.

Hi Kevin,

Please check this thread:

Thank you.

I’ll try it right now.

Hello @dmitriy.ershov

I tried the method you send but it didn’t work. When I compiled the program on the Reach RTK, it works very well but when I copy paste the folder from the Reach RTK to the Reach M+, it doesn’t work. I receive this error when I use “./MPUtest”:

-sh: ./MPUtest: cannot execute binary file: Exec format error

Can you tell me how resolve this problem ?

Thank you.

Hi @kevin.bertrand,

Sorry for the delayed response.

It is not possible to compile on Edison and copy to Neutis as they have different architecture.

The solution is outlined in this post below:

You need to cross-compile for ARM on PC and copy to M+.

Oh ok I misunderstand (about the ARM) :slightly_smiling_face:

Do you have a good tutorial to cross-compile for ARM ? Because I never did a such a thing in the past.

Thanks you for your response.

1 Like

Hi @andrew.yushkevich

I tried to cross-compile my project for ARM with a computer using Ubuntu 18. The compilation ended with success but when I past the project on the Reach, it doesn’t work. I receive a message like this:

-sh: ./hello_test: No such file or directory

It is not normal because I used the auto-completion to type the command line so the file exists. So for now, I can’t run any program on that Reach…

Hi @kevin.bertrand

Unfortunately, at the moment Reach software doesn’t support IMU right out of the box. That’s the reason we have no tutorials about this workflow but we still have it in our to-do list.

Ok no problems, I’ll wait :slight_smile:

Thank you

For my porject I had to do it, I tried to explain it here,

3 Likes

Hello,

I followed the instructions on how to build MPUtest. However, when I run the program on the Reach M+ I receive a “no such file or directory” error even though the program is there (and is executable).

Any suggestions on how I can fix this issue?

1 Like

Hi @14roiron , I was really happy to find your code but I have the same problem like @troiw. Do you have any idea what causes this?

Did anyone find a solution for the ‘no such file or directory’ issue?

Hi,

For the compilation, the program is working. You just have to follow these steps.
1- You have to install the compilation chain on a linux device (the one where you program):
sudo apt-get install gcc make gcc-arm-linux-gnueabi binutils-arm-linux-gnueabi

2- Then you have to compile you program. In these following lines, “prog” has to be replace by the name of your program.
If it’s a C program:
sudo arm-linux-gnueabi-gcc prog.c -o prog -static
If it’s a C++ program:
sudo arm-linux-gnueabi-g++ prog.c -o prog -static

3- After that, you can verify the type of your executable:
file prog
The answer has to be the same has this one:
prog: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, for GNU/Linux 3.2.0, BuildID[sha1]=1aec53a65fdd71ec68e761b5ef4cd2fae6e4e75c, not stripped

4- Now you can transfert the executable on the Reach M+ or RS+.
5- Connect to the reach with ssh.
6- Go to the folder where the file is and then :
sudo chmod +x prog
./prog

For me these steps works well and my program works well. The only problem I have is that I receive 0 all the time for each sensors… Even if the Reach is shaken. So if anybody find a solution, I will take it :slightly_smiling_face:

1 Like

This topic was automatically closed 100 days after the last reply. New replies are no longer allowed.