Gauges stopped working

I have two gauges that are behaving a little strange.

The first displays my coolant temperature, when I first start the application and the dash loads, the gauge show’s its minimum value, even after the other gauges start getting data from the CAN, this gauge doesn’t update. However if I cycle my car’s ignition the gauge then updates and displays the correct value.

The Second gauge (Battery) was working, but then just stopped, if I cycle the ignition nothing changes, however with this gauge after the car has been running and I turn the car off, the gauge briefly shows a value that then rolls back to 0.

The interesting thing to note is both of these values come from the same frame ID, this is my XML

<frame id="0x2F0" endianess="big">
		<value targetId="12" offset="3" length="1" conversion="V*0.1"></value> <!-- Battery Voltage -->
		<value targetId="14" offset="5" length="1" conversion="V-60"></value> <!-- Coolant Temp -->
</frame>

again I have a screen recording that I will send over.

What CAN adapter you are using and with what ECU?

I have encountered this once on Megasquirt CAN connection and Seeedstudio adapter. It seems like Megasquirt just refuses to send one frame but after power cycle frame returns to the stream.

I’m using the the OBDLink MX+ adaptor and stock Ford ECU (Bosch) - 2017 Ford Focus RS

When I initially created the dash it was working, the problem started after adding more values to the dash/XML

This is the data from the CAN monitor - frameID 0x2F0 is the one of interest

Ignition off:

Ignition on:

Ignition off:

OBD2 adapters do not work especially well as CAN adapters. They have very small internal buffer that constantly fills up with CAN buses that are at least somewhat busy. So I’d guess that adapter just starts skipping the frames and they never arrive to RD.

I assume that Bluetooth/Wireless is a requirement for your setup, and for that I’d recommend trying the Bluetooth CAN adapters from MeatPi. Compared to OBD2 adapter, you get around 4x faster data rate.

Interesting that frame 2F0 has different payload length with ignition on/off.

Interpreting those values would suggest that ignition on your battery voltage is 0 (4th byte) and Coolant temp 18 (6th byte - 60).

yeah the battery voltage is the alternator charging voltage, so until the car is running the value is 0, I’m using this to show my Battery warning light as well.

yes coolant temp is 18 as the car hasn’t been runup today

@realdashdev did something change between version 2.3.8 and the latest version to effect the payload length?

It was working?

Here is the dash working (older version)

I’ve just run the car, the coolant doesn’t update now when the car is running, it only updates when ignition is toggled on off?

Same for the battery. 0x2f0 only shows the first 3 bytes now when the car is running

Found it!!!

*** SOLVED ***

In the connection settings I must have accidentally hit the protocol, changing to ISO 11898 fixed the issue!!!

1 Like