BlackBox: binary, lightweight communication protocol handler (JAVA, C#, C) source code generator

Hi! Recently I finished the BlackBox: binary, lightweight communication protocol handler code generator.

And now complete new project which converting of MAVLink protocol description XML fileinto the BlackBox format

It is clearly demonstrates the maturity of BlackBox and its comparatively greater capability against MAVLink.

Everything works just fine, all tests are passed successfully. Therefore I decided to share this with you.

What are the advantages?

  • The BlackBox format of the protocol and the network topology description file is presented as plain java source - more compact and familiar for the programmers, instead of XML format in the MAVLink.

Plain java file format supported by many development environments with all the refactoring capabilities.

additional data formats:

  • fields with the built-in structure of multidimensional arrays;
  • fields of sparse multidimensional arrays;
  • bit fields;
  • fields with the built-in structure of multidimensional arrays of bits;

Using BlackBox , you can easily establish communication not only between microcontrollers, mobile devices but also between the ordinary computers. And what is important, without time and effort waste. In fact, the generated BlackBox code can become the skeleton of your distributed application. The programmer will just have to add handlers to the packet's reception events, as well as the logic for creating the package, populating it with data and sending it to the recipient.

BlackBox generates the source code in the following programming languages: JAVA, C#, C.
With BlackBox you can build you own protocol, fit to only your project needs. You will get very efficient, fast, working over USART or TCP/IP protocol.

Here is an example of demo project to control from Android based mobile, blinking LED on a board under STM8S103F3P6 via Bluetooth UART on HC 08.

Interesting idea. Is the only relationship to MAVLink that it is capable of importing the MAVLink xml definitions?

As far as compression goes, are you aware that MAVLink V2 has a simple “compression” via auto truncation? It surprisingly cuts down on the bits.

BlackBox is doing same things, but doing it better.
BlackBox is richer in data types,and generated code produce more compact binary stream.

Represented converter project just show that you can seamlessly migrate to the BlackBox. You can easy compare and estimate BlackBox if you have MAVLink experience.

Every BlackBox project produce(generate) not only protocol handler source code, additionally it generate test network configuration, generate test data and fully test it by transmitting and receiving test data.