This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMP107EVM: Data logging for longer periods

Part Number: TMP107EVM
Other Parts Discussed in Thread: TMP107, BOOSTXL-TMP107

Hello,
I would like to log some hours of data from the TMP107EVM module.
I have tried using the TMP107 GUI and exporting the data however this only records the last 100 samples.


I have also tried building the Labview project from https://e2e.ti.com/support/sensors/f/1023/p/549039/2243478
There were some errors within the main VI when I attempted this however.
I am running LabVIEW 2017 and I've moved the user.lib file to my LabVIEW 2016 folder in the C drive.

Thanks,
Lyle

  • Hi Lyle,

    The TMP107EVM exposes a USB COM port which can be accessed by just about any programming language. Bytes sent to the COM port will be echoed back to you along with any response bytes from TMP107(s). The library test bench in the source code for BOOSTXL-TMP107 shows you exactly what bytes to send over the COM port and can be reconfigured (in C code) to provide the bytes you need for your situation. This is an example of what you can do with the test bench:

    $ ./a.exe
    you should GAddrInit once on new HW
    or any time the chain changes
    GlobalAddressInit:
    0x55 Calibration Byte
    0x95 Command Byte
    0x0D Byte 1
    
    LastDevicePoll will retrieve last_addr
    without GAddrInit again
    LastDevicePoll:
    0x55 Calibration Byte
    0x57 Command Byte
    
    you should receive the echo and one additional byte
    you must wait for this response before proceeding
    A chain of 3 devices should respond 0x1B
    TMP107_Decode5bitAddress(0x1B): 0x03
    
    GlobalReadTemperatureReg:
    0x55 Calibration Byte
    0x1B Command Byte
    0xA0 Byte 1
    
    you should receive echo and 2*device_count bytes
    you must wait for this response before proceeding
    If 3 devices respond 0xE816, 0xF016, 0x0017
    that corresponds to the following temperatures:
    DecodeTemperatureResult(0x16E4): 22.906250
    DecodeTemperatureResult(0x16F0): 22.937500
    DecodeTemperatureResult(0x1700): 23.000000
    
    ===============================================
    a chain of 4 devices should have last_addr 0x20
    TMP107_Encode5bitAddress(4): 0x20
    
    ===============================================
    if you have only 1 TMP107, you don't need to GAddrInit.
    instead, communicate with Address = 0
    TMP107_Encode5bitAddress(0): 0x00
    
    ReadTemperatureReg:
    0x55 Calibration Byte
    0x02 Command Byte
    0xA0 Byte 1
    
    alternatively, if the address was init to 1:
    TMP107_Encode5bitAddress(1): 0x08
    
    ReadTemperatureReg:
    0x55 Calibration Byte
    0x0A Command Byte
    0xA0 Byte 1
    

    thanks,

    ren