Closed sbudiman12 closed 3 weeks ago
Instead of
myELM327.begin(ELM_PORT, true, 2000)
Try increasing the payload buffer length by doing the following:
myELM327.begin(ELM_PORT, true, 2000, '0', 100)
Thankyou for your reply, I have tried your method and although it fixed the overloading problem, our main issue still remains, the RPM detected is unusually high as seen in the attached below:
Can you please help us figure out why this happens and what method we can use to fix it? Thank you for your time.
For whatever reason, your car reports the RPM in bursts of 3 with trailing 0x55s. I have no clue why it's doing that and nobody has had this issue before.
You might need to do the following as a workaround:
int32_t A = myELM327.responseByte_4;
int32_t B = myELM327.responseByte_3;
float rpm = 0;
rpm = ((256 * A) + B) / 4.0;
I may have mixed up which response byte is A and which is B. If you don't get accurate RPM values, try flipping A and B.
Dear @PowerBroker2 I tried your method and made a few tweaks of my own, and it worked on Honda vehicles. Thank you so much for your time and help. Without you mentioning the 'responseByte' method, my project wouldn't have been a success.
Im building a LED Shiftlight for my car (2023 Honda Vezel/ HRV) using ESP32 and ELM327. The device works great on my other car (2023 Toyota Fortuner) but when tested on my Honda it miscalculated the RPM received.
HRV Vezel protocol from https://play.google.com/store/apps/details?id=com.ovz.carscanner![image](https://github.com/PowerBroker2/ELMduino/assets/146686340/67cebe6e-8ede-4359-bfba-1efee4c5edcb)
Tested with modified https://github.com/PowerBroker2/ELMduino/blob/master/examples/ESP32_Bluetooth_Serial/ESP32_Bluetooth_Serial.ino
Output in Serial Monitor:
It is supposed to be an RPM value, and it doesn't just affect my Honda Vezel but it affects every Honda vehicle I've tried so far. Why is this and can someone help me resolve this so my device will work on Honda vehicles? Thank you.