Author Topic: VAN bus interfacing (to read car speed and engine RPM Peugeot 206 1.4 HDI 2002)  (Read 94890 times)

0 Members and 1 Guest are viewing this topic.

Offline eneuroTopic starter

  • Super Contributor
  • ***
  • Posts: 1528
  • Country: 00
Hello,
I'd like to read car speed and engine RPM  Peugeot 206 1.4 HDI 2002 and other if possible in similar fashion.
Maybe someone knows or have some hints how to do it with a little help of MPU in custom PCB?
Is it possible using eg. such simple VAN bus interface described there:  http://graham.auld.me.uk/projects/vanbus/van-pc.html connect to AVR MPU in this way

 based on Microchip MCP2551 CAN Transceiver connect to car bus?

For the moment, only connecting to car bus is the most important thing, since I wonder where I could plug such VAN/CAN connector to my car vehicle electronics network?  :-\
They mentioned on VAN bus interface to usb page linked above that:
Quote
The software in the PIC was hacked together by observing the output from a Peugeot head unit and reading the Atmel TSS461F VAN Datalink controller datasheet. I would have liked to use one of the Atmel VAN controllers but I was not able to purchase one easily.
This looks like they successfully connected to Peugeot car somewhere, but I have no idea where to connect it in car to be able monitor car VAN in real time?
Inside Peugeot BSI unit -probably it is MUX version in my car, whatever it means  :-//
I read somewhere that such Peugeot external radio connectors like this is interface between black oryginal radio v8 connector in this Peugeot 206 car (or similar?):
Quote
Pin nr. 1 – free
Pin nr. 2 – 9004 Van Data
Pin nr. 3 – 9005 Van Data Bar
Pin nr. 4 – XE24 + Van
Pin nr. 5 – 8409 antenna amplifier
Pin nr. 6 – CE18 + ignition
Pin nr.7 – BE11 + BSI
Pin nr. 8 – MC30 GND car
We have pins: 2 ,3 , 4 for VAN (I guess) and pin 8 as GND on VAN plug side in schematics above?

This what I wanted to do for the moment is basicly find place where to connect to car VAN and using fast optocoupler monitor car VAN network, so it looks like MCP2551 in read mode could be fine, but I'm a little bit overhelmed by amount of infrmation needed and lack of easy available car detailed datasheets howto interface this Peugeot 206 1.4 HDI 2002 year production VAN/CAN/MUX - what ever it has (probably MUX BSI version) to try sniff and detect vehicle speed and engine RPM  :palm:

I'm looking for some hints to speed up learning curve in this new very interesting topic.
I've found also another CAN/VAN bus interface manuals  8)

Vehicle Bus Analyzer Operator's Manual
http://cdn.teledynelecroy.com/files/manuals/vba_om_reva.pdf

CAN BUS Analyzer User's Guide
http://ww1.microchip.com/downloads/en/DeviceDoc/51848B.pdf

Protocols_for_Wired_and_wireless_networks_in_vehicle_systems
http://graham.auld.me.uk/projects/vanbus/datasheets/vehicle_networks_mammhud_s1.pdf

A CAN Physical Layer Discussion
http://ww1.microchip.com/downloads/en/AppNotes/00228a.pdf

An introduction to the CAN protocol that discusses the basics and key features
Controller Area Network (CAN) Basics
http://ww1.microchip.com/downloads/en/AppNotes/00713a.pdf

MCP2551 High-Speed CAN Transceiver (receiver)
http://ww1.microchip.com/downloads/en/DeviceDoc/21667f.pdf

Anyway this CAN IC is available in my favourite store at ~$1 price, so... I should have it in hands soon  >:D
http://www.tme.eu/en/details/mcp2551-e_sn/can-integrated-circuits/microchip-technology/

Update: In this  VAN Interface IC MTC-30521 hopefully Data and DataB pins are explained
http://nicozone.free.fr/206/VAN/MTC-30521.pdf
Quote
Data - positive interface pin
DataB - negative interface pin

It is time to make teardown and see how non factory car radio was connected in car service a few years ago  :-/O



« Last Edit: June 24, 2015, 01:54:09 pm by eneuro »
12oV4dWZCAia7vXBzQzBF9wAt1U3JWZkpk
“Let the future tell the truth, and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I have really worked, is mine”  - Nikola Tesla
-||-|-
 

Offline zapta

  • Super Contributor
  • ***
  • Posts: 6190
  • Country: us
 

Offline eneuroTopic starter

  • Super Contributor
  • ***
  • Posts: 1528
  • Country: 00
Yep, @zapta I've already found those nice pages and PIC ASM code to log VAN  https://van-bus.googlecode.com/svn/trunk/auldy_interface/VAN-USB/pic_code/main_3_1.asm after conversion to Atmel AVR code might be helpfull to fit into their formats than use other scripts on PC to investigate what is going on when driving a car  :-+
12oV4dWZCAia7vXBzQzBF9wAt1U3JWZkpk
“Let the future tell the truth, and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I have really worked, is mine”  - Nikola Tesla
-||-|-
 

Offline discomike

  • Contributor
  • Posts: 17
  • Country: se
If you just want engine RPM or speed I would recommend using the OBD-II port. I have a 206 RC project car and I know that those standard PIDs are supported - or did the diesel not get OBD-II until later? In the connector you should have pure CAN, or K-line or that PWM thingy, and not this VAN stuff.

Another way to easily decode everything is to get some 3rd party service software such as peugeot planet and then examine the bus when sending various commands/responses.
 

Offline McBryce

  • Super Contributor
  • ***
  • Posts: 2682
  • Country: de
Unfortunately the 2002 1.4HDi doesn't have OBDII as far as I know, it only got introduced on the 2003 model.
VAN is a knightmare to work with on a hobby level due to the lack of documentation. Easiest route is to try and get a copy of Peugeots DIAG2000 software and the appropriate cable.

McBryce.
30 Years making cars more difficult to repair.
 

Offline LukeW

  • Frequent Contributor
  • **
  • Posts: 686
At the physical layer it is essentially the same as CAN, right?
So yes, you can use the MCP2551.

You might want to think about a termination resistor on the bus, or EMC suppression components such as common-mode choke pair etc.

http://www.ti.com/lit/an/slla271/slla271.pdf
 

Offline McBryce

  • Super Contributor
  • ***
  • Posts: 2682
  • Country: de
Electrically yes, but the Protocol isn't encoded like CAN, it's a PSA proprietary protocol.

McBryce.
30 Years making cars more difficult to repair.
 

Offline eneuroTopic starter

  • Super Contributor
  • ***
  • Posts: 1528
  • Country: 00
Thank you guys for any hints to crack this  :-BROKE

Electrically yes, but the Protocol isn't encoded like CAN, it's a PSA proprietary protocol.
So, sick  |O
Anyway, since we have CAN, what shortcut MUX exactly means? Some Peugeot 206 BSI (Body System Interface) is with MUX (2002+ HDI probably is), but non MUX versions Peugeot 206 also exist?
PSA is protocol, but MUX?  I have no idea where MUX is it in OSI model... :-//

I've made photos of my Peugeot 206 1.4HDI (2002) BSI to figure out, howto recognize MUX versions, but no clues ;)

VIN numbers and manufacture years determine this?

Trying also to find meaning of the pins in this car BSI service connector, so marked 4 black pins, and 3 green pins below:

Maybe those 4 black pins are CAN/VAN  bus interface pins?

It seams (but I'm not sure) that this connector

mentioned in Peugeot Planet System Guide looks like could fit into this BSI service connector or I'm wrong?

I've found some hints howto connect CAN-BUS module to car based on this manual for alarm module, where almost all cars are shown, but unfortunatelly there is no Peugeot 206, but 207+ and Citroen, so still have no idea where to fit into this car CAR bus-into BSI service connector shown above, for testing purposes, but while driving to log live CAN/VAN data bits?
(Alarm) CAN-BUS module MCB-01/02
http://www.jablotron.com/files/canbus/mcb-02_en.pdf
From manual above, it looks like for pernament additional CAN module it should be wired somewhere else close to BSI?   :popcorn:

I will have to visit car service soon and they will connect diagnostics software, so I will have a chance to look closer what kind of software is it, but it could be nice... log during this visit some CAN/VAN bits patterns >:D
Than compare with those http://code.google.com/p/van-bus/source/browse/#svn%2Ftrunk%2Fbus_captures%2Fgraham , but if it is PSA proprietary protocol, does it make any sense?
Anyway, is it any chance that this http://code.google.com/p/van-bus/wiki/VanParser  could decode PSA frames?
« Last Edit: June 24, 2015, 09:39:44 pm by eneuro »
12oV4dWZCAia7vXBzQzBF9wAt1U3JWZkpk
“Let the future tell the truth, and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I have really worked, is mine”  - Nikola Tesla
-||-|-
 

Offline eneuroTopic starter

  • Super Contributor
  • ***
  • Posts: 1528
  • Country: 00
I will have to visit car service soon and they will connect diagnostics software, so I will have a chance to look closer what kind of software is it, but it could be nice... log during this visit some CAN/VAN bits patterns >:D
Nope, I've found that this is like OBD-2 connector in BSI in my Peugeot 206 1.4HDi, but for diagnostics is used different protol than CAN (probably KWP FAST), since based on this http://www.obdtester.com/obd2_protocols
Quote
The most modern protocol, mandatory for all 2008+ vehicles sold in the US. Uses pins 6 and 14 (referenced to signal gound), communication is differential.

Than, here Peugeot OBD II diagnostic connector pinout in  Peugeot OBD-2 compatibility list we can confirm that:
Quote
CAN become become most available OBD standard for vehicles produced after 2007 yrs.
and for sure there is no CAN pins 6 and 14 in my OBD-2 BSI connector, so no chance use it for any CAN bus communication and sniffing diagnostics software doesn't make any sense  :(


Unfortunately the 2002 1.4HDi doesn't have OBDII as far as I know, it only got introduced on the 2003 model.
Update: This my connector in 2002 model is similar to OBD-2, but... maybe there is no chance to put into my BSI connector, since in the middle there is no empty space, so maybe it isn't OBD-2-I do not know  :-// Anyway, probably  there is no CAN bus pins in this connector, so lets forget about it  |O

That is interesting on Peugeot OBD-2 (connector I've marked pins from my car BSI) compatibility list we haven't got models made in 2002 and first 1.4 HDi is from 2003 with KWP FAST protocol , so will have double check purchase VAT document but it has 2002 register date in national documents  and it is 1.4HDi ::)
 
Quote
Peugeot 206:
        1.4 HDi, Diesel (70HP)  2003    KWP FAST
        1.4 HDi, Diesel (70HP)  2008    CAN 11bit (500kb)

OBD-2 pin 7 (B2 pin on my photo) is engine and transsmision diagnostics
OBD-2 pin 11 (G6) some other modules diags
OBD-2 pin 12 (G5) ABS disgnostics
OBD-2 pin 16 (G1) +12 Accumulator
and 2 GND pins .

Conclusion is - for CAN this BSI OBD-2 in this car is useless, but that is fine-it coudn't be good place to connect custom CAN bus module ;)
I need to find better place, so will make teardown how external radio is connected to car electric wires  :popcorn:
« Last Edit: June 24, 2015, 11:22:16 pm by eneuro »
12oV4dWZCAia7vXBzQzBF9wAt1U3JWZkpk
“Let the future tell the truth, and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I have really worked, is mine”  - Nikola Tesla
-||-|-
 

Offline McBryce

  • Super Contributor
  • ***
  • Posts: 2682
  • Country: de
Sorry, I may have confused you with abreviations. So here's a summary:

PSA stands for "Peugeot Société Anonyme", the official name of the Peugeot Citroën group. It's not the name of the protocol.
MUX stands for Multiplexed. You won't see any differences in the physical layer (wiring / connectors) on a MUX / Non-MUX vehicle, it's just the protocol that changed (again).

The connector that you've shown is just called the OBD (On Board Diagnostics) Connector. OBD2 connectors are physically identical, just the signals it offers changed between version one and two, so usually more pin will be populated on an ODB2 connection.

McBryce.
30 Years making cars more difficult to repair.
 

Offline eneuroTopic starter

  • Super Contributor
  • ***
  • Posts: 1528
  • Country: 00
MUX stands for Multiplexed. You won't see any differences in the physical layer (wiring / connectors) on a MUX / Non-MUX vehicle, it's just the protocol that changed (again).
Thank you for demistyfing this MUX issues.
It looks like starting from october 2001 MUX is used and using my BSI photos and default fuses values in this box described there -of course in EU car version BSI is on 206 1.4HDi 2002 driver side, not passenger like in UK I guess ;)
Fuses in MUX
http://www.206info.co.uk/Forums/viewtopic/t=108.html
I've double checked that I've MUX version for sure  8)

Here are also some car electric schematics for MUX version which might be helpfull:
Electric system Multi-plex built from October 2001
http://www.206info.co.uk/Forums/viewtopic/p=639224.html

I'll try look around builtin factory clock display while it is probably multi-function display (MFD) with CAN bus connections  PPT40 = Multiplexed, so there must be CAN bus wiring somewhere here and If I had working CAN bus sniffer (reader) maybe I could try to crack this display communication, by openning the doors, adjusting time and date, etc., while it could be nice feature to be able write custom messages there based on car speed , its engine RPM and external GPS module, etc  ;)
I'm not sure how difficult could be to control this car display, but talking to CAN bus could be next step, now I'd like to concentrate on read mode on custom PCB galvanic insulated from PC or tablet device.

 
« Last Edit: June 25, 2015, 10:46:53 am by eneuro »
12oV4dWZCAia7vXBzQzBF9wAt1U3JWZkpk
“Let the future tell the truth, and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I have really worked, is mine”  - Nikola Tesla
-||-|-
 

Offline McBryce

  • Super Contributor
  • ***
  • Posts: 2682
  • Country: de
The links you've posted only go to a login page.

McBryce.
30 Years making cars more difficult to repair.
 

Offline eneuroTopic starter

  • Super Contributor
  • ***
  • Posts: 1528
  • Country: 00
I thought, that those wiring diagrams and fuses descriptions are public available-linked below PDFs versions  in attachments for someone intersted-VAN bus and CAN bus are visible in MUX wiring diagrams of Peugeot 206 ;)
PDF: Fuses in MUX
Update: Nope, one of PDFs with wiring diagrams is too big too attach, so will try later if someone interested or could help demistify those VAN bus and CAN bus networks in this car  :popcorn:

Anyway, @Addaz from http://www.206info.co.uk said that:
Quote
The interior of the vehicle runs van, the only can network is between the abs, engine ecu and bsi
This means, that probbaly I will find VAN bus interface in car display LCD connector close to radio and for CAN bus I'd rather have to look somewhere around BSI module itself like in this Peugeot Boxer from 2006 year, where CAN bus pins can be found in blue connector shown below:


So, if it is true my plan is read only CAN bus and transmit (make it galvanic insulated from CAN bus to ensure no interference with critical BSI subsystems) VAN bus messages to car LCD display module, but need to make its taerdown first and find CAN bus connector in this car  :-/O

BTW: Bloody Pebble Watch cleared my post, while watching this Dave video on YT, sohad to write it again   :-DD
« Last Edit: June 25, 2015, 01:43:02 pm by eneuro »
12oV4dWZCAia7vXBzQzBF9wAt1U3JWZkpk
“Let the future tell the truth, and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I have really worked, is mine”  - Nikola Tesla
-||-|-
 

Offline eneuroTopic starter

  • Super Contributor
  • ***
  • Posts: 1528
  • Country: 00
OK, after deeper analysis of Peugeot MUX version wiring diagram it looks like maybe there is no need to touch CAN 9000/9001 lines between BSI and ECU, since BSI is connected with VAN 9004/9005 to something called instrument cluster- in practice this is dashboard main display with speedometer, tachometer and other contols-than instrument cluster is connected to car MFD display using VAN 9004A/9005A   :phew:


Unfortunatelly can not attach more detailed PDF version in attachement of this page, since there is 1MB limit on EEVBlog forum...

Now, it is time to identify those connectors in BSI, Instrument cluster and MFD display  ::)
Not sure if those connectors  are marked somehow-there are some strange 10Nr, 40Ba, 40Nr, 188a, 88a numbers, but maybe car MFD display teardown with VAN 9004A/9005A between MFD pins 17/4 and Instrument cluster pins 5/10 will reveal what is going on there  :-/O

I'm not sure without teardown (maybe someone can better read this wiring diagram) if VANs between BSI and Instrument cluster are electrically connected to this VAN between Instrument cluster and MFD display module   :-//
It doesn't change too much, but it have to be determined where to find best place for VAN bus interfaces....
« Last Edit: June 25, 2015, 03:02:08 pm by eneuro »
12oV4dWZCAia7vXBzQzBF9wAt1U3JWZkpk
“Let the future tell the truth, and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I have really worked, is mine”  - Nikola Tesla
-||-|-
 

Offline eneuroTopic starter

  • Super Contributor
  • ***
  • Posts: 1528
  • Country: 00
I've made teardown of central panel in my car


and recognized those VAN bus 9004/9005 pins as expected from widing diagram attached and based on wire numbers marking 9004/9005 in black 7 pin audio connector


So, all I need is modify or exchange this existing gray radio connector where VAN bus pins were skipped, to provide additional plug for VAN bus  8)


Additionally, I've verified that those VAN bus pins are electrically the same with those identified in display panel MFD (PP T40  multiplexed) connector


Now, the only thing is -are those VAN bus numbers 9004/9005 somehow related to bus high /low pins?
I mean, which of those two pins connect to Microchip MCP2551 CAN IC  pins CANH/CANL?
Howto recognize those H/L between those two VAN bus wires?  :-//

Maybe based on voltage levels or scope waveforms when differentially probing voltage between CANL to CANH ?
Pin 8 in this connector (green-yellow wire is car GND-do I have to connect MCP2551 GND/CANH/CANL (3 wires) or only CANH/CANL (2 wires)?

This is last step to start cracking this VAN bus in my Peugeot 206 1.4HDi 2002 MUX car  :-/O

Update: I've now in this audio black connector:
4V between 9004 VAN pin 2 and car GND pin8,
1V between 9005 VAN pin 3 and car GND pin8
.
while car battery voltage available at pin7 is 13.53V, since floating battery voltage charger is connected to keep care of battery.

So, differencial is 3V between VAN bus 9004/9005 when car is turned off for a long time, only doors were open, so maybe BSI woke up.... lets try wait sometime inside on locked doors  ::)
« Last Edit: June 30, 2015, 11:49:34 am by eneuro »
12oV4dWZCAia7vXBzQzBF9wAt1U3JWZkpk
“Let the future tell the truth, and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I have really worked, is mine”  - Nikola Tesla
-||-|-
 

Offline eneuroTopic starter

  • Super Contributor
  • ***
  • Posts: 1528
  • Country: 00
OK. According to connection of MCP2551 CAN  IC, never mind it, I've found it in simple CAN sniffer power supply stage where threre are 4 pins +12V car voltage with GND and CANH/CANL pins, so this is the way I'll connect this IC, since I'd like have galvanic insulated by optocouplers from my stuff connected to this CAN/VAN bus:

Of course I'll use higher voltage rated voltage regulator there instead of LM7805.
For CAN bus sniffing using Microchip MCP2515 CAN controller easy available in local electronics store can be usefull too-not sure if it could be used for VAN bus sniffing, especially in this Peugeot car where proprietary protocols might be used?


Anyway, as mentioned post earlier, my concern is howto easy distinguish this car VAN bus 9004/9005 high/low pins without any measurements-based on those wires numbers 9004/9005?  :-//
« Last Edit: June 30, 2015, 11:30:56 am by eneuro »
12oV4dWZCAia7vXBzQzBF9wAt1U3JWZkpk
“Let the future tell the truth, and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I have really worked, is mine”  - Nikola Tesla
-||-|-
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
Hi!

I hope you're still investigating. I'm interested in interfacing the VAN bus too. I found this on youtube:

In the description there are the schemantics and an Arduino source to monitor the VAN bus. I built the circuit, now trying to figure out how to connect to the bus. I think the best place for connecting is on the radio. My idea is to test things outside the car with the radio and the display. However I need to build a harness like this to test:



Unfortunately I'm better at programming than with circuits so there is a long way to go...

I hope you keep us updated. If I have something useful I'll do the same.

Would you be so kind and mark me on this image which is the 1st pin? I can't figure it out which corner should i pick.

« Last Edit: November 23, 2015, 07:59:27 pm by morcibacsi »
 

Offline eneuroTopic starter

  • Super Contributor
  • ***
  • Posts: 1528
  • Country: 00
In this teardown in my 206 1.4 HDI
VAN bus interfacing (to read car speed and engine RPM  Peugeot 206 1.4 HDI 2002)  - iso connectors
I've made photo of this MFD (PP T40  multiplexed) connector and when you look closer (magnify glass my help) it looks like there are some pin numbers (1,10,18).

However, I decided rather to use this gray iso connector where those VAN pins are also available.

I've in my hands MCP2551 in SMD version, but no plans to use FTDI chips anymore  :-- , so considering different options.
It looks like nothing fancy on this video, they just used this circuit to log via USB output from MCP2551 CAN interface using FT232RL at ~500k baund rate using 10MHz MPU.
http://graham.auld.me.uk/projects/vanbus/van-pc.html

Maybe, it could be done without MPU between CAN interface and USB interface hardware, just by using GPIOs of another Silicon Labs USB interface chips.

Unfortunatelly, this is PIC binary hex code http://graham.auld.me.uk/projects/vanbus/van-pc.hex , so It is moredifficult for me dissasemble this code-if it were AVR MPU binary, I could easy see its machine code and see what they do inside to output something usefull to USB from CAN interface MCP2551  :-\  >:D

Anyway, we have some clue what data rates are needed to log Peugeot VAN data, so maybe I will try something even more tricky-instead of using any USB interface chips I will put MPU there and implement USB interface in MPU with MCP2551 connected directly to this MPU.

Probably I will make such research this week, so I will update soon with some VAN log raw data from my car  ;)
12oV4dWZCAia7vXBzQzBF9wAt1U3JWZkpk
“Let the future tell the truth, and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I have really worked, is mine”  - Nikola Tesla
-||-|-
 

Offline eneuroTopic starter

  • Super Contributor
  • ***
  • Posts: 1528
  • Country: 00
Thanks to this article CAN Communication Problem I've made again voltage measurements in my ISO black audio connector inside the car and when we open the door or insert keys and turn one step to connect to battery, I have in this car ~4V on 9004 VAN, while ~1V on 9005 VAN.



