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?
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
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…
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.
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).
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