Skip to content
This repository was archived by the owner on Oct 24, 2025. It is now read-only.
This repository was archived by the owner on Oct 24, 2025. It is now read-only.

Board crashing after connection when attempting to add new hybrid focused PIDs #10

@cr08

Description

@cr08

Hi! Hope I can get some direction and pointers. I've exhausted the debugging options I can some up with on this. My Arduino/ESP32 knowledge is fairly limited.

But I'm trying to modify this and add some hybrid specific PIDs from my own Ford vehicle. The stock code works fine and the various gauges show data where available. However once I add the new PID (just doing one for now to test) once the connection is established and the first display page is rendered it crashes.

Here's the manual queries I ran on my OBD adapter:

>001100BB

41 0B 63 

>00110055                                                                                                        
                                                                                                                 
41 05 34                                                                                                         
41 05 34                                                                                                         
41 05 34                                                                                                         
                                                                                                                 
>00110044                                                                                                        
                                                                                                                 
41 04 00                                                                                                         
41 04 00                                                                                                         
41 04 00                                                                                                         
                                                                                                                 
>001155cc                                                                                                        
                                                                                                                 
NO DATA                                                                                                          
                                                                                                                 
>222211667744                                                                                                    
                                                                                                                 
NO DATA                                                                                                          

>222211ee11cc

62 1E 1C 00 C3 
62 1E 1C 00 F8 

>222244880011

62 48 01 BA EB 

>2222dddd0044

62 DD 04 FF 
62 DD 04 38 

>2222448800bb

62 48 0B 00 00 
62 48 0B 00 00 

>222244884411

62 48 41 0F CD

Ignore the duplicate characters. I misconfigured my minicom instance. But PID 224801 is the one I tested with in the sketch. PIDs 22480B, 22DD04, and 224841 are additional ones I want to use but haven't put into the sketch yet. I'm testing with the one for now.

Here's the serial monitor log:


<<  Va&Cob OBDII Gauge  >>
by Ratthanin W. BUILD -> Oct 20 2024 - 15:56:55
Error: File not found!
Show System: 0
Temp Offset: -50
Bluetooth..OK
Connecting to OBDII - 00:1d:a5:00:02:40
Connected Successfully!
ATZ


ELM327 v1.5


Display layout -> 0
010B
41 0B 63 


010C
41 0C 00 00 
41 0C 00 00 
41 0C 00 00 


Guru Meditation Error: Core  1 panic'ed (StoreProhibited). Exception was unhandled.

Core  1 register dump:
PC      : 0x40092728  PS      : 0x00060a30  A0      : 0x800ef26f  A1      : 0x3ffd08a0  
A2      : 0xae5b725a  A3      : 0x3ffd098c  A4      : 0x00000003  A5      : 0x0000ff00  
A6      : 0x00ff0000  A7      : 0xff000000  A8      : 0x00000000  A9      : 0xae5b725a  
A10     : 0x00000030  A11     : 0x00000000  A12     : 0x00000001  A13     : 0x0000ff00  
A14     : 0x00ff0000  A15     : 0xff000000  SAR     : 0x00000015  EXCCAUSE: 0x0000001d  
EXCVADDR: 0xae5b725a  LBEG    : 0x4009273c  LEND    : 0x40092741  LCOUNT  : 0x00000000  


Backtrace: 0x40092725:0x3ffd08a0 0x400ef26c:0x3ffd08c0 0x400ef38a:0x3ffd08e0 0x400d54ca:0x3ffd0900 0x400dae52:0x3ffd09c0 0x400f24dd:0x3ffd0a40

Ran an exception decoder:

Backtrace: 0x40092725:0x3ffd08a0 0x400ef26c:0x3ffd08c0 0x400ef38a:0x3ffd08e0 0x400d54ca:0x3ffd0900 0x400dae52:0x3ffd09c0 0x400f24dd:0x3ffd0a40


Decoding stack results
0x40092725: memmove at /builds/idf/crosstool-NG/.build/xtensa-esp32-elf/src/newlib/newlib/libc/string/memmove.c:75
0x400ef26c: String::move(String&) at /home/cr08/.arduino15/packages/esp32/hardware/esp32/2.0.17/cores/esp32/WString.cpp:237
0x400ef38a: String::operator=(String&&) at /home/cr08/.arduino15/packages/esp32/hardware/esp32/2.0.17/cores/esp32/WString.cpp:277
0x400d54ca: getAB(String) at /home/cr08/Software/ESP32-OBD2-Gauge_cr08/sketch/VaAndCobOBD2Gauge/meter.h:396
0x400dae52: loop() at /home/cr08/Software/ESP32-OBD2-Gauge_cr08/sketch/VaAndCobOBD2Gauge/VaAndCobOBD2Gauge.ino:480
0x400f24dd: loopTask(void*) at /home/cr08/.arduino15/packages/esp32/hardware/esp32/2.0.17/cores/esp32/main.cpp:50

Since I have my own fork for this with some added lines, here should be direct links to the lines being referenced:
https://github.com/cr08/ESP32-OBD2-Gauge/blob/cd845ff29f4046cf22e46fbfb5648ac8caeb7632/sketch/VaAndCobOBD2Gauge/VaAndCobOBD2Gauge.ino#L480

https://github.com/cr08/ESP32-OBD2-Gauge/blob/cd845ff29f4046cf22e46fbfb5648ac8caeb7632/sketch/VaAndCobOBD2Gauge/meter.h#L396

Added the PID as an extra line which should come up as PID number 7 and that's been added in display 0:
https://github.com/cr08/ESP32-OBD2-Gauge/blob/cd845ff29f4046cf22e46fbfb5648ac8caeb7632/sketch/VaAndCobOBD2Gauge/VaAndCobOBD2Gauge.ino#L101C3-L101C78

And also an extra formula line for it:
https://github.com/cr08/ESP32-OBD2-Gauge/blob/cd845ff29f4046cf22e46fbfb5648ac8caeb7632/sketch/VaAndCobOBD2Gauge/meter.h#L473

Probably a lot of info but wanted to make sure I provide as much as I can and what I've ran through trying to debug it myself. Any help would be greatly appreciated in trying to figure this out. Seems I'm so close to getting it going.

Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions