High Precision Temperature Sensor - TMP117 (Qwiic) SPX-15413 compiler errors

I just bought this sensor: High Precision Temperature Sensor - TMP117 (Qwiic) SPX-15413

using WIN 10 arduino v1.8.5, board=uno, installed the TMP117 library 1.0.0

getting a lot of compiler error messages:

thanks

Moderator edit to add formatting.

C:\data\ArduinoSourceCode\SparkfunQwiicTempTMP117\SparkfunQwiicTempTMP117.ino: In function 'void loop()':

SparkfunQwiicTempTMP117:75: error: call of overloaded 'print(const char [27], double)' is ambiguous

     Serial.print("Temperature in Celsius: %d", sensor.readTempC());

                                                                  ^

C:\data\ArduinoSourceCode\SparkfunQwiicTempTMP117\SparkfunQwiicTempTMP117.ino:75:66: note: candidates are:

In file included from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Stream.h:26:0,

                 from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/HardwareSerial.h:29,

                 from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:232,

                 from sketch\SparkfunQwiicTempTMP117.ino.cpp:1:

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:69:12: note: size_t Print::print(unsigned char, int) <near match>

     size_t print(unsigned char, int = DEC);

            ^

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:69:12: note:   no known conversion for argument 1 from 'const char [27]' to 'unsigned char'

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:70:12: note: size_t Print::print(int, int) <near match>

     size_t print(int, int = DEC);

            ^

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:70:12: note:   no known conversion for argument 1 from 'const char [27]' to 'int'

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:71:12: note: size_t Print::print(unsigned int, int) <near match>

     size_t print(unsigned int, int = DEC);

            ^

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:71:12: note:   no known conversion for argument 1 from 'const char [27]' to 'unsigned int'

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:72:12: note: size_t Print::print(long int, int) <near match>

     size_t print(long, int = DEC);

            ^

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:72:12: note:   no known conversion for argument 1 from 'const char [27]' to 'long int'

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:73:12: note: size_t Print::print(long unsigned int, int) <near match>

     size_t print(unsigned long, int = DEC);

            ^

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:73:12: note:   no known conversion for argument 1 from 'const char [27]' to 'long unsigned int'

SparkfunQwiicTempTMP117:77: error: call of overloaded 'print(const char [30], double)' is ambiguous

     Serial.print("Temperature in Fahrenheit: %d", sensor.readTempF());

                                                                     ^

C:\data\ArduinoSourceCode\SparkfunQwiicTempTMP117\SparkfunQwiicTempTMP117.ino:77:69: note: candidates are:

In file included from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Stream.h:26:0,

                 from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/HardwareSerial.h:29,

                 from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:232,

                 from sketch\SparkfunQwiicTempTMP117.ino.cpp:1:

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:69:12: note: size_t Print::print(unsigned char, int) <near match>

     size_t print(unsigned char, int = DEC);

            ^

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:69:12: note:   no known conversion for argument 1 from 'const char [30]' to 'unsigned char'

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:70:12: note: size_t Print::print(int, int) <near match>

     size_t print(int, int = DEC);

            ^

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:70:12: note:   no known conversion for argument 1 from 'const char [30]' to 'int'

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:71:12: note: size_t Print::print(unsigned int, int) <near match>

     size_t print(unsigned int, int = DEC);

            ^

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:71:12: note:   no known conversion for argument 1 from 'const char [30]' to 'unsigned int'

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:72:12: note: size_t Print::print(long int, int) <near match>

     size_t print(long, int = DEC);

            ^

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:72:12: note:   no known conversion for argument 1 from 'const char [30]' to 'long int'

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:73:12: note: size_t Print::print(long unsigned int, int) <near match>

     size_t print(unsigned long, int = DEC);

            ^

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Print.h:73:12: note:   no known conversion for argument 1 from 'const char [30]' to 'long unsigned int'

SparkfunQwiicTempTMP117:82: error: 'class TMP117' has no member named 'setConversionMode'

     sensor.setConversionMode(3);

            ^

