Miata Turbo Forum - Boost cars, acquire cats.

Miata Turbo Forum - Boost cars, acquire cats. (https://www.miataturbo.net/)
-   MEGAsquirt (https://www.miataturbo.net/megasquirt-18/)
-   -   Racepak IQ3s How-To (https://www.miataturbo.net/megasquirt-18/racepak-iq3s-how-91964/)

aidandj 01-24-2017 11:00 AM

Racepak IQ3s How-To
 
This write-up will have 2 parts. How to create your own custom channels to read more than the basic fields that are supported out of the box, and how to install it in an NA.

Part 1:

The Racepak IQ3s has Megasquirt 3 "support" right out of the box. But not what I wanted.

https://cimg2.ibsrv.net/gimg/www.mia...dc1a38f607.png


The default config has 20 predefined channels, and while those may be enough for some I wanted to do more. If you just want to use the 20 pre-defined channels then the setup is very straight forward and there are other writeups to look at.
This write-up will cover what I can't find documented anywhere, how to use the User Defined ECU setting.

This document will be needed: http://www.msextra.com/doc/pdf/Megas..._Broadcast.pdf

If you skip down to Section 2 you will see the giant list of fields that can be transmitted outside the basic dash broadcasting. You get to pick 20 total of these.

Setting up your Megasquirt

First step is turning on the broadcast fields you need. We need to go to CAN-bus/Testmodes-->CAN Realtime Data Broadcasting, and turn on the master enable. Keep the Base message identifier at 1520 unless you have a reason to change it.

Then just enable what you want transmitted. I chose 50Hz because why not. You may also need to open the other CAN Realtime Data Broadcasting menus to get more fields.

https://cimg3.ibsrv.net/gimg/www.mia...eb41add905.png

Once you Burn that you are done with the megasquirt side.

Setting up the Racepak

This took a decent amount of trial and error, and I will probably update it as I learn more.

To start you need to setup your IQ3s to use the User Defined ECU mode. So Right click on IQ3 Street and go to the Dash Info Tab. Select the ECU Type Field and change it to User Configured

https://cimg4.ibsrv.net/gimg/www.mia...91d51c373b.png

Then Send that configuration and close the Menu.

Next go to Edit->Read VNet Config (new channels), you will get a single channel titled EFI Setup. Right click on that and set the number of channels to 20 (or less if you don't need 20), the CAN Bus Bit Rate to 500k and the CAN Bus Termination Resistor to On

https://cimg9.ibsrv.net/gimg/www.mia...852f2fd7fc.png

Send that configuration, and then Read V-Net channels again. You should now have 20 ECU channels to define however you want.

Defining ECU channels

This part took the most trial and error, and will be the most confusing to document. I think the best way to explain it is to just walk through an example. We will start with Coolant temp.

Right click on one of the ECU Channels and take a look at the parameters. Change the Name to whatever you want.

The Channel Options are the important part

Logger Sample Rate: Rate at which the IQ3 will capture the channel
CAN ID For message on the network: This is the base identifier (default was 1520) + group number. So 1522 for coolant temp
CAN ID Message Type: Keep this 11-Bit Standard
Byte Order: Megasquirt uses Big-Endian, so change that
Message Index Bye Location: None
Message Index byte value: Dont change
Message Data Byte containing low byte of data: This will be offset in group + 1. So 7 for coolant temp
Bit offset into first byte of data: 0
Data Type: This is based off the sign? column. So for Coolant temp its "Signed"
Number of bits in data received: This is Size * 8. So 16 for coolant temp.

Next look in the upper corner for the Linear conversion.

Leave Raw Data Value A alone (unless you have a reason to change it)
Raw Data value B: Look at the Multiply/Divide columns. For coolant temp Divide is 10. So data Value B of 10 will become 1.
Set the min/max and decimal points to whatever you want to display, and set the unit.

Send the configuration and you have now defined a channel.

https://cimg3.ibsrv.net/gimg/www.mia...7d9884627f.png

aidandj 01-24-2017 11:08 AM

Here are some screenshots of all the channels I have defined so far.

ECU Battery Voltage:

https://cimg4.ibsrv.net/gimg/www.mia...0cf2a10022.png

ECU Engine RPM

https://cimg5.ibsrv.net/gimg/www.mia...fc3a7e02f7.png

ECU Speed

https://cimg9.ibsrv.net/gimg/www.mia...bd0bd88d9e.png

ECU Coolant Temp

https://cimg1.ibsrv.net/gimg/www.mia...1310a4da94.png

ECU Oil Temp (Generic Sensor 2)

https://cimg3.ibsrv.net/gimg/www.mia...b956814f1d.png

ECU Oil Pressure (Generic Sensor 3)

https://cimg7.ibsrv.net/gimg/www.mia...b15eba6819.png

ECU MAP PSI

This one is a little special. If you look at the Linear conversion you can see the converson from kpa to PSI

https://cimg9.ibsrv.net/gimg/www.mia...72ea8967e0.png

ECU Manifold Temp

https://cimg0.ibsrv.net/gimg/www.mia...d3bbe8fd61.png

ECU EGT (EGT 01)

https://cimg2.ibsrv.net/gimg/www.mia...feff0dd801.png


ECU AFR (AFR 1)

https://cimg5.ibsrv.net/gimg/www.mia...10b181c49e.png

EO2K 01-24-2017 01:04 PM

So did you like, sleep AT ALL last night? :laugh:

aidandj 01-24-2017 01:24 PM

Actually didn't take long once I figured out the custom channels. Around 10pm I had to make the decision to stay up all night and get it wired in, or just do it today. Sadly I chose to do it today, so that write-up will come later.

aidandj 01-24-2017 02:22 PM

Fuel Pressure (Generic Sensor 1)

https://cimg3.ibsrv.net/gimg/www.mia...380bd43f3e.png

Knock

https://cimg4.ibsrv.net/gimg/www.mia...043be64464.png

Target Boost

https://cimg9.ibsrv.net/gimg/www.mia...b35b4cb0fc.png


Ethanol Content

https://cimg9.ibsrv.net/gimg/www.mia...6bb26413a1.png

Spark Advance

https://cimg4.ibsrv.net/gimg/www.mia...b5539f3140.png

Baro

https://cimg8.ibsrv.net/gimg/www.mia...425bee9801.png

TPS

https://cimg9.ibsrv.net/gimg/www.mia...836ea2759a.png

EO2K 01-24-2017 02:47 PM

I hate you. This thread is going to cost me money. :giggle:

bahurd 01-24-2017 04:02 PM

Nice writeup. Can you use the NB speed sensor 'as is' and just run the wires if on an NA? (IQ3 manual Pg 31). And 'gear selection indicator' is basically speed vs rpm calibration?

aidandj 01-24-2017 04:06 PM


Originally Posted by bahurd (Post 1388513)
Nice writeup. Can you use the NB speed sensor 'as is' and just run the wires if on an NA? (IQ3 manual Pg 31). And 'gear selection indicator' is basically speed vs rpm calibration?

Yes and yes. Make sure you use the Variable Reluctance setting.

aidandj 02-02-2017 12:43 PM

Another small update I forgot to post here.

There is a bug with any IQ3 Street firmware greater than 2.13. You get "noisy" values, and random flashes of garbage values. Racepak sent me older firmware, and everything up to 2.13 worked fine. After that you get issues.

Still need to do the writeup for wiring for an NA. Coming soon.

bahurd 02-02-2017 02:04 PM

I don't want to FU the thread but I've got a question related to odometer. Some states [mine] have dim views on odometer "tampering" (my quotes because it's not really tampering). If you were to sell the car say, that otherwise would have a clear blemish free title, do you just now acknowledge on the title the mileage is incorrect/unknown?

shuiend 02-02-2017 02:11 PM


Originally Posted by bahurd (Post 1390316)
I don't want to FU the thread but I've got a question related to odometer. Some states [mine] have dim views on odometer "tampering" (my quotes because it's not really tampering). If you were to sell the car say, that otherwise would have a clear blemish free title, do you just now acknowledge on the title the mileage is incorrect/unknown?

At least in SC there is a checkbox on the title you check if the mileage might be wrong. I bought a miata where the speedo cable became slightly unplugged and the guy did not know how easy it was to fix. So he just left it like that and drove for a while, then the HG blew and the car sat and I bought it. Now I am getting it ready to sell.

bahurd 02-02-2017 02:27 PM


Originally Posted by shuiend (Post 1390319)
At least in SC there is a checkbox on the title you check if the mileage might be wrong. I bought a miata where the speedo cable became slightly unplugged and the guy did not know how easy it was to fix. So he just left it like that and drove for a while, then the HG blew and the car sat and I bought it. Now I am getting it ready to sell.

More or less the same here. I guess we wouldn't be selling to the typical M.net crowd anyway where everything needs to be 'correct'.

aidandj 02-02-2017 02:29 PM

Set up the IQ3 odometer. Then when you want to sell spin the speedo with a drill until the mileage matches up. :D

Disclaimer: do not do this. It's illegal

bahurd 02-02-2017 02:58 PM


Originally Posted by aidandj (Post 1390322)
Set up the IQ3 odometer. Then when you want to sell spin the speedo with a drill until the mileage matches up. :D

$1000 + felony + likely jail time in this state. Not worth it on a Miata... :nono:

Back to the regularly scheduled thread...

boileralum 02-02-2017 03:51 PM

Very interesting, thanks! I have a Dash 2 w/ CAN in my Exocet that I am going to need to program, so this at least gets me part way there for the MS side of things.

Downmented 02-02-2017 04:32 PM

:bowrofl:

aidandj 02-02-2017 09:03 PM

The wiring was super simple.

https://cimg1.ibsrv.net/gimg/www.mia...6477076679.png

aidandj 02-02-2017 09:05 PM

And all of my videos so far.










bahurd 02-02-2017 09:39 PM

@aidandj first class job! :likecat::likecat::likecat:

PSI 02-02-2017 11:09 PM

Threads like this make me realize how dumb I am. Thanks

aidandj 05-11-2017 01:12 PM

Another update. I've been wanting to have a knock warning on the racepak. But the only signal I could find was knock in. Which is in %. And that varies depending on RPM. Then Brain pointed me to the ECU Status bitfields. So I can transmit status7, and if it equals 16 then we have knock indicated.

https://cimg0.ibsrv.net/gimg/www.mia...e67f09fd57.png

https://cimg7.ibsrv.net/gimg/www.mia...3f9b97f46c.png

Here is the racepak setup. When knock is detected the output will be 16. So setup your warning so that it warns when it equals 16.

https://cimg5.ibsrv.net/gimg/www.mia...97604593d8.png

amaff 05-23-2020 07:35 PM

Thank you so, SOO much! The IQ3 manual was practically useless, and the MS documentation was missing a whole host of implied knowledge. I was completely wrapped around the axle trying to get this thing to play nice and most of the data fields you need to enter are completely undefined (and are different between the MS documentation and the RacePak software).

If we ever find ourselves sharing the same piece of asphalt, I owe you several beers. You're a legend.

Question, did you have any issues with the Ethanol content display? I'm running basic E10 pump fuel for now. TunerStudio shows right at 10.x%, but the IQ3 is seemingly a random number generator, occasionally showing up to 110%, which, obviously, is impossible, so something else is up.

Lokiel 05-23-2020 09:56 PM

Just a minor correction to aidandj's initial comments:

"Then Brain pointed me to the ECU Status bitfields. So I can transmit status7, and if it equals 16 then we have knock indicated."
and
"When knock is detected the output will be 16. So setup your warning so that it warns when it equals 16."

Knock is actually detected when the value of field "Status 7" ANDed with the value 16 equals 16.

Some background (for non-programmers):

On the MS, when knock is detected, Bit 4 of the Status 7 field is set, as shown in the tables provided by aidandj.

Bits are identified starting at zero, not one.
This is where the value "16" comes from (ie. 2^4 = 16)

The overall value of the Status 7 field is based on all bits set in the field and the bits in these fields are NOT mutually exclusive (ie. the Check Engine and A/C On bits can both be set at the same time).
eg.
If the only bit set is Bit 4 (knock bit), the value is 2^4=16.
If the A/C is on (Bit 5) , and knock is detected (Bit 4), these bits are set so the Status 7 value is 2^5 + 2^4 = 32 + 16 = 48.
If Check Engline is on (Bit 6) , and knock is detected (Bit 4), these bits are set so the Status 7 value is 2^6 + 2^4 = 64 + 16 = 80.

If you logically AND the value of field Status 7 with the value 16 and the result is 16, you know that knock has been detected.

I don't have a Racepak dash to determine how to implement this "field Status 7 AND 16" calculation but if you can you should do it, or be aware that it's NOT just the value 16 that you should be looking for to observe knock detection, any value where Bit 4 is set indicates knock.

aidandj 05-23-2020 10:12 PM


Originally Posted by amaff (Post 1571785)
Thank you so, SOO much! The IQ3 manual was practically useless, and the MS documentation was missing a whole host of implied knowledge. I was completely wrapped around the axle trying to get this thing to play nice and most of the data fields you need to enter are completely undefined (and are different between the MS documentation and the RacePak software).

If we ever find ourselves sharing the same piece of asphalt, I owe you several beers. You're a legend.

Question, did you have any issues with the Ethanol content display? I'm running basic E10 pump fuel for now. TunerStudio shows right at 10.x%, but the IQ3 is seemingly a random number generator, occasionally showing up to 110%, which, obviously, is impossible, so something else is up.

Welcome! Glad I could help. I only had the problem with "noisy" signals, which I commented on a few posts up. 2.13 was the only firmware that worked for me.

amaff 05-24-2020 07:39 AM


Originally Posted by aidandj (Post 1571794)
Welcome! Glad I could help. I only had the problem with "noisy" signals, which I commented on a few posts up. 2.13 was the only firmware that worked for me.

Ah that's right. I'll see if I can't find somewhere to pull that firmware down and give that a go. Thanks again!

amaff 06-02-2020 07:51 PM

Well, I got 2.13 on and that went fine for the most part (other than partially bricking the dash until I re-wrote out all the VNET channels to it. It seemed VERY confused).
However, now I can't get the "and" warnings to work. IE: Oil pressure <20 AND ECU RPM > 400, for example. It basically gives me a warning 100% of the time. Not really sure what to make of that. Curious if you had an issue. I did check the channel through 1 of the display screens and it's giving good data (as is the Ethanol% now, thank you very much! :D), but for some reason the dash just can't seem to parse the "AND" warnings.
Any thoughts?


EDIT: Figured out the oil pressure warning issue I was having. For some reason (pretty sure I can see it clearly in the mirror...), different Display Pages had different minimum values for the RPM graph, and that was, for reasons I can't begin to fathom, screwing up how the "warnings" section was reading the RPM numbers.
What I wanted (and now have) is oil pressure to only warn if RPM is >400 and <9000 (ie: only warn if the engine is running), and it would warn constantly running or not, even with good pressure. Once I made the min-values consistent between the RPM graph for all 4 display pages, it worked.
I have no clue why, but I'll take the W.
Now to figure out how to get my "2-step active" warning to work...

amaff 06-05-2020 08:53 PM

Were you able to get the status bitfields to display? I'd like to warn when Launch control is active, but I'm struggling with what to set the warning limits to to make it work.

Raymond_B 08-31-2020 11:05 AM

Aidan, I signed up here to say a big thank you for this post. I do not have a Miata, but I am running a RacePak with an MS3/3X v3.57 and was really disappointed with it until I came here and read your post. Even with 3.14 F/W I was having issues with the dash and was ready to sell it. Once I read through this guide it helped immensely with some of the settings that are completely missing from any RacePak or Megasquirt docs. Now I just need to figure out why my temp reading goes to 0 and then back to normal every so often. Other than that all is good! Thank you again.


-Raymond


aidandj 08-31-2020 11:29 AM


Originally Posted by Raymond_B (Post 1580173)
Aidan, I signed up here to say a big thank you for this post. I do not have a Miata, but I am running a RacePak with an MS3/3X v3.57 and was really disappointed with it until I came here and read your post. Even with 3.14 F/W I was having issues with the dash and was ready to sell it. Once I read through this guide it helped immensely with some of the settings that are completely missing from any RacePak or Megasquirt docs. Now I just need to figure out why my temp reading goes to 0 and then back to normal every so often. Other than that all is good! Thank you again.


-Raymond

Glad I could help.


All times are GMT -4. The time now is 01:40 AM.


© 2024 MH Sub I, LLC dba Internet Brands