yoelk / instrumentino

Instrumentino is an open-source modular graphical user interface framework for controlling Arduino based experimental instruments
GNU General Public License v3.0
137 stars 59 forks source link

V2 rewrite the controlino_v2 protocol to use XML #38

Open yoelk opened 8 years ago

yoelk commented 8 years ago

As advised by Philipp Meier: currently controlino_v2 is partly textual and partly binary, based on a protocol I made up myself. It would be wise to use XML for the textual part and some sort of binary XML for the binary stuff (like data acquisition).

The advantage is that we can used standard XML libraries instead what we're currently using, and that it's closer to standardized stuff.

russ-hensel commented 8 years ago

I am dubious, at least only do this as an option. Why. In my use of xml it has added more complexity than functionality. In my use of the Arduino with Python I have dumbed down the Arduino and added smarts to the Python. I like my messages short and would go to binary except that it makes debugging and using with terminals too hard. Just my 2 cents.

yoelk commented 8 years ago

There are two types of messages exchanged between Instrumentino and Controlino:

  1. Commands issued from Instrumentino to Controlino
  2. New read data from Controlino to Instrumentino

The first type of messages happen not so often, so at the moment they are string based ("read A0" etc.) The second type happen X times a second (depending on the sampling rate) so they are currently binary.

What was meant in this issue is to replace the first type of messages from my arbitrary string based protocol to XML. The benefit is that code for message creation and message parsing is expected to be easier to read, using XML code packages both in the Python (Instrumentino) side and the C++ (Controlino) side.

I'm currently not away if there is something like a binary XML protocol. If there is and if it's efficient enough, I'd like to use it instead of my binary protocol for the same reasons.

Does that make sense to you?

On Sat, Oct 1, 2016 at 4:21 PM, russ_hensel notifications@github.com wrote:

I am dubious, at least only do this as an option. Why. In my use of xml it has added more complexity than functionality. In my use of the Arduino with Python I have dumbed down the Arduino and added smarts to the Python. I like my messages short and would go to binary except that it makes debugging and using with terminals too hard. Just my 2 cents.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/yoelk/instrumentino/issues/38#issuecomment-250914930, or mute the thread https://github.com/notifications/unsubscribe-auth/AGTaG7bwy92SXOD4aKMsk5yygNm50llNks5qvmyAgaJpZM4Jm1N0 .