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.

BQ34110: Mfg Status Init not directly writable?

Part Number: BQ34110
Other Parts Discussed in Thread: BQSTUDIO

I have a function in my firmware that programs the DF with the factory parameters required for it to work.

This function is called during the system setup.

During normal startup, I read the parameters from the DF and compare them with the factory parameters to allow for normal functioning (battery charging etc.)

The correct configuration of the Mfg Status Init (0x40D7) field in the DF is 0x0003 (ACCHG_EN and ACDSG_EN) set and the corresponding field in the factory parameters object is correctly set. However, when I call the function that programs the factory parameters, all of them are OK except Mfg Status Init, which retains the default value. If I either manually set Mfg Status Init with BqStudio or if I click on the ACCUM_CHG_EN and ACCUM_DSG_EN buttons, then Mfg Status Init contents is 0x0003 and then my firmware finds a match with the factory parameters.

To program the DF, I am unsealing the fuel gauge and setting the calibration mode.

I could not find any mistake in my code, basically I use the same functions that successfully program other fields.

Am I missing something? Does Mfg Status Init require a different handling than other fields (e.g. Design Capacity, Pin Control Cfg)?

Thanks in advance.

  • Hi Elder,

    Manufacturing Status Init should be handled the same as other fields. When you say factory parameters, are those the parameters you are using in your application or are those supposed to be the default parameters? I just want to confirm because the TRM states that the default value for Mfg Status Init is 0x0003 while the actual default value is 0x0000.

    Best,

    Jessica

  • Hi, Jessica.

    First off, thank you for your answer. I was starting to doubt the question was posted as I could not find it in my profile. Maybe the new forum interface still have some issues?

    I need Mfg Status Init to be 0x0003. I missed the default by TRM, I was assuming it was 0 because that was what I saw while inspecting a brand new FG with BqStudio.

    Thank you for the info about Mfg Status Init being handled just like other fields, that is really good to know. After I posted, I went on doing tests and I identified a possible problem with my implementation, with the help of a I2C analyzer. At some point during the programming function I found an I2C error. I still did not have the chance to dig deeper into it but it happens when I need to write a long buffer where the write buffer is 36 bytes total (MAC plus 32 DF data buffer + chksum/length. I will post an update once I figure out what is happening.