Win a copy of 97 Things Every Java Programmer Should Know this week in the Java in General forum!

Serge cheblin

+ Follow
since Feb 19, 2018
Serge likes ...
Scala IntelliJ IDE C++
Cows and Likes
Total received
In last 30 days
Total given
Total received
Received in last 30 days
Total given
Given in last 30 days
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Serge cheblin

SlimEnum - is the enum as we know it, a fat-free alternative to Java enums.. It was created as part of java source code, generated by the BlackBox. SlimEnum utilize annotations construction, but in contrast with Android  IntDef it fill annotation body with constants to provide required enum functionality over any, even primitive(byte,int..etc.), data types.
SlimEnum uses annotation declaration with defined constant in their body, as named constants set for certain type. Constants type is define to which type this constants set can be applied. SlimEnum can be nested.

apply it to variables, fields, methods return type and method arguments

and use it

To bring support SlimEnum to the IDE and make using it easy and efficiently SlimEnum plugin for Android Studio / IDEA was created. It is available in the Intellij plugin repository.
SlimEnum plugin can recognize applied to variables annotation, data type, and provide correct constants set for the code completion.

Compile by yourself or just download SlimEnum.jar and install as plugin to the
2 years ago

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

And now complete new project which converting of MAVLink protocol description XML file into 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, guys.

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.

  • inheritance of packet fields;
  • Base 128 Varint data compression

  • 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.

    Forget about:


    With BlackBox you can build you own protocol, fit to only your project needs. You will get very efficient, fast.

    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.
    2 years ago