After some time (when we close the doors and remove keys and wait sometime didn't checked how many minutes), it looks like XE24 VAN turns to 0V, while it has close to battery voltage and VAN 9004/9005 goes to ~0V too (BSI goes to sleep mode probably),so it looks like BSI goes to sleep mode and VAN lines are deactivated, etc  8)

It is consistent with this quote from linked article above:
Quote
CAN H will have a voltage range of 2.5 to 3.5 volts, where as CAN L will have a range of 2.5 to 1.5 volts

I've made measurements with simple multimeter, and we have something similar to those CAN scope readings from another car from linked article after some postprocessing to have CAN H yellow, CAN L blue:



Now, I feel convienient to connect my MCP2551 (with MPU and fast white led output catched VAN frames) to this ISO black audio connector in my car, since it can be made as simple adapter with another ISO black audio output if I wanted connect also some car radio, etc...

Lets design simple PCB with MCP2551 and ATTiny85 switched to 8Mhz or 16Mhz PLL clock, so lets power up those things at 5V to be able run our AVR MPU at higher clock and output some VAN 9004/9005 on simple white led or lets try to use another faster optocoupler to interface with PC/laptop USB GPIO, while I'd like to have galvanic insulation between car electric system and PC/laptop/tablet USB port, to ensure they do not interfere electrically with each other  and to avoid any damage of car eelctronics or PC/laptop/tablet when something goes wrong during testing :-/O
« Last Edit: November 24, 2015, 06:23:03 pm by eneuro »
12oV4dWZCAia7vXBzQzBF9wAt1U3JWZkpk
“Let the future tell the truth, and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I have really worked, is mine”  - Nikola Tesla
-||-|-
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
Some time ago I asked Graham for the source code, and he sent it to me, it is pure assembly code. The Arduino code from the youtube videos description is much more easy to understand (at least for me). I don't know if I'm allowed to put his code in here. But maybe I can send it to you, if you're interested in it.
 

Offline eneuroTopic starter

  • Super Contributor
  • ***
  • Posts: 1528
  • Country: 00
The Arduino code from the youtube videos description is much more easy to understand (at least for me).
For the moment I'd like to only log some VAN data or try preprocess on the fly in MPU, so since I do not need send anything using builtin car VAN no need to analyse this YT video Arduino, code  ;)

However, we might need DC-DC converter capable to work as step up/step down, so this schematics with MC34063A - Step-Up/Down/Inverting Switching Regulators  might be helpfull as  starting point, however it lacks inductors values, so we need design or find similar better schematics.



Update: In this schematics from linked YT earlierwe have  configured DC-DC for:
 Vcc= 1.25V*(R1+R2)/R1
so, while we have
R1=1.2k and R2=3.6k
Vcc=5V, however as I said I'd like rather use another stage LDO linear regulator with fixed 5V, while looking for cleaner (lower ripple) voltage on my MPU Vcc...


Hopefully, for my VAN logger project I do not need to much current to run MPU and output processed VAN frames or raw bits using LED/fast optocoupler, so another DC-DC SMPS to 6V-7V, than LDO linear regulator to 5V with 100mA output should be fine  :popcorn:
« Last Edit: November 24, 2015, 07:23:50 pm by eneuro »
12oV4dWZCAia7vXBzQzBF9wAt1U3JWZkpk
“Let the future tell the truth, and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I have really worked, is mine”  - Nikola Tesla
-||-|-
 

Offline lovemb

  • Contributor
  • Posts: 20
  • Country: pt
I have not read the whole thread so not sure at what point you are. Probably what I'll write won't help at all.. :D

I have a project that consists in controlling multi-brand car instrument clusters. I have not messed with VAN yet, but eventually I will have to.
If I had your car as experiment:
-First I would get electric diagram to instrument cluster. Just checked and the connector has at least 18 pin positions.
--Pin 3 is GND;
--Pin 2 + 4 are the VAN lines going to BSI (G8+G10);
--Pin 1 (Vbat on Ignition) goes to BSI (plug G pin 6) which internally connects to fuse F15 (15A) which is switched by a relay still inside BSI when ignition is turned on.
-Now that I know VAN pins, Vbat and GND, I would just get a LDO, some caps and a MCP2551 connected to a logic analyzer and check if VAN documentation makes sense to what I see in my logging.
-Just after that, swap logic analyzer with a cheap clone of Arduino Nano that already includes LDO, atmega328p and ftdi. Start some more logging to pc.
-Eventually search if there is a VAN controller available to the public and buy a sample, or else, start reading VAN protocol documentation and writing proper code to handle the frames coming from MCP2551.
-After that it's all about filtering and figuring out which messages control what. In my case, my goal is to connect and control instrument cluster on bench, so I dump VAN frames for a bit of time while stopped+driving car, then re-send all these at bench and hopefully the instrument cluster will mimic exactly what happened when I started car and drove it. Then just start playing with the frames inside home, while sitting in my comfortable chair. :)


By the way, your car also has a CAN bus, between ECU, ABS and BSI. No idea what information flies on it.


I think someone suggested to use the diagnostic lines to question the ECU/BSI for the car speed, it's possible, but keep in mind that diagnostic interface should only be used for diagnostics. If you want to simply make a second digital display showing the car speed, you should NOT use the diagnostic interface for that.
 

Offline eneuroTopic starter

  • Super Contributor
  • ***
  • Posts: 1528
  • Country: 00
...
-Now that I know VAN pins, Vbat and GND, I would just get a LDO, some caps and a MCP2551 connected to a logic analyzer and check if VAN documentation makes sense to what I see in my logging.
...

Do you meant this Vans  > Van Specifications  > PEUGEOT 206 Specifications  > 1.4 HDi Van Specifications:-DD
12oV4dWZCAia7vXBzQzBF9wAt1U3JWZkpk
“Let the future tell the truth, and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I have really worked, is mine”  - Nikola Tesla
-||-|-
 

Offline eneuroTopic starter

  • Super Contributor
  • ***
  • Posts: 1528
  • Country: 00
We have designed PCB capable to try catch VAN/CAN  frames with a few lines of ATtiny code  ;)



Now, we need convert car VAN 12V available when BSI is not sleeping to 5Vcc and make analysis of those frames directly on MPU running at 16MHz, than output not every available frame, but skip already send, so I think we'll be able log some real VAN data at much lower speed, but when we randomly choose given frames in interest, we still should be able see some data to hack this VAN protocol used on 9004/9005 lines in Peugeot 206 1.4 HDI (2002)  >:D
« Last Edit: November 28, 2015, 06:37:32 pm by eneuro »
12oV4dWZCAia7vXBzQzBF9wAt1U3JWZkpk
“Let the future tell the truth, and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I have really worked, is mine”  - Nikola Tesla
-||-|-
 

Offline 406dany

  • Contributor
  • Posts: 17
  • Country: fr
Hi
I have a big interest of your work...

I have made an interface VAN/PC on my peugeot 406 full mux (2001)
(with the help of graham auldy's work)
I can log VAN frame on the VAN bus confort (i use the GPS connector)
My hope is to display other informations (turbo pressure, batterie volt,...) on the odb display
or on the dashboard vu-meter
Actually i can send frame for moving where i want the speed meter (or other meter)
but i have not yet the code for putting the dashboard in test mode ...
i have the OBD PP2000 which is a good help for decoding frames tests

my interface is about a PIC18F2620 (10MHZ*4) , MC2551,
and a usb/RS232 TTL (FTDI) aliasing at  500Kbauds

here is a frame of RPM/speed:
824 -W- 18F80000000044   28BA NoAck
0x18F8=6392/10=639,2 rpm
ans speed at 0 km/h

I continue the search ....

regards




 

Offline eneuroTopic starter

  • Super Contributor
  • ***
  • Posts: 1528
  • Country: 00
i have the OBD PP2000 which is a good help for decoding frames tests
Thanks, for sharing some experience with VAN bus hacking ;)

Probably it will be good idea to buy something like this amazon: PP2000 OBD II Scanner Diagnostic Tool For Citroen Peugeot but unsure if PP2000 software is included and what about any licence keys needed to renew from year to year?  :-//

Another thing is that I've found VAN 9004/9005 between BSI and instrument cluster connected with PP40 center display with ambient temperature, simply date and some warnign messages.
Unsure, how this OBD II tools could have access to this VAN from this connector located in BSI?
Does it capable catch those messages I'm interested in between BSI and instrument cluster?
Schematics which I've found but from UK version so Passenger fuse box (BSI) is on opposite side to my version-steearing wheel on left side  ::)

http://postimg.org/image/6p7t3fu33/

Anyway, I'm soldering today this prototype CAN/VAN connected with 16MHz MPU and will try catch some frames but directly in MPU.
I've successfully tuned MPU to 64MHz PLL divided by 4 in hardware gives 16MHz system clock, but I haven't got crystal for the moment-idea was similar to V-USB try to make calibrations based on watched VAN/CAN bus datalink activity, but it is easy redesign this PCB to add 16MHz clocks on two left pins which now are used in this prototype to test also light sensor based on reverse baised cheap LED diode, which I might need for another project, so for the moment those pins will be used for testing such bidirectional light interface with limited speed, but fully galvanic insulation between car electric system and data receiving visualisation circuit.
I will try detect VAN/CAN frames by adjusting software and reflashing MPU code rather than do it on PC based on logged data.
I have no idea if it works, but we'll see what we get when we connect this thing to showed above audio connector ;)
Mean time trying to get more familar with PP2000 software YT videos to see how it works and determine if it could be helpfull to hack communication between BSI and instrument cluster showed in linked again UK version of Peugeot 206 electric circuit which makes sense, when made teardown some time ago as shown in previous posts, so I feell comfortable to connect MCP2551 there to this audio connector when designed PCB with MPU and MCP2551 will be ready, I hope today, tomorow...
12oV4dWZCAia7vXBzQzBF9wAt1U3JWZkpk
“Let the future tell the truth, and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I have really worked, is mine”  - Nikola Tesla
-||-|-
 

Offline 406dany

  • Contributor
  • Posts: 17
  • Country: fr
On the OBD connector (for the 406) there is no direct VAN bus access, only different CAN bus (by Kline only) :
ECU , ABS/ESP , BSI , seat/transponder
the BSI make the bridge between CAN bus BSI and VAN bus
with PP2000 i can make some test like : display test / dashboard gauges /  ...
and so i can see the command frame with my interface
but it is not very usefull  for analysing frame on van

( i have buy mine PP2000 (now included in Diagbox) on OBDmore.com
http://www.obdmore.com/index.php?main_page=advanced_search_result&search_in_description=1&zenid=c3ecca369446c140f31034e81e17fdca&keyword=xs+evolution)

At the first time you need a scope to calibrate your software timing with the data on VAN
(timing for 1 bit (no byte) on VAN is 8µs)
with a 16MHZ cycle there is no problem and the E-manchester bit is a good synchro which allow some error delay
hope to read your test result soon...


 

« Last Edit: November 27, 2015, 09:02:15 pm by 406dany »
 

Offline cs.dk

  • Supporter
  • ****
  • Posts: 642
  • Country: dk
but unsure if PP2000 software is included and what about any licence keys needed to renew from year to year?  :-//

I've got Diagbox 5.29 (for some clone interfaces, must run on XP) and Diagbox 7.60 which can run on Win7 - I have them on my webserver, if you will need them. Diagbox includes both Peugeot Planet 2000 and Lexia for Citroën.

I will follow this thread, could be fun to get some data out of my own C5.
 

Offline eneuroTopic starter

  • Super Contributor
  • ***
  • Posts: 1528
  • Country: 00
Nice to know where to look for PP2000, while car is not new one and I might need run diagnostics more often  8)

During soldering this PCB I realized that I've made by mistake SO8W pads for MCP2551 and... it doesn't fit into PCB  :palm:
I've already corrected this and I've made also smaller SO8M pads for MPU too and added as an option ablity to connect external clock on pins left pins just by making one more hole to ground.
Probably I will make another fixed PCB on monday, since it doesn't take too much time and messing with this mistaken wide SO8 for MCP2551 , trying to solder its pins to this PCB will not look great, however maybe I will try tricky soldering of MCP2551, since this is prototype, so I could test this thing without external clock, if I managed solder somehow this by slightly extending from one side four pins ;)

Designing also CP2104 based USB interface to be able connect this VAN interface to tablet/laptop to send and visualise some data, but this will be standalone solution and probably optoisolator(s) used to provide galvanic insualtion between those two PCBs  :-/O
12oV4dWZCAia7vXBzQzBF9wAt1U3JWZkpk
“Let the future tell the truth, and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I have really worked, is mine”  - Nikola Tesla
-||-|-
 

Offline eneuroTopic starter

  • Super Contributor
  • ***
  • Posts: 1528
  • Country: 00
Designing also CP2104 based USB interface to be able connect this VAN interface to tablet/laptop...

After reading CP2104 datasheet, I've realized it is really small and not available to source in my favourite reseller, so I've ordered this CP2104 based quite nice looking module, which has among other UART stuff also 4 GPIO pins of CP2104 available, so I can easy connect to my CAN/VAN interface PCB MPU output pins  or add fast optocouplers and make galvanic insulated interface between car CAN/VAN and tablet/laptop 8)



I should have this CP2104 module at the middle of next week in my hands, so it is time to finish VAN/CAN interface PCB shown earlier and write some code for MPU and PC to make data visualisation, etc...
« Last Edit: November 28, 2015, 08:53:18 pm by eneuro »
12oV4dWZCAia7vXBzQzBF9wAt1U3JWZkpk
“Let the future tell the truth, and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I have really worked, is mine”  - Nikola Tesla
-||-|-
 

Offline 406dany

  • Contributor
  • Posts: 17
  • Country: fr
if you want make data visualisation you need com at minimum of 500 Kbauds (for real time logging)
and i don't think that you can find opto so fast ...
there is no real matter to have the GND commun between car and laptop
 

Offline eneuroTopic starter

  • Super Contributor
  • ***
  • Posts: 1528
  • Country: 00
there is no real matter to have the GND commun between car and laptop
Not sure about this after looking at MCP2551 block diagram  :-\



Anyway, thanks to Graham Auld links there
http://graham.auld.me.uk/projects/vanbus/
and this article
http://marco.guardigli.it/2010/10/hacking-your-car.html
we have some clue how those VAN bus PSA packets looks like.

I do not need scan and log all VAN packets, so I believe I do not need such huge baudrate to output something to connected USB port, while in final  design I hope MPu will be able make this realtime VAN bus frame analysis and make moving average eg. of engine RPM or vehicle speed, so this thing will otput at lets say 10Hz rate those engine RPM, cat velocity values, so no need to send each VAN bus message  ;)
Even for testing I will try send only unique one from all available identifiers on VAN bus...

I was interested in galvanci insulated MPU from car battery, but it looks like that MCP2551 might need car ground, eg. to compare CANH/CANL voltage levels, but maybe I'm wrong-need investigate this more and make physical tests when this circuit will be soldered, but creating test CAN network wth twisted pair of wires terminated by two 120 Ohm resistors_I will look into physical CAN layer desription for more information, if MCP2551 might work without common ground between its Vss pin and car GND available in this audio connector  :-/O
« Last Edit: November 29, 2015, 07:09:20 pm by eneuro »
12oV4dWZCAia7vXBzQzBF9wAt1U3JWZkpk
“Let the future tell the truth, and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I have really worked, is mine”  - Nikola Tesla
-||-|-
 

Offline 406dany

  • Contributor
  • Posts: 17
  • Country: fr
Ok you want just the RPM/speed frame
For no connexion GND car <-> GND laptop hummm... i can try a test on my interface...

Just a shoot of my interface USB/VAN
(sorry i have not draw the electrical schematic...)

 

Offline eneuroTopic starter

  • Super Contributor
  • ***
  • Posts: 1528
  • Country: 00
my interface is about a PIC18F2620 (10MHZ*4) , MC2551,
and a usb/RS232 TTL (FTDI) aliasing at  500Kbauds
Is it average VAN total frame bits rate in your car?
Since you wrote it is 8us per bit it means 125kbps and it is possible for car body bus.
However, when we look intoE-Manchester encoding where 4 bits are grouped (three NRZ coded and one Manchester coded) we have 5 TS per 4 bits, so 0.8 bit/TS, not 1 bit/TS, or 0.5bit/TS in classic Manchester  ;)



Anyway, while we know from linked documents how VAN start of frame field looks like, we know what to look for in received logic data from MCP2551 read pin and maybe try synchronize software clock based on this SOF field in VAN protocol 8)



Then we have 12 bit VAN identifier address field E-MAN encoded:


here is a frame of RPM/speed:
824 -W- 18F80000000044   28BA NoAck
0x18F8=6392/10=639,2 rpm
ans speed at 0 km/h
0x824 is IDEN field or something else?
It is exactly 12bit.

639.2 RPM how is it possible such low engine speed?  ::) It is around 900 RPM or so in my car, but ok while we read RPM from car oryginal display at zero vehicle speed, we can try catch frame IDEN, while who knows if Peugeot used the same IDENTs in 406 and mine 206 car?  ;)

When I'll have some catched different VAN frame IDs on those 9004/9005 lines, than by opening doors, looking for dashboard indicators switched on/off I hope I will be able eliminate other frames, but those linked with engine RPM/vehicle speed  :popcorn:
« Last Edit: November 29, 2015, 06:50:08 pm by eneuro »
12oV4dWZCAia7vXBzQzBF9wAt1U3JWZkpk
“Let the future tell the truth, and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I have really worked, is mine”  - Nikola Tesla
-||-|-
 

Offline eneuroTopic starter

  • Super Contributor
  • ***
  • Posts: 1528
  • Country: 00
if you want make data visualisation you need com at minimum of 500 Kbauds (for real time logging)

From description of CP2104 it looks like it will be capable do this real time logging, so we'll see what we get:
Quote
The adapter looks like a standard virtual serial port (COM port) to the computer’s operating system, which means it can be used with any software designed to work with a serial port (even a legacy RS-232 port). The CP2104 is a full-speed USB 2.0 device and allows baud rates of up to 2 Mbps.
It could be nice for hacking this protocol use real time log, but later communication can be optoisolated  at lower speed, when we'll be able decode VAN bus frames in real time on MPU based on MCP2551 output  >:D
12oV4dWZCAia7vXBzQzBF9wAt1U3JWZkpk
“Let the future tell the truth, and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I have really worked, is mine”  - Nikola Tesla
-||-|-
 

Offline 406dany

  • Contributor
  • Posts: 17
  • Country: fr
Well...
yes my VAN bus body car is at 125Kbds also on 9004 and 9005 wires
my interface send 1 byte in ascii (at 500Kbds) to the PC for 4 bits (1 nibble) + E manchester on VAN bus
so in 40µs PIC's usart must send 1 byte+start bit+stop bit to the PC
=> 250Kbs and for no error i works at 500kbs
(as graham auld done on his usb/van monitor)

The usb/RS232 standard don't use 500kbs so i use aliasing for bauds rate by putting a new divisor in the register device parameters

Yes i think it's possible to use the SOF for calibrate timing (SOF include start bit=32+32+16=80µs)
but at start with no calibration how to know that is SOF?
maybe by using the frame interval which is about 150µS (not always...)

The real frame for RPM/speed (i am pretty sure that it is the same on 206) is:
SOF 824818F8000000004428BA EOF
824 :identity
8 :cmd
18F8 :RPM*10
00000 :speed*100
00044 :number iteration
28BA :checksum CRC15
As you wrote 639.2 RPM is very low and the dashboard show 800rpm
i have not yet study this bug (need offset or other multiplycator) ...
« Last Edit: November 29, 2015, 10:23:41 pm by 406dany »
 

Offline eneuroTopic starter

  • Super Contributor
  • ***
  • Posts: 1528
  • Country: 00
...
8 :cmd
...
Is it hex 4 bit only cmd  ?  :-\
Hopefully, I've found a way to translate using Google those French documents, I hope I will today better understanding of this PSA VAN protocol, which seams look more complicated than pure CAN.

...
18F8 :RPM*10
As you wrote 639.2 RPM is very low and the dashboard show 800rpm
i have not yet study this bug (need offset or other multiplycator) ...
Why not to press accelerator pedal and increae this engine RPM to 1000 RPM, 1200 RPM,1400 RPM,..., 2000 RPM, and record more frames with different RPM values?  ;)

Than additionally at low vehicle speed lets say 50km/h do similar thing, while vehicle speed at given engine RPM and choosen gearbox is linked, so when we know RPM, we can estimate vehicle speed.
For 206 gearbox I've derived formula to calculate vehicle speed, based on choosen gearbox from 1..5 and engine RPM, but I'd like to have also real vehicle speed to double check if trasmission system works correctly -those RPM/speed should be linked if clutch doesn't brake power train between engine to wheel....
12oV4dWZCAia7vXBzQzBF9wAt1U3JWZkpk
“Let the future tell the truth, and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I have really worked, is mine”  - Nikola Tesla
-||-|-
 

Offline 406dany

  • Contributor
  • Posts: 17
  • Country: fr
"8:cmd"   yes it is the command's nibble
and the 4 bits are:
B3=EXT exention Always 1
B2=RACK Request Acknowledge
B1=R/W Read /write
B0=RTR Remote transmission request (reply in frame)
(normally you never see B0=1 because the reply change it to zero when reply take place in frame ...)

My laptop's batterie is very old and i can't log in car without supply line
so i can't drive with my laptop logging
I can raise up the front wheel but i have no time for the moment...

 

Offline eneuroTopic starter

  • Super Contributor
  • ***
  • Posts: 1528
  • Country: 00
My laptop's batterie is very old and i can't log in car without supply line
Connect to Android tablet via USB by writing small app to read VAN bus data and visualise in real time ;)

Anyway, I've soldered pcb with MPu and MCP2551 on board-waiting for CP2104 to have in my hands to log some data and tune MPU code to better understand this tricky VAN bus protocol  :)
12oV4dWZCAia7vXBzQzBF9wAt1U3JWZkpk
“Let the future tell the truth, and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I have really worked, is mine”  - Nikola Tesla
-||-|-
 

Offline eneuroTopic starter

  • Super Contributor
  • ***
  • Posts: 1528
  • Country: 00
While waiting for CP2104 based USB to GPIO interface, I've connected in spare time this CAN/VAN to MPU adapter soldered yesterday to 5Vcc and made measurements of input/output of MCP2551 chips with floating CANH/CANL:
Code: [Select]
VCC: 4.99V
CANH: 2.56V
CANL: 2.40V
TXD: ~5V
RXD: ~5V
CANH-CANL: 0.16V

It will be interesting to test what we get, when we connect to CANL/CANH external two wires without shared ground -so lets create test CAN network terminated by two 120 Ohm resistors and from another galvanic insulated power supply lets simulate different CANH/CANL bus states and lets see output of MCP2551.RXD  :-/O
12oV4dWZCAia7vXBzQzBF9wAt1U3JWZkpk
“Let the future tell the truth, and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I have really worked, is mine”  - Nikola Tesla
-||-|-
 

Offline eneuroTopic starter

  • Super Contributor
  • ***
  • Posts: 1528
  • Country: 00
I've in hands CP2104 so I was able connect this MCP2551 with ATTiny85 MPU to CP2104 powered from USB:



CP2104 output marked as 3v3 has 3.45V , according to its datasheet typical value, so never ever relay on PCb makers PCb text markings-use multimeter and check datasheet  ;D

Anyway, I'm not sure if I can connect 5V I/O output from ATTiny85 or RxD from MCP2551 powered from 5Vcc to GPIO pins from CP2551 which is poweded internally from this 3.45VDD ?  ???
CP2551 datasheet says taht can be up to 5.8V at those GPIO pins, so probably yes..
I wouldn't like to make any voltage shift tricks.
I think I will add 1k resistors between CP2104 GPIOs and MPU or CP2551.RXD pin and see what happends  :-/O

