Code Monkey home page Code Monkey logo

nissandefinitions's Introduction

NissanDefinitions

Nissan and Infiniti ECU ROM Definitions for use with RomRaider Editor.

GitHub release (release name instead of tag name) GitHub commits since latest release (by date) GitHub repo size GitHub all releases

About

Current Stable RomRaider Version: v1.0.0

NissanDefinitions supports ECU ROM definition files for SH7055/SH7058 Nissan and Infiniti ECU's. These definition files are formatted to be compatible with RomRaider. Vehicles with these ECU's typically includes model years between ~2001-2010.

Each ROM has its own definition file that stores the ROM addresses for all defined tables. This definition file references the A2L template file, which contains table specific data. The ScalingData file is where all table scalars are stored. Using the "Combine All.bat" file will merge all files into one. As time goes on, more and more ROMs will be defined.

Important Notice

Due to RomRaider no longer allowing bitwise switches larger than four bytes, DTCs are currently in a very dysfunctional state. So while DTC addresses will be accurate, the actual DTCs you'll see have no guarantee of accuracy. So I'd highly recommend not altering DTCs for the time being.

Key Features

General Repository Features

  • Utilizes RomRaider's XML Formatting to its Full Extent (Scalingbase, Subcategories, etc)
  • Fully-Automated Definition Files (Definition Files are Generated from Binary Diffing)
  • Ability to Modify Individual ECU Definition Files

A2L Template Specific Features

  • Tables Derived from ZB060 a2l file (all tables are derived from an official Nissan/Renault a2l file)
  • ~221 Supported Tables
  • Separate Maps for Ignition Timing Adjustment and Knock Window
  • Full DTC Support
  • Full CID Supmask Support
  • ROM Flags

Example of CF48D

NissanDefinitionsFull1

Instructions for Installation and Setup

For Stability (Recommended)

1. Download and unzip latest release  
2. Open RomRaider Editor and click "Definitions" tab at the top, "Definition File Manager", then "add"
4. Select the "NissanDefinitions.xml" file from the release

For Latest Updates

1. Download and unzip the repository from GitHub
2. Go to the "Nissan Definitions" folder
3. Run "Combine All.bat" to generate the "NissanDefinitions.xml" file
2. Open RomRaider Editor and click "Definitions" tab at the top, "Definition File Manager", then "add"
4. Select the "NissanDefinitions.xml" file from the "Nissan Definitions" folder

Logger

Official RomRaider Logger Definition File (Recommended)

Useful Links

nissandefinitions's People

Contributors

pytrex 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

Watchers

 avatar  avatar  avatar

nissandefinitions's Issues

Mildly unrelated (apologies)

Don't see a way to contact you

request: 7e0 10 01
request: 7e0 10 03
request: 7e0 10 c0
request: 7e0 19 02 0f

request: 7e0 21 80
request: 7e0 21 83
request: 7e0 21 fe

request: 7e0 22 1001
request: 7e0 22 1301
request: 7e0 22 1302
request: 7e0 22 1303
request: 7e0 22 1304
request: 7e0 22 1305
request: 7e0 22 1306
request: 7e0 22 1307
request: 7e0 22 1308
request: 7e0 22 1309
request: 7e0 22 130a
request: 7e0 22 130b
request: 7e0 22 130d
request: 7e0 22 130e
request: 7e0 22 1312
request: 7e0 22 1313
request: 7e0 22 1315
request: 7e0 22 1316
request: 7e0 22 1319
request: 7e0 22 131b
request: 7e0 22 131c
request: 7e0 22 131e
request: 7e0 22 131f
request: 7e0 22 1321
request: 7e0 22 1502
request: 7e0 22 1503
request: 7e0 22 1504
request: 7e0 22 1505
request: 7e0 22 1506
request: 7e0 22 1507
request: 7e0 22 1508
request: 7e0 22 1509
request: 7e0 22 150a
request: 7e0 22 150b
request: 7e0 22 150c
request: 7e0 22 150d
request: 7e0 22 150e
request: 7e0 22 150f
request: 7e0 22 1510
request: 7e0 22 1511
request: 7e0 22 1512
request: 7e0 22 1513
request: 7e0 22 1514
request: 7e0 22 1515
request: 7e0 22 1516
request: 7e0 22 1517
request: 7e0 22 1518
request: 7e0 22 df10
request: 7e0 22 df11
request: 7e0 22 df12
request: 7e0 22 df13
request: 7e0 22 df15
request: 7e0 22 df17
request: 7e0 22 dff1
request: 7e0 22 f100
request: 7e0 22 f188
request: 7e0 22 f190
request: 7e0 22 f191
request: 7e0 22 f194
request: 7e0 22 f1a0

