I've noticed if I swap in another board with this chip, using the now CHARGED battery, it will show 1 blinking LED as if the battery has no charge. Is there a way to have the chip reset whenever a different battery is connected, so that it shows the true charge capacity? Perhaps in the EEPROM settings or by changing circuit implementation?
The only way to get the second board to reflect the correct charge status is by completely discharging this fully charged battery, and using the second board to now recharge that same battery.
A: The DS2788 will not estimate a state of charge (SOC) when a battery is inserted, so it will show a discharged battery since it has been through a power on reset.
The most accurate method is to do what was done; discharge the battery and then charge it. Less accurate would be to charge the battery up and then load the accumulated current register with the battery capacity. This will be less accurate as the capacity will be nominal and not reflect what the battery actually is, and will not include the effect of the charge voltage, but it would save some time.
Another method is to characterize a battery and estimate the state of charge vs voltage. When the battery is plugged in, you can measure the voltage, estimate the state of charge, and then load the accumulated current with the estimate. This is subject to error from temperature and loading and battery variations, but could give you a quick start, which would get that long time step off your production floor. The accuracy will not be as good as if you did the charge/discharge cycle.
These are options but not recommendations because without details of the system or battery, it's not possible to estimate the level of errors you will see.
A coulomb counter is subject to accumulation errors due to current offset; even a few microamps integrated over time will cause errors, so you will have to do a discharge/charge learn cycle occasionally, or the customer will have to do it from time to time. So whether you do it up front or the customer does it later, it will need to happen.