Connecting right now this thing to PC Linux to write some software to log raw data on PC...
Update: Yep, it looks like CP2104 is successfully detected looking into Linux dmesg command output:
Code: [Select]
> usb 2-1: new full speed USB device number 10 using uhci_hcd
> usb 2-1: New USB device found, idVendor=10c4, idProduct=ea60
> usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
> usb 2-1: Product: CP2104 USB to UART Bridge Controller
> usb 2-1: Manufacturer: Silicon Labs
> usb 2-1: SerialNumber: 00BE672B
> usbcore: registered new interface driver usbserial
> USB Serial support registered for generic
> usbcore: registered new interface driver usbserial_generic
> usbserial: USB Serial Driver core
> USB Serial support registered for cp210x
> cp210x 2-1:1.0: cp210x converter detected
> usb 2-1: cp210x converter now attached to ttyUSB0
> usbcore: registered new interface driver cp210x
> cp210x: v0.09:Silicon Labs CP210x RS232 serial adaptor driver

I didn't made any customisation of CP2104 so far, so probably its default values there  :popcorn:

Update2: Unfortunatelly, even at latest Linux driver for CP2104 in this module source http://lxr.free-electrons.com/source/drivers/usb/serial/cp210x.c they didn't add support for GPIO ioctl, so no chance without adding those ioctls test example code to set/get CP2104 GPIO pins  :palm:

I will try add this support for GPIO under my Linux box, while no plans to use Window$ for serious work and I'd like to use GPIOs under Android too  :-/O
« Last Edit: December 05, 2015, 11:46:11 pm by eneuro »
12oV4dWZCAia7vXBzQzBF9wAt1U3JWZkpk
“Let the future tell the truth, and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I have really worked, is mine”  - Nikola Tesla
-||-|-
 

Offline xsara

  • Newbie
  • Posts: 2
  • Country: au
Hello,
I'm just writing with excitement to let you guys know that I'm keenly following the progress of this project.
If it can be successfully achieved, it presents a good option for 406/607 owners with a faulty MFD (Multi Function Display). I'd love to upgrade my orange monochrome MFD, which is illegible 90% of the time, for a fancy Android interface  ;)
Heck, if the ability was there, it would be awesome to replicate the vehicle controls (ie windows, climate control, etc) via an external interface!

Looking forward to your updates.

Cheers!
Xsara
 

Offline 406dany

  • Contributor
  • Posts: 17
  • Country: fr
Hello,
I'm just writing with excitement to let you guys know that I'm keenly following the progress of this project.
If it can be successfully achieved, it presents a good option for 406/607 owners with a faulty MFD (Multi Function Display). I'd love to upgrade my orange monochrome MFD, which is illegible 90% of the time, for a fancy Android interface  ;)
Heck, if the ability was there, it would be awesome to replicate the vehicle controls (ie windows, climate control, etc) via an external interface!

Looking forward to your updates.

Cheers!
Xsara
I think that it's possible to emulate the display because it's only a slave on the van bus
but for emulating the other control it's not so easy because BSI is master on the bus
I have actualy this problem :
when i send a frame to the dash board for setting the speed at 130km/h (for example) the BSI is alway sending speed at 0km/h so there is a conflict and it's not good ...

i have directly made in the pic a parser of all the frame from van bus body
The parser take the ID of the frame and put the same frame ID at the same memory place
it's work under interrupt so i can independantly read memory with a PC
(there is also a debugger inside the pic which can dump memory page)

I have try to found some other documentation of van bus on the net but it's no easy...
van doc:
http://ebajic.free.fr/Ecole%20Printemps%20Reseau%20Mars%202006/Supports/J%20MERCKLE%20CANopen.pdf

i try to found datasheet on the PPC1008T and MHS29C461 but with no succes

i have found this (for xsara...)
http://milajda22.sweb.cz/Manual_k_ridici_jednotce.pdf

Dany
(sorry for poor school english...)
« Last Edit: December 12, 2015, 04:41:58 pm by 406dany »
 

Offline 406dany

  • Contributor
  • Posts: 17
  • Country: fr
Hello

I'm still working on this interface VAN
i have solve some problem...

I have made a very basic parser that show data on VAN "confort"
here a screen shoot that show you the "knowledge" data
(the 2 data at the end of each line is ID frame and number of receiving this frame)


I can also send some frames similar at "radio remote control" (and control volume/seek track or station...)
or test frames (see with PP2000) for writing km-counter or setting dashboard's gauges
But there are some data that i don't yet understund ...

The good factor for RPM convert is 8 and not 10 so
824 -W- 18F80000000044   28BA NoAck
0x18F8=6392/8=799 rpm
0x0000=0/100= 0 km/h

rgds
and Merry Christmas
« Last Edit: December 24, 2015, 01:00:20 pm by 406dany »
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
Hi!

I'm started developing a C# application for parsing packets, based on samples what Graham Auld provided (he dumped the packets to a txt file while driving). Unfortunately I'm still waiting for some pieces to arrive for my circuit. Could you be so kind and provide some sample packets to test with?
« Last Edit: January 03, 2016, 04:17:13 pm by morcibacsi »
 

Offline 406dany

  • Contributor
  • Posts: 17
  • Country: fr
Hello
you can see some packet of graham here :
http://van-bus.googlecode.com/svn/trunk/bus_captures/graham/
and here it is a packet of my van body car:
(at the end of line : N=no acknowledge / K=acknowledge)
(CMD nible: AW-=0xC / -W-=0x8  / AR-=0xE / ...)
 

Offline xsara

  • Newbie
  • Posts: 2
  • Country: au
Some amazing stuff going on here, I'm keeping a close eye  :popcorn:

(A belated Merry Christmas to you too, Danny)
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
Hello
you can see some packet of graham here :
http://van-bus.googlecode.com/svn/trunk/bus_captures/graham/
and here it is a packet of my van body car:
(at the end of line : N=no acknowledge / K=acknowledge)
(CMD nible: AW-=0xC / -W-=0x8  / AR-=0xE / ...)

Thank you! I have found those captures, and they're working fine with my parser (and your attachment is fine too). However there are captures here http://van-bus.googlecode.com/svn/trunk/bus_captures/helpful_soul_number1/ which I'm failing to parse. I suspect that their logger had some defects, and some of the packets are damaged. For example the Speed and RPM packets do not have the Sequence part, and the fuel level and oil temperature part also missing. I hope the errors are occuring because of damaged packets and not because their car had different equipment and some things are disabled in the BSI.
 

Offline 406dany

  • Contributor
  • Posts: 17
  • Country: fr
There are some mistake/error in the description of graham's web site
(for example : fuel level, oil temp, RPM divisor ... are not good)
but he had made a very great job !
this is a new Van frames descriptor and it's can help you
(i hope you can understand the format...)
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
Awesome work! There must be a lot of debugging (trying and comparing) behind this... I can't wait to arrive my parts for my circuit, until then there are a lot to code :) (I'd like to replace the MFD) At the first glimpse I think I understand the format, thanks again!
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
Actually I have one question. Maybe it's stupid but I want to be sure. At "climatisation 2" the file says: 4DC[3-4]:int: (X/10)-.40: temp evaporator. I have this packet: 4DCC800015ACF6FFFF32A4A  [3-4] is F6 = 246/10 = 24.6 - 0.4 = 24.2 So the final value is 24.2 Is this correct? And if yes where the heck that 0.4 come from? I mean it's so little that how was that figured out?
 

Offline 406dany

  • Contributor
  • Posts: 17
  • Country: fr
Hi

Not exactly ...
I write .40 for decimal notation and not hexadecimal (must be read as 40)
in 4DC C     80 00 15 AC F6 FFFF    32A4A
[3-4] is 0xACF6 so (44278/10)-40=4387.8°C  humm .... very very hot !

I think that there is a problem with 0xAC or with your gauge...

Actually in my car I have for [3-4]=0x0232 so (562/10)-40=16,2°C 
(A.C. is off and this is the external température)

rgds
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
Oh thanks for the explanation, I've misread something with the indexes. In the meantime I made some progress with my logfile player. :)
 

Offline eneuroTopic starter

  • Super Contributor
  • ***
  • Posts: 1528
  • Country: 00
I'm still working on this interface VAN
Me too  ;)
Back to electronics after a few weeks  holidays with fresh and new ideas ...

The good factor for RPM convert is 8 and not 10 so
824 -W- 18F80000000044   28BA NoAck
0x18F8=6392/8=799 rpm
0x0000=0/100= 0 km/h

Did you tried check with non zero velocity and verify that RPM & speed match at given gearbox 2nd, 3rd, 4th, etc?


Anyway, is it possible find on CAN/VAN in Peugeot cars something like wheels angle turn caused by driver manual steering wheel?

12oV4dWZCAia7vXBzQzBF9wAt1U3JWZkpk
“Let the future tell the truth, and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I have really worked, is mine”  - Nikola Tesla
-||-|-
 

Offline 406dany

  • Contributor
  • Posts: 17
  • Country: fr
Did you tried check with non zero velocity and verify that RPM & speed match at given gearbox 2nd, 3rd, 4th, etc?

these formula (RPM and speed) match well with my real dashboard
i haven't verify with the gearbox if speed= K x RPM

Anyway, is it possible find on CAN/VAN in Peugeot cars something like wheels angle turn caused by driver manual steering wheel?
I think this data (steering angle) can be found in the ABS/ESP module
this module have a Kline (iso 14230-4) on the OBD connector
but i don't think that this info is on Van bus body (perhasp on the other van bus)
i will try with PP2000 if i can see this angle directly from ABS/ESP module or from the COM2000 module

Actually I work on Kline ECU (EDC15C2) and i can get some info
(speed, rpm, water temp, air temp, fuel temp, boost pressure, accel position,flow injector, batt volts, ....)
and made a protocol converter (with PIC) for bluetooth adaptater to see data on my iphone with TorquePro.apk
but that need a big work to fine in the data frame ECU where are the good data and their encoding formula
(and i have burn my adaptater with 12v on 3.3v ! )
but this not the subject of this topic

rgds
« Last Edit: January 24, 2016, 09:31:17 am by 406dany »
 

Offline eneuroTopic starter

  • Super Contributor
  • ***
  • Posts: 1528
  • Country: 00
Anyway, is it possible find on CAN/VAN in Peugeot cars something like wheels angle turn caused by driver manual steering wheel?
I think this data (steering angle) can be found in the ABS/ESP module
this module have a Kline (iso 14230-4) on the OBD connector
but i don't think that this info is on Van bus body (perhasp on the other van bus)
Quick hack could be add... own steering wheel encoder-I mean I'd like to know this angle to show on HUD to help driver control car when we are lost on snow covered road and need quicly take control to do not land outside road ;)
It is difficult to deal in such situation, unless one have racing team skils-when we do not feel wheels position relative to car body axis ;)

This is another feature I want add to my custom car cruise controll system-including support for gegar changes based on mentioned link between chosen gearbox vehicle speed and its engine rpm speed...

Anyway, thanks for some hints, it might be helpfull  :popcorn:
« Last Edit: January 24, 2016, 09:57:44 pm by eneuro »
12oV4dWZCAia7vXBzQzBF9wAt1U3JWZkpk
“Let the future tell the truth, and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I have really worked, is mine”  - Nikola Tesla
-||-|-
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
I'm not sure if you're aware of it,  but you do not need to be in the car for VAN data logging. I just got a radio and a display from the scrap yard, and succesfully made a little VAN network from them on the bench. Of course this way I'm limited to the messages sent by the radio and display, but it's good for start. (and much cheaper if something goes wrong). I'm now struggling with a TSS463B VAN controller. I just can't get it how do I know if there is some data, and how to get it. I know you're experts at microcontrollers, please take a look at the datasheet and shed me some light, what should I look for? The datasheet is here: http://www.atmel.com/images/doc7601.pdf

 

Offline eneuroTopic starter

  • Super Contributor
  • ***
  • Posts: 1528
  • Country: 00
I'm not sure if you're aware of it,  but you do not need to be in the car for VAN data logging.
I do want detect events when engine RPM is not linked with vehicle speed and I'm more interested to do not interfere with car VAN (read only), so that is why I've made galvanic insulated interface USB <-> CAN/VAN bus ;)


This is development version.
Of course I do not use FTDI-no thanks, but Silicon Labs ICs :)

12oV4dWZCAia7vXBzQzBF9wAt1U3JWZkpk
“Let the future tell the truth, and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I have really worked, is mine”  - Nikola Tesla
-||-|-
 

Offline 406dany

  • Contributor
  • Posts: 17
  • Country: fr
Hi
I have made some tests ....
and i got these results for km/h=f(rpm)

Quote
tyre:215/55 R16
P=2*PI*r=2*PI*0.298(real)=1.872m
KM/H=RPM*60*RatioX*P/1000
Ratio5=0.4174
Ratio4=0.3189
Ratio3=0.2262
Ratio2=0.1423
Ratio1=0.0742
KM/H(5)=RPM*0.04688  ex:1961 tr/mn=92 km/h  datalogged=94 km/h
KM/H(4)=RPM*0.03582  ex:1960 tr/mn=70 km/h  datalogged=72 km/h
KM/H(3)=RPM*0.02541  ex:2577 tr/mn=65 km/h  datalogged=66 km/h
KM/H(2)=RPM*0.01598  ex:3122 tr/mn=50 km/h  datalogged=50 km/h
KM/H(1)=RPM*0.00833  ex:2123 tr/mn=17 km/h  datalogged=17 km/h

it's not so bad !
there is a little time between rpm logged and speed logged
so measure have to be get at stable speed or stable rpm
and not when clutch is "off" between gear change
An other problem is the tyre pressure and "state" witch change the lenght by turn

If you want to make an alarm for malfunction you have to put a delay time for bad ratio
and also an admissible delta (for tyre pressure)

rgds
« Last Edit: February 20, 2016, 06:35:47 pm by 406dany »
 

Offline eneuroTopic starter

  • Super Contributor
  • ***
  • Posts: 1528
  • Country: 00
In the case of gearbox in 1.4 HDI those Peugeot specs looks good when tested link between speed/rpm with realtime data ;)



Anyway, probably car knows nothing about tyre pressure, so it can be calibrated by real measurement of average speed of given few hundred meters distance divided by real clock time in comparision to averaging of speed data read directly from car VAN/CAN bus  :popcorn:
« Last Edit: February 24, 2016, 08:45:19 pm by eneuro »
12oV4dWZCAia7vXBzQzBF9wAt1U3JWZkpk
“Let the future tell the truth, and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I have really worked, is mine”  - Nikola Tesla
-||-|-
 

Offline nesc76

  • Newbie
  • Posts: 3
  • Country: br
Hi, just registered to this site due to this amazing thread.

I have a Citroen C3 2004 thats part of a project (ev conversion). One of the missing parts is some data we can get from the VANBUS only but we are  struggling to get to it. You guys seems to have nailed it.

I read the thread, and saw some of the PCBs and schematics from the youtube video. But it seems to me the latest prototype is based on attyne85 without much processing, basically dumping the VAN data into a serial or usb/serial. Thats exactly what we were looking for (the car has a Raspberry Pi onboard that would be used to actually decode/store the VAN bus messages).

Would it be possible to share the latest schematics? Not sure how hard it is to acquire the components, but willing to give it a shot.

I'am more than willing to help test and decode messages as well. Lexia is available (my idea is to send codes through Lexia and see what is dumped in the serial line from this circuit to help decoding).

Thanks very much for your amazing work.

 

Offline 406dany

  • Contributor
  • Posts: 17
  • Country: fr
hi
you can't take VAN bus data directly on serial/usb
the major problem is the E-manchester bit and the start/end frame format
you need to add a converter VAN bus <-> serial standard (i use a pic18F2620)
of course you need also a level adaptator RS485 <-> serial RS232 or serial TTL
you can take all informations on Graham site
rgds
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
I said earlier that I built my circuit using TSS463 VAN controller. Unfortunately using the display and radio on bench I only get IDEN 8C4, no other display or radio related IDEN (4D4, 554, 5E4 or 984) shows up. I have no idea what is wrong, so I'm stuck with the project for now :(
 

Offline nesc76

  • Newbie
  • Posts: 3
  • Country: br
hi
you can't take VAN bus data directly on serial/usb


Sorry, I think I didnt express myself correctly.

My idea is to have a microcontroler (I tought a simple arduino initially) to talk to vanbus trough a MCP2551 chip. The arduino would get the VAN messages and send the messages to a linux computer trough USB Serial (a simple serial.pringln on the CAN message received). The linux computer would just keep reading from serial and processing/storing.

I thought, based on post #40 by eneuro that thats what was being done.

Unfortunately, I could not understand the designs in the youtube video posts enough to build one (I just scratch the surface with electronics, some basic arduino projects). Will give it another shot.

Thanks!

Edit: Looking at your VAN bus circuit and the USBRS232 cable, it would do exactly what I'am trying to achieve as well, but I have no idea how to use the the PIC18F2620. Arduino is as far as I can go at this point. :)
« Last Edit: March 22, 2016, 02:07:30 am by nesc76 »
 

Offline 406dany

  • Contributor
  • Posts: 17
  • Country: fr
Unfortunately using the display and radio on bench

If i well anderstand you have no BSI on your experimental van bus ...
BSI is master on a lot of frames
On van bus it is very difficult to identify who is the sender and who is the receiver...
so you have to try on a real car  :)
 

Offline 406dany

  • Contributor
  • Posts: 17
  • Country: fr

My idea is to have a microcontroler (I tought a simple arduino initially) to talk to vanbus trough a MCP2551 chip. The arduino would get the VAN messages and send the messages to a linux computer trough USB Serial (a simple serial.pringln on the CAN message received). The linux computer would just keep reading from serial and processing/storing.

Ah ok...
it's possible if you can generate with arduino I/O signal about 4µs with processing the other data
(sending, parsing, checksum ...)
4µs is the lower base time for van bus
you have to be quick in your subroutine...
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
hi
you can't take VAN bus data directly on serial/usb


Sorry, I think I didnt express myself correctly.

My idea is to have a microcontroler (I tought a simple arduino initially) to talk to vanbus trough a MCP2551 chip. The arduino would get the VAN messages and send the messages to a linux computer trough USB Serial (a simple serial.pringln on the CAN message received). The linux computer would just keep reading from serial and processing/storing.

I thought, based on post #40 by eneuro that thats what was being done.

Unfortunately, I could not understand the designs in the youtube video posts enough to build one (I just scratch the surface with electronics, some basic arduino projects). Will give it another shot.

Thanks!

Edit: Looking at your VAN bus circuit and the USBRS232 cable, it would do exactly what I'am trying to achieve as well, but I have no idea how to use the the PIC18F2620. Arduino is as far as I can go at this point. :)

Hi maybe this would be useful to you: https://gist.github.com/projectgus/307053
 

Offline nesc76

  • Newbie
  • Posts: 3
  • Country: br
4µs is the lower base time for van bus
you have to be quick in your subroutine...

I wasn't aware I could be close to arduino processing speed.... Maybe I should go to another approach.

Hi maybe this would be useful to you: https://gist.github.com/projectgus/307053

Thanks Morcibacsi,

Yes, it gives me some direction to go if I keep going to the Arduino route.

Anyway, I ordered some components based on this thread (a TSS463C, a PIC18F2620 and a MCP2551). I'am trying to find a MTC-3051 as in the Youtube post as well. I guess I will also need a programer for the PIC.

This way I can try to replicate some of the ideas in this thread.

Thanks again for all the help.
 

Offline eneuroTopic starter

  • Super Contributor
  • ***
  • Posts: 1528
  • Country: 00
The linux computer would just keep reading from serial and processing/storing.

Yep, but I'd rather use ATTiny85 at 16MHz to process data taken from MCPXXX CAN/VAN and send parsed data to PC via USB (I2C on demand)-not raw dump from MCPXXX itself.
Upgrading now to galvanic insulated PSU powered from USB port, so no need to mess with automotive PSUs designs,etc.
Just sending for prototyping new version-I found it too difficult to manufacture at home, so I will have to wait a few days to have them in my hand for testing  :popcorn:
I will let know how new design it works in practice ;)
12oV4dWZCAia7vXBzQzBF9wAt1U3JWZkpk
“Let the future tell the truth, and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I have really worked, is mine”  - Nikola Tesla
-||-|-
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
I'm playing with the captures, but I don't understand something. I capture data like this:

8C 41 8C 8A 42 01 12 12
8C 41 83 8A 42 01 12 12
8C 41 83 8A 42 41 81 34
8C 41 83 8A 44 40 AF 5C
8C 41 8C 8A 20 40 4F B8
8C 41 83 8A 20 40 4F B8

I tried to check their CRC with the checker on Graham's page. They all failed, because somehow he got data with his logger a little bit different:

My data            : 8C 41 8C 8A 42 01 12 12 translates to Grahams data like this:
Grahams data  : 8C 4    C 8A 42 01 12 12

So if I remove some numbers, the CRC check is fine. It took me some time to figure this out.

However there are lines like this:

8C 41 83 8A 42 01 12 12  --- if i check this with the upper method (removing the 1 and 8 from it the check fails), but let me add the previous line under it:
8C 41 8C 8A 42 01 12 12  --- the lines are almost identical except that 3 turned to C but the CRC at the end is the same... of course it will not match.

I don't get it why does this happen.
 

Offline sergio04

  • Newbie
  • Posts: 1
  • Country: es
Hello everyone.

I'm new in this forum. I try to read the vanbus in my car. I want to use the steering wheel remote of mi car in my new sony radio. I try to use arduino with a mcp2551 in rx line and the scketh of this link: https://gist.github.com/projectgus/307053. Someone use arduino to read the vanbus? Thank you.
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
Sorry for reviving this old thread, but maybe there is still somebody out there who is trying to fiddle with the VAN bus. I created a library for ESP32 to read the VAN bus, which can be found here: https://github.com/morcibacsi/esp32_rmt_van_rx. And also created an analyzer for Saleae Logic: https://github.com/morcibacsi/VanAnalyzer Have fun using them  :)
 

Offline Vailfire

  • Newbie
  • Posts: 1
  • Country: de
Hi there!

I'm new here and quite happy that there is still activity on this thread. I'm trying to interfere with my Peugeot 206 VAN-Bus to build a CD-Changer emulator.

Currently I'm focusing on two approaches:
1) An Arduino Nano + cheap CAN module I've lying around (MCP2515 + TJA1050) - But I don't know whether I can address directly the TJA to handle the special protocol with E-manchester bits
2) Or I might use my STM32F103 with integrated CAN pins

@morcibacsi I'm very confident that I can learn a lot from your library for the ESP32! Hopefully, I only need to send this VAN packet in order to activate the AUX input of my Siemens RD3:

Code: [Select]
4EC CDC TRACK INFO (display ask CDC)
(8x......8x : header and footer)
4EC AR- 8X 00 C1 16 01 22 17 01 21 00 3F 8X   (reply in frame)
4EC[1]:0x01:bit: :  random track play
4EC[2]: 0x41 = OFF, 0xC1 = Powered on and standing by (paused), 0xD3 = "Busy" (Time = 0xFFFF)
        0xC3 = Playing, 0xC4 = fast forward, 0xC5 = fast rewind
