I’ve had lwip pppos (via SIMCOM) running on my desk overnight, and it seems stable. Of course, we’ll need to do some fine tuning based on feedback in the field, but at least PPP connections can be brought up and down cleanly, and that is the base capability needed for more sophistication to be built on top.
So, now to think about how to manage this in general. To make it easier for the end user. Here are some notes/thoughts:
- We continue to use events and scripting for fine-tuned control.
- For configuration, we offer options to set values and have those automatically actioned at startup. Examples:
- If a vehicle type is configured, then automatically start a vehicle module of that type.
- If a v2 configuration is present, then automatically start a ovms server v2 connection.
- For networking, we have the network manager component. The idea here is to extend that to provide network link logic. Examples:
- If wifi comes up, then sleep the simcom modem
- If wifi goes down, then wake up the simcom modem
- The above configuration settings can be simply mapped to v2 protocol features/parameters.
- While Config parameters are currently registered and visible (MyConfig.RegisterParam), instances are not. That makes it tricky to see what config instances are available. In some of the code, we document the instances as comments after the parameter is registered. My suggestion here is to add a MyConfig.RegisterInstance to allow for instance registration (with a default value). If the instance does not exist, then it would be created with the value set as per the default. That would then make it visible to the user. The only downside to this is that the default value can’t later be changed.
What do people think? Does that make sense as an approach? Implementation should not be difficult.
-- Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal Fon 02333 / 833 5735 * Handy 0176 / 206 989 26