[Ovmsdev] Java and questions
tim at deepbluedevil.com
Wed Mar 14 19:33:19 HKT 2012
I just got my OVMS module yesterday. Before I go any further, what a fantastic piece project. Brilliant achievement, well done to everyone involved and my eternal gratitude.
I'm a software developer, and time permitting I would love to be able to contribute something to your efforts.
I've been browsing the specs and android source on github. I have a tendency towards java, and something that stands out to me is that there is no abstracted data model or encapsulation of the protocol at a higher level in any language. I am going to write one for my own benefit, but perhaps it would be of use elsewhere?
The benefits I see to having it include:
- the basis of a higher level specification of the protocol (e.g. for a webservice etc)
- give plug and play interaction with the server for any java developer, much reducing the cognitive distance. They could just include the library and already have server connectivity, updated data model, receive relevant events, and have a simple extensible command interface, leaving them to focus on the interface.
- could be reused in the android app, or as the basis for a web service application, and also simple desktop swing app I'd quite like to have available on my laptop
Please may I also ask a question - what is the model for synchronicity of the messages? On the android app, if I hammer a button, I appear to be able to send more than one command before a response comes from the server. Is this correct? The protocol appears to not allow you to correlate the response from a command to the request (unless I've missed it), so doesn't appear to be asynchronous, although data messages come from the server asynchronously. Is the intended interaction with the server that there is only ever one active command in action?
More information about the OvmsDev