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.

BQ20Z45R1, Documentation??

Hi, 

im developing a small software to Read and Write automatically the device BQ20Z45R1... rigth now the software is working but i have problem to found the correct commnads... 

the test spec ask: 

Read the Voltage, i think that MSBus command is 0x09

Read \ Write the the Serieal Number

Read all to save in a gg file...

Exist any Documentation about that?

Thanks!!!

  • Hi Hector,
    Have you looked at the technical reference manual?

    www.ti.com/.../getliterature.tsp

    thanks
    Onyx
  • thanks!!!, it was that I needed.

  • This could be help for others users:

    C# WPF App + BQEV2300

    1. Donwload and Install EV2300DevKitSetup.exe
    2. Create a Visual Studio C# WPF project...
      • BQEV23K
      • Add a new a Visual Studio C# Windows Form Control Library project
        • AxBQEV23k
          • AxBQEV23KControl
    • Add Bq80xRW Control in AxBQEV23KControl
    • In toolbox > Choose Item > COM Components > Bq80xRW Control
    • Search Bq80xRW Control in toolbox and drag to AxBQEV23KControl, AxBQ80XRWLib and BQ80XRWLib will be added as reference auto.
    • Build AxBQEV23K
    • Add AxInterop.BQ80XRWLib as reference in BQEV23K
    • Add Windows From as reference in BQEV23K
    • Add WindowsFormIntegration as reference in BQEV23K
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Navigation;
    using System.Windows.Shapes;
    using System.Configuration;
    using System.Collections.Specialized;
    
    namespace BQEV23K
    {
    
        public partial class MainWindow : Window
        {
            AxBQ80XRWLib.AxBq80xRW EV23K;
    
            public MainWindow()
            {
                InitializeComponent();
                Title = "BQEV23000";
                WindowStyle = WindowStyle.None;
                ShowInTaskbar = false;
                Height = 0;
                Width = 0;
                this.Loaded += Window_Loaded;
    
            }
    
            public int BQConnect(out int BrdsNumber, out string BrdsName)
            {
                try
                {
                    BrdsNumber = 0;
                    BrdsName = "";
    
                    System.Windows.Forms.Integration.WindowsFormsHost host = new System.Windows.Forms.Integration.WindowsFormsHost();
    
                    EV23K = new AxBQ80XRWLib.AxBq80xRW();
                    host.Child = EV23K;
                    Gd_Main.Children.Add(host);
                    EV23K.GetFreeBoards(1, ref BrdsNumber, ref BrdsName);
    
                    if (BrdsNumber <= 0)
                        return -1;
    
                    BrdsName = BrdsName.Substring(0, BrdsName.Length - 1);
    
                    if (EV23K.OpenDevice(ref BrdsName) != 0)
                        return -1;
    
                    return 0;
                }
                catch (Exception ex)
                {
                    throw new ArgumentException(ex.Message);
                }
            }
    
            private int ReadSMBus(string SMBusCmd, out string SMBusWord)
            {
                try
                {
                    SMBusWord = "";
                    short SMBCmd = short.Parse(SMBusCmd, System.Globalization.NumberStyles.HexNumber);
                    short nWord = 0;
    
                    if (EV23K.ReadSMBusWord(SMBCmd, ref nWord, 0X17) != 0)
                        return -1;
    
                    SMBusWord = nWord.ToString("X4");
                    return 0;
                }
                catch (Exception ex)
                {
                    throw new ArgumentException(ex.Message);
                }
            }
    
    
            private void Window_Loaded(object sender, RoutedEventArgs e)
            {
                try
                {
                    int BrdsNumber = 0;
                    string BrdsName = "";
    
                    if (BQConnect(out BrdsNumber, out BrdsName) != 0)
                        throw new ArgumentException("Error!!!.- EV23000 no discoverd.");
    
                    Console.WriteLine("EV23000 connected...");
                    Console.WriteLine(BrdsName);
    
                    NameValueCollection SMBusCmd = (NameValueCollection)ConfigurationSettings.GetConfig("MSBusCmds");
                    object[] SMBusKeys = SMBusCmd.AllKeys;
    
                    foreach (string SMBusKey in SMBusKeys)
                    {
                        string Value = SMBusCmd[SMBusKey];
                        string SMBusWord = "";
    
                        if (ReadSMBus(Value, out SMBusWord) != 0)
                            throw new ArgumentException("Error!!!-. SMBusCmd " + Value + " can not be readed.");
    
                        string Section = SMBusKey.Replace(" ","");
                        Console.WriteLine(SMBusKey + ", " + SMBusWord);
                    }
    
                    Console.ReadKey();
                    this.Close();
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    Console.ReadKey();
                    this.Close();
                }
            }
        }
    }
    

  • Any advice to read the Dataflash... it is not clear for me... Thanks!!!