-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Firmware seems unstable, help? #18
Comments
Hi, I probably won't be able to help since I've never had this issue with the packs I've worked on but if you're getting that output it means the firmware is still running and responding to commands so this seems like some kind of communications issue to me at first glance. Does disconnecting and reconnecting the SMBus wires (without resetting the controller) have any effect when the interface is in this state? Does anything change if you modify |
@emersonknapp |
Yes, I have experienced that reconnecting the SCL and SDA lines fixes the issue. Do you have any idea how I could make this happen in software? Unfortunately I don't know what gas gauge they're using inside the RRC2054 battery, I'm hesitant to crack it open since it was a little pricey. I'm currently solving my problem by using a CP2112 which seems to have more stable communication (sometimes get read errors but then it comes back, I think it may be my calling side not waiting for a transaction to complete) - I can close this issue for now since I don't think I'll be actively following up on it. |
Good to know you found a solution! By the way similar issues could happen when communicating in MultiMaster environment due to lack of arbitrage on the bus. You have noted that you are working with Pack/Charger combination so collisions could occur with another bus Master while simultaneously talking with one slave. Me beleive that it's not easy to solve such issues at high level software side. It needs to look at Cypress documentation for EZ-USB i2c hardware engine and then to modify FX2LP firmware. At first glance it's need to emulate "Smbus disconnect" event by changing SCL and SDA to z-state. Regarding Gas Gauge used in your specific battery pack it's not compulsory to crack it) |
That sounds useful, what "gauge fingerprints" should I look for? Is there a list somewhere that I could consult? |
There is no collected lists in one place. Usually they distributed in users working directories if they care about saving those "fingerprints" for future references. |
This project seems really useful. I am trying to use it to communicate with a smart battery / charger combination
https://www.rrc-ps.com/en/battery-packs/standard-battery-packs/products/rrc2054/
https://www.rrc-ps.com/en/power-management/power-management-modules/products/rrc-pmm240/
When I run
watch -n 1 smbusb_sbsreport
, it usually works a few times, but then starts failing consistently with all error values, like belowWhen I power cycle the FX2LP, then I start getting real values again. I unfortunately don't understand the code well enough to understand why this might be happening. Any ideas?
The text was updated successfully, but these errors were encountered: