$ ./a2l 0x4008a830:0x3ffc4ab0 0x401aaa2e:0x3ffc4ac0 0x401aab8a:0x3ffc4ae0 0x401aada5:0x3ffc4b40 0x401ab1f7:0x3ffc4b90 0x401ab22e:0x3ffc4c00 0x401a3c07:0x3ffc4c20 0x401a453a:0x3 ffc4c50 0x401a4618:0x3ffc4ca0 0x4011a697:0x3ffc4d20 0x4011a256:0x3ffc4d90 0x40119382:0x3ffc4dd0 0x4011979d:0x3ffc4e00 0x40119b8c:0x3ffc4e60 0x40119c11:0x3ffc4ea0 Using elf file: /home/Simon/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/build/ovms3.elf 0x4008a830 is at ../../../../.././newlib/libc/machine/xtensa/memcpy.S:177. 0x401aaa2e is in std::vector >::_M_emplace_back_aux(OvmsPoller::poll_pid_t&&) (e:\ovms\opt\xtensa-esp32-elf\xtensa-esp32-elf\include\c++\5.2.0\bits/alloc_traits.h:263). 258 template 259 static 260 _Require<__and_<__not_<__has_construct<_Tp, _Args...>>, 261 is_constructible<_Tp, _Args...>>> 262 _S_construct(_Alloc&, _Tp* __p, _Args&&... __args) 263 { ::new((void*)__p) _Tp(std::forward<_Args>(__args)...); } 264 265 template 266 struct __destroy_helper 267 { 0x401aab8a is in OvmsVehicleFordFocusElectric::BMSSetupPolling() (e:\ovms\opt\xtensa-esp32-elf\xtensa-esp32-elf\include\c++\5.2.0\bits/stl_vector.h:923). 918 __x); 919 ++this->_M_impl._M_finish; 920 } 921 else 922 #if __cplusplus >= 201103L 923 _M_emplace_back_aux(__x); 924 #else 925 _M_insert_aux(end(), __x); 926 #endif 927 } 0x401aada5 is in OvmsVehicleFordFocusElectric::ConfigChanged(OvmsConfigParam*) (E:/OVMS/home/Simon/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/components/vehicle_ford_focuselectric/src/vehicle_ford_focuselectric.cpp:186). 181 int cell_interval_awk = MyConfig.GetParamValueInt("xfe", "cell_interval_awk", 15); 182 183 m_cfg_cell_interval_drv = cell_interval_drv; 184 m_cfg_cell_interval_chg = cell_interval_chg; 185 m_cfg_cell_interval_awk = cell_interval_awk; 186 BMSSetupPolling(); 187 } 188 189 /** 190 * OvmsVehicleFordFocusElectric destructor 0x401ab1f7 is in OvmsVehicleFordFocusElectric::OvmsVehicleFordFocusElectric() (E:/OVMS/home/Simon/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/components/vehicle_ford_focuselectric/src/vehicle_ford_focuselectric.cpp:160). 155 156 // Callbacks 157 MyCan.RegisterCallback(TAG, std::bind(&OvmsVehicleFordFocusElectric::CanResponder, this, std::placeholders::_1)); 158 159 // Load initial config: 160 ConfigChanged(NULL); 161 162 StdMetrics.ms_v_env_regenbrake->SetValue(true); 163 164 // Init polling: 0x401ab22e is in CreateVehicle() (E:/OVMS/home/Simon/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/components/vehicle/vehicle.h:662). 657 } 658 }; 659 660 template OvmsVehicle* CreateVehicle() 661 { 662 return new Type; 663 } 664 665 class OvmsVehicleFactory 666 { 0x401a3c07 is in OvmsVehicleFactory::NewVehicle(char const*) (E:/OVMS/home/Simon/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/components/vehicle/vehicle.cpp:228). 223 OvmsVehicle* OvmsVehicleFactory::NewVehicle(const char* VehicleType) 224 { 225 OvmsVehicleFactory::map_vehicle_t::iterator iter = m_vmap.find(VehicleType); 226 if (iter != m_vmap.end()) 227 { 228 return iter->second.construct(); 229 } 230 return NULL; 231 } 232 0x401a453a is in OvmsVehicleFactory::SetVehicle(char const*) (E:/OVMS/home/Simon/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/components/vehicle/vehicle.cpp:276). 271 } 272 273 void OvmsVehicleFactory::SetVehicle(const char* type) 274 { 275 DoClearVehicle(false, true, true); 276 m_currentvehicle = NewVehicle(type); 277 if (m_currentvehicle) 278 { 279 std::string new_type(type); 280 m_currentvehicletype = new_type; 0x401a4618 is in OvmsVehicleFactory::AutoInit() (E:/OVMS/home/Simon/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/components/vehicle/vehicle.cpp:297). 292 293 void OvmsVehicleFactory::AutoInit() 294 { 295 std::string type = MyConfig.GetParamValue("auto", "vehicle.type"); 296 if (!type.empty()) 297 SetVehicle(type.c_str()); 298 } 299 300 OvmsVehicle* OvmsVehicleFactory::ActiveVehicle() 301 { 0x4011a697 is in Housekeeping::Init(std::__cxx11::basic_string, std::allocator >, void*) (E:/OVMS/home/Simon/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/main/ovms_housekeeping.cpp:246). 241 ESP_LOGI(TAG, "Auto init Pollers (free: %zu bytes)", heap_caps_get_free_size(MALLOC_CAP_8BIT|MALLOC_CAP_INTERNAL)); 242 MyPollers.AutoInit(); 243 #endif 244 245 ESP_LOGI(TAG, "Auto init vehicle (free: %zu bytes)", heap_caps_get_free_size(MALLOC_CAP_8BIT|MALLOC_CAP_INTERNAL)); 246 MyVehicleFactory.AutoInit(); 247 248 #ifdef CONFIG_OVMS_COMP_OBD2ECU 249 ESP_LOGI(TAG, "Auto init obd2ecu (free: %zu bytes)", heap_caps_get_free_size(MALLOC_CAP_8BIT|MALLOC_CAP_INTERNAL)); 250 obd2ecuInit.AutoInit(); 0x4011a256 is in std::_Function_handler, std::allocator >, void*), std::_Bind, std::allocator >, void*)> (Housekeeping*, std::_Placeholder<1>, std::_Placeholder<2>)> >::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string, std::allocator >&&, void*&&) (e:\ovms\opt\xtensa-esp32-elf\xtensa-esp32-elf\include\c++\5.2.0/functional:600). 595 template>>> 598 result_type 599 operator()(_Class* __object, _Args&&... __args) const 600 { return (__object->*_M_pmf)(std::forward<_Args>(__args)...); } 601 602 // Handle smart pointers, references and pointers to derived 603 template, _NotSame<_Class*, _Tp>, 0x40119382 is in std::function, std::allocator >, void*)>::operator()(std::__cxx11::basic_string, std::allocator >, void*) const (e:\ovms\opt\xtensa-esp32-elf\xtensa-esp32-elf\include\c++\5.2.0/functional:2271). 2266 function<_Res(_ArgTypes...)>:: 2267 operator()(_ArgTypes... __args) const 2268 { 2269 if (_M_empty()) 2270 __throw_bad_function_call(); 2271 return _M_invoker(_M_functor, std::forward<_ArgTypes>(__args)...); 2272 } 2273 2274 #if __cpp_rtti 2275 template 0x4011979d is in OvmsEvents::HandleQueueSignalEvent(event_queue_t*) (E:/OVMS/home/Simon/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/main/ovms_events.cpp:327). 322 { 323 m_current_started = monotonictime; 324 m_current_callback = *itc; 325 if (m_current_callback->m_callback) 326 { 327 m_current_callback->m_callback(m_current_event, msg->body.signal.data); 328 } 329 m_current_callback = NULL; 330 } 331 } 0x40119b8c is in OvmsEvents::EventTask() (E:/OVMS/home/Simon/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/main/ovms_events.cpp:273). 268 case EVENT_removehandlers: 269 HandleQueueRemoveHandlers(&msg); 270 break; 271 case EVENT_signal: 272 m_current_event = msg.body.signal.event; 273 HandleQueueSignalEvent(&msg); 274 esp_task_wdt_reset(); // Reset WATCHDOG timer for this task 275 m_current_event.clear(); 276 break; 277 default: 0x40119c11 is in EventLaunchTask(void*) (E:/OVMS/home/Simon/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3/main/ovms_events.cpp:94). 89 91 { 92 OvmsEvents* me = (OvmsEvents*)pvParameters; 93 94 me->EventTask(); 95 } 96 97 void event_trace(int verbosity, OvmsWriter* writer, OvmsCommand* cmd, int argc, const char* const* argv) 98 {