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.

Official Software / Firmware Thread (GUI, MSP430, MATLAB, LabView)

Other Parts Discussed in Thread: LDC1000EVM, MSP430F5529, MSP-EXP430F5529LP

Hello,

New GUI version 1.0.4.0 has been released!  This is a major update that includes the EVM Firmware code, 24-bit L streaming, Logging, Raw Frequency Counter Display, saving of defaults to the microcontroller, and control of LDCLK!

Warning:  When upgrading from a version prior to 1.0.4.0, please install drivers and restart the system after the installation.

Changelog

1.0.4.1

  • Bug Fix:  Power mode is set to standby before writing registers.

1.0.4.0

  • Firmware version 0.3.0.0:  LED on power up now reflects state of USB enumeration:  RED is disconnected, GREEN is connected.  RED AND GREEN means self-calibration in-progress.
  • GUI / Firmware:  Added the ability to load and save defaults from the microcontroller.  When defaults are saved, the EVM would no longer go through the previously lengthy calibration routine.
  • GUI / Firmware:  Added String-based terminal access.  Open a terminal to the COM port of the device.  Press '?' for Menu.  Warning:  Limited support for this type of access.
  • GUI:  Added a simple String-based menu for
  • GUI:  Added Single-shot and Continuous logging capability
  • GUI:  Added the ability to set sampling period
  • GUI:  Added LDCLK configuration
  • GUI:  Added LED configuration
  • GUI:  Added "Toggle Data Type" Plot option to toggle between Raw Frequency Counter and Calculated Inductance Plots
  • GUI:  Added "Clear" Plot option
  • GUI:  "Reset" Plot now resets zoom and disables auto-scale
  • GUI:  Fixed Resize Window Bug
  • MATLAB Library Updated with fixes to register arrays in LDC1000_script.m
  • Added EVM Firmware Code and Binary to "Firmware" subfolder in installation directory

1.0.3.0

  • GUI:  Added the ability to update custom MSP430 firmware using a compiled TI-TXT binary from the GUI menu.  The GUI functionality is not supported after an update so update at your own risk.  You cannot restore the original GUI-compatible firmware unless your custom firmware enters BSL mode.  The original GUI binary will be available in the GUI in the next update.
  • GUI:  Improved Stability
  • Added MATLAB library
  • Added LabView library
  • Added EVM Gerbers and 3D Model

1.0.2.0

  • First Release

Quick Links:

Tool:  LDC1000EVM

http://www.ti.com/tool/ldc1000evm

Software:  LDC1000EVM GUI [LDC1000-SW]

http://www.ti.com/litv/zip/snac058

Application Note:  Interfacing LDC1000 with the MSP430 LaunchPad

http://www.ti.com/litv/pdf/snaa213

Firmware:  LDC1000 Firmware Library for the MSP430 [LDC1000-MSPLIB]

http://www.ti.com/litv/zip/snac059

Tool:  MSP430F5529 LaunchPad

http://www.ti.com/tool/MSP-EXP430F5529LP


GUI What's Next

These are some features that will be implemented:

  • Signed Drivers
  • Improved Stability in Continuous Streaming Mode

GUI Support for Third-Party Adapters

