davetcc / tcMenu

Menu library for Arduino, mbed and ESP with designer UI and remote control capabilities.
https://www.thecoderscorner.com/products/arduino-libraries/tc-menu/
Apache License 2.0
272 stars 25 forks source link

[Docs] Document changes in TcMenu protocol API #395

Closed vzahradnik closed 10 months ago

vzahradnik commented 10 months ago

Hi Dave,

I just noticed that you recently made a change to the JOIN command to support serial numbers: https://github.com/davetcc/tcMenu/issues/355

From now on I suggest to document every change in the core TagVal protocol. At least it will be easier to track down changes. Release notes should suffice.

In the future, we might think of a better way, e.g., we could create issues in each API implementation to add support for the new change.

By the way, I also bumped version of the tcmenu-python to 4.1.1 to copy versioning of the core libraries. I just noticed that it is now 4.1.2, so I will update yet again :)

Last but not least, you can make the Python code public. It's still not complete but there's no harm in making it public even at its current state.

Thanks, Vladimir

davetcc commented 10 months ago

Agreed all future changes I’ll tag with an API change tag and I’ll even do this one just for completeness

python library is public now. I somehow thought it already was or would have done sooner.

davetcc commented 10 months ago

Addition of sequence number to Join message, catch up in embed control and JS code

davetcc commented 10 months ago

The TagVal field is encoded as follows, where let us say that serial number is 999999999:

US=999999999
davetcc commented 10 months ago

The protocol documentation was updated on the main site.

See https://github.com/davetcc/tcMenu/issues/403 for the final UI change required in the java domain. Issue raised in the Javascript Api

davetcc commented 10 months ago

I'll close it now, and make sure any future API protocol changes use the new label. Please re-open if you think there's more to do

vzahradnik commented 10 months ago

Thanks, this is enough. I updated the Python API (what I have) to match this change. Currently I'm working on parsing and serializing protocol data. Once this is done, the rest should be easy. I'm hopeful to see the first release soon.