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

Support for FIAT e-Doblo (same as Peugeot Rifter, Opel Combo, Citroen Berlingo?) #976

Open
ramack opened this issue Feb 25, 2024 · 5 comments

Comments

@ramack
Copy link

ramack commented Feb 25, 2024

I would like my Fiat e-Doblo being supported by OVMS. Technically it is a FIAT-branded Peugeot e-Rifter as the Opel Combo-e and Citroen e-Berlingo are also, so I guess all of them would be usable with the same communication.

My plan is to help out here and dig into the details of the CAN frames to get this working.

@ramack
Copy link
Author

ramack commented Apr 2, 2024

I wonder how the vehicle support should be named 🤔.

I own a Fiat e-Doblo and will use it for testing. I am 99.99% sure it will work perfectly for the sister branded cars Opel Combo-e, Peugeot Rifter, Citroën Berlingo and the Toyota ProAce City, which are claimed to be identical in construction. All are using the PSA/Stellantis EMP2 platform and I could imagine that all those electric vehicles will also work, but this is neither sure nor can I test it.

So what do you think? Is it better to go for something generic like

  1. generic
    short type code: E2
    long vehicle name: Stellantis EMP2 (components/vehicle_stellantis_emp2)
    unique log tag: v-semp2
    unique namespace prefix: semp2
    with the drawback of potential incompatibilities with other cars in this platform and more hard to identify the name for an end user who owns something like an "Fiat e-Doblo"?

  2. specific
    short type code: FD
    long vehicle name: Fiat e-Doblo (components/vehicle_fiat_e-doblo)
    unique log tag: v-fedob
    unique namespace prefix: fdob
    with the high likelihood that many other cars will work with it?

or any mixed form of them? - I'm not enthusiastic about both options, so any proposal, idea or comment is warmly welcome.

@dexterbg
Copy link
Member

dexterbg commented Apr 2, 2024

It's up to you as the developer, but if you can only test & guarantee it will work for the Fiat, then I'd use that code scheme. You can always add further vehicles to the long name & documentation later on. If you already know it will work on a number of brands, I'd choose the one that will be most common for users.

Btw, if you need code variations based on the vehicle brand, that can be done later on by adding alias codes or code extensions, or by some vehicle variant user config. Code switches sometimes are necessary even on the same platform, if VINs are encoded differently for example.

But please note that both E2 and FD are not acceptable now for new vehicles. Use a code that has at least two characters for the brand and two for the vehicle. And as we already have FT5E for the Fiat 500e, e.g. FTED or FTDO could be the Fiat e-Doblo.

You can be more explicit on the log tag, for example the Fiat 500e uses v-fiat500e.

Finally, the namespace prefix needs to begin with x, so could e.g. be xfd.

@ramack
Copy link
Author

ramack commented Apr 2, 2024

thanks, so best seems to be
short type code: FTDO
long vehicle name: Fiat e-Doblo (components/vehicle_fiat_e-doblo)
unique log tag: v-fiatedoblo
unique namespace prefix: xfd

@rmivdc
Copy link

rmivdc commented Jul 28, 2024

From some other's German Forum we can get those commands from a standard ELM327 :
"

#######
####### 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"

Another info from French Forum :

On the OBD socket (located on the driver's side, remove the cover under the steering wheel on the left), only the pins 1,3,4,5,6,8,14,16 are wired.

The standard/regulatory CAN bus is on pins 6 and 14 (6: high, 14: low)
The Diagnostic CAN Peugeot bus is on pins 3 and 8 (3: high, 8: low)

Details:
pin 1 + 12v after power
pin 3 can high Peugeot
pin 4 body ground
pin 5 electro ground
pin 6 can high standard
pîn 8 can low Peugeot
pin 14 can low standard
pin 16 + 12v OBD

OVMS side:
Can1 = regulatory/standard can
Can2 = pins 3 and 8 of the OBD socket must be re-mapped on connectors 13 and 12 respectively for OVMS

it seems that some advanced commands (other than getting informations...?) requires some specific OBD wiring.

The fiat500-e seems to have a completely different powertrain/electronics system, only designed for this car (?)

While the e-doblo/e-scudo / peugeot / opel & citroen & toyoto & All variants, All uses that same e-208 (before 2023) powertrain system/platform (Vitesco(2016-2022) based, not Nidec(2023-...))

@ramack
Copy link
Author

ramack commented Jul 28, 2024

That looks interesting. I already read the SOC from a CAN frame. Beside that I am currently busy with some other things, but surly will come back to the topic. @rmivdc do you also have such a car?

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