Mark, I went back and reread all your messages about WROOM32 and WROVER and AnalogLamb because I had not internalized all the tradeoffs. I guess the development that allowed reaching a successful v3.1 design was finding an acceptable source for WROVER modules with 16MB flash inside. Are these espressif WROVER modules that are modified by a third party, or is that third party building up their own from the open-source design? (You said nobody is making these as standard products.) And if the latter, are you considering building your own because you could lower the cost? To me, it seems silly that espressif did not just put the 16MB flash in the WROVER to start with unless there is a significant difference in the price of 4MB and 16MB chips. A few days ago you were waiting for samples of the 16MB WROVER modules because your attempts to update existing modules were "hit-and-miss". I guess the 16MB modules must not have arrived yet since you resorted to hand-soldering your own. Congratulations on finally achieving a good result! You said these 16MB WROVER modules are significantly more expensive, but I don't know how to quantify that. If it is $10 or less and so long at the lead time is not "who knows when", I would have given in a long time ago considering all the grief you and the China team have gone through. Clearly having both flash and RAM inside the module is the best solution.
Thanks Steve, for all that 'module memory' work - I hope Espressif accept it upstream because it is incredibly useful.
Indeed, just last evening @projectgus gave me a "LGTM" for my changes after I had addressed his requests in response to the initial PR. I think that means my changes go into the "review and merge queue" but I don't know how long until that merge happens. This latest version does require an API change which means another flag day for our code. The change is to put all the parameters into a struct rather than having a too-long list of function parameters. I have that in a local branch of ovms at the moment. -- Steve