Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 07/10/2019 in all areas

  1. 2 points
    La soudure c comme le velo on oublie pas on chauffe et on laisse l'étain faire le reste
  2. 1 point
    Par contre je commence a avoir du mal avec les pseudos Tritoff62, totof59, TofToF59 !
  3. 1 point
    Et attention au couple de serrage des trois vis de la bride de soufflet : ça foire facilement dans l'alu !
  4. 1 point
    Ça fait un moment que je n'ai pas posté mes avancées, donc je vous fait une grosse mise à jour J'ai d'abord reçu un précieux document de la part de M Avian, le voici : Il s'agit de l'organisation mémoire du micro-contrôleur du Calculateur Fenix 1B. On peut y voir les adresses mémoires de la ROM de 512 octets de 0x0100 à 0x02FF. On apprend également, que la rom contient dans l'ordre; Un checkSum, Un numéro de version, Un numéro de calibration, les cartographies d'avances et d'injections et toute une tripotée de table de correction. Ce document défini les tables d'avance/injection jusqu'en 0xCA soit 18 caractères de plus que ce que M Avian m'avait donné. Pourtant, à regarder ce que nous avions trouvé, je ne voyais pas d'incohérence. Mon idée est que les 18 caractères en plus sont deux tables de corrections (sur 9 points de pivot) qui permettent de corriger l'avance et l'injection en fonction de la température. Elles seraient donc logiquement situé juste après les tables CARTA et CARTI. les voici, même si cela reste une supposition. J'en ai aussi profité pour mettre à jour l'en-tête de la ROM dans Tuner Pro. Enfin et selon les conseils de M Avian, j'ai pris 5 minutes pour ajouter 10% de temps d'ouverture de l'injecteur sur toute la plage d'injection (Réglage E85) Voila CARTI d'origine et CARTI avec 10% en plus Sous tuner Pro, cela se fait très vite. On choisi "Function : Multiply", "Value:1.1" et "Execute" Puis, on sauvegarde. Quelques jours plus tard, j'ai reçu mes cartes (j'en ai commandé 10 car c'est le même prix) En bas ma carte d'adaptation, au dessus, la rom d'origine. Une fois l'EEPROM, les résistances de tirages et les jumpers en place, ça donne ceci Pour le moment, j'ai mis des jumpers, mais en définitif, je mettrais 2 interrupteurs au tableau de bord. Cette EEPROM peut contenir 4 cartographies différentes. il suffit de changer les jumpers pour choisir celle que l'on veut (ou plus tard, bouger les interrupteurs) Carto 1 = A:OFF B:OFF Carto 2 = A:OFF B:ON Carto 3 = A:ON B:OFF Carto 4 = A:ON B:ON Dans un premier temps, j'ai mis Carto 1 et 2 => Carto d'origine et Carto 3 et 4 => Carto + 10% injection Voila le calculateur terminé. Je retourne donc à la voiture, je branche le calculateur et j'essaye de démarrer avec la carto d'origine. Ça démarre du premier coup, et ça marche comme d'habitude. C'est un bon point, cela veut dire que mon système fonctionne Je coupe le contact, je retire les jumpers pour passer sur la Carto modifiée et je tente un démarrage. dès que je met le contact, un TIC TIC TIC se fait entendre au niveau de la boite à relais et la voiture refuse de démarrer. Bon, pas de panique, je pense tout de suite à ce fichu CRC, la voiture doit être en sécuritée. Je fais donc un mail à M Amian afin d'avoir des infos sur le sujet. Voila sa réponse Ni une ni deux, je sors un Arduino Uno, et j'écris un petit bout de code pour calculer le CRC. Je trouve vite qu'il s'agit bien d'une somme avec complément à 1. Voila le code en question. unsigned char Super5[512] = { 0xA1,0xB9,0x12,0x73,0x03,0x08,0x08,0x08,0x08,0x0C,0x0C,0x0B,0x0A,0x0A,0x08,0x08, 0x08,0x08,0x0C,0x0C,0x0A,0x0A,0x0A,0x08,0x0B,0x0B,0x0B,0x0E,0x0A,0x08,0x06,0x02, 0x08,0x0A,0x14,0x14,0x12,0x0B,0x08,0x04,0x01,0x08,0x0F,0x1E,0x22,0x1E,0x17,0x0F, 0x09,0x03,0x0A,0x12,0x24,0x24,0x24,0x1E,0x15,0x0D,0x07,0x0C,0x16,0x25,0x29,0x28, 0x1F,0x17,0x11,0x0D,0x0E,0x16,0x22,0x2C,0x2A,0x23,0x1B,0x13,0x0D,0x10,0x19,0x23, 0x32,0x30,0x23,0x1D,0x17,0x0F,0x12,0x1E,0x28,0x2D,0x2A,0x23,0x1F,0x1A,0x15,0x66, 0x66,0x76,0x64,0x84,0x84,0x8F,0x6F,0x6F,0x65,0x65,0x65,0x6D,0x84,0x84,0x8F,0x6F, 0x6F,0x65,0x65,0x65,0x76,0x87,0x88,0x8D,0x6C,0x6C,0x7F,0x7F,0x81,0x90,0x97,0x97, 0x91,0xAB,0x91,0x7B,0x8D,0xA3,0x97,0xA4,0x9E,0x9F,0xC6,0x9E,0x7B,0x84,0xAD,0xA9, 0xA6,0xA8,0xA4,0xC2,0xAE,0x7B,0x7B,0xAD,0xAF,0xAF,0xAC,0xAF,0xE4,0xD4,0x7B,0x7B, 0x9A,0xAC,0xA6,0x9E,0xA4,0xDA,0xB7,0x7B,0x7B,0x9B,0xA4,0x92,0x8D,0x93,0x99,0x8F, 0x7B,0x7B,0x9B,0xA4,0x92,0x8D,0x93,0xB1,0x8F,0x44,0x3C,0x32,0x1E,0x14,0x12,0x0F, 0x0C,0x0C,0x27,0x27,0x27,0x24,0x18,0x0F,0x0A,0x05,0x04,0x58,0x56,0x82,0x68,0x4B, 0x30,0x10,0x04,0x00,0xA0,0x68,0x50,0x1F,0x10,0x0D,0x00,0x00,0x00,0x01,0x01,0x15, 0x2E,0x3E,0x54,0x5B,0x5C,0x5D,0x52,0x2F,0x20,0x19,0x06,0x05,0x04,0x00,0x00,0xC0, 0x56,0x3A,0x32,0x22,0x16,0x0F,0x08,0x00,0xFF,0xED,0x40,0x38,0x30,0x28,0x27,0x27, 0x27,0x5A,0x5A,0x61,0x75,0x82,0x89,0x89,0x89,0x89,0x0F,0x80,0x80,0x60,0x40,0x14, 0x18,0x1C,0x1F,0x0F,0x20,0x18,0x0C,0x10,0x14,0x18,0x1C,0x1F,0x25,0x23,0x22,0x22, 0x23,0x25,0x28,0x2C,0x2F,0x00,0x00,0x13,0x41,0x40,0x34,0x2C,0x26,0x20,0x01,0x01, 0x01,0x03,0x07,0x09,0x09,0x09,0x09,0x10,0x0D,0x0A,0x05,0x04,0x04,0x04,0x02,0x00, 0x02,0xD1,0x02,0x71,0x02,0x09,0x01,0xAA,0x01,0x39,0x00,0xEA,0x00,0xBC,0x00,0x9C, 0x00,0x75,0x00,0x5E,0x0A,0xAB,0x09,0xD8,0x0A,0xC7,0x09,0x10,0x0C,0xF6,0x16,0x43, 0x20,0x00,0x1A,0x42,0x2C,0x86,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0xC0,0xC0,0xC0,0xC0, 0xE0,0xA5,0x0C,0x13,0x04,0x01,0x40,0x66,0x67,0x1E,0x14,0xFE,0x0A,0x01,0xC0,0x05, 0x60,0x15,0x6A,0x01,0x22,0xB0,0xFF,0x60,0xFF,0x80,0x0F,0xD2,0x05,0x02,0x27,0x0C, 0x01,0x00,0x06,0x08,0x21,0x03,0xE8,0x00,0x01,0x00,0x05,0x04,0x01,0x0B,0x08,0xFF, 0xD0,0x1E,0x10,0x12,0x5A,0x60,0x05,0x4E,0x08,0x08,0x22,0x08,0x15,0x7B,0x89,0x0E, 0x00,0x84,0x00,0x84,0x31,0x07,0x07,0x13,0x02,0x0A,0x0A,0x12,0x60,0x80,0x5A,0x75, 0x15,0x03,0x25,0x4E,0x7F,0x18,0x1B,0x50,0x00,0x6A,0x05,0x1F,0xA0,0x60,0x6C,0x4C, 0xB0,0x90,0xC0,0xA0,0xC0,0xA0,0xD0,0xB0,0x05,0x3B,0x12,0x04,0x04,0x8C,0x01,0x42, 0x00,0x48,0x00,0xFF,0x09,0x19,0x7D,0x17,0x4D,0x0A,0x04,0x9C,0x00,0xC8,0x08,0x03, 0xB0,0x00,0xA0,0x01,0xC0,0x0A,0x20,0x75,0x50,0x01,0x58,0x04,0xC0,0x40,0x90,0x61 }; unsigned int Super5_int[256]; void setup() { Serial.begin(9600); Serial.println(""); Serial.println("Fenix1 CRC Calculator"); Serial.println("Version 1 by Aganyte"); Serial.println(""); } void loop() { // Convertir de char à int unsigned int NewValue; for(unsigned int x = 0; x<512 ; x+=2) { NewValue = 0; NewValue = Super5[x]; // 0 2 4 6 8 10 NewValue <<= 8; NewValue |= Super5[x+1]; Super5_int[x/2] = NewValue; } // Afficher la table convertit en 16 bits unsigned char ligne = 0; for(unsigned int x = 0; x<256; x++) { Serial.print(Super5_int[x],HEX); Serial.print(" "); ligne++; if(ligne>16) { Serial.println(" "); ligne = 0; } } Serial.println(""); Serial.println(""); // Calculer le CRC int CRC = 0; for(unsigned int x = 1; x<256; x++) { CRC += Super5_int[x]; } Serial.print("CRC ="); Serial.println(-CRC,HEX); Serial.println(" "); while(1); } Il suffit de copier/coller votre carto dans le tableau en début de programme, d'injecter dans l'Arduino de votre choix et vous aurez le résultat par la liaison série (9600 bauds). Je récupère donc le code qui correspond à ma nouvelle cartographie, je met à jour l'EEPROM, et je retourne essayer sur la voiture... ...Et boom, ça démarre de suite. Je n'ai plus qu'à tester la voiture sur la route.....on attendra demain car aujourd'hui, jour de grève, c'est pas l'idéal Du coup, j'ai 9 cartes à vendre si cela intéresse du monde, je peux les faire à 20€ pièce avec L'EEPROM programmée à votre convenance.
This leaderboard is set to Paris/GMT+02:00
×
×
  • Create New...

Important Information

By using this site, you agree to our terms Terms of Use of use and privacy policy Privacy Policy.