[Ovmsdev] A query on vehicle type switch (and failure)

Michael Geddes frog at bunyip.wheelycreek.net
Mon Nov 27 15:14:11 HKT 2023


So,  would you be better  if (in the case of null vehicle)
m_currentVehicletype was also set to "" and we didn't fire the signal
event?

 I was doing some other work in the area and noticed this.

//.ichael

On Mon, 27 Nov 2023 at 07:37, Mark Webb-Johnson <mark at webb-johnson.net>
wrote:

> Michael,
>
> From the condition in the v_type->SetValue, the type is only set
> if NewVehicle(type) is not NULL.
>
> So the question is whether we should raise the signal or not? I guess that
> is debatable, and probably better not to (as otherwise it is being raised
> with type as the parameter, but the type is not actually being set as the
> vehicle type).
>
> Regards, Mark
>
> On 26 Nov 2023, at 9:26 AM, Michael Geddes <frog at bunyip.wheelycreek.net>
> wrote:
>
> This code is from OvmsVehicleFactor::SetVehicle
>
>   m_currentvehicle = NewVehicle(type);
>   if (m_currentvehicle)
>   {
>   m_currentvehicle->m_ready = true;
>   }
>   m_currentvehicletype = std::string(type);
>   StandardMetrics.ms_v_type->SetValue(m_currentvehicle ? type : "");
>   MyEvents.SignalEvent("vehicle.type.set", (void*)type, strlen(type)+1);
>
> My question is about what happens when NewVehicle() returns NULL.
>
> Should  m_currecntvehicletype,  v.type  and the SignalEvent  all be set as
> blank?  Any particular reason why only the v.type is set as blank?
>
> //.ichael
> _______________________________________________
> OvmsDev mailing list
> OvmsDev at lists.openvehicles.com
> http://lists.openvehicles.com/mailman/listinfo/ovmsdev
>
>
> _______________________________________________
> OvmsDev mailing list
> OvmsDev at lists.openvehicles.com
> http://lists.openvehicles.com/mailman/listinfo/ovmsdev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openvehicles.com/pipermail/ovmsdev/attachments/20231127/27c29544/attachment.htm>


More information about the OvmsDev mailing list