Go Down

Topic: Genuino 101 - CurieImu.h: No such file or directory (Read 5351 times) previous topic - next topic

TheCryptoman


Received my Genuino 101 in the mail and wanted to crack on.

Went straight to Start Page

Installed the required Arduino IDE as well as the Curie cores as advised.

I then jumped straight to Curie IMU Orientation Visualiser project which I thought would be straightforward to run. However, upon compiling the available code, I was greeted with the following error message: CurieImu.h: No such file or directory

Determined not to give up easily, I went to search the header file that seemed to be missing. I found the required file to be under the following folder!

\AppData\Local\Arduino15\packages\Intel\hardware\arc32\1.0.4\libraries\CurieImu\src

The confusing thing is I never specified that file to be placed in the above folder. Anyways, I copied the CurieImu folder with its full content to where my Arduino libraries are normally installed, which is:

C:\Program Files (x86)\Arduino\libraries

Then I retried to compile the sketch file. Although the CurieImu.h error went away, I came across the following error this time:

C:\Program Files (x86)\Arduino\libraries\CurieImu\src\CurieImu.cpp:22:23: fatal error: interrupt.h: No such file or directory

Apparently, the interrupt.h file was missing this time. I searched for that file too and located it under:

\AppData\Local\Arduino15\packages\Intel\hardware\arc32\1.0.4\system\libarc32_arduino101\bootcode

I was not sure if that interrupt.h file was what I needed but nevertheless I copied the full \libarc32_arduino101 content to C:\Program Files (x86)\Arduino\libraries\

Then I retried to compile the sketch but the same interrupt.h error appeared again.

I have no idea what the problem is. I don't think I should have to copy files across like this to get the stuff working and obviously something is seriously wrong here.

Your help will be greatly appreciated.

Cheers...









Merlin513

Hi TheCryptoman,

No expert here, but I got that error a couple of times until I realized that I did not select the Arduino 101 board.  I had a different board selected.  By the way the CurieImu.h file was in the correct \AppData\Local\Arduino15\packages\Intel\hardware\arc32\1.0.4\libraries\CurieImu\src

Good luck

TheCryptoman

@Merlin153 Thank you for your help.

Indeed, that's where the problem was. By default, the board Arduino/Genuino Uno is selected and I did not notice that. Arduino 101 is all the way at the bottom of the menu, which is not easy to spot amongst a long list of boards to be honest!!!

I have left the libraries as they were initially installed and my code compiled successfully. I will move to the next step now :)

Cheers...

jagullic

Hi all,

I was having the same problem as @TheCryptoman, I too hadn't changed the board setting to 101, so thanks so much for that advice. I have corrected that error but am still getting the same compile error as before, it's still having the following fatal error: CurieIMU.h: No such file or directory.  Any thoughts on what else I could be missing?  I too followed all the steps from the 101 Start Page.  I have an Arduino, not Genuino 101 though.

Thanks in advance!

Merlin513

I can give it a try: did you do #include <CurieIMU.h> at the top of the sketch.  Also, check to see if it CurieImu.h is actually where it is suppose to be: \AppData\Local\Arduino15\packages\Intel\hardware\arc32\1.0.4\libraries\CurieImu\src

That is all I can think of that would be a common issue.  Again make sure you have the correct board selected.

f3e7n2g1

I had another sketch opened and got the same compile error. Fixed after closed it and restart IDE.

https://learn.adafruit.com/adafruit-all-about-arduino-libraries-install-use/installing-a-library-on-mac-osx
"Close the Arduino IDE
First make sure that all instances of the Arduino IDE are closed. The IDE only scans for libraries at startup. It will not see your new library as long as any instance of the IDE is open!"

joseph314

Maybe you want this:
https://github.com/arduino/tutorials/tree/c8ee30ebbb516463350e03369280a5d224d1d86a/Arduino101OrientationVisualiser

TheIronKnuckle

I'm getting the exact same error. I'm trying to run the example IMU sketch which interacts with processing. All files seem to be where they should be. But the IDE informs me that it can't find CurieIMU.h.

I've tried to go back to the beginning and follow the instructions on this page step by step: https://www.arduino.cc/en/Tutorial/Genuino101CurieIMUOrientationVisualiser

