Our VIP Package gets you every single course at 80% off the individual price. For a limited time, save an additional $100 with coupon code 100VIP. Learn more

CAN Bus Communications Decoded: Step Five: Program devices to receive required data

Watch This Course

$199.00 USD $129.00 USD

-OR-
Or 8 weekly payments of only $16.13 Instant access. Easy checkout. No fees. Learn more
Course Access for Life
60 day money back guarantee

Step Five: Program devices to receive required data

08.25

00:00 The last step in our process is going to be to program our receiving devices and then double check that we have actually got our data flowing around the network like we expect it to be.
00:10 So we're going to pop across to our Plex display setup software here first and what I'm going to do to keep things nice and easy is I'm going to open a default template, so we're going to go open config, example configurations and in here we've got a micro display template for a Link G4+.
00:32 So I'm going to select that.
00:34 And that's taken us across to our device configuration tab here and you can see we've got CAN 1 port setup for our Link G4+.
00:44 So I'm actually just going to click on that and just double check all of our settings so we're on standard and coding mode.
00:53 So that's standard PIDs not extended.
00:55 They've named it Link G4+, we're set to 1 Mb per second, we're sending out authentication bits, everything there looks really good.
01:03 Just going to check our receive template as well.
01:08 And you can see here this would actually be quite a lot of work to set up manually.
01:12 We would be capable of doing it, you can go through the settings here and you can see everything is set up to receive on an ID and hex of 3E8 which if we actually just run our calculator app in programmer mode, hex 3E8 in decimal is 1000 there.
01:32 So that is the ID that we've set our transmission profile to.
01:37 It's a little bit of the default link number so that's why it will be set by default in the Plex software as well but that's a really good one to check.
01:44 So we've got 3E8 and then the second number in this column here is actually going to be the compound message index.
01:53 So it's going to be the subsequent bytes being transmitted out in that data frame on that one PID of 3E8 in hex.
02:03 Plex have then gone through and labelled all those channels and put that data coming in as it needs to be and we've sorted out all the scaling factors for us as well.
02:12 Now of course we've got all the documentation on these scaling factors from the Link help documentation so we would be able to set up this manually but it would take quite a lot of time.
02:23 So once again pre defined profiles really are awesome and you really want to do the research on which devices are going to be compatible.
02:31 However by taking this course we've given you the low level knowledge you're going to need to be able to set things like this up manually when you really have to.
02:40 So now that that's written to our display successfully I'm just going to scroll through the default pages on our display here and I'm just looking for some data coming through and you can see I've got ECU volts here as 13.96.
02:56 Now because our Link ECU currently isn't hooked up to any sensors, it's not installed in an engine, the rest of the data coming out of it is more than likely going to just be zeros because it's not actually running an engine right now, we haven't configured it for that.
03:11 However, voltage or the supply voltage going to the ECU is actually a really good way to check for CAN communications around a network like this because it is receiving a voltage from our power supply and it is outputting that on the CAN network.
03:26 So if it's receiving voltage correctly and it's decoding that properly, I'm very confident that it's going to be receiving and decoding the rest of the data from that generic dash template properly as well.
03:40 So we're now going to program the last device on our network here which is going to be our AiM MXP display.
03:46 So I'm just going to come across to the setup software for this and you can see we've got our AiM device connected down here.
03:55 So I'm just going to have to create a new setup for that, MXP display, just going to leave it with the default name for the moment.
04:07 And this will just be a generic bare template that comes up when your first set up an MXP display.
04:13 First thing I need to do for this particular software is we're going to head across to ECU stream and I'm going to choose the Link CAN bus base profile.
04:26 Reading through the documentation on the AiM website I know that that's the profile to choose to receive the generic Link CAN dash transmission profile on an ID of 1000 at 1 Mb per second.
04:41 So we're going to accept that, that's going to load up here, you can see it is telling us we're receiving at 1 Mb per second which is excellent.
04:49 Now remembering back, we've got our enable CAN bus resistor here.
04:54 I'm just going to uncheck that because when we did our bus planning in the very first step of the course, we determined that our Plex micro display and our Link ECU have hardwired CAN termination resistors so they're going to have to be at either ends of our trunk and our AiM is going to be on a node so I'm going to turn off that resistor there.
05:17 So I'm just going to save this profile now.
05:20 And it's telling me to continue I need to, ah because I've loaded a default profile in the software here, there aren't actually any display pages set up in it so I'm just going to have to really quickly set up a blank one of those just to give it something to work from.
05:36 We'll just select a default.
05:40 And we'll just choose to save that now.
05:43 Excellent it's accepted that and I'm just going to transmit that through to our dash display here so that'll just take a wee moment and then we'll see our AiM MXP turn off and turn back on and it'll probably have a slightly different display on the front here.
05:58 Cool so our AiM MXP display is back up and we've got a new page on the front here so I know that transmission, that profile that we've created has been accepted correctly into it.
06:08 To check that our CAN communication is actually working like we expect, I'm going to do the same thing as we did with our Plex micro display, is I'm going to look for that voltage parameter.
06:20 Now I could go though and set that up on one of the pages of the display and look at it on the dash here.
06:25 But more often it's actually better to get a readout of the device parameters in the software and look for it there.
06:33 Because Jimmy might have a particular way that he's going to want this dashboard set up so I don't want to go to the effort of actually creating all the displays on this dashboard before we sort out what that's going to be but I do want to know that we're not going to have any problems with our CAN transmission when we come to do that.
06:49 So if I just go back out to all and have a look at our device here.
06:53 Should be able to see all of our various parameters that are being transmitted through.
07:00 So in our AiM software here, we've got these parameters up here that are moving around a wee bit, those are actually all generated inside the dash themselves, they've got nothing to do with our CAN transmission.
07:12 So we're not going to look at those.
07:13 These ECU channels are going to be our CAN transmitted parameters.
07:19 An we can actually see here, ECU volts is coming through at 13,960 mV or 13.96 volts which is exactly what we're seeing on our Plex micro display here as well.
07:34 So those 2 devices are decoding that data in exactly the same way which is really good.
07:39 It's really nice when everything agrees here.
07:42 You can see we've even got some ECU fault codes coming through and some ECU limit flags coming through as well.
07:48 There'll be some fault codes coming through because our ECU currently isn't plugged into any sensors or configured so that's totally to be expected but it's another really good way of checking that that transmission profile is actually being decoded correctly.