4EC[3]: Either 0x06 (no cartridge) or 0x16
4EC[4]:bcd: : track time (m)(0xFF when changing track or play mode)
4EC[5]:bcd: : track time (s)(0xFF when changing track or play mode)
4EC[6]:bcd: : current track (0xFF if no cartridge)
4EC[7]:bcd: : cd number     (0xFF if no cartridge)
4EC[8]:bcd: : track count   (0xFF if no cartridge ?)
4EC[9]:0xXX : ? =0x00
4EC[10]:0x3F:bit : 0x00 (no cartridge) or 0xXX: cd present bit
- (VAN Frames_.txt)
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
I have some code and schematics to write to the VAN bus using Arduino (Pro mini) + Atmel TSS463C VAN controller + AMIS REMQ VAN transceiver, which also kind of works for reading. I'll try to find some time to post those on github in the near future. (but for reading the ESP32 library I uploaded is more reliable. ) For what you would like to achieve (writing the bus) I would go with this solution as these circuits have built in mechanisms to find the timings when to write the bus to avoid collision with other messages floating around. Writing that kind of code in software is maybe not the easiest thing. Actually writing the VAN bus with an ESP32 is on my TODO list, but most propably it won't happen in the near future, as I am busy with some other stuff.

Another thing I would also consider if I were you (actually I already considered and I'm working on it :))... Is to replace the old RD3 unit with an RD4 or RD43 or RD45 unit from newer Peugeots. Those units are capable of playing mp3 from CDs and USB, and the RD45 also supports bluetooth. Of course those require a CAN bus connection even for boot up, but it is quite an interesting project to emulate a BSI and send the proper messages to have those units working inside a car with a VAN bus.

EDIT: An early prototype has been created. It still needs some polishining, but seems to work:

« Last Edit: April 22, 2019, 06:42:16 am by morcibacsi »
 
The following users thanked this post: Vailfire

Offline yvesdm3000

  • Newbie
  • Posts: 6
Hi morcibacsi,

Is this emulation code available somewhere ?

Yves
 

Offline mikerj

  • Super Contributor
  • ***
  • Posts: 3240
  • Country: gb
EDIT: An early prototype has been created. It still needs some polishining, but seems to work:

Really nice job, that looks very slick  :-+
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
Thank you guys.
@yvesdm3000 The source code is not yet in a shape to be published as it has some bugs which I would like to resolve first. In the meanwhile I implemented writing on the bus, you can take a look at the code here: https://github.com/morcibacsi/esp32_rmt_van_tx

It is working on the bench with a multifunction display, however something is wrong with the wiring, as it does not work when I connect both of the CAN_H and CAN_L lines. I attached there the schema which is working for me. Need to investigate it why. Maybe those who are better with electronics than me could take a look what is wrong.

https://youtu.be/SQ3sJHYcR4E
 

Offline bagou91

  • Contributor
  • Posts: 11
  • Country: fr
Hello,
I am a French user.
I am interested in the work on the VAN bus of the car radio for my Peugeot 206 with RD3.
I try to simulate CDC changer with Arduino.

I use the morcibacsi 's library https://github.com/morcibacsi/arduino_tss463_van: It works fine for send frame ID E24 and 8A4 on VAN: I can to use RD3 without BSI.
RD3, EMF-B display and Arduino interface (TSS463+driver Alcatel2840) are connected.

I bought an Yatour MP3 bluetooth box that simulate CDC.
In attachment, dump frames with RD3 and CDC.

I would like to simulate CDC with Arduino, but I can't to send frame data CDC for simulate CDC with Arduino...
In my sketch Arduino, I add this:
Code: [Select]
//4E CB 86 C0 0E 46 0B 80 38 18 8C 07 00 80
uint8_t packet[12] = { 0x86, 0xC0, 0x0E, 0x46, 0x0B, 0x80, 0x38,  0x18,  0x8C,  0x07,  0x00,  0x80 };
VANInterface->set_channel_for_transmit_message(4, 0x4E, 4, packet, 12, 0);
VANInterface->disable_channel(4);
This code are repeated every second.

But push button CDC on RD3 does nothing.

Can you help me ?

Thank you
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
Hi,

Well... I think that the CDC message (4EC) is not a "write type" message that is why sending it with the set_channel_for_transmit_message() method won't do anything. I think that the frame type you need is the Reply Request frame with immediate reply (it can be found on the 20th page in the datasheet of the TSS463). Basically this message is generated by two participants. The requesting module (radio) will send the SOF (0E) and the identifier (4EC) and the rest of the message is generated by the requested module (CD changer). Unfortunately my library won't display these 'half frames' but I think it is actually there when you have the yatour disconnected. It should look something like this:

0E 4E CF 97 68

(where the  97 68 are the checksum bytes)

And if you have the yatour connected it will fill the bytes between the identifier and the checksum.

So at first I would suggest you to build my ESP32 based reader to check if this half-frame is there when you have the yatour disconnected (that reader just dumps the data from the VAN line). And if it is there then I would move forward to check how is it possible with the TSS463 to program this type of message to reply to the request with an in-frame reply.
Unfortunately I did not had the time to fully figure out and implement all message types, so the library is not 100% percent complete (it may also contain some bugs). But I would be happy if somebody could fill these missing gaps.
 

Offline bagou91

  • Contributor
  • Posts: 11
  • Country: fr
Ok.
I will to buy the IC sn65hvd230....
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
Actually you can connect the VAN line to the ESP32 directly, I used it like that for a few weeks and it worked. The CAN transceiver is there for the 5V-3.3V conversion. You can also build a small voltage divider, that also works. That way you don't have to wait for the CAN transceiver.
 

Offline bagou91

  • Contributor
  • Posts: 11
  • Country: fr
I have an ESP8266.
Is it possible to compile your sketch for this board ?
I tried to compile with Arduino IDE software for board esp8266 but I have errors.
Or what software you use to compile ?
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
The code works only on an ESP32 as the library depends on its peripheral named RMT. The ESP8266 does not have this peripheral that is why you couldn't compile it. I use Visual Studio and a plugin named Visual Micro for developing, but it uses the Arduino in the background to compile so the Arduino IDE should also work
« Last Edit: August 26, 2019, 09:12:38 am by morcibacsi »
 

Offline bagou91

  • Contributor
  • Posts: 11
  • Country: fr
OK so I must to buy an ESP32 rmt... :)
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
Any ESP32 developer board will work.
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
I checked the CD changer related information, and with this sketch it seems to work (at least you can change to the CD changer, and it will count from 01:00 to 01:59):

Edit: The seconds are in BCD so you have to convert it for correct output on the display.

Code: [Select]
#include "VanMessageSender.h"
const int VAN_PIN = 7;

AbstractVanMessageSender *VANInterface;
unsigned long currentTime = millis();
unsigned long previousCdcTime = millis();
volatile uint8_t seconds = 0;
volatile uint8_t headerByte = 0x80;


void IncrementHeader()
{
    if (headerByte == 0x87)
    {
        headerByte = 0x80;
    }
    else
    {
        headerByte++;
    }
}

void IncrementSeconds()
{
    seconds++;
    if (seconds == 60)
    {
        seconds = 0;
    }
}

uint8_t DecToBcd(uint8_t input)
{
    return( (input/10*16) + (input%10) );
}

void AnswerToCDC()
{
    uint8_t status = 0xC3; //playing
    uint8_t cartridge = 0x16;
    uint8_t minutes = 0x01;
    uint8_t trackNo = 0x17;
    uint8_t cdNo = 0x02;
    uint8_t trackCount = 0x21;
   
    uint8_t packet[12] = { headerByte, 0x00, status, cartridge, minutes, DecToBcd(seconds), trackNo, cdNo, trackCount, 0x3f, 0x01, headerByte };
    VANInterface->set_channel_for_immediate_reply_message(0, 0x4E, 0xC, packet, 12);
}

void setup(){
    VANInterface = new VanMessageSender(VAN_PIN);
    VANInterface->begin();
}

void loop() {
    currentTime = millis();
    if (currentTime - previousCdcTime >= 1000)
    {
        previousCdcTime = currentTime;

        IncrementSeconds();
        IncrementHeader();

        AnswerToCDC();
    }
}
« Last Edit: September 01, 2019, 06:36:00 pm by morcibacsi »
 

Offline bagou91

  • Contributor
  • Posts: 11
  • Country: fr
Hello,

Thanks you very much for your research of the good trame to send   :D
It works !

When I press the button CDC, it enable :)
Here the dump with Arduino that simulates CDC:
Code: [Select]
Arduino VAN bus monitor using TSS463C
Channel: 1:  8C 49 8A C1 2E
Channel: 2:  55 4B 80 C6 8F 1E C1 98 78 18 DD 07 3F FF FF BC 0E 06 01 80 38 18 0C 07
Channel: 1:  8C 49 8A C1 0C
Channel: 2:  8A 4B 80 C6 8F 1E C1 98 78 18 DD 03 3F FF FF BC 0E 06 01 80 38 18 0C 03 00 80 30 0C 8E 06 09 80
Channel: 3:  8C 49 8A C1 0C
Channel: 0:  4E CA 85 C0 0C CE 0B C0 80 FB 1E 0C 21 0F
Channel: 1:  8C 49 8A C1 3C
Channel: 2:  55 4B 83 C3 4D 1E C1 C2 C0 1C DD 03 3F FF FF AE 03 80 80 0C 0E 03 80 80
Channel: 0:  4E CA 80 C0 0E C6 0B 80 38 1A 1D 07 08 A3
Channel: 0:  4E CA 84 C0 0C C7 05 90 18 17 0B C0 81 0C
Channel: 0:  4E CA 80 C0 18 CE 0B C0 81 9E 1E 0C 27 1E
Channel: 0:  4E CA 81 C0 18 CE 0B C0 81 BE 1E 0C 27 1F
Channel: 0:  4E CA 85 C0 0E C6 0B 80 38 1B 1D 07 08 A3
Channel: 1:  98 49 00 80 0E 06 7F
Channel: 2:  4D 4B 85 C1 6D 0E 06 09 81 7A 3F 3F 3B
Channel: 0:  4E CA 80 C0 18 CE 0B C0 82 18 1E 0C 27 1E
Channel: 0:  4E CA 84 C0 0E C6 0B 80 38 3C 1D 03 08 A3
Channel: 0:  4E CA 80 C0 0E C6 0B 80 38 3D 1D 07 08 A3
Channel: 0:  4E CA 81 C0 0C C7 05 98 18 26 8B E0 81 0C

The EMF display: CD2 - track 17 - time 1.00++
and total: 21 tracks
« Last Edit: September 01, 2019, 04:40:36 pm by bagou91 »
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
I'm glad you succeeded. It is worth to check if you feed the audio lines on pins 18-20 of the blue mini iso on the head unit if it produces sound or not. I updated the library on github, take note that I changed the arguments of the methods and now you can define the identifiers as they are (you don't have to split them to two bytes).

Example:

Code: [Select]
    VANInterface->set_channel_for_immediate_reply_message(2, 0x4EC, packet, 12);

Instead of:

Code: [Select]
    VANInterface->set_channel_for_immediate_reply_message(2, 0x4E, 0xC, packet, 12);
« Last Edit: September 07, 2019, 05:51:35 pm by morcibacsi »
 

Offline bagou91

  • Contributor
  • Posts: 11
  • Country: fr
Thanks you for this update !

I tested audio from CDC pins: it's ok.
Audio outputs with ampli of RD3.
« Last Edit: September 02, 2019, 06:14:36 pm by bagou91 »
 

Offline adv

  • Contributor
  • Posts: 10
  • Country: fr
Hi gentlemen, salut à tous !  ;D

I recently found the morcibacsi's gitHub and already ordedred @ Ali, an esp32 and the CAN adapter to build my own sniffer/injector  :-+ thank you man for this awesome work, I wish I had the same skills to perform such work... then found this thread.

My goal is really simple, (could seem useless at your eye), I have a 406 coupé, and I replaced the Clarion radio by a Blaupunkt. Because of that I lost the radio name on the ODB (ordinateur de bord) or central display monitor. I would like to display a text instead like " I love my 406" or anything else to "fill" the screen as it's almost empty now, with just clock top right and fuel related data at the bottom.

Has anyone already decode in which data frame the radio station name is sent from the radio to the central display ?

If not I'll have to find out.

If you have an idea let me know  ;D

Thank a lot, merci beaucoup.

Antoine.
« Last Edit: November 04, 2019, 08:49:21 am by adv »
 

Offline bagou91

  • Contributor
  • Posts: 11
  • Country: fr
Bonjour adv

Désolé de te dire cela, mais tu n'as pas dû bien rechercher sur le sujet... :--
Avec un peu plus de recherches approfondi, tu la trouveras.
La trame pour la partie affichage radio RDS a été décodé et trouvable dans plusieurs des réponses apportées.
Et oui il faut lire les 4 pages...

Pour le remplacement de ton poste et la perte des infos, je suppose que c'est parce que tu l'as remplacé par un non origine PSA (VDO/Clarion).
 

Offline adv

  • Contributor
  • Posts: 10
  • Country: fr
Salut Bagou, désolé ça commence mal, je suis un habitué des forums et je sais que la recherche est le premier des trucs à faire mais dans les 4 pages je n'ai rien vu qui parlait de RDS et d'ailleurs j'ai fait une recherche sur RDS, tu n'as pas a être désolé ! Je viens de refaire un tour sur le site de Graham: http://graham.auld.me.uk/projects/vanbus/packets.html#554

Et là je trouve ça ahaaaa:
Databyte   81   D3   91   53   4B   59   52   4F   43   4B   20   81
Meaning   Header   Preset Info   Byte 2   SKYROCK{space}   Footer

Bon à suivre quand j'aurai reçu le matériel.
Ta supposition était bonne. Bon certes les autoradio de seconde monte ne sont pas super integrés mais j'ai un son autrement meilleur que l'origine.
A+


For English users: Bagou repplied I didn't watch the entire subject and this this matter has already been discused, I double checked but did not really find any subject talking about station name, latter I found more explanations on Graham's webpage about IDEN 554 where teh station name is sent.
I will investigate in this direction.

Thank you all !
« Last Edit: November 04, 2019, 10:49:19 am by adv »
 

Offline bagou91

  • Contributor
  • Posts: 11
  • Country: fr
Oui effectivement si tu recherches sur des termes précis comme "RDS" tu risques de ne rien trouver.
Pour ma part, j'avais lu les 4 pages + les divers liens et PJ pour en arriver à ma demande par rapport à la trame du CDC...

Regardes et fouilles le github de morcibacsi, tu trouveras des dump de frames et son décodage.
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
I will take a look on how to write RDS data to the display on this week. I suspect that first you need to send a message with the iden 8D4 to fool the display that the radio is on. After that the screen will start to ask the headunit with iden 554 for the RDS data. And that is the place where you can prepare a reply for that message type with your custom text.
« Last Edit: November 04, 2019, 03:30:49 pm by morcibacsi »
 

Offline adv

  • Contributor
  • Posts: 10
  • Country: fr
Köszönöm morcibacsi  8)

Quand à toi bagou, si j'ai bien compris tu arrives a leurrer l'autoradio pour lui faire croire que tu as un changeur et tu injectes le son via l'entrée audio du changeur c'est ça ?
Couplé à un récepteur BT a 5$ d'aliexpress ça mets un coup de jeune au poste d'origine !
 

Offline bagou91

  • Contributor
  • Posts: 11
  • Country: fr
Oui c'est tout à fait ça  :D
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
I have included an example in the github repository on how to display custom RDS text on the display. The length of the text is very limited, however I think it is possible to send multiple messages with the letters shifted to the left so it looks like the text is scrolling. I didn't want to ruin your fun so I pass the opportunity to you to play around with the scrolling text possibility. :) If you manage to have it working then please share it.
 
The following users thanked this post: adv

Offline beduino

  • Regular Contributor
  • *
  • Posts: 137
  • Country: 00
I have included an example in the github repository on how to display custom RDS text on the display.

Hello,
Very interesting stuff there  :-+

I think it could be very interesting to display gear choosen.
I've some idea howto do it based on engine RPM and vehicle speed, but strugle to read VAN bus using MCP2561 since MCP2551 is not recomended for new designs.

Maybe someone had success of using one of those high-speed CAN transceivers, but not with Arduino, but custom design with AVR MPUs?
For the moment all I need is engine RPM and vehicle speed - It could be also helpfull if we were able to know when clutch is "off" between gear change?
When talking about vehicle speed, probably there must be somewhere wheel rotation sensor eg. in Peugeot 206 to calculate vehicle speed based on this information? Does anyone knows how vehicle speed is sensed eg. in Peugeot 206?

It could be cool to do it and display on custom display or maybe even in aka HUD mode reflected on front windshield  ::)
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
I successfully used sn65hvd230 with ESP32 to read the VAN bus. The clutch information has not yet found on the VAN comfort bus. It might be possible that it is only presented on the CAN bus between the BSI and the ECU. The source of the speed information is either the ABS sensors or the speed sensor located on the gearbox if no ABS installed.
 

Offline beduino

  • Regular Contributor
  • *
  • Posts: 137
  • Country: 00
The source of the speed information is either the ABS sensors or the speed sensor located on the gearbox if no ABS installed.
It looks like speed sensor located on the gearbox could be better than ABS sensors, since all we need to know is ratio between engine RPM vs gearbox output speed probably sensed the same as lower RPM.

Vehicle speed than is probably calculated by the means of wheel size (diameter) which can be slightly different based on tyre pressure etc.

Anyway, my car has ABS installed, but I'd like to sense rather gearbox output RPM, so probably in cars with ABS installed still gearbox sensing must be available eg. in the case of ABS failure, I guess?

I've Saleae logic analyser so maybe it is time to try sniff some VAN (CAN signals) from Peugeot 206 HDI (the same as thread author pointed out at the begining), but a there any some kind of database to compare with?
Isn't this comunication encrypted somehow and similar within lets say Peugeot 206 line starting from 2002 year model I own?

I can also try write AVR MPU code to filter out other messages on VAN bus, but howto recognize those one related to engine RPM and gearbox output speed?
Maybe when we see some real data captured myself therer will be something similar to what you already did, however I saw there were some differencies in what you captured in comparision to this information mentioned in this thread: http://graham.auld.me.uk/projects/vanbus/protocol.html   ?

 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
I've Saleae logic analyser so maybe it is time to try sniff some VAN (CAN signals) from Peugeot 206 HDI (the same as thread author pointed out at the begining), but a there any some kind of database to compare with?
The publicly available "database" is Graham's page, what you've linked and the VAN_frames.txt which was attached somewhere in this forum. They are good for a start but they have a lot of assumptions and lot of the information is just wrong.

Isn't this comunication encrypted somehow and similar within lets say Peugeot 206 line starting from 2002 year model I own?
It is not encrypted. It is the same for the 406, 206, 307 and for Citroen C5, Picasso and most probably for every cars made by PSA. It doesn't really make sense to implement the same thing for every model in a different way inside the same company.
The only difference I have found is the packet with iden number 4FC which was extended at some point in time by a few bytes, but the others seems to be the same.

I can also try write AVR MPU code to filter out other messages on VAN bus, but howto recognize those one related to engine RPM and gearbox output speed?
Maybe when we see some real data captured myself therer will be something similar to what you already did, however I saw there were some differencies in what you captured in comparision to this information mentioned in this thread: http://graham.auld.me.uk/projects/vanbus/protocol.html   ?

If you write yourself the AVR code you can try to sniff the VAN comfort bus, or you also can sniff the VAN body bus which wasn't really discovered (be careful though as the airbag ecu is also on that network). You just have to sit into the car, and look for changes inside the data coming in and try to figure out what changes when you press the pedals. That is how I (and Graham and the french guys back in 2003) did it. Again regarding the info on Grahams page it is really a very good start, but don't trust it blindly in some places it is very far from the actual meanings. Maybe some day I will share my findings.

However if you want the lowest level IMO the CAN network on the ECU is what you need to investigate.
 

Offline adv

  • Contributor
  • Posts: 10
  • Country: fr
 :D  :-+

Thanks a million, I'm in a hurry to try that !

May I ask you a stupid question. I already ordered an ESP32 and a SN65HVD230 board, but the repo where you put the ino file to play with RDS display mentions usage of an arduino and both TSS463C & REMQ 0339.

May I use the ino file with ESP32+SN65HVD230 board ?

If so, this is by reverse the // on the following lines, Am I right ?

Code: [Select]
const int SCK_PIN = 25;
const int MISO_PIN = 5;
const int MOSI_PIN = 33;
//const int VAN_PIN = 32; //ESP32
const int VAN_PIN = 7; //Pro Mini

Thank you >:D
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
So to wrap up. I have 3 (+1 for Saleae Logic analyzer but that is another story) repositories with VAN bus related stuff:

No.RepositoryMCUICDescription
1.Arduino TSS463C VAN interface libraryBasically every MCU should work which is supported by the Arduino framework (Uno/Nano/Pro Mini/ESP32 was tested but others may also work)TSS463C + Remq0933 (or MCP2551*)These chips were used inside the car by PSA. Can read the bus and safely write messages to it.
2.ESP32 RMT peripheral Vehicle Area Network (VAN bus) readerOnly ESP32 is supportedSN65HVD230, MCP2551 was tested but other CAN transceivers may also workThis repository is only for reading the bus.
3.ESP32 RMT peripheral Vehicle Area Network (VAN bus) writerOnly ESP32 is supportedSN65HVD230, MCP2551 was tested but other CAN transceivers may also workThis is only a proof of concept that the ESP32 is able to generate the VAN packets, however using it is not recommended at all. To safely write on the bus arbitration logic have to be implemented. The TSS463 chip supports arbitration from hardware but this repository does not implement it.

So if you would like to write to the display you need to build the TSS463+Remq0933* schematics.

*The Remq0933 can be replaced by an MCP2551 also, a schematic will be uploaded onto the repository somewhere in the near future.
 

Offline Kotman

  • Newbie
  • Posts: 2
  • Country: ru
Hi everybody!
Amazing work all of You!!! I really can't find more information about how to use RD3+EMF-B without car. But I have poor English and not understand totally right many things.
I have working RD3+EMF-B. Of course I hear beep sound without a car every 2-3 seconds. Bagou91 wrote:"I use the morcibacsi 's library https://github.com/morcibacsi/arduino_tss463_van: It works fine for send frame ID E24 and 8A4 on VAN: I can to use RD3 without BSI. RD3, EMF-B display and Arduino interface (TSS463+driver Alcatel2840) are connected."
But I can't find final shematic diagram of this solution to repeat it. I'm newbee in understanding IC-buses, such I2C, I2S, etc. I understand that VAN bus is very hard to learning, but I have the aim, some equipment and time.
Is it real to get scheme for repeating this solution to make working RD3 without BSI? I have CAN-module MCP2515+TJA1050, Arduino Uno+Leonardo, RD3+EMF-B+Citroen XsaraII.
Thank You!
 

Offline beduino

  • Regular Contributor
  • *
  • Posts: 137
  • Country: 00
It is not encrypted. It is the same for the 406, 206, 307 and for Citroen C5, Picasso and most probably for every cars made by PSA.
Not encrypted by PSA is good news  :-+

BTW, "PSA" means this big company PSA Groupe  ?

It is interesting whether maybe there is some kind of "black box" hidden in some cars which store those messages lets say a few days/hours back to investigate in the case in accident?
Looks like with cheap hardware it could be now easy possible to make something like this...  :o
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
Hi,


I have working RD3+EMF-B. Of course I hear beep sound without a car every 2-3 seconds. Bagou91 wrote:"I use the morcibacsi 's library https://github.com/morcibacsi/arduino_tss463_van: It works fine for send frame ID E24 and 8A4 on VAN: I can to use RD3 without BSI. RD3, EMF-B display and Arduino interface (TSS463+driver Alcatel2840) are connected."

