SparkFun Forums 

Where electronics enthusiasts find answers.

Hardware or product specific questions are best asked here.
#227598
Hello guys,

I have been trying to upload the basic openlog artemis firmware from arduino gui into my IMU cnnected via usb cable. It gets compled and uploaded successfully, but istead of accelerometer and gyroscope data, I see following message on serial monitor:

Initialization of the sensor returned: Data Underflow
Trying again...

when I upload the same firmware in the form of .bin file from artemis firmwar uploader gui, it successfully uploads and also shows the expected output data on serial monitor.

Does anyone know what might be wrong ? or has anyone faced similar issues previously?
#227601
Hi joadleena,
Can you give us more details about your OpenLog Artemis hardware and how you have your software configured?
That error indicates that the ICM-20948 IMU is not starting correctly.
If you have a Red (SparkFun) OLA then the code will work for you without changes. But if you have the Black (SparkX) OLA then you need to set HARDWARE_VERSION_MAJOR to 0 and HARDWARE_VERSION_MINOR to 4:
https://github.com/sparkfun/OpenLog_Art ... #L131-L132
If you are trying to compile the latest firmware (version 2.0), you need to use version v2.1.0 of the Apollo3 core (Artemis board package) and you must select "Redboard Artemis ATP" as the board.
Finally, if you want to use the IMU "DMP", you will need to change one line in the ICM-20948 library too. See this link for more details:
https://github.com/sparkfun/SparkFun_IC ... by-default
Best wishes,
Paul
#227604
Hi,
Please make sure you are using "Redboard Artemis ATP" as the board. The "ATP" is important.
Please tell us more about your hardware and software configuration. Do you have a red or black OLA? Are you trying to compile v2.0 of the OLA firmware? Which version of the Apollo3 boards do you have selected?
Best wishes,
Paul
#227608
Hello Paul,

Sorry to confuse you.

Initially I was trying to upload the Example sketch https://github.com/sparkfun/OpenLog_Art ... Basics.ino
Making changes in h file worked for it and I am able to see the data also.

Now issue is with https://github.com/sparkfun/OpenLog_Art ... og_Artemis
when I try to compile , I get error saying :

Arduino: 1.8.14 (Windows 10), Board: "SparkFun RedBoard Artemis ATP, 115200, Ambiq Secure Bootloader (Advanced)"

Firmware_v2:125:10: fatal error: settings.h: No such file or directory

#include "settings.h"

^~~~~~~~~~~~

compilation terminated.

exit status 1

settings.h: No such file or directory

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.


Do I have to include only the open log artemis and settings or all other sketches also?

Thanks,
leena
#227609
Hi Leena,
If you want to compile the OpenLog Artemis firmware yourself, then, yes, you need _all_ the files from this folder:
https://github.com/sparkfun/OpenLog_Art ... og_Artemis
You will also need to install _all_ the libraries used by the firmware. It is a lot:
https://github.com/sparkfun/OpenLog_Art ... #L250-L274
Using the pre-compiled binary is _much_ easier.
Best wishes,
Paul
#227613
Hi Leena,
The board selection is to do with the pin mapping from the digital pin numbers (D0, D1, etc.) to the physical pads on the Artemis package. On the ATP, the pin mapping is 1:1; D0 = Pad 0; D1 = Pad 1; etc.. That is not always true for the other Artemis boards.
If you are seeing the Quaternion data, then the code and the DMP are working correctly. It may be a calibration issue? Please try: rotating the sensor slowly around all three axes; holding it stationary in all six orientations for a few seconds.
We know that the DMP does not behave perfectly. You will find discussions about this in the ICM-20948 repository. E.g.:
https://github.com/sparkfun/SparkFun_IC ... -831694628
Best wishes,
Paul
#227649
Hello Paul,

Could you please tell me what is:

const int FIRMWARE_VERSION_MAJOR = 2;
const int FIRMWARE_VERSION_MINOR = 0;

in the firmware https://github.com/sparkfun/OpenLog_Art ... rtemis.ino

and what would happen if we change those values?

Also, I do not understand about #define OLA_IDENTIFIER 0x120
what would be the effect if I change that value too?

Thanks,
Leena
 Topic permissions

You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum