Error manually building Asset Tracker


I feel like I must be missing something here as my problem seems bizarre.

I build my Electron code manually, all is good there.

I’ve submoduled various libraries into my src directory, one example being the great MQTT-TLS library, i just add the header folder with -I to CPPFLAGS and they all build and work.

I recently got an Asset Tracker shield and have been adding it in.

I submoduled the particle Asset Tracker library and then submoduled all of its pre-reqs, including 1.0.3 of the Adafruit_LIS3DH library, forked and supposedly modified by Particle.

Now, when I build, I get the following:

../../../src/asset_tracker/src/AssetTracker.cpp: In member function 'bool AssetTracker::setupLowPowerWakeMode(uint8_t)':
../../../src/asset_tracker/src/AssetTracker.cpp:222:18: error: 'class Adafruit_LIS3DH' has no member named 'setupLowPowerWakeMode'
     return accel.setupLowPowerWakeMode(movementThreshold);
../../../src/asset_tracker/src/AssetTracker.cpp: In member function 'uint8_t AssetTracker::clearAccelInterrupt()':
../../../src/asset_tracker/src/AssetTracker.cpp:226:18: error: 'class Adafruit_LIS3DH' has no member named 'clearInterrupt'
     return accel.clearInterrupt();

Looking through both Particle’s fork and Adafruits original library, I cannot see any mention of these functions ever existing in the module…!

Can someone help me out here? Or tell me where I’m being an idiot…?

From what I can find in other people’s code it seems you just need to define those members in your Adafruit_LIS3DH class. Here is another example.

1 Like

Thanks, I did see these - just seems strange that it doesn’t build straight up.

Using particle compile on the example code, it does seem to work, which I assume pulls in the libraries automatically from git for that?