SparkFun Forums 

Where electronics enthusiasts find answers.

Hardware or product specific questions are best asked here.
User avatar
By RiskLogger
#228148
Hello all,

A disclamer: I'm new here and tried my best to look at everything I could find to solve this problem before posting here.

Just received the OLA kit and I'm trying to make a project similar to the Geologger but using the Sparkfun ADS1015.

I first wanted to check if I was able to compile and upload to the OpenLog_Artemis. I was unsuccessful at that.

Always using the Sparkfun RedBoard Artemis ATP as the board and having downloaded all the libraries using the links in the OpenLog_Artemis.ino file, I tried compiling the code.

It failed giving me this error :
Code: Select all
exit status 1
'SERIAL_BUFFER_SIZE' was not declared in this scope

I attributed it to not having the right board settings because I used the "Additional Board Manager URL" :
https://raw.githubusercontent.com/spark ... index.json
from https://learn.sparkfun.com/tutorials/ar ... stallation

Looking around I found the other "Additional Board Manager URL" :
https://raw.githubusercontent.com/spark ... index.json
from https://github.com/sparkfun/Arduino_Apo ... ecommended

And I updated the SparkFun Apollo3 Boards to the latest version being : 2.1.1
This solved the problem of the non-definition but in the end the error now is :
Code: Select all
exit status 1
Error compiling for board RedBoard Artemis ATP.
During the compilation, those notes/warning were shown:
Code: Select all
C:\Users\XXXXX\Downloads\OpenLog_Artemis-2.0\Firmware\OpenLog_Artemis\zmodem_sz.cpp:177: warning: "zperr" redefined
 #define zperr(a, ... )
 
In file included from C:\Users\XXXXX\Downloads\OpenLog_Artemis-2.0\Firmware\OpenLog_Artemis\zmodem_sz.cpp:66:
C:\Users\XXXXX\Downloads\OpenLog_Artemis-2.0\Firmware\OpenLog_Artemis\zmodem_zm.h:49: note: this is the location of the previous definition
 #define zperr(...)
 
In file included from C:\Users\XXXXX\Downloads\OpenLog_Artemis-2.0\Firmware\OpenLog_Artemis\OpenLog_Artemis.ino:273:
C:\Users\XXXXX\Documents\Arduino\libraries\SparkFun_Qwiic_Button_and_Qwiic_Switch_Library\src/SparkFun_Qwiic_Button.h:29: warning: "DEFAULT_ADDRESS" redefined
 #define DEFAULT_ADDRESS 0x6F //default I2C address of the button
 
In file included from C:\Users\XXXXX\Downloads\OpenLog_Artemis-2.0\Firmware\OpenLog_Artemis\OpenLog_Artemis.ino:268:
C:\Users\XXXXX\Documents\Arduino\libraries\SparkFun_MicroPressure_Library\src/SparkFun_MicroPressure.h:9: note: this is the location of the previous definition
 #define DEFAULT_ADDRESS 0x18
Code: Select all
C:\Users\XXXXX\Documents\Arduino\libraries\SparkFun_Qwiic_Humidity_AHT20\src\SparkFun_Qwiic_Humidity_AHT20.cpp: In member function 'bool AHT20::initialize()':
C:\Users\XXXXX\Documents\Arduino\libraries\SparkFun_Qwiic_Humidity_AHT20\src\SparkFun_Qwiic_Humidity_AHT20.cpp:125:25: error: call of overloaded 'write(int)' is ambiguous
     _i2cPort->write(0x00);
                         ^
In file included from C:\Users\XXXXX\Documents\Arduino\libraries\SparkFun_Qwiic_Humidity_AHT20\src/SparkFun_Qwiic_Humidity_AHT20.h:26,
                 from C:\Users\XXXXX\Documents\Arduino\libraries\SparkFun_Qwiic_Humidity_AHT20\src\SparkFun_Qwiic_Humidity_AHT20.cpp:26:
C:\Users\XXXXX\AppData\Local\Arduino15\packages\SparkFun\hardware\apollo3\2.1.1\libraries\Wire\src/Wire.h:41:20: note: candidate: 'virtual size_t arduino::MbedI2C::write(uint8_t)'
     virtual size_t write(uint8_t data);
                    ^~~~~
In file included from C:\Users\XXXXX\AppData\Local\Arduino15\packages\SparkFun\hardware\apollo3\2.1.1/cores/arduino/mbed-bridge/core-api/api/Stream.h:25,
                 from C:\Users\XXXXX\AppData\Local\Arduino15\packages\SparkFun\hardware\apollo3\2.1.1/cores/arduino/mbed-bridge/core-api/api/Client.h:22,
                 from C:\Users\XXXXX\AppData\Local\Arduino15\packages\SparkFun\hardware\apollo3\2.1.1/cores/arduino/mbed-bridge/core-api/api/ArduinoAPI.h:29,
                 from C:\Users\XXXXX\AppData\Local\Arduino15\packages\SparkFun\hardware\apollo3\2.1.1/cores/arduino/mbed-bridge/Arduino.h:17,
                 from C:\Users\XXXXX\AppData\Local\Arduino15\packages\SparkFun\hardware\apollo3\2.1.1/cores/arduino/sdk/ArduinoSDK.h:9,
                 from <command-line>:
