Jump to content
Simon-AE86

Toyota 86 CAN

Recommended Posts

Hello All 

I was wondering if anyone has had any success in integrating a Link ecu into a Toyota 86 and having it operate successfully with the CAN body systems? Can it be done? 

 

Share this post


Link to post
Share on other sites

I think you will struggle to interface directly, in our software you are limited to 6 CAN ID's and most OEM systems will sprinkle little bits of data out over a much larger range of ID's.  Most likely it will need some sort of CAN gateway/bridge in-between.

Share this post


Link to post
Share on other sites

we looked at this , there is a couple of GT86's running a Link with a motor change but they dont allow everything to work as a stock car. We had to go for a  competitors ECU other than Motec for our motor conversion.

The Link ECU doesnt have enough outputs (digital) to make everything work as a stock car but the AGT device looks like the way forward TBH.

 

Share this post


Link to post
Share on other sites

I know a guy from Dubai has integrated a Furry ECU into a a GT86. He spent arround 3 days to make the CAN work. So it couldn't be too difficult. 

If there are to less adresses available in the LINK ECU, you can use a Motec Dash as a Gateway between. Maybe the AIM Link dash could do that,too. 

Share this post


Link to post
Share on other sites
16 hours ago, mapper said:

I know a guy from Dubai has integrated a Furry ECU into a a GT86. He spent arround 3 days to make the CAN work. So it couldn't be too difficult. 

If there are to less adresses available in the LINK ECU, you can use a Motec Dash as a Gateway between. Maybe the AIM Link dash could do that,too. 

As above, I built a 2jz gt86 using a link Fury. Oleg Zaytsev from dynotech Ukraine was kind enough to share his CAN data with me. Everything worked on the car that we had on. We removed the ABS & airbag system as it was a show car so I cant verify abs and tcs but absolutely everything else worked as it should.

 

 

Share this post


Link to post
Share on other sites

Huge thanks to Tiz for the headstart.

I've taken the data and made some corrections based on the known format of the Can messages used in these cars. Also reduced the number of needed channels to four, leaving two spare. (This is based on an untested assumption that each frame added to a stream increments the transmitted or received ID by one (so on a stream with ID 354, Frame 1 would be 354, Frame 2 would be 355, etc.) as this is how other vendors do things.

I'm left with one limitation. At present the G4+ cannot take a starter request via CAN. Am I missing something? As I can assign an attribute to a CAN DI#, but I can't then do anything with that input. I'd be super keen if I could configure CAN DI#s the same way as normal DI#s (though it would probably require an additional value to set momentary/toggle)

Share this post


Link to post
Share on other sites
3 hours ago, ThatDamnRanga said:

