basecamelectronics / sbgc32-serial-api

A complete C-library and example projects for the SimpleBGC32 Serial API integration. Serial API allows to communicate with all gimbal controllers developed by Basecamelectronics company.
Apache License 2.0
24 stars 12 forks source link

SBGC32_Reset() does not send confirmation #4

Closed poett1 closed 3 weeks ago

poett1 commented 2 months ago

Hello,

since the latest commit (V1.1) calling the SBGC32_Reset() function no longer sends out confirmation messages when used with RF_RESTART_CONFIRMATION or RF_FULL_RESET_CONFIRMATION flags. This issue can be consistently replicated by uncommenting line 98-100 in the linux example.

qsivey commented 2 months ago

Hello! Thank you for your feedback. We'll address it promptly. We also want to inform you that we are preparing version 2.0, which includes many advanced features and new detailed example. We plan to release it in the near future.

poett1 commented 2 months ago

Thanks @qsivey!

In the past, large updates have been pushed as single commits to this repo without any versioning, which makes it challenging to integrate and track changes effectively. I would like to suggest a more incremental approach to committing updates. Adopting a practice of smaller, more frequent commits with meaninful descriptions could enhance transparency and also facilitate community contributions, aligning with the collaborative spirit of open source. This method could also make it easier for users to follow along with the development process and understand the evolution of the codebase.

Additionally, it would be beneficial to establish a clear versioning strategy that aligns the API versions with the corresponding firmware and GUI versions. Perhaps we could consider using a development branch for ongoing work, with releases tagged in a manner that corresponds to the firmware/GUI versions? This would enhance clarity for all users of the SimpleBGC API.

qsivey commented 2 months ago

However, it is important to note that version 2.0 is essentially a completely new implementation of this library, and it is not compatible with previous versions. In this case, it would be quite problematic to update it incrementally, as this would require updating examples and documentation, as well as modifying the configuration file for users each time. After updating the repository to version 2.0, we will strive to release updates much more frequently.

Regarding the library's compatibility with SerialAPI versions, we have also considered implementing such a feature. Currently, accessing functions unavailable due to firmware version will return an appropriate error. This approach, with some improvements, remains in version 2.0 as well. Additionally, there are specific notes in the documentation and comments to alert users about the unavailability of certain functions within the current firmware version. If you have specific ideas on how to improve this feature, we would be interested to hear your thoughts.

Thank you for your feedback!