C:\Users\XXXXX\AppData\Local\Arduino15\packages\SparkFun\hardware\apollo3\2.1.1/cores/arduino/mbed-bridge/core-api/api/Print.h:50:12: note: candidate: 'size_t arduino::Print::write(const char*)'
     size_t write(const char *str) {
            ^~~~~
C:\Users\XXXXX\Documents\Arduino\libraries\SparkFun_Qwiic_Humidity_AHT20\src\SparkFun_Qwiic_Humidity_AHT20.cpp: In member function 'bool AHT20::triggerMeasurement()':
C:\Users\XXXXX\Documents\Arduino\libraries\SparkFun_Qwiic_Humidity_AHT20\src\SparkFun_Qwiic_Humidity_AHT20.cpp:136:25: error: call of overloaded 'write(int)' is ambiguous
     _i2cPort->write(0x00);
                         ^
In file included from C:\Users\XXXXX\Documents\Arduino\libraries\SparkFun_Qwiic_Humidity_AHT20\src/SparkFun_Qwiic_Humidity_AHT20.h:26,
                 from C:\Users\XXXXX\Documents\Arduino\libraries\SparkFun_Qwiic_Humidity_AHT20\src\SparkFun_Qwiic_Humidity_AHT20.cpp:26:
C:\Users\XXXXX\AppData\Local\Arduino15\packages\SparkFun\hardware\apollo3\2.1.1\libraries\Wire\src/Wire.h:41:20: note: candidate: 'virtual size_t arduino::MbedI2C::write(uint8_t)'
     virtual size_t write(uint8_t data);
                    ^~~~~
In file included from C:\Users\XXXXX\AppData\Local\Arduino15\packages\SparkFun\hardware\apollo3\2.1.1/cores/arduino/mbed-bridge/core-api/api/Stream.h:25,
                 from C:\Users\XXXXX\AppData\Local\Arduino15\packages\SparkFun\hardware\apollo3\2.1.1/cores/arduino/mbed-bridge/core-api/api/Client.h:22,
                 from C:\Users\XXXXX\AppData\Local\Arduino15\packages\SparkFun\hardware\apollo3\2.1.1/cores/arduino/mbed-bridge/core-api/api/ArduinoAPI.h:29,
                 from C:\Users\XXXXX\AppData\Local\Arduino15\packages\SparkFun\hardware\apollo3\2.1.1/cores/arduino/mbed-bridge/Arduino.h:17,
                 from C:\Users\XXXXX\AppData\Local\Arduino15\packages\SparkFun\hardware\apollo3\2.1.1/cores/arduino/sdk/ArduinoSDK.h:9,
                 from <command-line>:
C:\Users\XXXXX\AppData\Local\Arduino15\packages\SparkFun\hardware\apollo3\2.1.1/cores/arduino/mbed-bridge/core-api/api/Print.h:50:12: note: candidate: 'size_t arduino::Print::write(const char*)'
     size_t write(const char *str) {
            ^~~~~
I tried going trough all the versions of "SparkFun Apollo3 Boards" from 1.2.1 up to 2.1.1, deleting the folder each time but the problem persists with variation from the problem.

As I see that others can compile and upload to the OLA, I am would like to know if someone else had this problem and solved it. I might just be missing an obvious error on my part. Thank for your help and whatever advice your give me to solve my problem.

PS: The link to the OLA REPO ZIP on https://github.com/sparkfun/OpenLog_Art ... UPGRADE.md is showing a "404: Not Found".
User avatar
By PaulZC
#228174
Hi @RiskLogger,

There was a problem in the Qwiic Humidity AHT20 library which was stopping the code from compiling. I have corrected that issue this morning. Please update to v1.0.1 of the library and those compilation errors will go away.

There was a similar problem with the MicroPressure library. Please update that library to v1.0.1 too.

You are right to use RedBoard Artemis ATP as the board, please keep using that. The "Module" will not work for you as it does not have Serial1 defined.

The code will - I think - compile successfully with v2.1.1 of the Apollo3 core but please be aware that 2.1.1 contains a 'feature' which makes communication with the u-blox GNSS modules problematic. Right now, I'd recommend using v2.1.0.

Thanks for the heads-up about the broken link in UPGRADE.md. I have fixed that this morning.

The stable release of the OLA firmware is v2.0 but, functionally, it is identical to v1.11. The hook-up guide is the same. The only difference is that v1.11 was based on v1.2 of the core, whereas v2.0 uses v2.1.0 of the core.

Good luck with your project!
Best wishes,
Paul
User avatar
By RiskLogger
#228189
Hey Paul,

Thanks a lot ! It solved all my problems and I looked at what you did on the two libraries to make the ADS1015 library work with the OLA after following the steps in the https://github.com/sparkfun/OpenLog_Art ... SENSORS.md

Just changed lines 304 and 325 of "SparkFun_ADS1015_Arduino_Library.cpp" from :
Code: Select all
_i2cPort->write(ADS1015_POINTER_CONVERT);
to
Code: Select all
_i2cPort->write((uint8_t)ADS1015_POINTER_CONVERT);
and the output is good.
 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

long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]