xj8
December 18, 2025, 7:58am
1
Peace be upon you. I’m requesting assistance in clarifying the process of sending a frame. Is there anyone in this forum who is an expert and can explain how to send a frame with illustrated examples or a video tutorial to make it easier for everyone to understand how to write XML and how to send a frame to a vehicle?
Review the topic on this page
https://forum.realdash.net/t/activate-the-dual-warning-signal-from-realdash/9487
CAN to RealDash
or RealDash to CAN ?
xj8
December 20, 2025, 8:06am
3
Falcon_S:
RealDash to CAN
RealDash to CAN
i need send button on /off switch from RealDash : example Hazard Switch
and very thanks Falcon for quick answer to my.
<?xml version="1.0" encoding="utf-8"?>
<!-- ================= FRAME 0x100 ================= -->
<!-- Speed, RPM, Fuel(A2 raw), Coolant(A5 raw) -->
<frame id="0x100">
<!-- Vehicle Speed -->
<value targetId="64" offset="0" length="2" units="mph" conversion="V"/>
<!-- RPM -->
<value targetId="37" offset="2" length="2" units="rpm" conversion="V"/>
<!-- Fuel Level: raw ADC 0-1023 -> 0-100% (adjust if your sender is reversed) -->
<value targetId="170" offset="4" length="2" units="%" conversion="(V/1023)*100"/>
<!-- Coolant Temp: raw ADC -> °F (simple bench scale; adjust for your sensor) -->
<value targetId="14" offset="6" length="2" units="F" conversion="(V/1023)*300"/>
</frame>
<!-- ================= FRAME 0x101 ================= -->
<!-- OilPress(A3), TransTemp(A4), BattVolt(A6), OilLife(A11) -->
<frame id="0x101">
<!-- Engine Oil Pressure (RealDash expects Bar here, but you can still feed PSI via conversion if you want) -->
<value targetId="151" offset="0" length="2" units="psi" conversion="(V/1023)*100"/>
<!-- Transmission Oil Temperature -->
<value targetId="138" offset="2" length="2" units="F" conversion="(V/1023)*300"/>
<!-- Battery Voltage -->
<value targetId="12" offset="4" length="2" units="V" conversion="(V/1023)*20"/>
<!-- Oil Life (custom, ECU Specific) -->
<value name="Oil Life" offset="6" length="2" units="%" conversion="(V/1023)*100" rangeMin="0" rangeMax="100"/>
</frame>
<!-- ================= FRAME 0x102 ================= -->
<!-- Tyre pressures (A7-A10) -->
<frame id="0x102">
<value targetId="240" offset="0" length="2" units="Bar" conversion="(V/1023)*6"/>
<value targetId="241" offset="2" length="2" units="Bar" conversion="(V/1023)*6"/>
<value targetId="242" offset="4" length="2" units="Bar" conversion="(V/1023)*6"/>
<value targetId="243" offset="6" length="2" units="Bar" conversion="(V/1023)*6"/>
</frame>
<!-- ================= FRAME 0x103 ================= -->
<!-- Digital bits + GearValue -->
<frame id="0x103">
<!-- digitalBits is 32-bit at offset 0; these are BITFIELDS -->
<!-- Bit order matches sketch digitalPins[] order -->
<!-- 22 Left Turn -->
<value targetId="160" offset="0" length="4" startbit="0" bitcount="1" units="bit"/>
<!-- 23 Right Turn -->
<value targetId="161" offset="0" length="4" startbit="1" bitcount="1" units="bit"/>
<!-- 24 High Beam -->
<value targetId="157" offset="0" length="4" startbit="2" bitcount="1" units="bit"/>
<!-- 25 Door Ajar (general) -->
<value targetId="162" offset="0" length="4" startbit="3" bitcount="1" units="bit"/>
<!-- 26 Trunk Ajar (general) -->
<value targetId="163" offset="0" length="4" startbit="4" bitcount="1" units="bit"/>
<!-- Manual Gear bits (ECU Specific named bits) -->
<value name="Gear R Input" offset="0" length="4" startbit="5" bitcount="1" units="bit"/>
<value name="Gear N Input" offset="0" length="4" startbit="6" bitcount="1" units="bit"/>
<value name="Gear 1 Input" offset="0" length="4" startbit="7" bitcount="1" units="bit"/>
<value name="Gear 2 Input" offset="0" length="4" startbit="8" bitcount="1" units="bit"/>
<value name="Gear 3 Input" offset="0" length="4" startbit="9" bitcount="1" units="bit"/>
<value name="Gear 4 Input" offset="0" length="4" startbit="10" bitcount="1" units="bit"/>
<value name="Gear 5 Input" offset="0" length="4" startbit="11" bitcount="1" units="bit"/>
<!-- Parking Brake -->
<value targetId="164" offset="0" length="4" startbit="12" bitcount="1" units="bit"/>
<!-- Seat Belt Warning -->
<value targetId="168" offset="0" length="4" startbit="13" bitcount="1" units="bit"/>
<!-- Check Engine Light -->
<value targetId="65" offset="0" length="4" startbit="14" bitcount="1" units="bit"/>
<!-- Dimmer request -->
<value name="Dimmer Request" offset="0" length="4" startbit="15" bitcount="1" units="bit"/>
<!-- Door 1 / Door 2 -->
<value targetId="481" offset="0" length="4" startbit="16" bitcount="1" units="bit"/>
<value targetId="482" offset="0" length="4" startbit="17" bitcount="1" units="bit"/>
<!-- Reverse Lights -->
<value targetId="159" offset="0" length="4" startbit="18" bitcount="1" units="bit"/>
<!-- Instrument Light Dimmer (Body Electronics) -->
<value targetId="810" offset="0" length="4" startbit="19" bitcount="1" units="bit"/>
<!-- Page buttons (ECU Specific so you can bind actions in the editor) -->
<value name="Page Prev Button" offset="0" length="4" startbit="20" bitcount="1" units="bit"/>
<value name="Page Next Button" offset="0" length="4" startbit="21" bitcount="1" units="bit"/>
<value name="Page Home Button" offset="0" length="4" startbit="22" bitcount="1" units="bit"/>
<!-- GearValue (encoded numeric) -> Transmission Selected Gear -->
<value targetId="140" offset="4" length="2" units="gear" conversion="V"/>
<!-- spare bytes at offset 6..7 -->
</frame>
<!-- ================= FRAME 0x104 ================= -->
<!-- OilTemp(A0), FuelPress(A1), Knob(A12), BattCurrent(A13) -->
<frame id="0x104">
<value targetId="152" offset="0" length="2" units="F" conversion="(V/1023)*300"/> <!-- Engine Oil Temp -->
<value targetId="202" offset="2" length="2" units="psi" conversion="(V/1023)*100"/> <!-- Fuel Pressure -->
<value name="Knob Input" offset="4" length="2" units="%" conversion="(V/1023)*100" rangeMin="0" rangeMax="100"/>
<value name="Battery Current" offset="6" length="2" units="A" conversion="(V/1023)*200" rangeMin="0" rangeMax="200"/>
</frame>
<!-- ================= FRAME 0x105 ================= -->
<!-- MAP/Boost(A14), Ambient(A15) -->
<frame id="0x105">
<value targetId="31" offset="0" length="2" units="kPA" conversion="(V/1023)*250"/> <!-- MAP -->
<value targetId="173" offset="2" length="2" units="F" conversion="(V/1023)*120"/> <!-- Ambient -->
<value name="Spare0" offset="4" length="2" conversion="V"/>
<value name="Spare1" offset="6" length="2" conversion="V"/>
</frame>
<!-- ================= FRAME 0x106 ================= -->
<!-- Warning bits (computed) -->
<frame id="0x106">
<value name="Warn: Low Oil Pressure" offset="0" length="1" startbit="0" bitcount="1" units="bit"/>
<value name="Warn: Over Coolant Temp" offset="0" length="1" startbit="1" bitcount="1" units="bit"/>
<value name="Warn: Low Battery" offset="0" length="1" startbit="2" bitcount="1" units="bit"/>
<value name="Warn: Low Fuel Pressure" offset="0" length="1" startbit="3" bitcount="1" units="bit"/>
<value name="Warn: High Oil Temp" offset="0" length="1" startbit="4" bitcount="1" units="bit"/>
</frame>
This is what i use for mines. Also running off arduino. Maybe thus example will help
1 Like