You can send the VIN number to the radio like this:

Code: [Select]
// Send VIN like this:
void SendE24()
{
    uint8_t packet[17] = { 0x56, 0x46, 0x33, 0x33, 0x48, 0x4E, 0x46, 0x55, 0x42, 0x37, 0x31, 0x33, 0x37, 0x35, 0x35, 0x36, 0x31 };
    //uint8_t packet[17] = { 'V', 'F', '3', '3', 'H', 'N', 'F', 'U', 'B', '7', '1', '3', '7', '5', '5', '6', '1' } //this also works
    VANInterface->set_channel_for_transmit_message(4, 0xE24, packet, 17, 0);
}

// And the 8A4 like this:
void SendExternalTemperature(int temperature)
{
    uint8_t packet[7] = { 0x0F, 0x07, 0x00, 0x00, 0x00, 0x00, temperature * 2  + 0x50};
    VANInterface->set_channel_for_transmit_message(6, 0x8A4, packet, 7, 0);
}



I really can't find more information about how to use RD3+EMF-B without car.

I have attached the wiring to have the radio and display working on the bench. The TSS463C schema is also attached however you can find that (and another one with a different ic) on the github page of the library.

A CAN module with MCP2515+TJA1050 won't work, you need to build the TSS463C circuit to send on the VAN bus.
« Last Edit: November 16, 2019, 11:23:50 am by morcibacsi »
 
The following users thanked this post: Kotman

Offline Kotman

  • Newbie
  • Posts: 2
  • Country: ru
Big thanks, morcibacsi!
I'll try Your recommendations for result. I use the same wiring of LCD.

 

Offline adv

  • Contributor
  • Posts: 10
  • Country: fr
Hello morcibacsi and all VAN fans  :D

Thank you sir for your schem with the TSS463C + MCP2551 as I wasn't able to find a REMQ0339 from Alcatel.

FYI: I found a REMQ0114, it is also labelled Alcatel 2840 and the one I found seems wired with exact same components from your schem (with 51ohms and 4,3k resistors arround), but finally I'm not sure they are the same ones...
question for you: are you sure REMQ0339 is well the reference of this chip and not like a kind of datecode like YYWW (year code + week code) so the corect reference is simply Alactel 2840 ?

At least I'm sure it will work with MCP2551 and just ordred few ones on Ali. I see you can even find Atmel TSS463C, found mine in an old diesel fuel Eolys additive calculator.

A little picture to show you:

877654-0

Thanks and regards guys !
« Last Edit: November 24, 2019, 10:10:41 am by adv »
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
Maybe you are right and it is a date code and Alcatel 2840 is the real part number (I already wrote about it on the github page of the library). You can definitely use that. However I used the MCP2551 with my latest design as it requires much less components.

Edit: Yes, TSS463C can be found on aliexpress, they aren't fake.
« Last Edit: November 24, 2019, 10:16:52 am by morcibacsi »
 

Offline beduino

  • Regular Contributor
  • *
  • Posts: 137
  • Country: 00
I have attached the wiring to have the radio and display working on the bench.
I'd like to connect small external video camera when car is not used - when voltage on battery will drop below some level camera will be shutdown to do not discharge car battery too low - during the day small solar PV panel will try to charge car battery to floating voltage using small charge current eg. when not used for many days or just to keep at voltage as close to floating 13.8V as possible.
Just looking for a way to connect small 10W PV solar panel to keep car battery at floating 13.8V and in this wiring shown in this picture attached by you  VAN_Radio_MFD.png we have +12V marked yellow and red - which is difference between those two?
Do we have here access to car battery directly (probably fuse only) on one of those pins in radio connector when car doors closed and BSI shutdown ?

 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
Red: VAN +
Yellow: Permanent 12V
 
The following users thanked this post: beduino

Offline reggaester

  • Contributor
  • Posts: 28
  • Country: pl
Maybe you are right and it is a date code and Alcatel 2840 is the real part number (I already wrote about it on the github page of the library). You can definitely use that. However I used the MCP2551 with my latest design as it requires much less components.

Edit: Yes, TSS463C can be found on aliexpress, they aren't fake.

What is this board? Is made by you or it can be found somewhere?
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
What is this board? Is made by you or it can be found somewhere?

It is a shield for the ESP32 devboard designed by me. It contains a TSS463 and two CAN transceivers. The schematics will be released on github soon.
 

Offline Demir

  • Newbie
  • Posts: 2
  • Country: tr
hi  I have a problem
l have18pin dispilay socket , but new order 12 pin display socket .
is there a connection diagram.
18 to 12
https://uploads.tapatalk-cdn.com/20191216/922e07d9dd4b10d81b5f87a3f86bb10b.jpg

 

Offline Demir

  • Newbie
  • Posts: 2
  • Country: tr
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
hi  I have a problem
l have18pin dispilay socket , but new order 12 pin display socket .
is there a connection diagram.
18 to 12
https://uploads.tapatalk-cdn.com/20191216/922e07d9dd4b10d81b5f87a3f86bb10b.jpg

What kind of car do you have? Which display would like to replace, and what is the replacement display? Without further info (maybe pictures about both displays) we can't help.
 

Offline mane

  • Newbie
  • Posts: 2
  • Country: fi
Awesome stuff here and great work reversing the van bus.

I have a classic car, where I fitted Citroen C2 electric steering rack. To control that rack, it uses an ECU. Luckily, I found out that this ECU is also used in this training platform that Exxotest sells : https://exxotest.com/wp-content/uploads/2018/03/GU_MT-DAE_EN.pdf this was very good resource to check the pins of ecu.

That document mentions CAN bus, but when looking the signals coming out from those with oscilloscope, it's lower voltage than can bus, and hooking up can-bus monitor does not register any messages. So it must be VAN bus.

That power steering ECU requires RPM and speed messages from bus to function properly. If I could send those signals to ecu, I would have a working electric power steering.

Found out in this thread that speed & rpm are sent in one message, like this 824818F8000000004428BA

Looking at @morcibacsi:s work with the library, I ordered Arduino ESP32 and SN65HVD230 can module. But just after purchasing, I read the note in github that "does not contain any bus arbitratrion logic. So I don't recommend to use it in a car.". Not sure what that means and what would it require to write that logic. This ECU is the only VAN device in that network, so probably there is not much traffic going on there.. Maybe it could work just by plain sending that message on repeat (with actual speed & rpm of course).

What do you think guys? Would that work?
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
That power steering ECU requires RPM and speed messages from bus to function properly. If I could send those signals to ecu, I would have a working electric power steering.

Found out in this thread that speed & rpm are sent in one message, like this 824818F8000000004428BA

The VAN bus related data which was reverse engineered is focusing on the comfort related stuff. (air conditioning, speedometer, radio, multifunction display, cd-changer, parking radar, and navigation unit). Basically for the stuff which provides some information to the driver.
So most probably this info won't be good for the power steering as it is more related to safety/car control.

The packet descriptions can be found on this page: http://pinterpeti.hu/psavanbus/PSA-VAN.html (this has more packets identified compared to Graham Auld's page)

But you can be sure if you identify the wires going to the power steering. The VAN bus has to have 2 wires (VAN HIGH, and VAN LOW as it is a differential protocol) similar to CAN bus. If you have an oscilloscope you can check the signals going on the wires if it matches the signal described on this site then it is a VAN bus: http://graham.auld.me.uk/projects/vanbus/lineprotocol.html. The various VAN networks have different speeds but on the oscilloscope or on a logic analyzer the SOF signals and identifier parts look exactly the same (but with different timings of course). So it can be recognized if it is VAN or not.

Looking at @morcibacsi:s work with the library, I ordered Arduino ESP32 and SN65HVD230 can module. But just after purchasing, I read the note in github that "does not contain any bus arbitratrion logic. So I don't recommend to use it in a car.". Not sure what that means and what would it require to write that logic. This ECU is the only VAN device in that network, so probably there is not much traffic going on there.. Maybe it could work just by plain sending that message on repeat (with actual speed & rpm of course).

That library with the sn65hvd230 for writing can't work in a car, it needs a major rework, but as i have a working library with the TSS463 I won't spend time on that.

You need to build this hardware: https://github.com/morcibacsi/PSAVanCanBridgeHW/tree/v1.4 and use this library: https://github.com/morcibacsi/arduino_tss463_van to safely write on a VAN bus.
 

Offline adv

  • Contributor
  • Posts: 10
  • Country: fr
Hello Peter, and other VANs aficionados  ;D

Peter, the diagram with TSS463C + MCP2551 make reference to a "IRQ" pin on the TSS but the code doesn't, I remind you that I'm interested about the RDS display.
How should I manage that. Honestly I did not tested yet because I still wait som SO16 adapater to DIP...

What should we do in this case ?
drive to GND ? Vcc ?

Thank you for your help  :-+
« Last Edit: January 11, 2020, 10:55:13 am by adv »
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
The TSS can raise an interrupt on reception but I've never implemented that feature. I just wanted to have a kind of feature-complete board, so if needed that can be added to the library later. You can leave it unconnected, it doesn't matter.
 

Offline adv

  • Contributor
  • Posts: 10
  • Country: fr
Understood ! Thank you.  >:D
 

Offline mane

  • Newbie
  • Posts: 2
  • Country: fi
That power steering ECU requires RPM and speed messages from bus to function properly. If I could send those signals to ecu, I would have a working electric power steering.


But you can be sure if you identify the wires going to the power steering. The VAN bus has to have 2 wires (VAN HIGH, and VAN LOW as it is a differential protocol) similar to CAN bus. If you have an oscilloscope you can check the signals going on the wires if it matches the signal described on this site then it is a VAN bus: http://graham.auld.me.uk/projects/vanbus/lineprotocol.html. The various VAN networks have different speeds but on the oscilloscope or on a logic analyzer the SOF signals and identifier parts look exactly the same (but with different timings of course). So it can be recognized if it is VAN or not.


Got the CAN working when I checked what was the shortest pulse with oscilloscope. 4us translates to 250 000 bits per second.

Found out it's sending two messages. Id 495 with data of two bytes. This is probably steering angle. Id 795 has 6 bytes of data. I think this might be some status message of power steering ecu state. It comes once a second.

Problem now, is that this ECU should send 5V to torque sensor, to be able to receive the steering angle back on sensor signal port. But checking with multimeter, it's only 1.6V. I have two ECUs, but they both have the same voltage. Not sure if this is a problem.. Or should the voltage go up to 5V when ECU is receiving correct can messages (related to speed & rpm)

Any help would be appreciated :)
 

Offline reggaester

  • Contributor
  • Posts: 28
  • Country: pl
