Innvate Motorsport's serial protocol

I have a datalogger which accepts this protocol in:

I have seen some projects which read that protocol using an arduino, but I would like to write to this protocol so my datalogger can include it with some OBD-II data. I have eight I2C devices I'll be reading data from to pass along over the Innovate protocol; four are wideband oxygen sensors, four are thermocouples. Speed is important.

Does anyone have any suggestions as to how to tackle this? I'd like to come out the other side with a good general-purpose library for communicating over an Innovate chain.

That seems to be standard serial data at 19200 baud. There should be no problem reading with an Arduino. I can't immediately see whether it uses TTL signal levels or RS232 levels. If the latter you will need to convert to TTL for the Arduino.

Having said that, I don't understand what you mean when you say you want to "include it with some OBD data". Also, I don't understand whether you have 8 "its" and one OBD or 1 "it" and 8 OBDs.

...R

My datalogger reads from two different sources and writes to SD. One of those sources is an OBD-II stream. The other is the innovate serial connection.

I have 8 I2C devices I would like to read from with the arduino and subsequently write to the innovate serial connection.

There is a lot of hard study in the PDF linked in your first post. I am afraid I am lazy so I will leave you to do that.

If you have a specific question I will try to help.

I presume you are already able to read from your I2C devices and from the OBD-II ?
If not, take it a piece at a time.

...R

I don't have to read from OBD-II. I just have to read I2C and output Innovative's Serial protocol. My Datalogging hardware takes the OBD-II in and serial in and writes it to SD. That's already taken care of.

burdickjp:
I don't have to read from OBD-II. I just have to read I2C

You didn't answer my question whether you can already read from I2C ?

Have you an example of the data that comes from I2C and an example of how it should be packaged to go on the Innovate connection?

...R

Here's a sketch I'm currently using to read EGT over I2C and write to CAN bus:

I want to be writing that data to Innovative's serial protocol.

Please post program code here so we don't have the trouble of going to another website.

In any case, the code does not answer my question

Have you an example of the data that comes from I2C and an example of how it should be packaged to go on the Innovate connection?

...R

That sketch shows what comes in for the thermocouple driver. The library includes functions to read the temperature in various scales. Here's a github for that library: GitHub - engineertype/MAX31855: Arduino library and example code for Maxim's MAX31855 Thermocouple IC

I don't have any library for the four O2 drivers I will be using. I'll have to write them. Documentation for them is here: http://cdn.shopify.com/s/files/1/0189/1312/files/SLC_OEM_Documentation.zip?2537