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.

BQ25790EVM: Guide for testing via USB2ANY

Part Number: BQ25790EVM
Other Parts Discussed in Thread: USB2ANY, BQSTUDIO, EV2400, , BQ25790, MSP430F5529, MSP-FET

Hello,

In the guide for this eval boar:

https://www.ti.com/lit/ug/sluuc51a/sluuc51a.pdf?ts=1646615891981&ref_url=https%253A%252F%252Fwww.ti.com%252Ftool%252FBQ25790EVM

There are detailed steps on how to evaluate it using BQStudio. I opted for the USB2ANY as it appears to have a longer life ahead of it, but I see no detailed guide on how to evaluate the board via GUI Composer or the like. Where can I find these steps?

There were no links in the guide or product page to any GUI Composer guide, but I found this from a web search:

https://dev.ti.com/gallery/view/BatteryChargers/ticharger_gui/ver/1.4.3/

Is this what I should be using to evaluate this board? If so, even after following the equipment setup from Step 2.2. of the eval guide, I cannot connect. All I see is very unhelpful "Error" message. (See screenshot).



Any tips on moving forward would be appreciated.

Best regards,
Christopher

  • After following this:

    https://software-dl.ti.com/ccs/esd/documents/ti_cloud_agent.html#logging

    I have apparently enabled logging, though all I see it this when trying to connect with the link button:

    ---/home/christopher/TICloudAgent/ticloudagent.sh ARGS--- /home/christopher/.mozilla/native-messaging-hosts/com.ti.ticloudagent.json jid1-OUyb80wrjJhfaQ@jetpack

    I also note that the steps to enable debugging appear to be outdated. The lines to uncomment appear to be lines 3-5 not 4-6.

      3 export TI_DS_ENABLE_LOGGING=1
      4 export TI_DS_LOGGING_OUTPUT=/tmp/my.log
      5 echo "---$0 ARGS--- $1 $2 $3" > /tmp/my_ticld_args.log
      6

  • Hi Christopher,

    There is no guide for GUI Composer using USB2ANY.  Either BQSTUDIO with EV2400 or USB2ANY with online GUI Composer are used to set the I2C registers that control the charger's state machine, current and voltage regulation points and monitor the charger states and faults and ADC voltage and current values if enabled.  

    Regards,

    Jeff

  • Any feedback on how to use GUI Composer with BQ25790EVM? I added several details of what I tried. Could you please verify I am heading in the right direction and any avenue I can seek for support in overcoming this connection error?

    There were no links in the guide or product page to any GUI Composer guide, but I found this from a web search:

    https://dev.ti.com/gallery/view/BatteryChargers/ticharger_gui/ver/1.4.3/

    Is this what I should be using to evaluate this board? If so, even after following the equipment setup from Step 2.2. of the eval guide, I cannot connect. All I see is very unhelpful "Error" message. (See screenshot).
    After following this:

    https://software-dl.ti.com/ccs/esd/documents/ti_cloud_agent.html#logging

    I have apparently enabled logging, though all I see it this when trying to connect with the link button:

    ---/home/christopher/TICloudAgent/ticloudagent.sh ARGS--- /home/christopher/.mozilla/native-messaging-hosts/com.ti.ticloudagent.json jid1-OUyb80wrjJhfaQ@jetpack

    I also note that the steps to enable debugging appear to be outdated. The lines to uncomment appear to be lines 3-5 not 4-6.

      3 export TI_DS_ENABLE_LOGGING=1
      4 export TI_DS_LOGGING_OUTPUT=/tmp/my.log
      5 echo "---$0 ARGS--- $1 $2 $3" > /tmp/my_ticld_args.log
      6
    Either BQSTUDIO with EV2400 or USB2ANY with online GUI Composer are used to set the I2C registers that control the charger's state machine, current and voltage regulation points and monitor the charger states and faults and ADC voltage and current values if enabled. 

    Ok, so how exactly do I "set the I2C registers" with the USB2ANY using GUI Composer? What documentation/guide should I be reading to obtain this knowledge?

    Best regards,
    Christopher

  • Hi Christopher,

    The I2C registers are all the registers listed in Register Map (Table 8) of the datasheet of the BQ25790. BQStudio and GUI Composer communicate with these registers and change them as needed.

    As for not being able to connect, have you tried changing from Firefox to Chrome or vice versa? Also, keep in mind the EVM has to have power to it in order to be able to talk to the USB2ANY or EV2400.

    Regards,
    Ethan Galloway

  • Thanks for trying to help Ethan!

    I have tried both Chromium (I'm on Ubuntu 20.04) and Firefox. Both seem to fail, but Chromium is telling me I still have an issue with my Cloud Agent Installation, which is at least a little more than Firefox was telling me. I'll include all my steps in a section at the bottom, as it got VERY lengthy. For your ease of reference, I have summarized the points that appear suspect within the steps in the Summary Section below.

    #########################################
    Summary
    #########################################

    Due to the lacking documentation I am guessing here, but it looks like the Ti Cloud Agent plugins in the browsers are supposed to call the locally installed ~/TICloudAgent/ticloudagent.sh, but are not doing so for some reason. This is evidenced by no log files being produced at /tmp as stated in both the script and the troubleshooting guide. Conversely, I can generate these log files if I run ~/TICloudAgent/ticloudagent.sh manually from a terminal, but I get a bunch of errors from what looks like incorrect directory structure. This leads me to believe I shouldn't be calling this manually, but the browser should be from some other directory with the expected structure. Due to the lack of logs when run from the browser, I'm inclined to think the browsers are not calling this ~/TICloudAgent/ticloudagent.sh script, but I am unsure how to verify how or why this is not happening.

    The only relavant troubleshooting I find it here:

    software-dl.ti.com/.../ti_cloud_agent.html

    But the workarounds are only specified for Windows. I've detailed what I have done and considered regarding user/admin priviledges, but am unsure how to resolve this.


    #########################################
    Reference -- All Troubleshooting Attempts
    #########################################

    After clicking the "Help. I already did this" for troubleshooting from the error message in GUIComposer, I've taken the following steps:

    1. In Requirements -> OS, I clicked on the details for Linux support, but this appears to be a link to help on CCS. I'm not familiar with CCS, but is it related to GUICompser or the Cloud Agent Installation somehow? I note later down the page it states, "The process of installing dependencies for the desktop Code Composer Studio installs is also relevant.", so assuming the information is related, and this isn't just a bad link, I note that the BQ25790 is not listed  on the supported devices. I've read, and asked on here a few times about the compatibility of the BQ25790EVM with GUIComposer, and it has always been answered, that yes they are compatible. Should I question the validity of this after referencing this CCS documentation?

    2. Also in the above mentioned CCS documentation, I see a list of compatible debuggers. I appears the USB2ANY is powered by a MSP430F5529. I'm not familiar enough with these chips to know if this lies within the "Supported MSP430: MSP-FET, MSP-FET430UIF" chipset or the "Not Supported MSP430: MSP-FET430PIF (Parallel port)" chipset. Can you confirm the USB2ANY is even compatible with the GUICompser/Cloud Agent? If so, where is this stated as I'm only seeing documentation for CCS.

    3. I can verify that my distribution is a 64-bit Linux 20.04 LTS which is listed as supported

    4. It states that "The CCS installer will run a dependency check for these and inform the user of any missing dependencies." Am I supposed to install CCS in order to be able to run GUIComposer?

    5. Further down the page I see a list of Ubuntu 20.04 dependencies listed. I went ahead and installed these assuming they are also needed for GUIComposer or the Cloud Agent. I note the dependency on a python 2.7 package and wonder if this has something to do with the errors.

    6. Coming back to the TI Cloud Agent Help, I move on to the Hardware section. I definitely have more than enough Free Disk Space, memory and processor specs.

    7. Browsers tested: Firefox 98.0.2 (64-bit), and Chromium Version 99.0.4844.82 (Official Build) snap (64-bit). These appear to be well above the requirements.

    8. Permissions: "The user account which will use TI Cloud Agent must have the ability to install the TI Cloud Agent with the required elevated (administrator) privileges." When installing the ticloudagent.run I was asked for my sudo password and it said it was installing with root privledges.

    9. Under Supported Devices: "The Cloud IDE does not support debugging of the old MSP-EXP430G2 LaunchPads when used on Linux or MacOS." Does the USB2ANY fall under this category?

    10. Under Troubleshooting -> TI Cloud Agent Installation: I've already installed the browser extension in both Firefox and Chrome, and verified that the browsers are up to date and the extensions are enabled. Operation in incognito mode is also off as specified. I don't think the Windows short filename generation is applicable in my case.

    11. Under Overriding TI Cloud Agent Proxy Settings: I have no local proxy, therefore this is not applicable.

    12. I think "A common issue is a missing dependency on libudev.so.0. This library may not be available on some Linux distributions. A workaround for Cloud Agent is to symlink libudev.so.0 to libudev.so.1." may be relevant, but there are no particular instruction on how to do this appropriately. One relevant looking post on AskUbuntu is here (askubuntu.com/.../missing-libudev-so-0). This leads the quesion as to where the Cloud Agent is installed by the run script. That way I could track down its LD_LIBRARY_PATH to check if it has access to libudev.so.0 or not. If I simply try to find it on my computer, I see it does exist at ./lib/x86_64-linux-gnu/libudev.so.0, though I still need some way to confirm the Cloud Agent's LIB PATH points to this.

    In an attempt to find this, I had a look at two things: 1.) The contents of the TICloudAgent/ticloudagent.sh script:

    #!/bin/bash
     
    #export TI_DS_ENABLE_LOGGING=1
    #export TI_DS_LOGGING_OUTPUT=/tmp/my.log
    #echo "---$0 ARGS--- $1 $2 $3" > /tmp/my_ticld_args.log
     
    pushd `dirname $0` > /dev/null
    SCRIPTPATH=`pwd`
    popd > /dev/null
     
    # When started from firefox, some environment variables may not be set
    # We'll manually set/modify the ones we depend on here
     
    if [ -z "$HOME" ]
    then
      export HOME=~
    fi
     
    if [ -z "$TMPDIR" ]
    then
      export TMPDIR=~/.ti/TICloudAgent/tmp
      mkdir -p $TMPDIR 2> /dev/null
    fi
     
    export PATH=$PATH:/usr/sbin:$SCRIPTPATH/util
     
    # Now start node
     
    if [ "$1" = "not_chrome" ]
    then
      $SCRIPTPATH/node $SCRIPTPATH/src/main.js
    else
      $SCRIPTPATH/node $SCRIPTPATH/src/main_chrome.js
    fi
    
    


    and the TICloudAgent/ticloudagent_install.log

    Log started 03/25/2022 at 13:07:13
    Preferred installation mode : gtk
    Trying to init installer in mode gtk
    Mode gtk successfully initialized
    [13:07:13] Installer name: ticloudagent.run
    Executing chmod -R ugo+rwx "/tmp/ticloudagent"
    Script exit code: 0
    
    Script output:
     
    
    Script stderr:
     
    
    Executing /tmp/ticloudagent/util/testprog
    Script exit code: 0
    
    Script output:
     Checking availability of libraries in ext-depends.txt ...
    Done.
    
    Script stderr:
     
    
    [13:07:14] installer_command_line_arguments:
    [13:07:14] installer_command_line_arguments:
    Preparing to Install
    [13:07:28] BuildID: 0.5 3784
    Preparing to Install
    Unpacking files
    Executing pkexec /home/christopher/TICloudAgent/install.sh --install
    Script exit code: 0
    
    Script output:
     Install /usr/share/applications/ticloudagent.desktop
    Uninstalling /etc/udev/rules.d/71-ti-permissions.rules
    TI XDS100 installation completed successfully.  Some versions of Linux
    require a reboot in order for the driver to function properly.  For other
    versions restarting udev is sufficient.  Restarting udev now ...
    
    Script stderr:
     Error in file "/usr/share/applications/org.kde.kdeconnect_open.desktop": "*/*" is an invalid MIME type ("*" is an unregistered media type)
    
    Executing udevadm trigger
    Script exit code: 0
    
    Script output:
     
    
    Script stderr:
     
    
    [13:07:40] no /home/christopher/.ti/TICloudAgent
    Creating Uninstaller
    Creating uninstaller 25%
    Creating uninstaller 50%
    Creating uninstaller 75%
    Creating uninstaller 100%
    Installation completed
    Log finished 03/25/2022 at 13:07:41
    Exiting with code 0
    


    From the ticloudagent.sh it looks like the script is trying to access a few local directories and files, namely:
    - Tries to create a tmp directory at ~/.ti/TICloudAgent/tmp. I tried removing part sending the stderro to null just to check if it was having trouble creating this, and it doesn't seem to be the case.
    - Addes the util directory to the system PATH from within ~/TICloudAgent/util
    - Starts a "node" with one of two .js files. I'm not entirely sure what this means.

    From the TICloudAgent/ticloudagent_install.log I note the error about kdeconnect and wonder if it even has anything to do with the TICloudAgent? Do I need to resolve this error?

    13. Under the TI Cloud Agent Startup:
    After attempting to reinstall the ticloudagent.run I recieve this exact error. It gives a workaround on Windows, but not Linux. I installed the ticloudagent.run using the same admin user account I am trying to use GUIComposer on. I'm not sure what the linux equivalent to the registry item they mention. All files mentioned in the ticloudagent_install.log appear to have user and group equal to my own other than the /usr/share/applications/ticloudagent.desktop file, which is root:root, but I think this is typical for all applications.

    14. Support -> Logging:
    I provided this in my last post. It was quite the uniformitive log. Though it seems it is only populated after I manually try to run the ~/TiCloudAgent/ticloudagent.sh. Am I supposed to be running this manually or is it supposed to be called by the browser plugin? After generating the log via manually running it I get the following, but I suspect I am not supposed to call this mannually and these missing modules are a result of trying to run from the ~/TiCloudAgent directory and not some relative path from the browser:

    2022-03-25T05:20:23.274Z: main_chrome: Staring directory = /home/christopher/TICloudAgent/src
    2022-03-25T05:20:23.275Z: Starting Agent!
    2022-03-25T05:20:23.281Z: Module( Agent )->Web socket server started!
    2022-03-25T05:20:23.436Z: Overridden Proxy =
    2022-03-25T05:20:23.441Z: Discovered Module : DeviceDetector
    2022-03-25T05:20:23.442Z: Discovered Module : DS
    2022-03-25T05:20:23.442Z: Discovered Module : EventBroker
    2022-03-25T05:20:23.444Z: Discovered Module : File
    2022-03-25T05:20:23.444Z: Failed to load module : rex_redirect.js : Error: Cannot find module '../../../../tirex4/ti-rex-core/cloud-agent-module'
    Require stack:
    - /home/christopher/TICloudAgent/src/modules/rex_redirect.js
    - /home/christopher/TICloudAgent/src/host_agent.js
    - /home/christopher/TICloudAgent/src/main_chrome.js
        at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
        at Function.Module._load (internal/modules/cjs/loader.js:725:27)
        at Module.require (internal/modules/cjs/loader.js:952:19)
        at require (internal/modules/cjs/helpers.js:88:18)
        at Object.<anonymous> (/home/christopher/TICloudAgent/src/modules/rex_redirect.js:3:19)
        at Module._compile (internal/modules/cjs/loader.js:1063:30)
        at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
        at Module.load (internal/modules/cjs/loader.js:928:32)
        at Function.Module._load (internal/modules/cjs/loader.js:769:14)
        at Module.require (internal/modules/cjs/loader.js:952:19)
    2022-03-25T05:20:23.445Z: rov_server_redirect: looking in: /home/eclipse/dropins
    2022-03-25T05:20:23.445Z: rov_server_redirect: looking in: /home/eclipse/plugins
    2022-03-25T05:20:23.445Z: rov_server_redirect: looking in: /home/eclipse/Eclipse.app/Contents/Eclipse/dropins
    2022-03-25T05:20:23.445Z: rov_server_redirect: looking in: /home/eclipse/Eclipse.app/Contents/Eclipse/plugins
    2022-03-25T05:20:23.445Z: Failed to load module : rov_server_redirect.js : Error: rov_server.js was not found (this is expected in cloud)
        at Object.<anonymous> (/home/christopher/TICloudAgent/src/modules/rov_server_redirect.js:65:11)
        at Module._compile (internal/modules/cjs/loader.js:1063:30)
        at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
        at Module.load (internal/modules/cjs/loader.js:928:32)
        at Function.Module._load (internal/modules/cjs/loader.js:769:14)
        at Module.require (internal/modules/cjs/loader.js:952:19)
        at require (internal/modules/cjs/helpers.js:88:18)
        at /home/christopher/TICloudAgent/src/host_agent.js:23:42
        at processTicksAndRejections (internal/process/task_queues.js:93:5)
    2022-03-25T05:20:23.470Z: Discovered Module : Serial
    2022-03-25T05:20:23.470Z: Discovered Module : TargetSupport
    2022-03-25T05:20:23.471Z: Discovered Module : USB
    2022-03-25T05:20:23.474Z: Discovered Module : USB-HID
    2022-03-25T05:20:23.474Z: Agent main module running on port 33925
    2022-03-25T05:20:23.474Z: len=
    2022-03-25T05:20:23.474Z: 5
    2022-03-25T05:20:23.474Z: buf=
    2022-03-25T05:20:23.474Z: {"port":33925,"version":"4.13","buildVersion":"3784"}
    
    

    The first error appears to be a missing rex_redirect.js module which is tries to locate at a relative path 4 directories up. If I assume this is being called from `/home/christopher/TICloudAgent/src` I'd say its trying to look for this tirex4 directory in the root directory. That doesn't make much sense to me. This is why I assume I am not supposed to call this script manually, but the browser should be doing so via some other directory with the expected structure.

  • I also wanted to point out that I have made sure the EVM is powered via the D13 diode being on. I have 5V at Power Supply 1 as per Figure 2-1 of the guide:

    https://www.ti.com/lit/ug/sluuc51b/sluuc51b.pdf?ts=1648174446384&ref_url=https%253A%252F%252Fwww.ti.com%252Ftool%252FBQ25790EVM

    I do note that the guide says VSYS-PGND should measure 8.55 V ±0.2 V, but I'm seeing an RMS on my scope of 7.6V with Max/Min being 8.2V/7.2V respectively. Not sure if that indicates a faulty board?

    I also note that I have verified the voltage across TP42 (PULLUP) and TP49 (AGND) is approximately 3.3V/3.7V/4.1V (Min/RMS/Max) whereas the guide specifies 3.3 V.

    As for checking the shunts from Table 1-3 there was one ambiguous item :
    1. JP11 should be "Installed" according to the guide, but it has 3 pins. I have not touched it and its is currently connecting SDRV to  R16 as per the schematic.

  • And just for good measure, I tried on a Windows PC as well. Similar error, but a few more details presented. Screenshot attached.

  • Hi Christopher,

    You might need to update the firmware on your USB2ANY box.  There are instructions on the USB2ANY page and in some e2e posts.  There is mention of a reset button that you have to push.  It is inside the box and requires a paperclip to push.

    Regards,

    Jeff

  • Hi Jeff, yes, at long last after updating the firmware via the USB2ANY Explorer Software here:

    https://www.ti.com/technical-documents/mytilit/export-control?litId=SLVC695&fileType=zip&&ts=1648531195803

    I was able to make the connection successfully. Thank you for pointing that out. Please note that the remainder of this post is not aimed at you Jeff, as I appreciate your attempts to help.

    I would like to take the opportunity to urge the TI team to update the BQ25790EVM guide or take the product off the market. I must have spent a total of 30+ hours trying to debug the thing over the course of several weeks on here. Meanwhile I'm using eval boards from Microchip that are up an running in minutes. For the price tag on this eval board and the USB2ANY I expect a polished and finished working product. I may not be a huge or meaningful customer, but this experience has definitely pointed me away from using TI products for fear of wasting this much time in the future.

    On a more productive note, for a basic expected customer experience, the specific things that I recommend updating are:

    1. If the USB2ANY is in fact the way of the future for TI eval boards, then moving away from the EV2400 and BQSTUDIO references would be ideal and replacing them with USB2ANY and GUIComposer instructions within the eval board guide. If you have no guide, don't advertise it as a possibility.
    2. Add a troubleshooting section to the BQ25790EVM guide and make it very clear to check the firmware matches that used in the guide via the USB2ANY Explorer Software before proceeding. Be sure to include the firmware and any other dependencies (GUI Composer version, etc.) in any guide.
    3. Make it very clear on the USB2ANY webpage that updating the drivers (and therefore using the device) requires a Windows PC (every other reference to using it makes it sound like I should have been able to do all this from Ubuntu).
    4. Add error or debugging to the connection of the TI Cloud Agent that actually gives helpful info other than "Error". If there are connection issues, make a default error message to check the USB2ANY firmware and links on how to do so.
    5. Include a link to the GUI Composer demo (https://dev.ti.com/gallery/view/BatteryChargers/ticharger_gui) in the product page.

    A very disappointed customer,
    Christopher

  • Hi Christopher,

    Thanks for your suggestions. We will take actions about showing the information for the firmware update. 

    Regards,

    Eric