request: 7e0 2e df01 00
request: 7e0 2e df12 00

request: 7e0 2f df01 03

request: 7e0 31 01 df03

Looking for where I might be able to find logs or mocks of these UDS $22 data identifiers

Bitwise Switch Correction

for RomRaider Editor v0.9.2:
Currently, bitwise switches exceeding 8-bits show incorrect bits as being enabled.

On top of this, the bitwise switches aren't following the specified order in the A2L file. This one is potentially a RomRaider bug, but analyze A2L.xml to see if anything can be done first.

Update 1:
Bitwise switches that are 1, 2, or 4 bytes can be specified using sizey="1" and the proper storagetype. RomRaider bug prevents using a sizey that's greater than 1 at this time.

Bitwise switch ordering is being sorted alphabetically rather than being based on order in the definition file. This is entirely on RomRaider's end and an issue has been opened on RomRaider's GitHub.

Update 2:
Any bitwise switch that current uses anything with a sizey > 1 needs to be switched to using uint16/32 instead. The full DTC list will unfortunately have to be split into separate DTC supmasks as there's no way to have a bitwise switch larger than 32-bits anymore.

ROM Definition Tracker

Going to keep this here until I figure out a better place to put it.

Undefined ROMs:

  • CD000 (P)
  • CD001 (P)
  • CD002 (P)
  • CD006
  • CF010
  • CF170
  • CS500 (m45)
  • AM607
  • 6Y303
  • EV18A
  • Check Stock ROM List for more

Further Defining Needed:

  • AC510
  • CE860
  • AM905
  • CF065

[CF020] [ROM] Definition Correction

CF020 Not Working or Defined

No tables are visible in RR once this ROM is opened with the listed def.
If needed, I can upload the ROM.
Please help.

Car is a 2005 JDM 350Z, VQ35DE, 5AT.

Sporadic DTC Template Errors

Certain DTC bits are inaccurate inside the DTC template due to errors splitting the Master DTC list into 24 individual longword bitwise switch tables.

Update all ROMs DTCs

Due to altering how I set up the DTCs, every ROM will need to be ran through the DTC offset calculator in order to utilize DTCs.

The updated A2L template will not be pushed until this is done.

A2L.xml Cruise Control, PTD Open-Degree Operation Switching Flag has duplicate unknown names

bit position 4 & 5 have the same name "Unknown 5 -" causing RomRaider to show only one of them, which makes it impossible to correctly change the bit flags.

Original:
<table type="BitwiseSwitch" name="Cruise Control, PTD Open-Degree Operation Switching Flag" category="Options//Flags" userlevel="1"> 0x80 <bit position ="7" name="Unknown 7 -"/> 0x40 <bit position ="6" name="mfPTDASCD - At the time of ASCD, PTD open-degree operation switching flag // Can't use for autos I don't think."/> 0x20 <bit position ="5" name="Unknown 5 -"/> 0x10 <bit position ="4" name="Unknown 5 -"/> 0x08 <bit position ="3" name="Unknown 3 -"/> 0x04 <bit position ="2" name="Unknown 2 -"/> 0x02 <bit position ="1" name="Unknown 1 -"/> 0x01 <bit position ="0" name="Unknown 0 -"/> <description>Toggle On/Off</description> </table>

Fixed
<table type="BitwiseSwitch" name="Cruise Control, PTD Open-Degree Operation Switching Flag" category="Options//Flags" userlevel="1"> 0x80 <bit position ="7" name="Unknown 7 -"/> 0x40 <bit position ="6" name="mfPTDASCD - At the time of ASCD, PTD open-degree operation switching flag // Can't use for autos I don't think."/> 0x20 <bit position ="5" name="Unknown 5 -"/> 0x10 <bit position ="4" name="Unknown 4 -"/> 0x08 <bit position ="3" name="Unknown 3 -"/> 0x04 <bit position ="2" name="Unknown 2 -"/> 0x02 <bit position ="1" name="Unknown 1 -"/> 0x01 <bit position ="0" name="Unknown 0 -"/> <description>Toggle On/Off</description> </table>

original
after fix

Added - AC610 definition

AC610.zip
AC610.zip

Hey mate

Turns out AC610 is 96% the same as AC510 so added the .xml (and the original .bin file) for you to add to your repository.

Thanks a million for these definitions!

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.