If there is enough interest, this will be considered.

  • good news.waiting for the new features, especially Continuous Appending of Streamed Data.

  • Hello,

    Could you post some information on how to interface the LDC1000 with labview?

    Thank you,

  • Hi Daniel,

    In the LabView folder that's included in the installation there is a file named "LDC1000 Demo.vi" that shows you how to read, write, and stream data from the device.  Is there anything specific you wanted to be demonstrated?

    Thanks,

  • How should the Labview demo be run?  Does the EVM GUI need to be running at the same time?  my EVM board is connected to COM11, but Labview does not recognise this with or without the EVM GUI running.

    Is there a app note on its use and how to interpret the information for a Labview newbie?

  • Hi Peter,

    You need to set the appropriate COM port in LabView.  The EVM GUI should not be running, since Windows only allows ownership of the COM port resource to a single application that claims it.  Moreover, when the GUI puts the EVM in streaming mode, LabView cannot recover this data since it does not default to stream mode, so it's missing a frame of reference.  The recommended method is to:

    1. Open LabView demo file

    2. Plug in the EVM

    3. Run the LabView demo file with the COM port setting pointing to the COM port of the EVM.  To determine the COM port in Windows, open the "Device Manager" in XP or open "Devices & Printers" in Windows 7.

    We do not provide app notes on how to use LabView, but we will consider adding a quick start section in the EVM application note.

    Thanks,

  • Yes, the demo is not that straight forward to follow. So far no success in getting any data in LabView. I am not new to Labview, but the demo is not user friendly by any measure.

    Thanks for you help, i think i am not the only one having troubles with this.

    Best,

  • Hi Daniel,

    You can find individual VIs in the "LabView\LDC1000EVM\LDC Interfaces\MSP430" subdirectory of the application folder.  The open, readreg, writereg VIs are enough to open the device and read and write registers, which might be enough for your application.  However, for large data aggregation, please keep in mind that the complexity in the LabView code is necessary to keep the user interface from freezing.

    I would recommend refreshing on the producer-consumer architecture.

    Thanks,

  • Hi Charles,

    I'm using the LabVIEW VI contained to stream the data. My problem is I can find the device in the right COM, but can't stream it. Once I click "start streaming", the error shows up. Could you please tell me if there's something I did wrongly?

    Thanks,

    Jiaqi

  • Hello Jiaqi,


    Apologies for the delay.

    I am out of town at the moment, once I'm back I will look into it.

    In the meanwhile, what version of LV do you use?

  • Hi Evgeny,

    Thanks for your reply. The LabVIEW I'm using is 2013. 

    Cheers,

    Jiaqi

  • Hi,

    After I change the option of the "Open VI Reference Function" from x80 to x02, I could measure.

    Stefan

  • Thank you, Stefan!

    Another flag worth checking out is x08

  • Dear Sir is this solution applicable to LabVIEW 2012  because it is not working though the error is exactly the same.

  • This is working fine with labview 2012 too but iam not able to save the streaming data though it opens a folder for file name but it is not accepting any file name to save data.

  • Hi

    I am using LABVIEW GUI ALRIGHT BUT I AM NOT ABLE TO SAVE DATA TO LVM FILE OR EXCEL FILE THROUGH SAVE BUTTON. Please give a solution for the same. regards

  • Hi Pravat,

    Please go to Save Data Event

    Pull Status from Unbundle, wrap another case structure around the existing one, that is based on code status.

    So, if there's no error, it does not go into checking for the code. The code is generated occasionally on slower machines, when VISA generates data faster than it's consumed. GUI bug.

  • When i use save button i get an error "cannot write to this file. please make sure its not open in another application and you have sufficient rights to write to it" though the file is not open in any program. I tried to modify the program as per your suggestion but it did not work, block diagram attached. Kindle give a simple solution or  modified program.

    regards

    pravat

  • Pardon me for not being exact with my wordings.

    Here's what I meant:

    Grab the content of Case 0 and place it into False case of error status.

    Keep the rest of the code-based case structure in the True case of error status. Like this:

  • Hi Evgeny

    your reply is not complete as  you have some thing more to write after like this i suppose.please give an pictorial explanation for what i have to do to coorect the labvie code or give an corrected code so that i can download it and save date from ldc1000 evm in LabVIEW for future application.

    pravat

  • Hello Pravat,

    you are right, it cut off the images.

    I'm not in the office this week so cannot re-post the images right away.

    If you are in a hurry, please just follow the verbal description, and post the modifications if they don't work - I will help you out if something is wrong.

  • Hi

    the modification suggested are not clear so you come back to office and then post the images then only i will proceed to next step. i will wait for a week.

    bye

    pravat

  • Hello,

    Concerning LDC1000,

    Can you explain why is there initialization of 0x05 register to 0x00 in the code of the LDC1000 firmware, because in the DS (Table 1 p15) the 0x05 register is RO and default value is 0x01.

    Can you provide more details about this register ?

    ( LDC1000_CMD_CLKCONFIG in the firmware used by evm_init() )

    Thank you.

  • Hello Philippe Lecointre,

    The 0x05 register in LDC1000 is Clock Configuration register. In the firmware, it is initialized to 0x00 instead of the default 0x01 as external clock is used instead of the internal clock.

    Please note that 0x05 register is R/W and not RO.

    - Best Regards,

      Suhas R C

  • Hello,

    I encounter problems with snac059 (LDC1000-MSPLIB: LDC1000 Firmware Library for the MSP430). I try to use LDC1000_F5529LP_DRDY and LDC1000_F5529LP_LowSpeed but none of them works correctly.
    In LDC1000_F5529LP_LowSpeed, I found a mistake in main.c line 274, a ( is missing so the compiler aborts.
    In LDC1000_F5529LP_DRDY, P1.0 doesn't generate LDCLK.
    With both firmwares, I can't find solutions to log data properly with a python script.
    Here is the script :

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    #############################################################################################
    import serial
    import time
    
    serial_port = serial.Serial(port='COM8', baudrate=9600)
    serial_port.write('000000')
    
    print("Begin\n")
    try:
        while True:
            s = serial_port.read(5)
            print s.encode('hex')
            proxlsb=s[0]
            proxmsb=s[1]
            prox=proxmsb+proxlsb
            freqlsb=s[2]
            freqmid=s[3]
            freqmsb=s[4]
            freq=freqmsb+freqmid+freqlsb
            print prox.encode('hex')
            print freq.encode('hex')
            time.sleep(1)
    except KeyboardInterrupt:
        serial_port.close()
        print("\nEnd")

    This script assume that TIMESTAMP is comment out and a modification is made in source code to stream full data (I've also tried the unmodified version):

    // read data
    if (spi_readBytes(NULL, LDC1000_CMD_PROXLSB, &bufferPtr[0], 5) == TRUE) {
        bufferPtr += 5;
        bufferIdx += 5;
        dataReady = 0;
    }

    The data received by the host aren't the ones I see in bufferData (and bufferPtr[x]) in Debug sessions. Only the ProxLSB value seems correct unlike to ProxMSB which don't change during distance sensing. FreqData is 0 because LDCLK generation isn't effective.

    Do you have any ideas of how to solve my problems ?

    My configuration is MSP-EXP430F5529LP Rev1.6 and LDC1000EVM RevB interfacing such as SNAA213–October 2013 explains. The firmwares snac059 from TI compiled using Code Composer Studio v5.5.0.00077 with msp430 compiler v4.2.1.

    Best Regards,
    Philippe

  • where I can get this software?