thanks4opensource / buck50

STM32F103 logic analyzer and more
GNU General Public License v3.0
562 stars 55 forks source link

Support SMBUS #15

Open ch1nq opened 1 year ago

ch1nq commented 1 year ago

Hi, I really like the project and where it is headed. As stated in the README, SMBUS mode is not currently supported

https://github.com/thanks4opensource/buck50/blob/e77172a73e2da7a10e4f371f3b2d3c184f053ce9/README.md?plain=1#L2896

Are there any plans of supporting SMBUS mode?

thanks4opensource commented 1 year ago

Unless I come across a need for it in my own work it's unlikely that I'll be adding SMBus support. I'm too busy with other projects, and I don't have any SMBus hardware to test against in any case.

I don't know anything about SMBus beyond reading the descriptions in RM0008, and if it's just a matter of setting the correct I2C peripheral registers, extending the user interface in buck50.py, the driver code in buck50.cxx, and the communication packets between them it would be fairly easy to do. But note that it was very difficult to get the full I2C state machine in buck50.cxx working correctly (largely due to ST's poor documentation), and handling the SMBus protocols (ARP, UDID, etc.) might be similarly difficult.

If you or someone else implements SMBus and submits a pull request I'd consider it for integration, assuming it didn't rewrite any of the existing code or affect its operation in any way. As can be seen from how few issues have been filed here, buck50 has proven to be surprisingly stable -- either that, or maybe no one is using it besides me. I can't commit to a timeframe for how long it would take to review and validate new code to ensure it doesn't affect that stability.