CC2640R2F: Unable to see TMP117 data output

Part Number: CC2640R2F
Other Parts Discussed in Thread: TMP117, , TIDA-01624, TIDA-01580, TMP117EVM, AFE4900, TMP116, TMP006, CC2640

Hi Everyone,

Recently I was working with the body temperature measurement sensor TMP117 and was trying to check the output while interfacing with CC2640R2F over I2C.

It has been a few week i am trying to debug the issue where my ECG/PPG/SPo2 part are running well but while adding the body temp measurement unit we are unable to check the data in CCS itself.

Can anyone confirm me that is CC2640R2F is compatible for working ECG/PPG/SPo2 and Body temp measurement all together where it will capture the data, process it and finally transmit it through BLE?

Also if you have any references of the CCS project files that contain TMP117 implementation over I2C code it would be a great help. 

Please first confirm the question that i have highlighted above. This information is critical to me.

Also  Please do not say that TMP117 can be implemented with CC2640R2F kind of stuff because we know that beforehand through the TIDA-01624 and i have to write this question again because on my last thread over this forum the person told he will revert it to the CC2640R2F product support team but it has been 5 days and no replies.

Thank you in advance for help me out to solve this issue.

Regards,

Ratul

  • Hi,

    I'm struggling to understand what exactly do you mean by "unable to check the data of the body temp measurement unity in CCS itself". What are you using to read this in CCS directly ?

    You mention that you're able to run all the other parts fine but adding the TMP117 breaks the data reading. Are you able to run and read the TMP117 measurements independently without the other parts (ECG/PPG/SPo2) ? How are you connecting the other parts to the CC2640R2F ? Are they all using I2C ?

    Kind regards,
    Lea

  • Hi Lea,

    As you have mentioned, I will answer them one by one -

    What are you using to read this in CCS directly ?

    In the TIDA_01580_TX.c file I have added a display function to display the device Id over serial console in CCS but unable to see the devID. So for this I have the CC2640R2F Dev kit and TMP117EVM connected over I2C while no TIDA-01580 interface connected to the CC2640R2F dev kit. 

    If there is a easy to read out the temperature, device id please let me know.

    You mention that you're able to run all the other parts fine but adding the TMP117 breaks the data reading. Are you able to run and read the TMP117 measurements independently without the other parts (ECG/PPG/SPo2) ?

    We were able to run the TIDA firmware and checked the data in Tida01580 Labview application thanks to the TI forum since we were struggling at the starting. As you have mentioned I have not tried yet to measure the TMP117 data independently while interfacing with CC2640R2F dev kit but while using stand alone TMP117EVM the we can see the data over the TI cloud tool.

    If you can help me to interface the TMP117 from the TMP117EVM breakout board with CC2640R2F dev kit independently then it would be a great help.

    How are you connecting the other parts to the CC2640R2F ?

    Currently only the TMP117EVM breakout board is connected with the CC2640R2F dev kit over I2C.

    Are they all using I2C ?

    No, The TIda-01580 including the AFE4900 is connected over SPI to CC2640R2FRGZR MCU.

    Also I have these question as i have highlighted over the post - " Can i run all the applications as TIDA-01580 sensors over SPI and TMP117 sensor over I2C together in CC2640R2FRGZR MCU for data capturing, processing and finally transmission over BLE".

    Please give a confirmation over above mentioned statement that weather it is possible or not. If it is not possible then both of our times can be saved from endless debugging.

    Since while searching over the forum and internet i have found that adding temp sensor such as TMP117 can cause Memory Crash, Flash Depletion,SRAM Buffer Starvation. I have also mentioned this issues over a different thread where you can find all of my concerns - https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1679248/tmp117evm-unable-to-see-the-tmp117-sensor-out-data-over-i2c-when-connected-to-cc2640r2f-for-body-temperature-measurement

    To solve our issue if you need anymore information let me know.

    Regards,

    Ratul

  • Hi !

    First of all, thanks for the very complete answer, it helps a lot.

    Next, I want to address this :

    Can i run all the applications as TIDA-01580 sensors over SPI and TMP117 sensor over I2C together in CC2640R2FRGZR MCU for data capturing, processing and finally transmission over BLE

    While I have never tried this combination personally, yes you can absolutely run SPI and I2C at the same time on the CC2640R2F. As soon as we're able to fix your I2C issue, you'll have no issue getting your data and transmitting it over BLE.

    If you can help me to interface the TMP117 from the TMP117EVM breakout board with CC2640R2F dev kit independently then it would be a great help

    I think this is our best bet to solve the issue. What I would try is to build on CCS the example present at C:\ti\simplelink_cc2640r2_sdk_5_30_01_11\examples\rtos\CC2640R2_LAUNCHXL\drivers\i2ctmp. This example is initially made to interface with the TMP116 and TMP006, but I'm sure it would be easy to adapt it for the TMP117, since there are a lot of similarities (For example, the I2C of the address of the sensor seems to be 0x48 according to the user guide of the TMP117).

    The connections between the CC2640 and the TMP117 breakout board isn't very explicit, but you can find it by reading the code. In the i2ctmp_CC2640R2_LAUNCHXL_tirtos_ccs\CC2640R2_LAUNCHXL.c and i2ctmp_CC2640R2_LAUNCHXL_tirtos_ccs\CC2640R2_LAUNCHXL.h files, you can see the SCL and SDA pins respectively being IOID_4 and IOID_5. This means that you should connect a jumper between IOID_4 and IOID_5 and the SCL and SDA pins of the TMP117 breakout board. I would also power the TMP117 using the ground and V+ pins of the breakout board too.

    Please try this connection, and tell me what you can see over in the UART of the CC2640. You can read how to connect to UART using the readme of the i2ctmp project.

    Kind regards,
    Lea

  • Hi Lea,

    Hope you are doing well.

    Thank you for this detailed response. 

    I think this is our best bet to solve the issue. What I would try is to build on CCS the example present at C:\ti\simplelink_cc2640r2_sdk_5_30_01_11\examples\rtos\CC2640R2_LAUNCHXL\drivers\i2ctmp. This example is initially made to interface with the TMP116 and TMP006, but I'm sure it would be easy to adapt it for the TMP117, since there are a lot of similarities (For example, the I2C of the address of the sensor seems to be 0x48 according to the user guide of the TMP117).

    As you have mentioned I have imported the projects from the i2ctmp folder inside the drivers and when I have tried to build it the two projects mentioned as i2ctmp_CC2640R2_LAUNCHXL_tirtos_ccs and i2ctmp_CC2640R2_LAUNCHXL_tirtos_gcc without doing any changes inside them. I hope I have imported the right projects. Now after building these two projects I have seen two different generated binaries such as

    1. i2ctmp_CC2640R2_LAUNCHXL_tirtos_ccs.out under i2ctmp_CC2640R2_LAUNCHXL_tirtos_ccs project.

    2. i2ctmp_CC2640R2_LAUNCHXL_tirtos_gcc.out under i2ctmp_CC2640R2_LAUNCHXL_tirtos_gcc project.

    I have attached an image below for your reference.

     Also I am attaching an image for the you reference to check weather i have imported the correct projects into my workspace or not.

    Honestly i was a bit confused since I am not a Firmware engineer. Mostly I work on the Hardware designs and sometimes I look into the basic debugging sections. That is why I love the E2E forum. I have done so many debugging by getting help from this TI E2E forum.

    If possible can you guide me through if any changes required in the firmware. Also which files needs to be build and which .out file needs to be flashed in my CC2640R2F Dev Kit such that while it is connected to my TMP117EVM breakout section i can read only the temperature inside CCS or any serial monitor. For this if you have any better suggestions I am open to all.

    Lets keep the BLE part aside for now and focus on the temperature data out from the tmp117 for now.

    As for the Hardware connections between TMP117 breakout board and CC2640R2F dev kit I can do that pretty easily. No worries about the hardware part. Just needed your help over the Firmware section.

    Also as you have mentioned me to read through the README file inside the i2ctmp folder i have gone through it and luckily I had PuTTY installed in my PC.

    Will be looking forward to your guidance. 

    Regards,

    Ratul

  • Hi !

    First of all, sorry for the long delay, I was in vacations last week.

    When importing the i2ctmp project, you have a choice between the CCS version and the GCC version. The difference between the two is only the compiler used. You can pick any of the two, but I will use CCS in my case.

    Once you import the i2ctmp_CC2640R2_LAUNCHXL_tirtos_ccs project, you can open the i2ctmp.c file. You'll be able to find constants such as the address of your TMP device that I2C needs. By default, the firmware tries to scan and read the value of the TMP006 and TMP116. It looks like TMP116 and TMP117 use the same I2C address, so no need to change much here.

    Once you build the firmware, you should be able to flash it just like you flash your BLE firmware. If you're using a XDS110 with your board, you can directly right click your project in CCS and click Flash.

    The firmware opens a UART connection and prints things such as "Starting the i2ctmp example". If you're using a launchpad, the UART pins of the CC2640R2F should be connected to the UART pins of the XDS110, allowing you to read it through putty. If not, you'll have to connect these pins yourself, or use a logic analyser. By default, the pins for UART are as such : 

    Can you try to flash the i2ctmp_CC2640R2_LAUNCHXL_tirtos_ccs\Debug\i2ctmp_CC2640R2_LAUNCHXL_tirtos_ccs.out firmware on your chip, and check what the UART logs are ?

    Kind regards,
    Lea

  • Hi Lea,

    Hope you are doing well.

    Sorry for the delayed response. Got stuck with some other work.

    As you have mentioned in the above I have flashed the CC2640R2F LaunchXL directly with i2ctmp_cc2640r2_launchxl_tirtos_ccs.out from the exact folder you have mentioned. I have attached an image of flashing process below for your reference.

    As we can see in the above image the ccs.out file got flashed successfully into our CC2640R2F LaunchXL.

    I have attached image for your reference to showcase the XDS110 COM ports.

    After this I have opened Putty serial monitor to check the temperature output. Here I have kept the Serial Line as COM6 and Speed as 115200. I have also attached an image below for your reference. Also let me know if i have made any mistake in the Putty interface.

    After clicking the Open button shown in the above image we have got the terminal opened from Putty and the response was - Error. No TMP sensor found! . I have attached an image below for your reference.

    As you can see in the above image some error came. Need your help to resolve this issue.

    Also if you required any additional information please let me know.

    Regards,

    Ratul

  • Hi Lea,

    Hope you are doing well.

    Any feedback for the response I have uploaded after your temperature value reading from tmp117 using CC2640xx launchXL kit instructions??

    Regards,

    Ratul