but I fail at the following step:
Quote
4. Install the Madgwick library from library manager. To do this, open the Arduino Software (IDE), go to "Sketch -> Include Library -> Manage Libraries". There you can search 'Madgwick' and install the library directly from there.
When I do the search for "Madgwick", nothing turns up.

Has anyone had any luck getting the example IMU sketch to work?

pert

the IDE informs me that it can't find CurieIMU.h.

When I do the search for "Madgwick", nothing turns up.
Do you have Tools > Board > Arduino 101 selected?


epipolar

I am having the same problem.

Code: [Select]
fatal error: CurieIMU.h: No such file or directory
 #include <CurieIMU.h>


I'm trying to compile the example from https://www.arduino.cc/en/Tutorial/Genuino101CurieIMUOrientationVisualiser
The CurieImu.h header is located in  ~\.arduino15\packages\Intel\hardware\arc32\1.0.4\libraries\CurieImu\src

I have arduino 101 selected and Madgwick installed. And I have just one IDE window open. I am able to upload blink and the board starts to blink.

I'm running Ubuntu 15.10.
Any ideas?



epipolar

In addition to previous ^
However if i change the header to #include <CurieImu.h> (lower case mu) the compiler finds the header file but yields
Code: [Select]

/root/Arduino/sketch_mar08a/sketch_mar08a.ino: In function 'void setup()':
sketch_mar08a:62: error: 'class CurieImuClass' has no member named 'begin'
   CurieImu.begin();
            ^
sketch_mar08a:67: error: 'class CurieImuClass' has no member named 'getAccelerometerOffset'
     Serial.print(CurieImu.getAccelerometerOffset(X_AXIS)); Serial.print("\t");
                           ^
....



pert

Code: [Select]

/root/Arduino/sketch_mar08a/sketch_mar08a.ino: In function 'void setup()':
sketch_mar08a:62: error: 'class CurieImuClass' has no member named 'begin'
   CurieImu.begin();
            ^

The trouble is that for some reason that tutorial is written for a new version of the library with a completely different API and filenames that hasn't been released yet so if you follow all the instructions in the tutorial it doesn't work. You can install the new version of the CurieIMU library by:
  • Download https://github.com/01org/corelibs-arduino101/archive/1.6.4+1.69.zip
  • Open the downloaded file
  • Determine your sketchbook folder location: File > Preferences > Sketchbook location:
  • Copy the folder corelibs-arduino101-1.6.4-1.69.zip/corelibs-arduino101-1.6.4-1.69/libraries/CurieIMU to {your sketchbook folder}/libraries
  • Restart the Arduino IDE if open

Now the unmodified sketch from the tutorial should work(I don't own a 101 but it does compile for me).
Note that the CurieIMU library you installed to your sketchbook will override any future versions of the library installed with future releases of  Intel Curie Boards installed via Boards Manager so when a new version finally is released and you install it you should delete the {your sketchbook folder}/libraries/CurieIMU folder.

epipolar

Thanks @pert. ^
Installed the new version and the tutorial is working.

The trouble is that for some reason that tutorial is written for a new version of the library with a completely different API and filenames that hasn't been released yet so if you follow all the instructions in the tutorial it doesn't work.
... snip

viswanth05

Code: [Select]

/home/../Arduino/libraries/Madgwick/src/MadgwickAHRS.cpp: In member function 'float Madgwick::invSqrt(float)':
/home/../Arduino/libraries/Madgwick/src/MadgwickAHRS.cpp:206:20: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
 long i = *(long*)&y;

                   ^
/home/../Arduino/libraries/Madgwick/src/MadgwickAHRS.cpp:208:16: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
 y = *(float*)&i;

               ^
Multiple libraries were found for "BMI160.h"
Used: /home/../Arduino/libraries/CurieIMU
Not used: /home/../.arduino15/packages/Intel/hardware/arc32/1.0.4/libraries/CurieImu

Sketch uses 50,809 bytes (25%) of program storage space. Maximum is 196,608 bytes.


I get this error when I try to use CurieIMU library from https://github.com/01org/corelibs-arduino101/archive/1.6.4+1.69.zip

Go Up