Derek, I think perhaps best to use the implementation of ’tpms’ as a model for this: A kconfig to enable/disable the component (CONFIG_OVMS_COMP_V2G), default on is ok. A component ovms_v2g in components, conditionally included via the kconfig. This component provides the command framework. Extensions to vehicle.{h,cpp} to provide virtual functions for vehicles to implement. Implementation in your Leaf vehicle support module. That approach seems quite clean in the TPMS implementation, and has worked out well for two vehicle types so far. Regards, Mark.
On 13 Aug 2020, at 5:28 PM, Derek Caudwell <d.caudwell@gmail.com> wrote:
Hi all,
How about the following framework:
V2G framework - used to set mode, set current/charge limits and query status with commands such as, V2G mode - used to set mode either V2G, G2V, REM (default - mode remotely set by charger/V2G/V2H unit) V2G limit - used to set limits such as charge/discharge current limit and SOC min/max limits V2G status - used to report mode, limits set and power/current flow V2G start - used to start powerflow in a given mode V2G stop - used to stop powerflow
The basic wrappers could be defined in vehicle.h/cpp and the feature confirmed as supported in the specific vehicle and coded to implement the specific command features.
Views?
Cheers Derek
_______________________________________________ OvmsDev mailing list OvmsDev@lists.openvehicles.com http://lists.openvehicles.com/mailman/listinfo/ovmsdev