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 |
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 |
So did you like, sleep AT ALL last night? :laugh:
|
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.
|
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 |
I hate you. This thread is going to cost me money. :giggle:
|
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?
|
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?
|
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. |
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?
|
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?
|
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.
|
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 |
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
Back to the regularly scheduled thread... |
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.
|
:bowrofl:
|
|
And all of my videos so far.
|
@aidandj first class job! :likecat::likecat::likecat:
|
Threads like this make me realize how dumb I am. Thanks
|
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 |
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. |
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. |
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. |
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.
|
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... |
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.
|
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 |
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 |
All times are GMT -4. The time now is 01:40 AM. |
© 2024 MH Sub I, LLC dba Internet Brands