[Ovmsdev] Upgrading Mongoose ?

Michael Geddes frog at bunyip.wheelycreek.net
Sun Feb 11 16:58:31 HKT 2024


I've been looking at the work of Ludovic in updating OVMS to the new
framework.  I've even put up a few pull-requests where this work has
uncovered bugs due to improvements in the compiler.

Ludovic did a great job in also updating the Mongoose library.  For those
unaware, the big issue is that there was a massive reworking of the library
just after the point where ovms forked the library.  I suspect some/many?
of the changes that were made in our fork are no longer required.

There was a lot done in moving some of the work that had to be done in the
callers (ovms) code into the mongoose code which is great - and Ludovic has
done that conversion - there are just a few more things that needed to be
done on top of that.

One of the things they did was remove mg_locals.h which allowed us to
configure mongoose from our own custom include.

The other really annoying thing they did was to remove the use of MG_ALLOC,
MG_CALLOC in place of malloc( calloc(  etc.  The problem with this is for
freertos they define
#define calloc(a, b) mg_calloc(a, b)
#define free(a) vPortFree(a)
#define malloc(a) pvPortMalloc(a)
without any further condition.  Tihs means we don't have a way of defining
these to our own versions  which is what we originally did... well not
without forking the mongoose (which maybe we do anyway).
It also means that any of our files that include mongoose.h  will have
these redefined away from our own versions of these. Fortunately it seems
we don't use those much.

I also noticed that even the latest Mongoose MQTT doesn't appear to support
aliases (and therefore optimising the amount of data used by a v3 server)..
but it appears that wolfmqtt does - so should we be using that instead as a
mqtt client??

Does anybody else have some further input on this??

//.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openvehicles.com/pipermail/ovmsdev/attachments/20240211/15ba7be9/attachment.htm>


More information about the OvmsDev mailing list