[TUTO] Adaptateur pour SMEG/NAC/Matrice CAN2010 sur BSI CAN2004

Discussion dans 'Divers' démarrée par VLud, 29 Mars 2018.

  1. horuscurcino

    horuscurcino Peugeot Addict

    Inscrit depuis le :
    20 Août 2018
    Messages :
    45
    "J'aime" reçus :
    14
    I would like to suggest a feature on the main code to set the MCP2515 crystal oscillator frequency. Something like:

    Code:
    const byte CAN_FREQ = MCP_16MHZ //or 8mhz for for cheap modules
    and
    Code:
    CAN0.reset();
      CAN0.setBitrate(CAN_SPEED, CAN_FREQ);
    
    CAN1.reset();
      CAN1.setBitrate(CAN_SPEED, CAN_FREQ);
    Im using 8mhz modules and this is what i did to get working.
     
    VLud aime votre message.
  2. VLud

    VLud Lion de Bronze

    Inscrit depuis le :
    19 Janvier 2018
    Messages :
    1 751
    "J'aime" reçus :
    880
    If you have a RT6, noFMUX will not be doing anything useful, it is only useful for SMEG and NAC (with the good calibration).

    Your language is probably not switched because the language is restored from EEPROM just after, I pushed an update, set resetEEPROM to true and upload the code one time, then set it back to false and upload the code again (avoid writing on the EEPROM at each startup because it is limited in writing) - You can also switch the language from the CAN2004 Matrix or CAN2010 SMEG / NAC -

    @horuscurcino done ;)
     
    #92 VLud, 6 Décembre 2019
    Dernière édition: 6 Décembre 2019
  3. VLud

    VLud Lion de Bronze

    Inscrit depuis le :
    19 Janvier 2018
    Messages :
    1 751
    "J'aime" reçus :
    880
    Yes. Read the tutorial, one of the two CAN-BUS card must be modified.
     
    eptcb aime votre message.
  4. HMAudio

    HMAudio Membre

    Inscrit depuis le :
    4 Décembre 2019
    Messages :
    5
    "J'aime" reçus :
    3
    hehehe thanks! I thought I could access the MATT menu...


    Done! Working...

    But I'd like to say thanks for sharing all your hard work and investigation. I'm pretty sure that so many people will take advantage for such information and will be able to do something similar and even beyond what has been discussed here in this thread.
    I'd like to be really sincere and say thanks. If you don't mind, let me know if you have PayPal and let know your email to donate some beer to say thanks for sharing all the details and all the hard work. If you have Instagram and don't care, I'd like also to have some friends sharing your reference so you can see some other projects that will come out . All that coding and also CAN protocol translation is not so easy. It is something like your project that enable all the PSA lovers to go beyond and do some extra modifications. A great hello and great thanks for the great work ! Merci!
     
    VLud et eptcb aiment cela.
  5. HMAudio

    HMAudio Membre

    Inscrit depuis le :
    4 Décembre 2019
    Messages :
    5
    "J'aime" reçus :
    3
    Will the TPMS alert work? soon i will install ...
     
  6. eptcb

    eptcb Membre

    Inscrit depuis le :
    24 Novembre 2019
    Messages :
    14
    "J'aime" reçus :
    2
    Can you post pictures of that adapter. How you connect it.cause it didnt work, i think its something with the program that upload to the device, i read there are some canbus shiled that use d10 instead d9
     
  7. felixbsb

    felixbsb Membre

    Inscrit depuis le :
    28 Décembre 2019
    Messages :
    6
    "J'aime" reçus :
    3
    Hi. Could you help me? When compiling the .ino file in the arduino IDE interface, the following errors are presented:

    Code:
    D:\BIBLIOTECAS\Documentos\Arduino\can-adapter\can-adapter.ino: In function 'void setup()':
    
    D:\BIBLIOTECAS\Documentos\Arduino\can-adapter\can-adapter.ino:156:38: warning: invalid conversion from 'byte {aka unsigned char}' to 'CAN_SPEED' [-fpermissive]
    
       CAN0.setBitrate(CAN_SPEED, CAN_FREQ);
    
                                          ^
    
    In file included from D:\BIBLIOTECAS\Documentos\Arduino\can-adapter\can-adapter.ino:10:0:
    
    D:\BIBLIOTECAS\Documentos\Arduino\libraries\arduino-mcp2515/mcp2515.h:468:15: note:   initializing argument 1 of 'MCP2515::ERROR MCP2515::setBitrate(CAN_SPEED, CAN_CLOCK)'
    
             ERROR setBitrate(const CAN_SPEED canSpeed, const CAN_CLOCK canClock);
    
                   ^
    
    D:\BIBLIOTECAS\Documentos\Arduino\can-adapter\can-adapter.ino:156:38: warning: invalid conversion from 'byte {aka unsigned char}' to 'CAN_CLOCK' [-fpermissive]
    
       CAN0.setBitrate(CAN_SPEED, CAN_FREQ);
    
                                          ^
    
    In file included from D:\BIBLIOTECAS\Documentos\Arduino\can-adapter\can-adapter.ino:10:0:
    
    D:\BIBLIOTECAS\Documentos\Arduino\libraries\arduino-mcp2515/mcp2515.h:468:15: note:   initializing argument 2 of 'MCP2515::ERROR MCP2515::setBitrate(CAN_SPEED, CAN_CLOCK)'
    
             ERROR setBitrate(const CAN_SPEED canSpeed, const CAN_CLOCK canClock);
    
                   ^
    
    D:\BIBLIOTECAS\Documentos\Arduino\can-adapter\can-adapter.ino:167:38: warning: invalid conversion from 'byte {aka unsigned char}' to 'CAN_SPEED' [-fpermissive]
    
       CAN1.setBitrate(CAN_SPEED, CAN_FREQ);
    
                                          ^
    
    In file included from D:\BIBLIOTECAS\Documentos\Arduino\can-adapter\can-adapter.ino:10:0:
    
    D:\BIBLIOTECAS\Documentos\Arduino\libraries\arduino-mcp2515/mcp2515.h:468:15: note:   initializing argument 1 of 'MCP2515::ERROR MCP2515::setBitrate(CAN_SPEED, CAN_CLOCK)'
    
             ERROR setBitrate(const CAN_SPEED canSpeed, const CAN_CLOCK canClock);
    
                   ^
    
    D:\BIBLIOTECAS\Documentos\Arduino\can-adapter\can-adapter.ino:167:38: warning: invalid conversion from 'byte {aka unsigned char}' to 'CAN_CLOCK' [-fpermissive]
    
       CAN1.setBitrate(CAN_SPEED, CAN_FREQ);
    
                                          ^
    
    In file included from D:\BIBLIOTECAS\Documentos\Arduino\can-adapter\can-adapter.ino:10:0:
    
    D:\BIBLIOTECAS\Documentos\Arduino\libraries\arduino-mcp2515/mcp2515.h:468:15: note:   initializing argument 2 of 'MCP2515::ERROR MCP2515::setBitrate(CAN_SPEED, CAN_CLOCK)'
    
             ERROR setBitrate(const CAN_SPEED canSpeed, const CAN_CLOCK canClock);
    
                   ^
    What can I be doing wrong?

    Thank you and happy 2020 everyone
     
  8. VLud

    VLud Lion de Bronze

    Inscrit depuis le :
    19 Janvier 2018
    Messages :
    1 751
    "J'aime" reçus :
    880
    You didn't add the libraries (3 .zip files to add) as written on the tutorial.
    When they are added, it appears inside the menu:
    [​IMG]
     
  9. eptcb

    eptcb Membre

    Inscrit depuis le :
    24 Novembre 2019
    Messages :
    14
    "J'aime" reçus :
    2
    pepole can you share some info and pictures who have this work ? we have here in Israel and Brasil pepoles that would like to do it but with no luck...
    Vlud is the only one who i know made it possible but he is bussy this time,
    we need to know the basic because somthing is worng and we dont know if its the software or the hardware.
    we need simple convertion circuit bsi2004 to bsi2010 because we need to hook this to only info screen like in the instument cluster
     
  10. eptcb

    eptcb Membre

    Inscrit depuis le :
    24 Novembre 2019
    Messages :
    14
    "J'aime" reçus :
    2
    this what we made:
     

    Pièces jointes:

  11. felixbsb

    felixbsb Membre

    Inscrit depuis le :
    28 Décembre 2019
    Messages :
    6
    "J'aime" reçus :
    3
    Thank you. It worked.

    Code:
    byte languageNum = 132; // (0x80) FR - If you need EN as default : 132 (0x84)
    What is the language code of Portuguese BR? What is the number?

    and

    How to change to Km / l? The following code didn't work for me.

    Code:
    bool kmL = true; // km/L statistics instead of L/100
    Merci beaucoup
     
  12. VLud

    VLud Lion de Bronze

    Inscrit depuis le :
    19 Janvier 2018
    Messages :
    1 751
    "J'aime" reçus :
    880
    Use the latest update I made 29 days ago. "byte languageNum" does not exist anymore and you will be able to set BR as language, and it will probably fix your issue with km/L
     
  13. felixbsb

    felixbsb Membre

    Inscrit depuis le :
    28 Décembre 2019
    Messages :
    6
    "J'aime" reçus :
    3
    Thanks! Brazil language ID is wrong.

    The correct is ID 8 (Brazilian Portuguese)

    8 * 4 + 128 = 160
     
    HMAudio, caspiu et VLud aiment votre message.
  14. HMAudio

    HMAudio Membre

    Inscrit depuis le :
    4 Décembre 2019
    Messages :
    5
    "J'aime" reçus :
    3
    working...
     
  15. Lorenzo35

    Lorenzo35 Membre régulier

    Inscrit depuis le :
    29 Août 2014
    Messages :
    38
    "J'aime" reçus :
    1
    Super tuto :bien:
    J'envisage peut être de me lancer à remplacer mon NG4 de ma C5 II par un SMEG+IV2 ( ça dépendra si madame accepte le budget :ange:) et dans ce cas j'aurais sans doute des questions.
     
  16. VLud

    VLud Lion de Bronze

    Inscrit depuis le :
    19 Janvier 2018
    Messages :
    1 751
    "J'aime" reçus :
    880
    Si tu veux mettre un SMEG IV2 il suffit d'en prendre un CAN2004, ça évite d'avoir a faire l'Arduino ;)
     
  17. Lorenzo35

    Lorenzo35 Membre régulier

    Inscrit depuis le :
    29 Août 2014
    Messages :
    38
    "J'aime" reçus :
    1
    Ah je n'avais pas vu qu'il en existait en can2004 ( un lien par hasard?).
    Du coup ça serait plug n play ou quand même un faisceau adaptateur?
    Je pensais à tort que NAC et IV2 c'était la même chose. Du coup je suis un peu perdu, a part la carto TomTom et la reconnaissance vocale sur le NAC qu'est ce qui change?
     
  18. VLud

    VLud Lion de Bronze

    Inscrit depuis le :
    19 Janvier 2018
    Messages :
    1 751
    "J'aime" reçus :
    880
    Carplay ET Android Auto, la fluidité, la gratuité de la cartographie.
    Ce serait Plug'n play (idéalement prendre un SMEG CAN2004 de C5)
     
  19. Lorenzo35

    Lorenzo35 Membre régulier

    Inscrit depuis le :
    29 Août 2014
    Messages :
    38
    "J'aime" reçus :
    1
    Le NAC semble plutôt sympa en effet. Bon après j'aimerais surtout pouvoir utiliser waze et avoir du streaming Bluetooth avec commandes au volant donc apparemment le IV2 ferait bien l'affaire (sauf si je peux avoir un NAC à tarif équivalent bien sûr :sol:).
     
  20. VLud

    VLud Lion de Bronze

    Inscrit depuis le :
    19 Janvier 2018
    Messages :
    1 751
    "J'aime" reçus :
    880
    Oui enfin le SMEG est reputé pour avoir un lag sur le Bluetooth qui est vraiment très ennuyant au quotidien
     
  21. horuscurcino

    horuscurcino Peugeot Addict

    Inscrit depuis le :
    20 Août 2018
    Messages :
    45
    "J'aime" reçus :
    14
    Using bosch RCC i found myself unable to change some parameters such as language, date and time and check the vehicle settings. They were grayed out, disabled. Its a kind of degraded mode of the radio. Scanning and scanning and found the ID 361, DLC6, must have its first data block forwarding something above 80 to get these menus fully working. At this moment my CAN2004 car sends "B1" on this [0] block. Is there any way to implement this on the code?

    EDIT: by the way, 500 period.
     
  22. VLud

    VLud Lion de Bronze

    Inscrit depuis le :
    19 Janvier 2018
    Messages :
    1 751
    "J'aime" reçus :
    880
    ID 361 is sent on my 308 (CAN2010) but not on my RCZ (CAN2004), strange !
    Don't know what it is used for

    Here is the value I have on my 308:
    12 3F FF 3F FF FF FF FF or
    00 3F FF 3F FF FF FF FF

    What's your full value ?
    What is your RCC reference ? Is it a A2 or above ?
     
  23. calimereau

    calimereau Peugeot Addict

    Inscrit depuis le :
    7 Janvier 2020
    Messages :
    111
    "J'aime" reçus :
    14
    bravo messieurs,
    belle prise tête :bien:
     
  24. horuscurcino

    horuscurcino Peugeot Addict

    Inscrit depuis le :
    20 Août 2018
    Messages :
    45
    "J'aime" reçus :
    14
    RCC A2.
    My measured values:

    CAN2004: 09 04 10 C0 10 38
    CAN2010: B1 66 6C 00 00 00

    Well, i dont have the official purpose of this value (since we dont have it for any value! hahahaha!) but it does the trick about the settings pages when the first block is equal or over 80.

    EDIT:
    For some reason since the last revision of this arduino code i cant use diagbox on the telematic. It causes "Communication Error" with the calculator. Without arduino conversion it works normally. Tried with and without "forge CAN2010 messages".
     
    #114 horuscurcino, 28 Janvier 2020
    Dernière édition: 29 Janvier 2020
  25. caspiu

    caspiu Membre

    Inscrit depuis le :
    3 Janvier 2020
    Messages :
    14
    "J'aime" reçus :
    7
    [CITAÇÃO = "horuscurcino, cargo: 2530064, membro: 114066"] RCC A2.
    Meus valores medidos:

    CAN2004: 09 04 10 C0 10 38
    CAN2010: B1 66 6C 00 00 00

    Bem, eu não tenho o objetivo oficial desse valor (já que não o temos por nenhum valor! Hahahaha!), Mas funciona com as páginas de configurações quando o primeiro bloco é igual ou superior a 80.

    EDITAR:
    Por alguma razão, desde a última revisão deste código do arduino, não posso usar o diagbox no sistema telemático. Causa "Erro de comunicação" com a calculadora. Sem a conversão do arduino, ele funciona normalmente. Tentei com e sem "forjar mensagens CAN2010". [/ QUOTE]



    Hello,
    In my bench tests, I verified that ID 361 is responsible for enabling the options in MATT color according to the Bytes that are presented to it,
    example:
    HEX / Bit
    81 = 1000001 = parameter + Daylight
    B1 = 10110001 = Pair + Start Lighting (30s) + Directional Headlamps + Daylight

    However, this changes according to the Firmware configuration.

    For ID 361 to take effect it must have 1 more active IDs.

    ID: 260 - 7 - 00.04.00.00.00.00.00

    I hope this information can help you in your project.
     
    felixbsb et horuscurcino aiment cela.
  26. horuscurcino

    horuscurcino Peugeot Addict

    Inscrit depuis le :
    20 Août 2018
    Messages :
    45
    "J'aime" reçus :
    14
    ID 260 is related to languages and units, and already treated by this sketch. ID 361 works activating the customization menu but keeps activating and deactivating (blinking) the functions. Perhaps it has some other dependencies or another ECU is overriding the changes. Hope to reveal the necessary codes. Im working on it.
     
  27. felixbsb

    felixbsb Membre

    Inscrit depuis le :
    28 Décembre 2019
    Messages :
    6
    "J'aime" reçus :
    3
    Checks that there is no conflict with RT6 / RNEG. Via diagbox you must disable the parameterization menu options, language, units and time on RT6 / RNEG.

    In my car the parameterization menu was activated on RT6 / RNEG, however it was not possible to activate or deactivate any option (blinking) the functions.

    When deactivating all parameterization items of the RT6 / RNEG, the parameterization menu appears on the MATT2004 screen, however on MATT2010 with the arduino it does not appear.

    I believe the solution is to disable these items from RT6 / RNEG and update the code of the arduino program with ID 361.
     
  28. horuscurcino

    horuscurcino Peugeot Addict

    Inscrit depuis le :
    20 Août 2018
    Messages :
    45
    "J'aime" reçus :
    14
    My car was originally fitted with RD4 radio + multifunction screen. It was removed from the car so at first i believe this settings are not relevant. But i think in the BSI2004 world when the car is fitted with any ECU which changes the "Personalization menu" such as multifunction screen, COMBINE and MATT (UDS protocol) or multimedia system (SMEG, RNEG, RT4) the ID361 (or different ID) is developed by the callibration and enabled/disabled options available on it (changeable via diagnostic software). But BSI2010 generates this ID 361 by itself and its available capabilities and connected ECUs take advantage of it.

    By the way in my bench tests changing ID361 values, many settings that were not predicted on my RCC A2 callibration are shown. Proving it handles the "Personalization Menu" alone.
     
    caspiu aime votre message.
  29. felixbsb

    felixbsb Membre

    Inscrit depuis le :
    28 Décembre 2019
    Messages :
    6
    "J'aime" reçus :
    3
    Understand. But how to include the ID361 in the arduino code? This I don't know how to do.
     
  30. VLud

    VLud Lion de Bronze

    Inscrit depuis le :
    19 Janvier 2018
    Messages :
    1 751
    "J'aime" reçus :
    880
    I can confirm ID 0x361 (865 in decimal) is responsible for personalization menu which is working with ID 0x260 too, I'm working on it. For now it should be easier not to forward messages on ID 865 from CAN2004 ;)
     

Partager cette page

  1. Ce site utilise des "témoins de connexion" (cookies) conformes aux textes de l'Union Européenne. Continuer à naviguer sur nos pages vaut acceptation de notre règlement en la matière.
    Rejeter la notification