 We're going to open the project. Now, depending on your PIN assignments within Windows, it should automatically launch a TOLIC on your laptop. And you should get prompted for your workspace location now. So if you have a previous TOLIC workspace, that's the first thing it's going to put there. If you've never run a TOLIC before, it might put a default workspace in the install path of a TOLIC, or it might be blank. So you now need to give that a path for where your TOLIC is. But it cannot be the same as your project one you've just had. For that one. So mine's a completely different path. So I'm a TOLIC and workspace. Whereas my project's in KubeDemo's BLE. And you can just say OK to that screen once you're happy. If it's the first time you've been into a TOLIC, you'll get presented with a welcome screen. Otherwise, you'll get the standard IDE interface. TOLIC is a single workspace multi-project environment. You can have 10 or 20 different projects down this left-hand side. But there should have been one that's whatever your project name was, somewhere in that tree. So if your file association didn't work, then you'll have to do a manual import, which you can do from the top menu or just right-click in this workspace section and go import. So there's different ways to get the project into the Eclipse environment. Yeah, you can do a customized perspective as well. So if you do want to save a perspective, you can save a perspective based on how you want the windows to always open. You'll still always have that reset perspective available to you, which will put you back to this default condition all the time. So for those of you not seeing the output from a Kube project, which I think most of you have now from the other workshops you've been through today. As you scroll down main.c, you'll see lots of these user code begin and user code end labels. These are the equivalent of compiler directors for the Kube MX tool. If you type code in, say line 55, and then decided to rebuild again via the Kube MX, any code you had written at line 55 will be saved and not overwritten with the default configuration in Kube. If you typed line 57 and then rebuilt with Kube, then your code would be erased and replaced with a standard template. So inside Kube, there's a little tick box, which is there by default, which says maintain code if it's between a begin and an end. There's lots of these begin and end all the way down this main file. So we're not restricting the way people write their software too much, but you've got the option of disabling it if you want to. So it depends what you want to do. So again, it's flexible for the customer and how he wants to do things. It won't interfere with your source files. It might delete them though, because it might decide that that file is no longer needed in the project. So then again, it's a tick box in the Kube. So there we're met inside the Kube MX tool. There is project and settings, and it's the code generation tab. There is one that says delete previously generated files were not regenerated. It might see your, say, additional .h as a not previously generated file, and it might remove it. So you might need to deselect that tick box. So it's just a way of keeping the folder tidy, that one is, so that you don't end up with lots of redundant files. But if you're adding your own .season.h's, this one might remove it because it might decide that, oh, this is not being generated this time, therefore I don't need it. So yeah, so it is a tick box you can remove, so that it won't delete those files for you. And there's the one where it says keep the user code as well, which is in there. As there are 10 people in this room, you've all generated the same code from the same default example. Therefore you're all going to generate the same label and the same MAC address in a minute for your Bluetooth device. So we're going to have to give everybody's software a unique code number so that you'll see it when it uses your Bluetooth scan to see all the different boards in the room now. So to do this, we need to open app blue NRG-MSC file. And you need to scroll down to lines, numbers 93 and 94, where you can see a blue NRG name and a MAC address, or what looks like a MAC address, a string of hex characters. If we go around the room, we're going to change this first value from 12. So if you take number one, zero one, zero two, zero three, zero four, zero five, zero six, zero seven, zero eight, zero nine, one zero at the back. Yep, is everyone okay with that one? And just to make sure, because the two different apps, the iOS app and the Android app show different things, you're going to also need to change that name as well from blue NRG to something else. So if you take your dedicated number, which means if you're in the Android app, all you see is that number string. If you're on the iOS app, you'll only see that label. You'll still see the blue NRG identifier or broadcast signal. That we can't change because the app is looking for the particular broadcast signal for it to function correctly. If we had the ability to change the app, then we could change the broadcast signal as well, which is in a different file on this structure. I'll be number 11. So I'll turn mine to be blue NRG number 11 then. So if you do something like that with yours just so you can signify it when you do the scan to see which is your board, otherwise you might talk to somebody else's board in the room. Once you've changed that, you can now build a project which is the hammer symbol and it'll go off and build your code. There are ways to increase the speed of the build to enable parallel build processes. It's in the properties of the whole project. By default, it's not enabled. When you're building lots of times, you might want to go and set that to be enabled. It's in the slides, I think, so that you can see how to do that. So there we go. So I've now built at 25K. Once you've built the code, you can now highlight the project and go run and debug. And it'll now go off, change your atomic into the debug perspective. So as everyone managed to build and when you've built, you'll need to connect your board before you enter debug. So I'll hit Resume now on my target board. So my code is now running. So I'll go for my phone app and I will enable the blue NRG app and I will do a scan. No, no, you just need to hit the Resume button and then it will run it on your board and now you need to go and get your phone to go and scan. The Android will see the number. That's why I'm only giving numbers out rather than names. I can only see the number. Blue NRG will always be there because that's the broadcast which is needed for the app. The app needs to be able to see the blue NRG. If you're on an iOS one, you should see blue NRG with another name below it, which I think is that second name that I told you to edit. So you should be able to select your board, hopefully, and it should launch the app where you see the cubes. And if you press the blue button on your target board, the blue button will simulate MEMS data and rotate the cube in steps. With the Android phone people, if you're not seeing anything there, please put your label back to just blue NRG. Lose any numbers on that one and just stay with the number on your code or change it to 1-0 rather than 0-1 because, again, you've got to refresh both, again, for the phone's cache to do. So, yes, if the Android people put that one back to blue NRG and change your number to 1-0 or 2-0 or 3-0 rather than 0-1, opposite way to what you had previously as your number and only the first number only. Within Cubamex itself, there is a user manual. So under the help, you can open up the full user manual which talks about adding these software packs into the system as well. So you've got the slides which you can download from the Google Drive, but also there's the full user manual that goes into detail about adding in software packs. And then also within the pack itself is the documentation for the pack. So there's a user guide for the BLE pack which tells you how to do exactly what we've done.