Categories
VSCP

Rewriting big in #VSCP #m2m #IoT #mongoose

power_injector5

Developers, we all use tools. So does VSCP & Friends to of course. Everything else would be stupid. Reuse is the thing in an open source world. Yes in the closed source word to. The two most important tools we use are wxWidgets and Cesanta Mongoose.

The choice of using wxWidgets came about because we wanted everything to work cross platform back then. This was actually a hard choice. Two competing systems where available. QT and wxWidgets. The problem at the time was that QT was not free and open on the Windows platform so in the end the choice to use wxWidgets was on that had to be taken.  Well  I like QT more. But to rewrite everything. A million lines of code. Forget it. In the end it does not matter much anyway.

The other tool is the Mongoose library. This is a communication library (and a webserver) that I strongly can recommend. Well it is actually not a library. It uses amalgamation.  So instead of linking in a library you add the project files. Convenient and easy. So the mos of the tcp/ip stuff we use are built on this tool.

Well it is great, works great, but is quite badly documented. Have few examples. Furthermore it was previously divided into mongoose and net_skeleton.  This was how it was when I discovered it. But when I released the code net_skeleton was transformed into fossa and changed in many, many, many. many ways so parts I rewrote for fossa leaving the parts that used mongoose as they had a dependency  on net_skeleton and then the guys over at Cesenta decided to move everything from fossa back in mongoose… Yepp you all understand. It’s was a mess.

So now if I want to port to the new mongoose code it’s  a hard work to do. It has been changed a lot. It’s a major project I can tell you. A MAJOR PROJECT!

Well, even if this is really bad practice from a tool maker, REALLY BAD, this is good tools. So one only can hope that this moving around has come to a stop now and they will say as good usable tools.

So this major rewrite is what I do now. fossa and  net_skeleton is going away and mongoose is coming in. A change that affect almost every file in many, many places, Changed calls, changed parameters, changed functionality really put me to the test.  Yes this will take some time to complete. And I will probably still recommend the tools. They are great. And maybe the changes they did was needed in the end. At least I think things are a bit more easy to understand now than it was before.

So now you know why it’s so quite form our corner… It’s called hard work…

 

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.