Also reduced the number of needed channels to four, leaving two spare. (This is based on an untested assumption that each frame added to a stream increments the transmitted or received ID by one (so on a stream with ID 354, Frame 1 would be 354, Frame 2 would be 355, etc.) as this is how other vendors do things.

That seems like an odd assumption.  I have no info on 86 CAN but it would be highly unusual for any OEM to use sequential or compound messaging which it sounds like what you are describing.  

 

3 hours ago, ThatDamnRanga said:

I'm left with one limitation. At present the G4+ cannot take a starter request via CAN. Am I missing something? As I can assign an attribute to a CAN DI#, but I can't then do anything with that input. I'd be super keen if I could configure CAN DI#s the same way as normal DI#s (though it would probably require an additional value to set momentary/toggle)

Unfortunately there is no way to do this at present.  The only thing you could do which I admit is a horrible hack is to use the CAN DI to switch on an aux, then use that aux to trigger a real DI set up as starter switch.

Share this post


Link to post
Share on other sites

Not the Vehicle OEM in this case. Aftermarket ECU vendors, first one that springs to mind is Emtron, do this. After all, what other possible purpose could there be for allowing multiple frames to be defined on a single stream? Two different messages with the same message ID would be... Bad.

Share this post


Link to post
Share on other sites
2 minutes ago, ThatDamnRanga said:

Not the Vehicle OEM in this case. Aftermarket ECU vendors, first one that springs to mind is Emtron, do this. After all, what other possible purpose could there be for allowing multiple frames to be defined on a single stream? Two different messages with the same message ID would be... Bad.

You are describing sequential messaging which is where you assign a base ID and the following frames assume ID's incremented from that.  Unfortunately there is no industry standard for that "sequential increment" so our ECU's dont do sequential in this way - to give the best compatibility with a wide range of systems we make you assign each frame its own ID for this type of message.  As you say Emtron use an increment of Decimal 1, but Pectel use an increment of 0x8 or 0x10Hex, others use 0x1Hex etc.  The reason our CAN setup allows multiple frames to be assigned to an ID is for compound or multiplexed messages - this is where some bits or bytes in the frame are used as an index.

 

Share this post


Link to post
Share on other sites
On 4/11/2019 at 2:40 PM, Adamw said:

You are describing sequential messaging which is where you assign a base ID and the following frames assume ID's incremented from that.  Unfortunately there is no industry standard for that "sequential increment" so our ECU's dont do sequential in this way - to give the best compatibility with a wide range of systems we make you assign each frame its own ID for this type of message.  As you say Emtron use an increment of Decimal 1, but Pectel use an increment of 0x8 or 0x10Hex, others use 0x1Hex etc.  The reason our CAN setup allows multiple frames to be assigned to an ID is for compound or multiplexed messages - this is where some bits or bytes in the frame are used as an index.

 

Unfortunately this drastically limits the number of frames we can work with, as there are only six streams available, at one frame each. Basically meaning you have two options for vehicles which utilise more than six frames: a third party CAN-to-IO/CAN-to-CAN adapter, or go with someone else's product? 

Share this post


Link to post
Share on other sites
1 hour ago, ThatDamnRanga said:

Unfortunately this drastically limits the number of frames we can work with, as there are only six streams available, at one frame each. Basically meaning you have two options for vehicles which utilise more than six frames: a third party CAN-to-IO/CAN-to-CAN adapter, or go with someone else's product? 

How many total do you want?

Share this post


Link to post
Share on other sites
10 hours ago, ThatDamnRanga said:

Unfortunately this drastically limits the number of frames we can work with, as there are only six streams available, at one frame each. Basically meaning you have two options for vehicles which utilise more than six frames: a third party CAN-to-IO/CAN-to-CAN adapter, or go with someone else's product? 

I've done a few modern cars and havent found the 6 ID's to be much of a limitation yet.  You can always connect the 2nd CAN port to the same bus to get 12 ID's.  The user CAN was not really designed to allow OEM integration, even though you can usually get pretty acceptable integration in most cases.  It is more designed to allow communication with other 3rd party motorsport devices.  The bigger limitation that you will find when trying to achieve full OEM integration is the advanced math that is usually needed - checksums, counters or heart beats with odd increments, odometer ticks, immobiliser decryption etc.  Usually to do this more advanced stuff we would have to write it into the firmware as a predefined stream.

If it is a relatively common car and you have a complete record of all messages and what is required I can probably get it added to the firmware.

Share this post


Link to post
Share on other sites
On 4/14/2019 at 8:41 PM, Adamw said:

I've done a few modern cars and havent found the 6 ID's to be much of a limitation yet.  You can always connect the 2nd CAN port to the same bus to get 12 ID's.  The user CAN was not really designed to allow OEM integration, even though you can usually get pretty acceptable integration in most cases.  It is more designed to allow communication with other 3rd party motorsport devices.  The bigger limitation that you will find when trying to achieve full OEM integration is the advanced math that is usually needed - checksums, counters or heart beats with odd increments, odometer ticks, immobiliser decryption etc.  Usually to do this more advanced stuff we would have to write it into the firmware as a predefined stream.

If it is a relatively common car and you have a complete record of all messages and what is required I can probably get it added to the firmware.

The vehicle in question is a Toyota GT86 aka Subaru BRZ. I believe I have all the CAN data (6 messages) necessary for the operation of a key-start vehicle, thanks to a bunch of people including Tiz in this thread. It's the push-button start vehicles that use a couple of extra messages I have yet to decode. There's probably one or two more 'nice to have' messages that contain things like CEL, Traction Control lights and Cruise Control indicators that I also need to track down.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...