Hi @morcibacsi
I have some questions for you:
1. what is the module marked on the picture?
2. if I understand correctly after submitting this project(https://github.com/morcibacsi/PSAVanCanBridgeHW/tree/v1.4) I get a full van command translator for the can bus so that rd45 and emf c will work in 307 from 02-05?
3. are you planning to sell assembled projects ready to install in car?

Sorry for my bad English :(
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
1. That blue little board is a 5V->3.3V logic level converter which can be bought on aliexpress. Just like this: https://www.aliexpress.com/item/32216849765.html
2. Exactly. That is the board I am using now inside my Peugeot 307 from 2004 with an RD45 and a type C display. The files inside the src/Gerber folder are the files which are needed by manufacturing companies like allpcb.com to create the PCB for you.
3. Not really. There is little to no demand for these boards. There was a poll on a french forum on how many people would buy if it was available, and only 3 people voted yes. Creating pieces one by one does not really worth it. Also creating a product would require a more professional board design, and I would have to have some sort of support for the units which I wouldn't like to do. Thats why I released all the information. This way anybody can build it for their own responsibility.
 

Offline reggaester

  • Contributor
  • Posts: 28
  • Country: pl
thx for reply.
Can I find TSS463C in vdo rd3 to desolder it? except aliexpress, it can't be bought anywhere, and the waiting time for shipments from aliexpress is very long. Does rd45 connected with this bridge connect to pp2000 to enter the vin number?

and finally when any new youtube video?
Greetings from Poland morcibacsi  :D
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
TSS463 should be there in RD3, multifunction displays, odometers. You can desolder from these.  But yeah, you are right other than that it can be found only on aliexpress. Unfortunately VIN programming is not possible through PP2000 with my bridge. However in the VAN-CAN bridge you can set the VIN number what should be sent to the radio. I have mine like that also. It is also possible to query the VIN number of the radio with a CAN message so having access to a car with a CAN bus BSI is not mandatory. I had plans to create an Android app to setup diagnostic related stuff on the head unit (like VIN, presence of amplifier, region, fault reading, etc..) but unfortunately with RD45 they introduced some kind of security mechanism. So before writing data to the head unit first a length of four byte key have to be queried from it. With some logic this key have to be transformed into another one. And the programming of the head unit is only possible if you send the right transformed key to it. With RD4 and RD43 this is not necessary, so for those an application could be written.
About youtube... I have a little Peugeot-related project ongoing but not sure when will be finished,  but I'll definitely upload it :)
« Last Edit: February 08, 2020, 08:52:02 pm by morcibacsi »
 

Offline reggaester

  • Contributor
  • Posts: 28
  • Country: pl
what is this project?  :D
I'm sorry morcibacsi but I have more questions for you.
1. I have completed almost all parts needed for build it but can you tell me what is this module marked on photo? Can you upload photo of other side your shield?
2. after install the bridge do i still need rd3 and emf b or those not needed?
3. will the functionality be different if I build the minimum version?
4. why is the buzzer?
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
The project is top secret  ;D

1. It is a 5V to 3.3V logic level converter. It is needed because the ESP32 does not tolerate 5V on its pins so it has to be converted to 3.3V I attached a photo of the other side but there is not much to see there (apart from my awful soldering skills :) )
2. If you build the 1.4 version of the hardware with the TSS463 then you can remove the old display and radio. (The TSS463 is there to query the trip computer data, door statuses and internal temperature from the BSI).
3. Nope. Actually I have the minimum version, just like on the picture on github. The additional parts are there because the CAN transceiver part is based on the MCP2551 shields. And some others are there for measuring the internal temperature of the car (but actually I found the diagnostic messages to query that from the A/C system). R1, Q1, Bz1 is for the buzzer.
4. I included the buzzer so the board is compatible with my PSAWifiDisplayControl project. That project is for those who are replacing their head unit inside cars with CAN bus. If those cars are equipped with a parking radar then the beeping sound comes from the speakers through the headunit. So removing the head unit makes their radar silent. With the buzzer it would be possible to replicate the beeping sound. Unfortunately I did not have time and access to a car with a parking sensor so that part is not yet implemented in that project.

If you intend to build it then I recommend starting with the minimal board (as shown in the github page) as that is proven to work. The full board was not yet built and haven't been tested. After the minimum is working you can still extend the board with the additional components if you would like to.
 

Offline reggaester

  • Contributor
  • Posts: 28
  • Country: pl
hmm top secret... more details please :D

oh sorry I didn't upload an attachment. I'm asked for this red circle on the photo
 

Offline McBryce

  • Super Contributor
  • ***
  • Posts: 2682
  • Country: de
Looks like a small DC-DC regulator with a footprint so that it can replace a linear 78xx part?

McBryce.
30 Years making cars more difficult to repair.
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
Ah yes indeed it is a step down voltage regulator bought from aliexpress: https://www.aliexpress.com/item/32817933017.html I built the board in a way that it is possible to use these regulators or a LM7805 (TO220 package)
 

Offline reggaester

  • Contributor
  • Posts: 28
  • Country: pl
hi morcibacsi
I try compile and upload the PSAVanCanBridge-master to my esp32 wroom and I have some bugs like that:
Code: [Select]
Arduino:1.8.11 (Windows Store 1.8.29.0) (Windows 10), Płytka:"FireBeetle-ESP32, 80MHz, 921600"

libraries\PSAVanCanBridge-master\PSAVanCanBridgeMain.cpp.o: In function `setup()':

C:\Users\mateu\Documents\Arduino\libraries\PSAVanCanBridge-master/PSAVanCanBridgeMain.cpp:593: multiple definition of `setup()'

sketch\sketch_feb14a.ino.cpp.o:sketch_feb14a.ino.cpp:(.text._Z5setupv+0x0): first defined here

libraries\PSAVanCanBridge-master\PSAVanCanBridgeMain.cpp.o: In function `loop()':

PSAVanCanBridgeMain.cpp:(.text._Z4loopv+0x0): multiple definition of `loop()'

sketch\sketch_feb14a.ino.cpp.o:sketch_feb14a.ino.cpp:(.text._Z4loopv+0x0): first defined here

collect2.exe: error: ld returned 1 exit status

exit status 1
Błąd kompilacji dla płytki FireBeetle-ESP32.

Can you post short tutorial how compile and upload the code to esp using arduino ide please? I admit that this is my first contact with this topic
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
Seems you have a sketch named sketch_feb14a.ino You don't need that. Just download the zip, and open the PSAVanCanBridge.ino file. It is empty but don't worry about that as the main code is inside the PSAVanCanBridgeMain.cpp file. Hit compile and you should be good to go. (Make sure you have installed every library from the required section)
 

Offline reggaester

  • Contributor
  • Posts: 28
  • Country: pl
ok, now I have this error:
Code: [Select]
Arduino:1.8.11 (Windows Store 1.8.29.0) (Windows 10), Płytka:"FireBeetle-ESP32, 80MHz, 921600"

core\core.a(main.cpp.o):(.literal._Z8loopTaskPv+0x4): undefined reference to `setup()'

core\core.a(main.cpp.o):(.literal._Z8loopTaskPv+0x8): undefined reference to `loop()'

core\core.a(main.cpp.o): In function `loopTask(void*)':

C:\Users\mateu\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4\cores\esp32/main.cpp:14: undefined reference to `setup()'

C:\Users\mateu\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4\cores\esp32/main.cpp:17: undefined reference to `loop()'

collect2.exe: error: ld returned 1 exit status

exit status 1
Błąd kompilacji dla płytki FireBeetle-ESP32.

 

Offline reggaester

  • Contributor
  • Posts: 28
  • Country: pl
ok, works. I don't rename dir to PSAVanCanBridge. Now it's compile.
Did com monitor should show any messages?
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
Yep, in arduino it is mandatory to have the same name for the directory as the .ino file. COM monitor displays the VAN messages, but by default bluetooth is used as an output (this way I can save VAN bus captures with my smartphone in the car). If you comment the line #define USE_BLUETOOTH_SERIAL out in config.h out (or remove it) then it will display the messages on the regular COM port.
 

Offline reggaester

  • Contributor
  • Posts: 28
  • Country: pl
hello
why did you change the can lines in the schema?
where should gnd be in quadlock?
« Last Edit: February 23, 2020, 06:30:16 pm by reggaester »
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
I mixed up the lines when I first uploaded it. CAN_H was connected to CAN_L which is wrong. However the pinouts in the wiki (https://github.com/morcibacsi/PSAVanCanBridge/wiki/Pinouts-and-patch-lead) were fine. Just the schema was wrong. GND in the quadlock is A16 (it is also on the wiki, just I forgot to draw its line :()
 

Offline adv

  • Contributor
  • Posts: 10
  • Country: fr
Hello guys, hello Peter  >:D

After a while I finally tested the code for the RDS experimentation  :-+

Big success !!!

[ Specified attachment is not available ]

Thanks a lot man  :clap:

Now have to modify the code to make working it without the need of the laptop (have to press "p" into the serial terminal to send the data)

Few feedbacks after my experience:
- On arduino nano, I was trying to assign MISO, MOSI, CLK on regular data input/output (from line 10 to 12), baaaaad boyyyyy, you'll find them on 6 pins header !
- I was able to remove the FM1 and M1 information from the screen by putting { headerByte, 0xD1, 0x00 instead of { headerByte, 0xD1, 0x09 @ line 62

Have a good sunday !

Be back soon !
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
Hey, man! Nice job ;) Please keep us posted with your progress :)
 

Offline reggaester

  • Contributor
  • Posts: 28
  • Country: pl
Hi Peter,
After few days building the bridge i have problem :(
When I connect power the emf and radio is turn on but after few seconds it's stop working,
addicionaly after 2 minutes the LM7805_TO220 is very hot and smoke - input voltage is 12v, outpout is 5v
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
LM7805 is a standard 5V voltage regulator. It is normal to be hot because of the principle how it operates. However it isn't normal to smoke. Maybe it was a faulty unit. Try to replace it with another one and try to solder the bottom part on as large base as you can so the board can dissipate the heat. You can also try to install a heatsink on top of it, however that shouldn't be necessary. I have used one for months in my car without any problems (even in the summer when the weather was much warmer under the dashboard where I had it installed). Another option is to replace the LM7805 with a step down converter as shown on this picture: https://www.eevblog.com/forum/projects/van-bus-interfacing-(to-read-car-speed-and-engine-rpm-peugeot-206-1-4-hdi-2002)/msg2910008/#msg2910008
 

Offline reggaester

  • Contributor
  • Posts: 28
  • Country: pl
hi Peter
It's working now  ;D I use step down converter, no smoke and hot.
But now I can heat beeps from my rd43 - no vin match. Also aux input doesen't work.
Can you solve this problems?
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
Nice job ;) It beeps because the correct VIN number needs to be sent. There are two options here. The first is to set a known VIN number in the radio, and set it in the config.h file. For this you need to connect the radio to a real BSI with a CAN bus and use a diagnostic software to configure it. The other option is to write a little sketch which reads out the currently set VIN number with a CAN bus message, and set that VIN inside the config file. For this, the needed methods can be found in the following file: CanRadioRd4DiagStructs.h For enabling the AUX the answer is the same. I might be able to help you with a sketch to read the VIN number, however setting the AUX is a bit more complicated, and would take a lot of work to implement it. So I won't work on it in the near future.
 

Offline reggaester

  • Contributor
  • Posts: 28
  • Country: pl
thx for reply  :) Peter I I don't know anything about programming, can you help me? I don't have access to bsi so I have to use the second option
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
I'll create a sketch to read the VIN in the second half of next week.
 

Offline reggaester

  • Contributor
  • Posts: 28
  • Country: pl
thank you very much, I will wait :)
 

Offline reggaester

  • Contributor
  • Posts: 28
  • Country: pl
little update: I dealt with beeping. I just installed rd43 into my friend's car and using pp2000 I typed vin on the radio. Then in config.h I entered the same vin number. After this beeping stopped :)
however, I noticed several problems:
- information messages, e.g. opening doors or not fastening belts, appear only once, when they reset the program, they return, but also only once.
- the fuel range meter shows 22 km all the time and does not change, even if I reset the button on the control handle.
- sometimes the trip computer shows 0, but when I do reset esp starts to show the correct results
- when I open the door, the air conditioning panel goes into diagnostics, i.e. the servo motors can be heard. It doesn't happen without a bridge
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
What kind of car do you have? (model, and year)

however, I noticed several problems:
- information messages, e.g. opening doors or not fastening belts, appear only once, when they reset the program, they return, but also only once.

In general this is how the information messages are displayed: They are saved in a queue in order (first-in first out). The elements of this queue are displayed for 6,5 seconds. When a message appears on the display it is removed from the queue. A new message is only inserted to the queue when it is different from the last message which was displayed. This is implemented this way because the BSI sends the last message which was displayed indefinitely, so this logic avoids of the last message being stuck on the display. There is some kind of priority amongst these messages. For example the door status is only displayed when there is no message shown. Ice alert message is only shown once per ignition has been engaged and when the temperature is between -3 and +3 celsius (and no other message is displayed). Seatbelt warning is displayed once for 6,5 seconds when the speed is above 10 km/h. If you fasten it, or the speed drops below 10 km/h then it will reset, so if you reach 10 km/h again the warning will be displayed again. You can test this by driving above 10km/h the message should appear. If you fasten it, and unfasten it it should be displayed again.

The door status is displayed for 6,5 seconds. If the door is still open after 6,5 seconds, then it should reappear for another period (if no other message popped up in the meanwhile).

Also if you press the ESC button on the radio while a message is shown, it will be hidden immediately.

- the fuel range meter shows 22 km all the time and does not change, even if I reset the button on the control handle.

It depends on what you set up inside the config.h file at the DISPLAY_MODE option.
If it is set to 1 then it should behave as the original display.
If it is set to 2 then it displays other stuff on the display based on my preferences (see attached picture).

1. External temperature / Internal temperature with diagnostic message (for 5 seconds when end of left stick pressed)
2. Internal temperature (with diagnostic message)
3. Fuel in liters / Fuel in percentage (for 5 seconds when end of left stick pressed)
4. Instantious fuel consumption
5. Current vehicle speed / Oil temperature (for 5 seconds when end of left stick pressed)
6. Km travelled since last trip reset (this could flicker and displays garbage when bluetooth serial is enabled, don't know why)
7. Average fuel consumption since last trip reset (this could flicker and displays garbage when bluetooth serial is enabled, don't know why)
8. Average vehicle speed since last trip reset (this could flicker and displays garbage when bluetooth serial is enabled, don't know why)
9. Rpm
10. Air direction (with diagnostic message)


- sometimes the trip computer shows 0, but when I do reset esp starts to show the correct results
On which page? The second page (with the number 1) is not perfect. Somebody reported that sometimes it displays garbage. But if he disables the USE_BLUETOOTH_SERIAL in the config.h by commenting it out like this: //#define USE_BLUETOOTH_SERIAL
then it displays the correct values.


- when I open the door, the air conditioning panel goes into diagnostics, i.e. the servo motors can be heard. It doesn't happen without a bridge

This is the intended behaviour to have support for the air directions and internal temperature (as these informations cannot be found in the regular messages, so I implemented reading of these from diagnostic mode). If you don't like this, or you don't have a display which supports this information an option can be implemented in config.h


I hope this clarifies the working mechanisms a little bit. If you still think that there is some error please post a video about it, to have a better understanding. Lately I don't have much time working on the project unfortunately, so contributions (and pull requests) are very welcome.

« Last Edit: March 18, 2020, 06:10:53 pm by morcibacsi »
 

Offline reggaester

  • Contributor
  • Posts: 28
  • Country: pl
Thank you for your responce  :)
What kind of car do you have? (model, and year)
Peugeot 307  2004

Here is video showing door status
https://youtu.be/4zkF_G70zns
here you can see that the open door message only shows once until the bridge is reset.
You can test this by driving above 10km/h the message should appear. If you fasten it, and unfasten it it should be displayed again.
unfortunately it only shows up once :(

This is the intended behaviour to have support for the air directions and internal temperature (as these informations cannot be found in the regular messages, so I implemented reading of these from diagnostic mode). If you don't like this, or you don't have a display which supports this information an option can be implemented in config.h
i have emf type a so I don't need this, how can i disable it in config.h?
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
Hmm.. interesting. Unfortunately I haven't tested with that display type nor I have one. Can you post a picture about the back of the display where it has the type number on that sticker? I'll try to find one nearby to test with. I'll put up a new version in a few days so you can disable the air conditioning statuses.

EDIT: I have added an option to disable A/C status query from config.h: Just comment the define like so:

Code: [Select]
// if defined the AC status is queried with a diagnostic message (only works with rev 1.4)
//#define QUERY_AC_STATUS

Also please upload a short VAN bus capture while the problem occures. Just like you did in the video, open the door 3-4 times and capture the packets in the meanwhile. You can do that either in standard serial mode, or in bluetooth serial mode with this app on Android: https://play.google.com/store/apps/details?id=de.kai_morich.serial_bluetooth_terminal&hl=en
« Last Edit: March 19, 2020, 06:56:47 am by morcibacsi »
 

Offline reggaester

  • Contributor
  • Posts: 28
  • Country: pl
hi,
someone has peeled off the sticker with the number but it is exactly the same as in this picture:
https://d.allegroimg.com/original/0377b5/ec3337ad4d539604580bb53e594d
I don't know if it's important but this emf is from peugeot 207

Also please upload a short VAN bus capture while the problem occures. Just like you did in the video, open the door 3-4 times and capture the packets in the meanwhile. You can do that either in standard serial mode, or in bluetooth serial mode with this app on Android: https://play.google.com/store/apps/details?id=de.kai_morich.serial_bluetooth_terminal&hl=en

Code: [Select]
21:59:30.322 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:30.322 -> 0E 4D CC 80 00 1B 02 61 FF FF C2 48
21:59:30.362 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:30.362 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:30.402 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:30.402 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:30.442 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:30.442 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:30.482 -> 0E 52 48 08 00 81 00 20 03 00 00 00 FF 00 00 00 00 00 00 C8 A0
21:59:30.482 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:30.482 -> 0E 5E 4C 20 1E 8A 50
21:59:30.522 -> 0E 4D 4F 39 2A
21:59:30.522 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:30.522 -> 0E 4D C8 80 00 1B 02 61 FF FF 9B EA
21:59:30.557 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:30.557 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:30.592 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:30.592 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:30.633 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:30.633 -> 0E 8A 48 8F 03 4B 28 64 67 66 02 EC
21:59:30.672 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:30.672 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:30.712 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:30.712 -> 0E 4D CC 80 00 1B 02 61 FF FF C2 48
21:59:30.752 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:30.752 -> 0E 9C 4C 00 80 D4 E2
21:59:30.752 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:30.792 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:30.792 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:30.827 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:30.872 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:30.872 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:30.907 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:30.907 -> 0E 4D C8 80 00 1B 02 61 FF FF 9B EA
21:59:30.952 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:30.952 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:30.952 -> 0E 52 48 08 00 81 00 20 03 00 00 00 FF 00 00 00 00 00 00 C8 A0
21:59:30.992 -> 0E 5E 4C 20 1E 8A 50
21:59:30.992 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:31.032 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:31.032 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:31.032 -> 0E E2 48 56 46 33 33 43 52 48 52 48 38 33 37 32 31 36 36 34 F4 28
21:59:31.072 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:31.072 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:31.107 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:31.107 -> 0E 4D CC 80 00 1B 02 61 FF FF C2 48
21:59:31.152 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:31.152 -> 0E 8A 48 8F 03 4B 28 64 67 66 02 EC
21:59:31.152 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:31.192 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:31.232 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:31.232 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:31.232 -> 0E 9C 4C 00 80 D4 E2
21:59:31.273 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:31.273 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:31.307 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:31.307 -> 0E 4D C8 80 00 1B 02 61 FF FF 9B EA
21:59:31.352 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:31.352 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:31.392 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:31.432 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:31.432 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:31.472 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:31.472 -> 0E 52 48 08 00 81 00 20 03 00 00 00 FF 00 00 00 00 00 00 C8 A0
21:59:31.472 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:31.472 -> 0E 5E 4C 20 1E 8A 50
21:59:31.512 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:31.512 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:31.512 -> 0E 4D 4F 39 2A
21:59:31.552 -> 0E 4D CC 80 00 1B 02 61 FF FF C2 48
21:59:31.552 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:31.592 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:31.633 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:31.633 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:31.633 -> 0E 8A 48 8F 03 4B 28 64 67 66 02 EC
21:59:31.672 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:31.672 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:31.712 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:31.712 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:31.712 -> 0E 4D C8 80 00 1B 02 60 FF FF F0 2C
21:59:31.752 -> 0E 9C 4C 00 80 D4 E2
21:59:31.752 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:31.792 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:31.832 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:31.832 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:31.872 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:31.872 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:31.912 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:31.912 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:31.912 -> 0E 4D CC 80 00 1B 02 61 FF FF C2 48
21:59:31.952 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:31.952 -> 0E 52 48 08 00 81 00 20 03 00 00 00 FF 00 00 00 00 00 00 C8 A0
21:59:31.992 -> 0E 5E 4C 20 1E 8A 50
21:59:31.992 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:32.032 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:32.032 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:32.032 -> 0E 8C 4C 12 20 7A AC
21:59:32.032 -> 0E 56 4E 81 00 00 00 00 00 00 40 00 00 18 00 00 27 00 00 FF FF 00 00 FF FF FF FF 01 4A 81 E3 1E
21:59:32.072 -> 0E E2 48 56 46 33 33 43 52 48 52 48 38 33 37 32 31 36 36 34 F4 28
21:59:32.072 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:32.072 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:32.112 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:32.112 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:32.112 -> 0E 4D C8 80 00 1B 02 61 FF FF 9B EA
21:59:32.152 -> 0E 8A 48 8F 03 4B 28 64 67 66 02 EC
21:59:32.152 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:32.192 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:32.192 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:32.232 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:32.232 -> 0E 9C 4C 00 80 D4 E2
21:59:32.272 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:32.272 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:32.272 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:32.307 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:32.307 -> 0E 4D CC 80 00 1B 02 61 FF FF C2 48
21:59:32.352 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:32.392 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:32.392 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:32.427 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:32.472 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:32.472 -> 0E 52 48 08 00 81 00 20 03 00 00 00 FF 00 00 00 00 00 00 C8 A0
21:59:32.472 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:32.472 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:32.512 -> 0E 5E 4C 20 1E 8A 50
21:59:32.512 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:32.512 -> 0E 4D C8 80 00 1B 02 61 FF FF 9B EA
21:59:32.512 -> 0E 4D 4F 39 2A
21:59:32.552 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:32.592 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:32.672 -> 0E 56 4E 85 00 00 00 00 00 00 40 00 00 18 00 00 27 00 00 FF FF 00 00 FF FF FF FF 01 4A 85 29 9C
21:59:32.672 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:32.672 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:32.672 -> 0E 8A 48 8F 03 4B 28 64 67 66 02 EC
21:59:32.712 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:32.712 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:32.712 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:32.712 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:32.752 -> 0E 4D CC 80 00 1B 02 61 FF FF C2 48
21:59:32.752 -> 0E 9C 4C 00 80 D4 E2
21:59:32.752 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:32.792 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:32.792 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:32.902 -> 0E 56 4E 83 00 00 00 00 00 00 40 00 00 18 00 00 27 00 00 FF FF 00 00 FF FF FF FF 01 4A 83 09 C2
21:59:32.902 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:32.902 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:32.942 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:32.942 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:32.942 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:32.942 -> 0E 4D C8 80 00 1B 02 61 FF FF 9B EA
21:59:32.982 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:32.982 -> 0E 52 48 08 00 81 00 20 03 00 00 00 FF 00 00 00 00 00 00 C8 A0
21:59:32.982 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:33.022 -> 0E 5E 4C 20 1E 8A 50
21:59:33.022 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:33.062 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:33.062 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:33.062 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:33.102 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:33.102 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:33.102 -> 0E 4D CC 80 00 1B 02 61 FF FF C2 48
21:59:33.142 -> 0E 8A 48 8F 03 4B 28 64 67 66 02 EC
21:59:33.142 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:33.177 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:33.222 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:33.262 -> 0E 9C 4C 00 80 D4 E2
21:59:33.262 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:33.262 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:33.342 -> 0E 56 4E 84 00 00 00 00 00 00 40 00 00 18 00 00 27 00 00 FF FF 00 00 FF FF FF FF 01 4A 84 5C F2
21:59:33.342 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:33.377 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:33.377 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:33.377 -> 0E 4D C8 80 00 1B 02 61 FF FF 9B EA
21:59:33.422 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:33.422 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:33.422 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:33.457 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:33.457 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:33.457 -> 0E 52 48 08 00 81 00 20 03 00 00 00 FF 00 00 00 00 00 00 C8 A0
21:59:33.497 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:33.497 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:33.497 -> 0E 5E 4C 20 1E 8A 50
21:59:33.497 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:33.542 -> 0E 4D CC 80 00 1B 02 61 FF FF C2 48
21:59:33.542 -> 0E 4D 4F 39 2A
21:59:33.542 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:33.577 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:33.612 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:33.652 -> 0E 8A 48 8F 03 4B 28 64 67 66 02 EC
21:59:33.652 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:33.652 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:33.692 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:33.692 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:33.772 -> 0E 56 4E 86 00 00 00 00 00 00 40 00 00 18 00 00 27 00 00 FF FF 00 00 FF FF FF FF 01 4A 86 B6 2E
21:59:33.772 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:33.772 -> 0E 4D C8 80 00 1B 02 61 FF FF 9B EA
21:59:33.812 -> 0E 9C 4C 00 80 D4 E2
21:59:33.812 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:33.812 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:33.812 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:33.847 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:33.847 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:33.892 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:33.892 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:33.892 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:33.932 -> 0E 4D CC 80 00 1B 02 61 FF FF C2 48
21:59:33.932 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:33.972 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:33.972 -> 0E 52 48 08 00 81 00 20 03 00 00 00 FF 00 00 00 00 00 00 C8 A0
21:59:34.012 -> 0E 5E 4C 20 1E 8A 50
21:59:34.012 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:34.052 -> 0E E2 48 56 46 33 33 43 52 48 52 48 38 33 37 32 31 36 36 34 F4 28
21:59:34.052 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:34.092 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:34.092 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:34.092 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:34.092 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:34.127 -> 0E 4D C8 80 00 1B 02 61 FF FF 9B EA
21:59:34.197 -> 0E 56 4E 81 00 00 00 00 00 00 40 00 00 18 00 00 27 00 00 FF FF 00 00 FF FF FF FF 01 4A 81 E3 1E
21:59:34.197 -> 0E 8A 48 8F 03 4B 28 64 67 66 02 EC
21:59:34.242 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:34.242 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:34.242 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:34.242 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:34.278 -> 0E 9C 4C 00 80 D4 E2
21:59:34.278 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:34.278 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:34.278 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:34.322 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:34.322 -> 0E 4D CC 80 00 1B 02 61 FF FF C2 48
21:59:34.357 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:34.357 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:34.392 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:34.432 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:34.472 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:34.472 -> 0E 52 48 08 00 81 00 20 03 00 00 00 FF 00 00 00 00 00 00 C8 A0
21:59:34.472 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:34.472 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:34.512 -> 0E 8C 4C 12 20 7A AC
21:59:34.512 -> 0E 56 4E 81 00 00 00 00 00 00 00 00 00 18 00 00 27 00 00 FF FF 00 00 FF FF FF FF 01 4A 81 DE 24
21:59:34.512 -> 0E 5E 4C 20 1E 8A 50
21:59:34.512 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:34.552 -> 0E 4D C8 80 00 1B 02 61 FF FF 9B EA
21:59:34.552 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:34.552 -> 0E 4D 4F 39 2A
21:59:34.552 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:34.592 -> 0E 56 4E 82 00 00 00 00 00 00 00 00 00 18 00 00 27 00 00 FF FF 00 00 FF FF FF FF 01 4A 82 41 96
21:59:34.592 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:34.632 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:34.632 -> 0E 8A 48 8F 03 4B 28 64 67 66 02 EC
21:59:34.672 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:34.672 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:34.712 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:34.712 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:34.712 -> 0E 4D CC 80 00 1B 02 61 FF FF C2 48
21:59:34.712 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:34.747 -> 0E 9C 4C 00 80 D4 E2
21:59:34.747 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:34.797 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:34.832 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:34.872 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:34.872 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:34.872 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:34.912 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:34.912 -> 0E 4D C8 80 00 1B 02 60 FF FF F0 2C
21:59:34.952 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:34.952 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:34.952 -> 0E 52 48 08 00 81 00 20 03 00 00 00 FF 00 00 00 00 00 00 C8 A0
21:59:34.992 -> 0E 5E 4C 20 1E 8A 50
21:59:34.992 -> 0E 5E 4F DD 78
21:59:34.992 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:35.032 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:35.032 -> 0E E2 48 56 46 33 33 43 52 48 52 48 38 33 37 32 31 36 36 34 F4 28
21:59:35.072 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:35.072 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:35.072 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:35.112 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:35.112 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:35.112 -> 0E 4D CC 80 00 1B 02 60 FF FF A9 8E
21:59:35.152 -> 0E 8A 48 8F 03 4B 28 64 67 66 02 EC
21:59:35.152 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:35.192 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:35.232 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:35.232 -> 0E 9C 4C 00 80 D4 E2
21:59:35.272 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:35.272 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:35.272 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:35.312 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:35.312 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:35.312 -> 0E 4D C8 80 00 1B 02 60 FF FF F0 2C
21:59:35.352 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:35.392 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:35.432 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:35.432 -> 0E 56 4E 86 00 00 00 00 00 00 00 00 00 18 00 00 27 00 00 FF FF 00 00 FF FF FF FF 01 4A 86 8B 14
21:59:35.472 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:35.472 -> 0E 52 48 08 00 81 00 20 03 00 00 00 FF 00 00 00 00 00 00 C8 A0
21:59:35.472 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:35.472 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:35.512 -> 0E 5E 4C 20 1E 8A 50
21:59:35.512 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:35.512 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:35.512 -> 0E 4D CC 80 00 1B 02 61 FF FF C2 48
21:59:35.562 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:35.562 -> 0E 4D 4F 39 2A
21:59:35.597 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:35.597 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:35.632 -> 0E 8A 48 8F 03 4B 28 64 67 66 02 EC
21:59:35.672 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:35.672 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:35.712 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:35.712 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:35.712 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:35.712 -> 0E 4D C8 80 00 1B 02 61 FF FF 9B EA
21:59:35.752 -> 0E 9C 4C 00 80 D4 E2
21:59:35.752 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:35.792 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:35.792 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:35.872 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:35.872 -> 0E 56 4E 80 00 00 00 00 00 00 00 00 00 18 00 00 27 00 00 FF FF 00 00 FF FF FF FF 01 4A 80 AB 4A
21:59:35.872 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:35.912 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:35.912 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:35.912 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:35.912 -> 0E 4D CC 80 00 1B 02 61 FF FF C2 48
21:59:35.952 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:35.952 -> 0E 52 48 08 00 81 00 20 03 00 00 00 FF 00 00 00 00 00 00 C8 A0
21:59:35.992 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:35.992 -> 0E 5E 4C 20 1E 8A 50
21:59:36.032 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:36.032 -> 0E E2 48 56 46 33 33 43 52 48 52 48 38 33 37 32 31 36 36 34 F4 28
21:59:36.072 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:36.072 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:36.072 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:36.112 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:36.112 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:36.112 -> 0E 4D C8 80 00 1B 02 60 FF FF F0 2C
21:59:36.152 -> 0E 8A 48 8F 03 4B 28 64 67 66 02 EC
21:59:36.152 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:36.192 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:36.192 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:36.272 -> 0E 9C 4C 00 80 D4 E2
21:59:36.272 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:36.272 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:36.272 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:36.312 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:36.312 -> 0E 56 4E 82 00 00 00 00 00 00 00 00 00 18 00 00 27 00 00 FF FF 00 00 FF FF FF FF 01 4A 82 41 96
21:59:36.312 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:36.347 -> 0E 4D CC 80 00 1B 02 60 FF FF A9 8E
21:59:36.347 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:36.392 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:36.392 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:36.472 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:36.472 -> 0E 52 48 08 00 81 00 20 03 00 00 00 FF 00 00 00 00 00 00 C8 A0
21:59:36.472 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:36.472 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:36.512 -> 0E 5E 4C 20 1E 8A 50
21:59:36.512 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:36.512 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:36.512 -> 0E 4D C8 80 00 1B 02 61 FF FF 9B EA
21:59:36.552 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:36.552 -> 0E 4D 4F 39 2A
21:59:36.592 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:36.592 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:36.632 -> 0E 8A 48 8F 03 4B 28 64 67 66 02 EC
21:59:36.672 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:36.672 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:36.672 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:36.707 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:36.707 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:36.752 -> 0E 4D CC 80 00 1B 02 61 FF FF C2 48
21:59:36.752 -> 0E 56 4E 84 00 00 00 00 00 00 00 00 00 18 00 00 27 00 00 FF FF 00 00 FF FF FF FF 01 4A 84 61 C8
21:59:36.752 -> 0E 9C 4C 00 80 D4 E2
21:59:36.752 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:36.752 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:36.792 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:36.872 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:36.872 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:36.872 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:36.912 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:36.912 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:36.912 -> 0E 4D C8 80 00 1B 02 61 FF FF 9B EA
21:59:36.952 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:36.952 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:36.992 -> 0E 52 48 08 00 81 00 20 03 00 00 00 FF 00 00 00 00 00 00 C8 A0
21:59:36.992 -> 0E 5E 4C 20 1E 8A 50
21:59:36.992 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:37.032 -> 0E 8C 4C 12 20 7A AC
21:59:37.107 -> 0E 56 4E 83 00 00 00 00 00 00 40 00 00 18 00 00 27 00 00 FF FF 00 00 FF FF FF FF 01 4A 83 09 C2
21:59:37.107 -> E (8410) rmt: RMT RX BUFFER FULL
21:59:37.107 -> 0E E2 48 56 46 33 33 43 52 48 52 48 38 33 37 32 31 36 36 34 F4 28
21:59:37.152 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:37.152 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:37.152 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:37.152 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:37.152 -> 0E 4D CC 80 00 1B 02 61 FF FF C2 48
21:59:37.192 -> 0E 8A 48 8F 03 4B 28 64 67 66 02 EC
21:59:37.192 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:37.192 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:37.272 -> 0E 56 4E 85 00 00 00 00 00 00 40 00 00 18 00 00 27 00 00 FF FF 00 00 FF FF FF FF 01 4A 85 29 9C
21:59:37.272 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:37.312 -> 0E 9C 4C 00 80 D4 E2
21:59:37.312 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:37.312 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:37.312 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:37.352 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:37.352 -> 0E 4D C8 80 00 1B 02 61 FF FF 9B EA
21:59:37.352 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:37.352 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:37.392 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:37.392 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:37.432 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:37.472 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:37.472 -> 0E 52 48 08 00 81 00 20 03 00 00 00 FF 00 00 00 00 00 00 C8 A0
21:59:37.472 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:37.507 -> 0E 5E 4C 20 1E 8A 50
21:59:37.507 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:37.507 -> 0E 4D CC 80 00 1B 02 61 FF FF C2 48
21:59:37.542 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:37.542 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:37.542 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:37.577 -> 0E 4D 4F 39 2A
21:59:37.622 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:37.622 -> 0E 5E 4F DD 78
21:59:37.622 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:37.662 -> 0E 8A 48 8F 03 4B 28 64 67 66 02 EC
21:59:37.662 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:37.662 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:37.697 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:37.742 -> 0E 4D C8 80 00 1B 02 61 FF FF 9B EA
21:59:37.742 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:37.742 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:37.742 -> 0E 9C 4C 00 80 D4 E2
21:59:37.777 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:37.822 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:37.822 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:37.862 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:37.862 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:37.897 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:37.942 -> 0E 4D CC 80 00 1B 02 61 FF FF C2 48
21:59:37.942 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:37.942 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:37.942 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:37.980 -> 0E 52 48 08 00 81 00 20 03 00 00 00 FF 00 00 00 00 00 00 C8 A0
21:59:37.980 -> 0E 5E 4C 20 1E 8A 50
21:59:38.022 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:38.022 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:38.022 -> 0E 5E 4F DD 78
21:59:38.062 -> 0E E2 48 56 46 33 33 43 52 48 52 48 38 33 37 32 31 36 36 34 F4 28
21:59:38.062 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:38.062 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:38.097 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:38.142 -> 0E 4D C8 80 00 1B 02 60 FF FF F0 2C
21:59:38.142 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:38.142 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:38.142 -> 0E 8A 48 8F 03 4B 28 64 67 66 02 EC
21:59:38.142 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:38.222 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:38.222 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:38.262 -> 0E 9C 4C 00 80 D4 E2
21:59:38.262 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:38.262 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:38.302 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:38.302 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:38.342 -> 0E 4D CC 80 00 1B 02 60 FF FF A9 8E
21:59:38.342 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:38.342 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:38.422 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:38.422 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:38.457 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:38.457 -> 0E 52 48 08 00 81 00 20 03 00 00 00 FF 00 00 00 00 00 00 C8 A0
21:59:38.497 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:38.572 -> 0E 56 4E 83 00 00 00 00 00 00 40 00 00 18 00 00 27 00 00 FF FF 00 00 FF FF FF FF 01 4A 83 09 C2
21:59:38.572 -> 0E 5E 4C 20 1E 8A 50
21:59:38.572 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:38.572 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:38.612 -> 0E 4D C8 80 00 1B 02 60 FF FF F0 2C
21:59:38.612 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:38.612 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:38.612 -> 0E 4D 4F 39 2A
21:59:38.652 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:38.652 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:38.652 -> 0E 8A 48 8F 03 4B 28 64 67 66 02 EC
21:59:38.652 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:38.692 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:38.692 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:38.732 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:38.732 -> 0E 4D CC 80 00 1B 02 60 FF FF A9 8E
21:59:38.732 -> 0E 9C 4C 00 80 D4 E2
21:59:38.772 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:38.772 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:38.812 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:38.812 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:38.862 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:38.862 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:38.902 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:38.902 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:38.977 -> 0E 56 4E 85 00 00 00 00 00 00 40 00 00 18 00 00 27 00 00 FF FF 00 00 FF FF FF FF 01 4A 85 29 9C
21:59:39.022 -> 0E 4D C8 80 00 1B 02 61 FF FF 9B EA
21:59:39.022 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:39.022 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:39.022 -> 0E 52 48 08 00 81 00 20 03 00 00 00 FF 00 00 00 00 00 00 C8 A0
21:59:39.022 -> 0E 5E 4C 20 1E 8A 50
21:59:39.062 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:39.062 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:39.062 -> 0E E2 48 56 46 33 33 43 52 48 52 48 38 33 37 32 31 36 36 34 F4 28
21:59:39.062 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:39.102 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:39.102 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:39.102 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:39.102 -> 0E 4D CC 80 00 1B 02 61 FF FF C2 48
21:59:39.142 -> 0E 8A 48 8F 03 4B 28 64 67 66 02 EC
21:59:39.142 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:39.177 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:39.222 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:39.222 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:39.222 -> 0E 8C 4C 12 20 7A AC
21:59:39.262 -> 0E 56 4E 85 00 00 00 00 00 00 00 00 00 18 00 00 27 00 00 FF FF 00 00 FF FF FF FF 01 4A 85 14 A6
21:59:39.262 -> 0E 9C 4C 00 80 D4 E2
21:59:39.262 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:39.262 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:39.297 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:39.297 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:39.342 -> 0E 4D C8 80 00 1B 02 60 FF FF F0 2C
21:59:39.342 -> 0E 56 4E 80 00 00 00 00 00 00 00 00 00 18 00 00 27 00 00 FF FF 00 00 FF FF FF FF 01 4A 80 AB 4A
21:59:39.342 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:39.381 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:39.381 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:39.422 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:39.462 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:39.462 -> 0E 52 48 08 00 81 00 20 03 00 00 00 FF 00 00 00 00 00 00 C8 A0
21:59:39.462 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:39.497 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:39.497 -> 0E 5E 4C 20 1E 8A 50
21:59:39.497 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:39.542 -> 0E 4D CC 80 00 1B 02 61 FF FF C2 48
21:59:39.542 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:39.577 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:39.577 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:39.622 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:39.622 -> 0E 4D 4F 39 2A
21:59:39.662 -> 0E 8A 48 8F 03 4B 28 64 67 66 02 EC
21:59:39.662 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:39.697 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:39.697 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:39.697 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:39.742 -> 0E 4D C8 80 00 1B 02 61 FF FF 9B EA
21:59:39.742 -> 0E 9C 4C 00 80 D4 E2
21:59:39.742 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:39.782 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:39.782 -> 0E 56 4E 81 00 00 00 00 00 00 00 00 00 18 00 00 27 00 00 FF FF 00 00 FF FF FF FF 01 4A 82 FF 6A
21:59:39.782 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:39.822 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:39.857 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:39.897 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:39.897 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:39.897 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:39.932 -> 0E 4D CC 80 00 1B 02 61 FF FF C2 48
21:59:39.972 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:39.972 -> 0E 52 48 08 00 81 00 20 03 00 00 00 FF 00 00 00 00 00 00 C8 A0
21:59:39.972 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:39.972 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:40.012 -> 0E 5E 4C 20 1E 8A 50
21:59:40.012 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:40.052 -> 0E E2 48 56 46 33 33 43 52 48 52 48 38 33 37 32 31 36 36 34 F4 28
21:59:40.052 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:40.092 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:40.092 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:40.132 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:40.132 -> 0E 4D C8 80 00 1B 02 61 FF FF 9B EA
21:59:40.132 -> 0E 8A 48 8F 03 4B 28 64 67 66 02 EC
21:59:40.172 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:40.172 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:40.172 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:40.212 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:40.212 -> 0E 56 4E 83 00 00 00 00 00 00 00 00 00 18 00 00 27 00 00 FF FF 00 00 FF FF FF FF 01 4A 83 34 F8
21:59:40.252 -> 0E 9C 4C 00 80 D4 E2
21:59:40.252 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:40.292 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:40.292 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:40.292 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:40.327 -> 0E 4D CC 80 00 1B 02 61 FF FF C2 48
21:59:40.362 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:40.362 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:40.362 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:40.397 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:40.442 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:40.482 -> 0E 52 48 08 00 81 00 20 03 00 00 00 FF 00 00 00 00 00 00 C8 A0
21:59:40.482 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:40.482 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:40.482 -> 0E 5E 4C 20 1E 8A 50
21:59:40.522 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:40.522 -> 0E 4D C8 80 00 1B 02 61 FF FF 9B EA
21:59:40.562 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:40.562 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:40.602 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:40.602 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:40.602 -> 0E 4D 4F 39 2A
21:59:40.642 -> 0E 8A 48 8F 03 4B 28 64 67 66 02 EC
21:59:40.642 -> 0E 56 4E 85 00 00 00 00 00 00 00 00 00 18 00 00 27 00 00 FF FF 00 00 FF FF FF FF 01 4A 85 14 A6
21:59:40.682 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:40.682 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:40.682 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:40.722 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:40.722 -> 0E 4D CC 80 00 1B 02 61 FF FF C2 48
21:59:40.762 -> 0E 9C 4C 00 80 D4 E2
21:59:40.762 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:40.762 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:40.802 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:40.802 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:40.842 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:40.882 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:40.882 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:40.922 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:40.922 -> 0E 4D C8 80 00 1B 02 61 FF FF 9B EA
21:59:40.922 -> 0E 8C 4C 12 20 7A AC
21:59:41.002 -> 0E 56 4E 84 00 00 00 00 00 00 40 00 00 18 00 00 27 00 00 FF FF 00 00 FF FF FF FF 01 4A 84 5C F2
21:59:41.042 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:41.042 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:41.042 -> 0E 52 48 08 00 81 00 20 03 00 00 00 FF 00 00 00 00 00 00 C8 A0
21:59:41.042 -> 0E 5E 4C 20 1E 8A 50
21:59:41.082 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:41.082 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:41.082 -> E (12373) rmt: RMT RX BUFFER FULL
21:59:41.082 -> 0E E2 48 56 46 33 33 43 52 48 52 48 38 33 37 32 31 36 36 34 F4 28
21:59:41.082 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:41.122 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:41.122 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:41.122 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:41.122 -> 0E 4D CC 80 00 1B 02 61 FF FF C2 48
21:59:41.162 -> 0E 8A 48 8F 03 4B 28 64 67 66 02 EC
21:59:41.162 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:41.162 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:41.202 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:41.202 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:41.242 -> 0E 9C 4C 00 80 D4 E2
21:59:41.242 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:41.282 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:41.282 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:41.322 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:41.322 -> 0E 4D C8 80 00 1B 02 60 FF FF F0 2C
21:59:41.362 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:41.362 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:41.402 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:41.402 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:41.442 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:41.442 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:41.477 -> 0E 52 48 08 00 81 00 20 03 00 00 00 FF 00 00 00 00 00 00 C8 A0
21:59:41.477 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:41.477 -> 0E 5E 4C 20 1E 8A 50
21:59:41.522 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:41.522 -> 0E 5E 4F DD 78
21:59:41.522 -> 0E 4D CC 80 00 1B 02 61 FF FF C2 48
21:59:41.562 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:41.562 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:41.602 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:41.602 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:41.642 -> 0E 4D 4F 39 2A
21:59:41.642 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:41.642 -> 0E 8A 48 8F 03 4B 28 64 67 66 02 EC
21:59:41.642 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:41.685 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:41.685 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:41.722 -> 0E 4D C8 80 00 1B 02 60 FF FF F0 2C
21:59:41.762 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:41.762 -> 0E 9C 4C 00 80 D4 E2
21:59:41.762 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:41.802 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:41.842 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:41.842 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:41.842 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:41.877 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:41.912 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:41.912 -> 0E 4D CC 80 00 1B 02 60 FF FF A9 8E
21:59:41.912 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:42.032 -> 0E 56 4E 83 00 00 00 00 00 00 40 00 00 18 00 00 27 00 00 FF FF 00 00 FF FF FF FF 01 4A 83 09 C2
21:59:42.032 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:42.032 -> 0E 52 48 08 00 81 00 20 03 00 00 00 FF 00 00 00 00 00 00 C8 A0
21:59:42.072 -> 0E 5E 4C 20 1E 8A 50
21:59:42.072 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:42.072 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:42.072 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:42.107 -> 0E E2 48 56 46 33 33 43 52 48 52 48 38 33 37 32 31 36 36 34 F4 28
21:59:42.107 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:42.107 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:42.107 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:42.142 -> 0E 4D C8 80 00 1B 02 60 FF FF F0 2C
21:59:42.142 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:42.142 -> 0E 8A 48 8F 03 4B 28 64 67 66 02 EC
21:59:42.182 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:42.222 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:42.222 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:42.222 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:42.262 -> 0E 9C 4C 00 80 D4 E2
21:59:42.262 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:42.262 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:42.302 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:42.302 -> 0E 4D CC 80 00 1B 02 60 FF FF A9 8E
21:59:42.342 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:42.342 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:42.462 -> 0E 56 4E 85 00 00 00 00 00 00 40 00 00 18 00 00 27 00 00 FF FF 00 00 FF FF FF FF 01 4A 85 29 9C
21:59:42.462 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:42.462 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:42.462 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:42.497 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:42.497 -> 0E 52 48 08 00 81 00 20 03 00 00 00 FF 00 00 00 00 00 00 C8 A0
21:59:42.497 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:42.542 -> 0E 5E 4C 20 1E 8A 50
21:59:42.542 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:42.542 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:42.542 -> 0E 4D C8 80 00 1B 02 61 FF FF 9B EA
21:59:42.542 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:42.622 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:42.622 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:42.622 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:42.622 -> 0E 8C 4C 12 20 7A AC
21:59:42.662 -> 0E 56 4E 83 00 00 00 00 00 00 00 00 00 18 00 00 27 00 00 FF FF 00 00 FF FF FF FF 01 4A 83 34 F8
21:59:42.662 -> 0E 4D 4F 39 2A
21:59:42.662 -> 0E 8A 48 8F 03 4B 28 64 67 66 02 EC
21:59:42.662 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:42.702 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:42.702 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:42.702 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:42.742 -> 0E 4D CC 80 00 1B 02 60 FF FF A9 8E
21:59:42.742 -> 0E 9C 4C 00 80 D4 E2
21:59:42.742 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:42.822 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:42.822 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:42.822 -> 0E 56 4E 86 00 00 00 00 00 00 00 00 00 18 00 00 27 00 00 FF FF 00 00 FF FF FF FF 01 4A 86 8B 14
21:59:42.822 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:42.862 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:42.862 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:42.902 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:42.902 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:42.942 -> 0E 4D C8 80 00 1B 02 60 FF FF F0 2C
21:59:42.942 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:42.982 -> 0E 52 48 08 00 81 00 20 03 00 00 00 FF 00 00 00 00 00 00 C8 A0
21:59:42.982 -> 0E 5E 4C 20 1E 8A 50
21:59:43.022 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:43.022 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:43.022 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:43.057 -> 0E E2 48 56 46 33 33 43 52 48 52 48 38 33 37 32 31 36 36 34 F4 28
21:59:43.057 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:43.102 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:43.102 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:43.102 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:43.102 -> 0E 4D CC 80 00 1B 02 61 FF FF C2 48
21:59:43.142 -> 0E 8A 48 8F 03 4B 28 64 67 66 02 EC
21:59:43.142 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:43.182 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:43.222 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:43.222 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:43.262 -> 0E 9C 4C 00 80 D4 E2
21:59:43.262 -> 0E 56 4E 81 00 00 00 00 00 00 00 00 00 18 00 00 27 00 00 FF FF 00 00 FF FF FF FF 01 4A 81 DE 24
21:59:43.262 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:43.302 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:43.302 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:43.302 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:43.302 -> 0E 4D C8 80 00 1B 02 61 FF FF 9B EA
21:59:43.342 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:43.382 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:43.422 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:43.422 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:43.462 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:43.462 -> 0E 52 48 08 00 81 00 20 03 00 00 00 FF 00 00 00 00 00 00 C8 A0
21:59:43.462 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:43.497 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:43.497 -> 0E 5E 4C 20 1E 8A 50
21:59:43.497 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:43.542 -> 0E 4D CC 80 00 1B 02 61 FF FF C2 48
21:59:43.542 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:43.582 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:43.622 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:43.662 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:43.662 -> 0E 4D 4F 39 2A
21:59:43.662 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:43.697 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:43.697 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:43.697 -> 0E 56 4E 83 00 00 00 00 00 00 00 00 00 18 00 00 27 00 00 FF FF 00 00 FF FF FF FF 01 4A 83 34 F8
21:59:43.697 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:43.742 -> 0E 4D C8 80 00 1B 02 61 FF FF 9B EA
21:59:43.742 -> 0E 9C 4C 00 80 D4 E2
21:59:43.742 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:43.782 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:43.822 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:43.862 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:43.862 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:43.862 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:43.902 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:43.902 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:43.902 -> 0E 4D CC 80 00 1B 02 61 FF FF C2 48
21:59:43.942 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:43.977 -> 0E 52 48 08 00 81 00 20 03 00 00 00 FF 00 00 00 00 00 00 C8 A0
21:59:43.977 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:43.977 -> 0E 5E 4C 20 1E 8A 50
21:59:44.022 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:44.062 -> 0E E2 48 56 46 33 33 43 52 48 52 48 38 33 37 32 31 36 36 34 F4 28
21:59:44.062 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:44.062 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:44.062 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:44.102 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:44.102 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:44.102 -> 0E 4D C8 80 00 1B 02 61 FF FF 9B EA
21:59:44.142 -> 0E 56 4E 84 00 00 00 00 00 00 00 00 00 18 00 00 27 00 00 FF FF 00 00 FF FF FF FF 01 4A 84 61 C8
21:59:44.142 -> 0E 8A 48 8F 03 4B 28 64 67 66 02 EC
21:59:44.142 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:44.177 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:44.222 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:44.262 -> 0E 9C 4C 00 80 D4 E2
21:59:44.262 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:44.262 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:44.262 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:44.302 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:44.302 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:44.302 -> 0E 4D CC 80 00 1B 02 61 FF FF C2 48
21:59:44.342 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:44.377 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:44.422 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:44.462 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:44.462 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:44.462 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:44.502 -> 0E 52 48 08 00 81 00 20 03 00 00 00 FF 00 00 00 00 00 00 C8 A0
21:59:44.502 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:44.502 -> 0E 5E 4C 20 1E 8A 50
21:59:44.502 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:44.542 -> 0E 4D C8 80 00 1B 02 61 FF FF 9B EA
21:59:44.542 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:44.577 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:44.577 -> 0E 5E 4F DD 78
21:59:44.612 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:44.647 -> 0E 8A 48 8F 03 4B 28 64 67 66 02 EC
21:59:44.647 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:44.689 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:44.689 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:44.689 -> 0E 4D 4F 39 2A
21:59:44.689 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:44.727 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:44.727 -> 0E 4D CC 80 00 1B 02 60 FF FF A9 8E
21:59:44.772 -> 0E 9C 4C 00 80 D4 E2
21:59:44.772 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:44.772 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:44.807 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:44.842 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:44.842 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:44.877 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:44.877 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:44.922 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:44.922 -> 0E 4D C8 80 00 1B 02 60 FF FF F0 2C
21:59:44.957 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:44.957 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:44.957 -> 0E 52 48 08 00 81 00 20 03 00 00 00 FF 00 00 00 00 00 00 C8 A0
21:59:44.997 -> 0E 5E 4C 20 1E 8A 50
21:59:44.997 -> 0E 5E 4F DD 78
21:59:44.997 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:45.042 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:45.042 -> 0E E2 48 56 46 33 33 43 52 48 52 48 38 33 37 32 31 36 36 34 F4 28
21:59:45.042 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:45.077 -> 0E 66 4C 00 00 0F 04 FF FF 00 FF FF FF 02 00 C1 48
21:59:45.077 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:45.112 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:45.112 -> 0E 4D CC 80 00 1B 02 61 FF FF C2 48
21:59:45.152 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:45.152 -> 0E 8A 48 8F 03 4B 28 64 67 66 02 EC
21:59:45.152 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:45.190 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:45.232 -> 0E 46 4C 00 05 FF FF 00 E1 B8
21:59:45.232 -> 0E 9C 4C 00 80 D4 E2
21:59:45.272 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:45.272 -> 0E 4F CC 80 00 01 16 00 00 FF 1F 64 00 FE 00 00 00 DA 2E
21:59:45.307 -> 0E 82 48 00 00 00 00 00 00 00 54 98
21:59:45.307 -> 0E 4D C8 80 00 1B 02 60 FF FF F0 2C
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
I checked your capture with a type A display, and it seems to be fine. The timings are not the same as when the data comes from the car, but for testing purposes it is fine.



If you haven't modified any file in the package (except config.h) it should be fine. I tested with these settings:

Code: [Select]
#pragma once

#ifndef _Config_h
    #define _Config_h

// if defined messages are sent on bluetooth connection, otherwise standard serial is used
//#define USE_BLUETOOTH_SERIAL

// if defined then the ignition signal is used from the VAN bus otherwise the ignition is considered as always on
#define USE_IGNITION_SIGNAL_FROM_VAN_BUS

// if defined the AC status is queried with a diagnostic message (only works with rev 1.4)
//#define QUERY_AC_STATUS

#define TASK_WATCHDOG_TIMEOUT 7
#define FUEL_TANK_CAPACITY_IN_LITERS 60

// 11: HW revision v1.1
// 14: HW revision v1.4
#define HW_VERSION 14

// 1: original layout
// 2: my layout
#define DISPLAY_MODE 1

//#define USE_VIN_AUTO_MATCHING
#ifdef USE_VIN_AUTO_MATCHING
    uint8_t Vin[17] = { 0 };
#else
    // Fake V2C sends this VIN:
    uint8_t Vin[17] = { 'L', 'D', 'C', '8', '8', '8', '8', '8', '8', '8', '8', '8', '8', '8', '8', '8', '8' };
    // Original V2C sends this VIN:
    //uint8_t Vin[17] = { 'L', 'D', 'C', '9', '4', '3', 'X', '4', '7', 'D', '1', '5', '6', '6', '7', '7', '2' };
#endif

#endif
 

Offline reggaester

  • Contributor
  • Posts: 28
  • Country: pl
the problem was that this display came from 207, yesterday I bought an emf type a display from 307 and the problem was solved :)

what is app do you use on video?? looks interesting

btw when I disconnect the old emf b and I only use the new emf and with the bridge the air conditioning compressor does not want to start, when I connect it back and I use both then it starts. Is that the same in your car? I dealt with it so that I dragged the wires to the glove box and placed it there. In addition, I took out the light bulbs from it so that it does not get hot.
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
The application is a small test app I've written in C# I can send CAN bus messages with it and I can also replay the VAN bus captures. This way I don't have to be in the car to test things, it helps me troubleshooting a lot.

Regarding your A/C: The VAN bus lines for the A/C is routed through the display so if you remove it then it stops working. A workaround is to create a shortcut between pin 4-5 and 17-18 with a small wire. I put there a 90 degree pin header with a small solder-joint (see attachment).

My next project will be the parking radar support. I need to get a working set, but it is really hard to find one. I am looking for it for months now :( Do you have it on your car?

 

Offline reggaester

  • Contributor
  • Posts: 28
  • Country: pl
yeah, a/c now work fine :D

unfortunately I do not have parking radar, but I can ask on a fan group 307 on Facebook, maybe someone has it and will sell it to me at a good price :)

thank you again for your great work. what was not possible in pre lift 307 now works very well: D
now I'm starting to look for rd45 and emf c, it's hard to get them at a low cost but sometimes people don't know what they are selling :) if I don't find it, I will order it on the aliexpress, but it also isn't easy becouse those epidemy :( In Hungary also situation is bad?

what do you think about this project? https://medium.com/@alexandreblin/can-bus-reverse-engineering-with-arduino-and-ios-5627f2b1709a
could something like this be used in our 307?
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
Yeah RD45 is the best, however the RD43 is also fine for listening music from an USB stick. I used one for almost two years. I ordered my RD45 and displays from aliexpress. Sometimes they can be found very cheap.

I know that project I used some information from there in mine. I think it should work with my bridge as most of the CAN messages are the same (however there might be some exceptions as we saw with your display :)). By the way I was planning to build a setup with a larger screen, but it is rather hard to do it with a microcontroller. And I wouldn't like to have something in my car which takes some time to boot. Someone mentioned that a Raspberry Pi with a stripped down linux revision would bootup almost instantly, but I haven't looked at it yet. There are so many projects that could be done, but there is so little time :D

Thanks for your kind words, go spread my project in those forums :D Maybe others find it useful as well.
« Last Edit: March 21, 2020, 10:34:34 am by morcibacsi »
 

Offline reggaester

  • Contributor
  • Posts: 28
  • Country: pl
Is it possible to receive and send can messages via bluetooth?
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
I haven't implemented that in my VAN-CAN bridge project. However it is possible to do it. Why do you ask? What would you like to achieve?
 

Offline reggaester

  • Contributor
  • Posts: 28
  • Country: pl
if it was possible, an android application that would be emulate emf on any display (tablet or phone) without using wires. Is my thinking correct?
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
It can be done, but maybe it would be better to create a custom protocol between the phone and the microcontroller (as Alexandre did in his project), as there are a LOT of can messages floating around. If the CAN messages would be pumped through the bluetooth connection I am afraid the data won't be real-time. So it would be better to only send the data we want to display.
 

Offline reggaester

  • Contributor
  • Posts: 28
  • Country: pl
A few days I am getting knowledge about van and can packages. Recently from here http://pinterpeti.hu/psavanbus/PSA-VAN.html
Can you share me your test app? this can be very helpful
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
I still keep finding new info in the packages :) The test app is not in a shape to be published. Sometimes it hangs sometimes it crashes, but I am working on it. In the meanwhile... parking aid support is coming :) Apparently it is much easier to find a parking radar from a Citroen XSara than from a Peugeot 307...

 

Offline adv

  • Contributor
  • Posts: 10
  • Country: fr
Hello guys,

still a big step forward in VAN protocol digging with this VAN/CAN bridge Peter  :-+ (I saw your git, wowww it's complex for me).

Today new day of containement, and new stupid idea... Have you ever seen recent car (or motocycle) which activate their RPM and speed gauge to the top a short time and go back to zero when you start the engine ?! It looks sporty. This is my new goal for my 406 coupé (which is not a sportcar obviously) to make give her 10 years less than she is  :-DD

I can test both gauges with the Peugeot diagnostic interface (and Peugeot Planet 2000). The idea is to catch the data / analyse them and send them when the arudino boots (like I do to display "406Coupe" on the screen while the original HU is removed).

I saw you develloped a plugin for selae logic analysers. The thing is that these analysers are too expensive for the usage I will have, do you used a cheap clone ? (if so could you share here or in PM the one you choosed ?)
I saw you also develloped the VAN reader with the ESP32+SN65HVD230. I have both parts in stock, if I understand well it would be okay for my goal (analyse data at the moment I activate gauge test), it would dump data into the Arduino serial terminal right ?

Thanks a lot for help and stay safe man !
« Last Edit: April 22, 2020, 07:49:52 am by adv »
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
Hi,

I bought this logic analyser, this is perfectly fine: https://www.aliexpress.com/item/32873970588.html

For reading the VAN bus, you are good to go with the ESP32+SN65HVD230 (or in fact any CAN transceiver is ok, and it is possible to read even with connecting one of the VAN lines directly to the ESP32).

I captured some packets while the diagnostics was connected (on a Peugeot 307), you should check for messages like these:

Code: [Select]
Speedometer test:
13:46:43.472 -> 0E A7 CC 30 80 20 13 88 2A 54
13:46:43.577 -> 0E AF CE 80 70 80 01 80 27 9C
13:46:43.818 -> 0E A7 CC 30 80 01 A9 38
13:46:43.922 -> 0E AF CE 81 70 80 01 81 C5 1E

Tacho test:
13:47:26.160 -> 0E A7 CC 3E 45 68
13:47:26.263 -> 0E AF CE 82 7E 82 8D F4
13:47:27.680 -> 0E A7 CC 30 81 20 5D C0 5E CA
13:47:27.749 -> 0E AF CE 83 70 81 01 83 74 E6
13:47:27.955 -> 0E A7 CC 30 81 01 DB D4
13:47:28.059 -> 0E AF CE 84 70 81 01 84 E7 1C

Fuel gauge test:
13:47:56.956 -> 0E A7 CC 3E 45 68
13:47:57.059 -> 0E AF CE 81 7E 81 10 F0
13:47:59.106 -> 0E A7 CC 30 83 20 19 26 C4
13:47:59.209 -> 0E AF CE 82 70 83 01 82 41 E8
13:47:59.313 -> 0E A7 CC 30 83 01 3E 0C
13:47:59.414 -> 0E AF CE 83 70 83 01 83 A3 6A

Coolant temperature test:
13:48:40.951 -> 0E A7 CC 3E 45 68
13:48:41.056 -> 0E AF CE 86 7E 86 41 3E
13:48:41.814 -> 0E A7 CC 30 84 20 7E 22 22
13:48:41.918 -> 0E AF CE 87 70 84 01 87 04 44
13:48:42.022 -> 0E A7 CC 30 84 01 7D B2
13:48:42.125 -> 0E AF CE 80 70 84 01 80 97 BE


I haven't decoded them just dumped them for further investigation.
« Last Edit: April 22, 2020, 08:04:52 am by morcibacsi »
 

Offline adv

  • Contributor
  • Posts: 10
  • Country: fr
Nice to see you're still alive !

OK I'll buy this one, it's cheap and can be used for another purposes. It was a long time I was looking for that.

For decoding well, I'll try to work on that... but I'm really far to your knowledges...  :-X

Have a good day !
 
The following users thanked this post: morcibacsi

Offline reggaester

  • Contributor
  • Posts: 28
  • Country: pl
hello ;)
I see there is a rep update. Can you describe the changes please?
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
There were some in the last few days, however most of them were code quality related changes. The ones what is worth mentioning are:

  • I added Parking aid support - now if you have an original parking aid installed the display shows the distance of the obstacle with the small bars (need to be tested in real car)
  • I added a serial command to read the VIN number coded to the head unit via CAN message (this could come in handy when someone does not have access to a car with a CAN BSI, you need to send the letter "n" and the VIN will get printed to the serial monitor)
  • A fellow member rewrote the popup message handling - now it is more user friendly (no repeated messages, and some of the messages could get stuck on the display)
  • The trip computer button should be more responsive (you also need to update the TSS463 library for this)

These can be activated from the config.h file.
 

Offline reggaester

  • Contributor
  • Posts: 28
  • Country: pl
hi Peter :)

Can you describe new update?
Also can you tell me how reset the trip computer? When I press the trip button for few seconds, the trip computer will no reset but functions is looping.
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
Hi,

Finally I resolved a very annoying issue regarding trip computer data flickering. You can see what was the problem here: https://github.com/morcibacsi/PSAVanCanBridge/issues/10. And I completely rewrote the part which is responsible for the messages and door statuses shown on the display. Now it supports type A display, and should work much more like the original display did (regarding how and when the messages are displayed) The trip computer (no)reset is a known issue :( I have a small memo for myself here: https://github.com/morcibacsi/PSAVanCanBridge/issues/9 The original display is responsible for resetting the trip computer. And if we remove it it should be handled by my software. I did a little investigation, but the first attempt to fix failed, so it needs some more work. For now as a workaround put back the original display and reset the trip computer while it is installed. I'll try to find a solution to fix that also.
 

Offline Hokum

  • Newbie
  • Posts: 1
  • Country: ua
Hi

Would you tell me, can I connect a car security system via this interface?
Information about open doors, control the door lock, etc.

I have 206, and I had to make mini board to connect to the door lock to control it.
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
Hi,

It should work. There is a guy who created some kind of alarm system for a 206 with my TSS463 library. He worked on the slow VAN body bus which is 62.5 kbit/sec.
 

Offline henrioliver

  • Newbie
  • Posts: 6
  • Country: br
Hi @morcibacsi, how is the project for parking? ask me a question, the ESP32 is only for programming or does it need to be on the board for the display to work? Thank you
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
Hey, unfortunately I did not have the time to install the sensors on my car yet, so the function is not that well tested. I only tested it a little on my test bench and it seemed like it worked. The code is there on github, and if you enable it from the config.h file then it should work. The ESP32 is installed inside the car, behind the dashboard (connected to the ISO connectors).
 

Offline henrioliver

  • Newbie
  • Posts: 6
  • Country: br
now to work only the new onboard computer of the 307, is it necessary the ESP32 is on the board all the time to convert networks? thanks
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
You need to have the esp32 in the car all the time as it acts as a gateway between the VAN bus and the CAN bus.
 

Offline henrioliver

  • Newbie
  • Posts: 6
  • Country: br
I understand, I'm going to start assembling the board, I ordered the printing of the PCB in China at a lower cost, in the end with all the components the cost is a little high, but having the new CB will be worth it :) Very thanks for public your project and congratulations for the excellent work.
 

Offline reggaester

  • Contributor
  • Posts: 28
  • Country: pl
Hi Peter
https://github.com/morcibacsi/JunsunPSARemote
It will work with van can bridge also?
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
If you order a Junsun headunit for CAN bus cars you will get a Raise CAN box. If you connect this box to the CAN part of my VAN-CAN Bridge it works (temperature, and remote controls at the steering wheel, display brightness based on the headlights). However with the help of the library the VAN-CAN Bridge can be left out as custom software can be made to translate the VAN messages for the Junsun unit. For example my PSASteeringWheelAdapter could have an extension for remote control.
 

Offline reggaester

  • Contributor
  • Posts: 28
  • Country: pl
Hi Peter,
I have seen some bridge firmware updates. Can you tell us what other improvements are you planning?
Will the problem with the reset button ever be solved?

 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
Hi,

Yeah, there were some issues reported by users which were quite annoying to prevent the usage of the device for them. Recent fixes included a function to read the VIN code from the radio. So now it isn't necessary to know the VIN code of it, and one doesn't need to have access to a car with CAN bus, and diagnostics interface. Another hotfix needed to be released because in some cars the door status was flickering (again :(). And also with some odometer brightness setup the display was blinking. These issues needed special attention.
Currently I work on some code refactorings, to support a new type of board, which could be more compact and professional-looking. The reset button fix is definitely on my todo list as that might be the last one to have a full conversion (that might be the next one to fix after the code refactor). Also trying to make the TSS461 VAN protocol driver working instead of the TSS463. This should be done because the TSS463 will eventually run out of stock and the TSS461 can be scavenged from old displays, and odometers. There are two other things that I would also like to implement. One of them is to support the RD3 radio with the new display. And the other one is to support the newer navigations (RT3/RT6/RNEG, etc). However this has low priority as I couldn't figure out the messages for the compass on them until now (It is calculated somehow from the wheels rotation speeds and its differences). It seems like a tough job.

Edit: BTW the source code is there... contributions are welcome. Feel free to implement the features you miss the most.
« Last Edit: January 15, 2021, 08:18:42 am by morcibacsi »
 

Offline agmar

  • Newbie
  • Posts: 1
  • Country: ma
Hi all
morcibacsi can i ask you  is there a way to use a bluetooth - gadget receiving music from phone meant to be installed on RD4 (aux connector )  -  on an RD3 ( cd changer connector) 
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
Unfortunately it isn't. There are such devices for RD3 as well. I am sure you can find them on aliexpress, or ebay or some other similar sites.
 

Offline reggaester

  • Contributor
  • Posts: 28
  • Country: pl
Hi Peter,
After the last update, the car goes into economy mode when it is closed, the radio and display of course are off. Do you know this problem.

The reset button now works, but when pressed and held before the milage resets, the computer reads into a loop. Do you think it can be made to look like the original?
« Last Edit: February 11, 2021, 05:17:49 pm by reggaester »
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
After the last update, the car goes into economy mode when it is closed, the radio and display of course are off. Do you know this problem.

Fixed it yesterday.

The reset button now works, but when pressed and held before the waveform resets, the computer reads into a loop. Do you think it can be made to look like the original?

I am well aware of that issue, but one step at a time (you just got the reset functionality working). After the reset is done, you can go back to your favourite page, so it isn't a deal breaker. Eventually it might get fixed, but as I said before the code is there for everyone to make it better. I like working on the project, but you have to understand that I work on it in my free time. Demanding new features and fixes won't exactly help in getting updates faster.
« Last Edit: February 11, 2021, 05:32:57 pm by morcibacsi »
 

Offline reggaester

  • Contributor
  • Posts: 28
  • Country: pl
Sorry I didn't notice this update  |O
I am well aware of that issue, but one step at a time (you just got the reset functionality working). Eventually it might get fixed, but as I said before the code is there for everyone to make it better. I like working on the project, but you have to understand that I work on it in my free time. Demanding new features and fixes won't exactly help in getting updates faster.
I understand it 100% and big thanks for this project.

 
The following users thanked this post: morcibacsi

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
I released a new version which should fix the issues with the trip reset functionality. Updating the TSS463 library to v2.0.0 is also necessary.
 

Offline reggaester

  • Contributor
  • Posts: 28
  • Country: pl
Hi Peter.
12 pin emfs are quite expensive and 6 pins ones often cost half as much, so do you think this display will work?
of course, if I convert the plug to the one in the picture and attach the pins
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
Hi,

Unfortunately it uses a newer protocol, so it won't work. When I find the time I'll try to add support for it.
 

Offline RJSV

  • Super Contributor
  • ***
  • Posts: 2121
  • Country: us
(I wrote OBDII coding for SNAP-ON TOOLS, BALCO 1992-1995).
 I must say, finding the shear BULK DETAIL of this thread was hard to follow. I suspect some manufacturers like the obscurity, as a defacto 'copy protection' to protect the product line.
   And this VAN and CAN, ...Who or what are they ?
Only kidding there, but assuming that's a standard??? Along with 'MUX', another mystery sounding term.
'MUX' to me as a software engineer, simply means shared system, especially meaning 'shared system data BUS'. But I wouldn't go straight to a hardware schematic, to figure out that protocol.
   I believe this sh1#t goes straight to the heart of the 'right to repair' dynamic seen recently.
So, if a person thinks about it, is it a good business model, excluding perfectly competent techs from repair access (i.e. OBD data stream etc)?
I just think it would be fair, taking customer CASH money, to supply non-propriety interface, to car computer. It's running the dang dashboard CLOCK, among other things: that is ridiculous that an owner is locked out, from access to software features.

   That said, I did see some very minor things done, such as reversal of bit 7, that sort of oddball mode of use, really only purpose being to lock customer out of access, for repair, curiosity, or whatever (legal) pursuit an auto hobbiest wants to try, on his own car.
Thank you.
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
We have to divide the work done in this thread to two parts.

The first part was trying to come up with a software solution to a problem which is really a job of a hardware (i.e.: try to parse the signals travelling on the wire to something which is humanly readable). For this there is a hardware solution (the TSS463 VAN controller IC), but it isn't as widespread as the CAN controllers (like the MCP2515). This is because the VAN bus had its limitation so the world moved on and replaced it with another solution which is the CAN. Also the VAN bus was mainly used in cars produced 15-20 years ago only in models made by Peugeot and Citroen. This means that there is a lack of interest in the VAN bus as the userbase is quite small.... but back to the hardware: Imagine that the CAN wasn't a wide-used protocol, so there wouldn't be CAN controllers available to decode the signals. The same steps would be necessary to somehow rebuild the data floating around on the wires from software.

When there was a method to retrieve the data in a human readable format there was the second task to figure out what the data encoded in these messages are doing.

Would it be obscure? Well it is if I think about it in a way that there is no open database for the users, where everything is well-documented. Could an average user do anything with that information? I really doubt it. I mean when something is wrong in a car, these messages are either not present, or damaged as this is on the lowest level in a car (it is beyond OBD). Figuring out any errors from damaged or missing packets is almost impossible (the DATA lines aren't even exposed to the outside world, you need to disassemble the dashboard to get to them). Even registered repair shops, or people who are specialized in Peugeot and Citroens are lack of the information how the data goes around the wires. It is beyond a point what is necessary to know for people outside the software engineering world. But apart from this... I agree it would be nice if these information was available, it would make my hobby much easier :)

Oh MUX comes from MUltipleXed network. The earliest Peugeot 206 models didn't have the VAN bus, which resulted in much more cables around the car.
 

Offline henrioliver

  • Newbie
  • Posts: 6
  • Country: br
hello morcibacsi, how are you? Could you let me know if the reset functionality is working without depending on the original display? Thanks
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
Hi, I am fine thanks. Yes, it works.
 

Offline bagou91

  • Contributor
  • Posts: 11
  • Country: fr
Hi morcibacsi,

I created a board with arduino and TSS463, and i connected an EMF-B.
I use your sketch tss463_van_monitor.ino
EMF-B display correctly date, hour, and temperature.

if i understand correctly, functions TripButtonPressed() and AnswerToTripData() simulate press button on right commodo and allow to send the information on the display.

I try to display the line fuel consumption and trip distance (odb info), but nothing appear on emf-b.
I use random values on bytes:
14-15::int:   : range (km)
16-17::int: X/10   : consumption (mean) l/100 km
22-23::int:   : consumption (immediate) l/100 km
24-25::int:   : mileage (km)


can you help me ?

thank
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
Hi,

Indeed it is a trip button replacement with the simultaneous press of two buttons on the radio stalk for those who don't have the trip button on their COM2000. It was a while ago I was experimenting with that, but it was working. Unfortunately I don't have the setup right now to test for you. But one question I have which might get you started: are you sure that the trip computer functionality is enabled in the display you are testing? It needs to be enabled with PP2000.
 

Offline bagou91

  • Contributor
  • Posts: 11
  • Country: fr
Hi,

Yes i enabled odb in emf-b with pp2000.

Update:
I reused your sketch without modification, and it's ok: odb display correctly :)
But, when add frame ID E24 with VIN wich repeat every 1s, odb no longer wants to display.
in loop, I add this:
//VIN[] = "VF 17 chars"
VANInterface->set_channel_for_transmit_message(4, 0xE24, VIN, 17, 0);

maybe there is conflict between this frame or channel... ??

I can't quite understand how channels work ....


Update2:
Finally, I changed priority (or order) of frame with channel parameter.
I did like this:
channel 4 = frame E24 for sending VIN
channel 4 = frame 8A4 for brightness display and temperature
channel 5 = frame 8C4 (function tripbuttonpressed)
channel 6 = frame 564 (function answertotripdata)

before push trip button (simulate), it is also necessary to wait about 1 minute after starting sketch for the odb reacts.
maybe there are traffic jams in the first frames ...

but the essential: everything works as I want :)
« Last Edit: October 24, 2021, 12:15:20 pm by bagou91 »
 

Offline BL4

  • Newbie
  • Posts: 6
  • Country: pt
Hi morcibacsi,

I own a Peugeot 307 from 2003 and bought an android radio on aliexpress where the seller divided the types of compatible radios by A, B and C taking into account the years and whether or not they had controls on the steering wheel. According to the seller my car would be type C. The radio came with a CAN box "Hiworld-PSA PA11.20" however the steering wheel controls do not work. When researching about this I found this forum and your work on converting VAN signals to CAN, so I would like to know if it is yours
Can PSASteeringWheelAdapter and/or PSAVanCanBridgeHW projects be used to get the commands working on my radio?
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
With some work it should be possible. I also have a repository for controlling Junsun headunits directly. You can check that out here: https://github.com/morcibacsi/JunsunPSARemote But if you are not familiar with Arduino I would recommend buying a ready to use adapter from aliexpress. I think this should work https://www.aliexpress.com/item/1005001779396537.html
 

Offline BL4

  • Newbie
  • Posts: 6
  • Country: pt
Thank you for the link.

Really a ready-made solution would be the best option for me, however today the radio seller told me that what I need to do for the controls to work is to connect the main line of the steering wheel controls to the Key1 line of the radio.

I was a little confused by this explanation because from what I understand there isn't a main line that comes from the steering wheel controls right?

I also found this adapter (https://www.ebay.es/itm/401566426307?hash=item5d7f3964c3:g:u6UAAOSwjZ5bRyiC) which seems to work with any radio and has connections to Key1 (the connection the seller told me about).
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
There is no "main line" for the steering wheel controls. It is connected to the network of the car, so there is nothing to hook up to the Key1. The Android devices I saw were connected to the car on the "CAN RX" and "CAN TX" port (those aree actually TTL serial ports) and the "CAN box adapter" was responsible for translating the signal of the cars (CAN or VAN bus) to TTL signals. The adapter you found might work, but I can't tell you that for sure. What type of Android unit did you buy?
 

Offline BL4

  • Newbie
  • Posts: 6
  • Country: pt
I bought this one: https://pt.aliexpress.com/item/1005001459118272.html?spm=a2g0s.9042311.0.0.2a50b90a0AjLeT (model 3C variant C as my car is a Peugeot 307 from 2003 with steering wheel controls.

Actually, I already tried all possible lines with key1 and key2 of the radio and as expected it doesn't detect the commands.

Attached are some images of the can-bus box that came with the radio.




 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
Silly question, but did you set the CAN bus type in the settings? There is a Hiworld type there. (See attachment)

https://youtu.be/MtLH9LZdBNc?t=17

 

Offline BL4

  • Newbie
  • Posts: 6
  • Country: pt
Yes, in fact I've even tested all the options with the 307 model. None of the options is able to detect steering wheel controls.

I start to think that the seller sent me the wrong Can Box, because along with it came an antenna adapter (picture attached) which is for Peugeot 307 CAN since my radio antenna connector is different.
 

Offline morcibacsi

  • Regular Contributor
  • *
  • Posts: 72
  • Country: hu
Well, unfortunately that is also a possibility. I got a box for a Toyota with my unit, so unfortunately everything is possible :( by the way that antenna adapter is used in facelift 307

As a a last resort you could try Peugeot 206s from the list, but I wouldn't be surprised if that wouldn't work as well...
 

Offline BL4

  • Newbie
  • Posts: 6
  • Country: pt
The vehicle list in the radio software has few peugeot models and they are mostly recent models, peugeot 206 is not an option.

I'm going to buy the specific universal adapter for 307 VAN that I indicated above and when it arrives I'll put the result here.
 

Offline henrioliver

  • Newbie
  • Posts: 6
  • Country: br
My friend @morcibacsi, I was seeing your project for the audio remote control, can I use the same board as the on-board computer project or would I have to make a separate board? Thanks
 

Offline henrioliver

  • Newbie
  • Posts: 6
  • Country: br
My friend @morcibacsi, I was seeing your project for the audio remote control, can I use the same board as the on-board computer project or would I have to make a separate board? Thanks

Hi morcibacsi how are you? I finally finished the assembly of the board, new computer started working on my 206, but I don't use the original radio, only the com2000 lever button that controlled the old CB, is there how to compile the two projects PSAVanCanBridge + PSAWifiDisplayC on the same ESP32 board? any other way to access the menu without the radio? Thanks
 

Offline BL4

  • Newbie
  • Posts: 6
  • Country: pt
Today I received a new CAN box from the Chinese seller and when I connected it to the radio I got a strange behavior.

What happens is that when I connect the radio the CANBUS is able to read the controls on the steering wheel and show information about the door open, however, if I start the car engine the CANBUS can no longer recognize the steering wheel controls or door opening information. For it to recognize the information again it is necessary to disconnect the radio from the car and wait several minutes before reconnecting again (if I don't start the engine).

Is there any difference in VAN communications (between having or not having the engine running) that could justify this behavior?




« Last Edit: December 02, 2021, 06:23:53 pm by BL4 »
 

Offline daisizhou

  • Frequent Contributor
  • **
  • Posts: 561
  • Country: cn
You can check the link below.An interesting little production.
https://www.instructables.com/Low-Cost-OBD2-Communications-on-K-line-ISO-9141-2-/
daisizhou#sina.com #=@
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf