Code Monkey home page Code Monkey logo

psa-re's Introduction

Reverse engineering of PSA architectures

Update - Outro

This project is unlikely to have any update anytime soon. As usual with open intiatives, people are ready to ask/require things and not contribute anything. Worse, some can act like the worst choosing beggars who thinks they're entitled to someone's free work while they only troll in return.

I don't have time to continue adding data, there's several frames described in the Discord server that waited months for someone to help transcribing them. Nobody did. I do have enough data to document pretty much 100% of AEE2004 and AEE2010, but no motivation to do so anymore.

I'm defintively stopping responding to data requests as well, unless it's from someone who do contribute to FOSS car projects.

Intro

This project is an effort to reverse engineer and document most of the architectures used in PSA (Peugeot/Citroen/DS) cars. The goal is to enable anybody to explore their own cars and create cool DIY ECUs and tools.

Help needed!

There's a lot of work still left to document as much of the can buses as possible, if you are willing to help on these subjects, please drop by on our discord server!

Help is mode needed on these subjects:

  • Create a web-app to browse and view all the data in a more easy to read way
  • Create generators that parse the yaml to generate industry standard formats (DBC, ODX, etc)
  • Create the VAN yaml format and document VAN frames
  • Document more of the CAN frames for both AEE2004 and AEE2010
  • Document the diagnostics (KWP/UDS) part
  • And more!

Cars covered by this project

All cars using the AEE2001 (VAN architecture), AEE2004 (first "FullCAN" architecture) and AEE2010 (cars made between 2010 and around 2020), in theory all cars from the 1993 citroen XM (first car to use VAN) to the early 2020s Peugeot, Citroen and DS cars should be covered. The new announced architecture, starting 2022/2023 isn't known yet.

Ressources

  • This repository contains yaml files using the DBMUXE format as well as proof of concept code
  • The issues contains the current work in progress on specific can/van/diag frames
  • The wiki contains most of the information that isn't description of specific frames

Warning

This project is (of course!) non-official, an thus, informations here may be incorrect (even if we try to avoid this)
Any modification you may do to your car, even based on the documentation from here, is your sole responsibility!
Similarely, we didn't got any reaction from PSA (nor know their position about FOSS projects), we cannot say if they may or not DMCA takedown your project
This project uses a mix of english and french, be prepared to use a translation tool if you don't speak both languages (and the jargon in both!)
The reason for this is that we tend to work in english, but PSA works using french internally, so we adapt to their jargon

Thanks

  • Wouter Bokslag for his awesome work on the reverse engineering of the immobilizer
  • Alexandre Blin for his tools, work on his 207 and for being a huge inspiration for this
  • Peter Pinter for his huge work on his own FullCAN to VAN bridge
  • Lanchon for his reverse engineering of AEE2004's 0x60F
  • All the people who leaked parts of PSA's designs all over the internet :)

psa-re's People

Contributors

lhsmicius avatar morcibacsi avatar prototux avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

psa-re's Issues

independent wheel speed

hi,

i have an Argentine 408 (AEE2004.full) without TPMS and i would like to add a computer to it that acts as an indirect TPMS.

inputs

  • individual wheel speeds (from ABS and stabilization sensors - required)
  • break pedal (optional)
  • steering wheel position, heading, gyroscope rate (optional)
  • GPS info (optional)

relative tire inflation can be inferred from the relative speeds of the wheels alone. underinflation of only some wheels can always be detected this way. break info can optionally be used to help halt calculations when breaking to allow for skidding (but wheel locking/skidding can be inferred by sudden high rotational acceleration alone). steering wheel/heading/gyro rate can optionally be included in the calculations to compensate for the expected difference in wheel speeds when turning (but turning can be inferred from wheel speed alone too). GPS info can optionally be included to detect simultaneous underinflation of all wheels.

outputs

  • audible alert: a speaker can be trivially added
  • dashboard alert: AEE2004.full/LS.CONF/168 can be used to force display of underinflation/puncture alerts (but without particular wheel indication).
  • entertainment unit display: can display individual tire pressures, when configured appropriately.

questions

  1. the main question is: do you know how to obtain separate wheel speeds from the buses? it seems it can be done according to this, but i don't know the format of the downloadable binary config (.REF) files. i suppose wheel speeds are reported on the
    HS.IS bus, but using which message(s)?
  2. it is enough to trigger the TPMS dashboard alarm, but it would be nice to also be able to report inferred tire pressures for each wheel via the entertainment unit display. any idea of the involved messages?

thank you very much for your help.

0x60F (TPMS)

hi,

given the data in this table, it looks like the format of 0x60F as a bit string is as follows:

00 PFL(Pressure Front Left) PFR PRL PRR 111111 00 DFL(Deflation Front Left) DFR DRL DRR 111111

Pxx and Dxx are 6-bit integer values expressed in decibar. note that 35 PSI โ‰ƒ 24.13165 dbar.

Pxx is the current pressure (possibly corrected for wheel temperature), and Dxx is the current difference from some maximum value observed earlier.

thanks.

Create dbmuxe format for diagnostics

This one is probably the most complex format that is still needed in DBMUXE, the KWP2K/UDS diagnostics data.

This covers:

  • Read/write data by ID
  • DTCs
  • I/O by ID
  • Other things?

Web app to browse the data

To browse and view the data, it would be very useful to have a web-app available that parses the yml files.

Unfortunately, i don't have any (front) web dev experience, so this is a todo (until i learn vuejs or somebody help on it) issue.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.