exit status 1
call of overloaded 'print(const char [27], double)' is ambiguous

Hi jimk123,

It looks like there is something wrong with the version that is available to install via the Arduino Library Manager tool. Try uninstalling it through that tool and then manually installing the .zip download from the [GitHub Repository. If you need help manually installing the library, let us know and we would be happy to help.](GitHub - sparkfun/SparkFun_TMP117_Arduino_Library: Communicates with the TMP117 over I2C to quickly integrate a temperature sensor into your project.)

In the arduino IDE I can select sketch, include libraries, manage libraries… change type to installed and see that library “installed” but do not see an option to remove it ?

thanks

Ah, that’s my mistake. I was thinking of the Boards Manager tool. That has an uninstall button.

To remove an installed library, you’ll need to locate your Libraries folder. On Windows, this is usually at a file path similar to this: “C:\Users\Your_Username\Documents\Arduino\Libraries” if you are using the Windows Installer version of the IDE. Another option is to open the example sketch and go to the “Sketch” menu and select “Show Sketch Folder” or you can use the shortcut, “CTRL+K”. That will open the sketch folder and from there you can navigate to the TMP117 library folder. Go ahead and delete that and then replace it with the unzipped download of the library from GitHub. You can either use the “Add ZIP library” in the “Sketch/Include Library” menu in Arduino or you can manually place the folder in your Libraries folder.

There is one last “gotcha” when it comes to installing a zip by manually placing it in your Libraries folder. When you unzip the library folder, it usually embeds the actual “Master” folder in a second one that opens to the actual master. Just make sure when you move the library master folder over that when you open the “SparkFun_High_Precision_Temperature_Sensor_TMP117_Qwiic” folder, it opens to the “Examples” and “SRC” folders as well as the other files like README and LICENSE.

Hi Jim.

I haven’t had much luck getting the Arduino library manager to uninstall libraries. What you’re going to want to do is quit Arduino then go to your sketchbook folder and search for the ‘libraries’ folder. Open that, find the folder named:

SparkFun_TMP117_Arduino_Library-master

and delete it. Once you’ve done that, you should be able to reinstall the latest version from Git.

  1. I manually found the folder path here: C:\Users\jim\Documents\Arduino\libraries

  2. then I deleted the folder SparkFun_TMP117_Arduino_Library

  3. then I went to github https://github.com/sparkfun/SparkFun_TM … no_Library and downloaded the zip

  4. unzipped it, removed the suffix “-master” from the folder name and copied that to my libraries folder (step 1)

  5. was able to compile the sample sketch Example1_BasicReadings.ino without errors

thanks !

I spoke too soon, I went ahead an attached the tmp117 qwiic sensor to a redboard (also tried a blackboard) and it says

TMP117 Example 1: Basic Readings

Device failed to setup- Freezing code.

I have a i2cscanner sketch and it too says no devices found. bad board ?

the red led is light on the tmp117 board

Hi again Jim,

It definitely sounds like the board may be bad. Does switching Qwiic connectors or connecting to the I2C pins broken out on the board help at all? Can you take a couple of photos of the board in case there is a hardware issue we can spot?

I tried both qwiic connectors on the board and then soldered wire with a qwiic connector on the end (see pic) and that did not work. I have tried this with both a redboard and blackboard. I also tried bridging the pad to change to i2c address and that did not work. I can mail it back to you if you want to test it or if you want to test another board before mailing it to me ? let me know

thanks

Hi again Jim,

Thanks for testing this so thoroughly. At this point, I’m pretty positive your board is defective and we can get a replacement ticket set up for your order. Assuming you purchased the board directly from SparkFun, please fill out the form on [this page and in the “Why do you want an RMA?” box, fill in a brief description and link to this forum topic. We’ll follow up with further instructions.](Return Policy - SparkFun Electronics)

Hi Mark

I just submitted the RMA, thanks