Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Peugeot e-208 interest? (Similar: Opel Corsa-e) #719

Open
hutje opened this issue Jul 7, 2022 · 5 comments
Open

Peugeot e-208 interest? (Similar: Opel Corsa-e) #719

hutje opened this issue Jul 7, 2022 · 5 comments

Comments

@hutje
Copy link

hutje commented Jul 7, 2022

Are there already devs working on the Peugeot e-208 or Opel Corsa-e?
I am willing to take a look into developing for this model. Mainly because the app service of Stellantis is crap. Not being able to even connect the car to your account for example.

I have experience with programming ESP32 but not with CAN-bus and OVMS yet. Willing to take a look, but if there are other devs already researching, I could help.

@dexterbg
Copy link
Member

dexterbg commented Jul 7, 2022

Welcome to the team :)

No developers working on these models (to my knowledge).
Check out the OVMS developer guide & use the Ioniq vFL module as a template to begin.
Check out the developer mailing list archive for some general CAN/OBD intro.

See my intro post:
#255 (comment)

Regards,
Michael

@hutje
Copy link
Author

hutje commented Jul 15, 2022

Thanks!
Will check it out. Package is released by customs so expect to receive it soon.
Just found a website with the current PIDs for Peugeot e208. (https://www.goingelectric.de/forum/viewtopic.php?f=325&t=64034&start=70)

I have no experience with writing a new car-profile for OVMS, hopefully someone with more experience could take a look at it.

(See EVNotify/EVNotify#205 (comment))

#######
####### Setup commands
#######
ATWS ---> Warm reset set back to defaults
ATI ---> Show interface ID
ATE0 ---> Turn off terminal echo
AT@1 --->
ATSP6 ---> Set to protocol 6: ISO 15765-4 CAN (11 bit ID 500 kbaud)
ATAT1 --->
ATL0 ---> Disable line feed
ATS0 ---> Disable sending spaces between hex characters
ATH1 ---> Turn on odb2 header
ATCAF1 ---> Turn on CAN auto formatting
ATSH79B ---> Set request message header 79B
ATFCSH79B ---> Set flow control header (CAN ID)
ATFCSD300000 ---> Set flow control data
ATFCSM1 ---> Set flow control mode; 1 = User defined CAN ID and data

#######
####### Data commands
#######
ATSH6A2 ---> Set the header of transmitted OBD messages to header 6A2
ATFCSH6A2 ---> Set flow control header (CAN ID)
ATCRA682 ---> Set the CAN hardware filter to 682
22D4341 ---> Ambient temperature
22D8EF1 ---> Battery temperature
22D4021 ---> Speed
ATSH6B4 ---> Set the header of transmitted OBD messages to header 6B4
ATFCSH6B4 ---> Set flow control header (CAN ID)
ATCRA694 ---> Set the CAN hardware filter to 694
22D8161 ---> Battery current
22D8151 ---> Battery voltage
22D86F1 ---> Battery minimum voltage
22D8701 ---> Battery maximum voltage
22D4101 ---> SOC calibrated
22D8651 ---> kWh available
22D8601 ---> SOH
22D8101 ---> SOC

And the already decoded values:
SoC calibrated (22D4101) = value / 512
bat min voltage (22D86F1 ) = value in mV
bat max voltage (22D8701) = value in mV

@hutje
Copy link
Author

hutje commented Jul 26, 2022

Car Scanner is compatible with PSA EVs and have listed the same PIDs from above.

**Car Scanner - Configuration for PSA** **Car Scanner - PID for PSA**

There is no need to decrypting RAW data because this is already done by others.
I think it would be fairly easy for an experienced OVMS-programmer to "convert" this into code for OVMS3.
I really hope some experienced OVMS-programmer is willing to make this possible.

@deitrix
Copy link

deitrix commented Oct 15, 2023

I'm interested in an integration for my Corsa-e. My understanding is that PSA are using a non-standard protocol for the OBD2 port, which ABRP and Car Scanner have manually integrated. What's holding back an OVMS integration, now that we know the PIDs? I'd be happy to assist in any way I can.

@dexterbg
Copy link
Member

The above info is not a complete PID documentation. It specifically lacks info about the response payload structure & conversion (offsets, factors, bit lengths, signed/unsigned), and it doesn't give any info on what to expect if the car is off / how to detect the car being switched on.

As you own a Corsa-e, you can try to fill these gaps using the OVMS obd request command.

For example, ELM327…

ATSH6A2 ---> Set the header of transmitted OBD messages to header 6A2
ATFCSH6A2 ---> Set flow control header (CAN ID)
ATCRA682 ---> Set the CAN hardware filter to 682
22D4341 ---> Ambient temperature

…should translate to OVMS…

obd can1 req dev 6a2 682 22d434

The command will show you the response payload as a hex dump. You then need to analyse the data to see how the raw data needs to be translated to get the ambient temperature.

Once you've gathered all info on the PID responses, test which PID request can be used to detect the car being switched on, i.e. which can be sent without causing the car to be kept awake.

Based on all of this, you then either implement a car adapter yourself based on the examples available, or donate some funding to an OVMS developer to get an initial implementation.

Regards,
Michael

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants