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@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@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@lists.openvehicles.com
http://lists.openvehicles.com/mailman/listinfo/ovmsdev

_______________________________________________
OvmsDev mailing list
OvmsDev@lists.openvehicles.com
http://lists.openvehicles.com/mailman/listinfo/ovmsdev