 OK. All right, good evening everybody. So let's just jump into the next slide. I think, yeah, thanks Marco for introducing. And then you guys can just, this is my Twitter handler. If you need to reach me after this session, just go ahead and tweet me inside that, all right? And then I'm obligated also to introduce my teams and Kaushik, senior R&D, software engineer. He's been working on the lead engineer also for the Python SDK plugin for OpenTap. And then we have three brilliant students from the University of California, Sun Cruz, Ivan, Alex, and Ashton. So let's jump into the agenda. So what we are going to look into today is, we're going to look briefly, I believe Brandon and Jeff have already gone through the introduction of OpenTap and also the architecture, but we're going to go through briefly. So set up the stage before we go into the tutorial self, all right? And then we're going to look into how the three students engage into the OpenTap and which program they are through via the, we call it CSSPP, which is called the Corporate Sponsor Senior Project Program. And then last, we're going to deep dive into the tutorial aspect. So what is OpenTap? So briefly OpenTap, it's a project for OpenTas, open source test automation, test sequencer, all right? And the main aim is actually to build a test sequencer, which is scalable, using a scalable architecture based of three core ideals, which is simplicity, scalability, and speed. This goes from your development phase until the production. So as mentioned by Brandon, time to market is very important. So this is where the core of it, the OpenTap itself, based of these three ideal cores. And then OpenTap is actually built on top of C plus C sharp, all right? And it's a proven language. So on top of that, we have right now Python SDK plugin, which helps a lot of people, especially those great fresh students, right? Most of them have their first language is definitely via Python. That's what we taught in universities. So we are in a good start also. And the OpenTap are being used right now in hundreds of products and applications, all right? And also, the foundation of OpenTap is fast, able automation solution, as I mentioned, is now from the start to finish on the DVT till the many things. So next, we're going to look into the architecture of it. This is basically how I would just let me give you a pointer, that'd be better. All right, so let's say we can see that it's the OpenTap itself sits in the center, the engine sits in the center, and then the rest of the components are actually plug-ins, like plug-and-play, right? So the OpenTap can exist by itself, but then when we need a device under test, we can create a new one, all right? We can create your own device and then plug it to the Open using the class. Either you extend the class or use this, all right? And then we also have a tested plugin, which is a test type, as mentioned by brand names, of kind of function. For example, let's imagine you want to do a benchmark for your own PC, right? This is a simple example to give you an idea of it, if you want to your PC. You have to look into a few components, right? You need to look at CPU performance, you need to know your RAM read, write, speed, and so on, and then also storage. So test type, we can look into one test type doing a CPU testing, another one is doing RAM. So all those comes into a group where we say, this is a computer performance test, right? And the overall is called test plan, but the small individual part is the steps, right? And then we also have the instrument plugin. You can create your own plugins. This is not tied to the OpenTap, it's a plugin, right? It's a plugin. So you have, in the future, there can be a lot of plugins comes, like a lot of new instruments. So in order to grow, in order to be flexible, the instrument plugin, you can leverage the interface or the base class of instrument and then create your own instruments on top of it, all right? And then we also have result listener, right? Now Keysight or the OpenTap has open source, the CSV result listener, where you can take the results from the test plan and then output it into a CSV file. And then we also have a test log result listener and a DB storage is one of them is a Postgres DB, all right? You can create your own result listeners by using maybe NoSQL, MongoDB, for example, or Time Series database, Sky's limit, your own ideas, whatever, how you want to do is depend on the project itself, all right? And then we have the user interface component as well. Right now, OpenTap comes with CLI, the CLI mode UI interface where, and also we have Keysight has its own editor, which is UI based. That one is based on the community addition, but you are not bound to just use these two. You can create your own user interface. Maybe you can create like a base of a web base, right? So Sky's limit, imagination is the best part, all right? And then we're gonna look into how OpenTap has been used across right now. So what you can see there's a four pictures here. This is just a sample, all right? But there are a lot of use cases. The one that on the top left, is actually a web UI automation. And then this one is the Y56 plus positioner testing, and then this is a cybersecurity penetration test. And the last is the robot arm in manufacturing. So all this kind of a different range of fields of testing, right? OpenTap can be used. So this is a real like a strength of the OpenTap. It can be in a lot of more thing fields and stuff, all right? It's not just a niche, sits on the certain niche field, all right? So that's the power of the OpenTap. And then right now let's go into the reason why we have this student engagement in our, on the OpenTap itself. So right now Keysight has been partnered with the University of California, San Cruz, to create a course in the University itself of being used to spread across other universities, to introduce test and automation. So this course will be using the open source PS lab board itself, where we have these oscilloscopes all in the board of the PS lab. So that's to actually teach the new students about the test measurement and the test automation. And then the reason why we do it is actually when we have actually encountered, when companies are looking to a new hire, right? New grads, one of the hardest aspect is finding the candidates that can apply the academic knowledge theories that they have learned for the past four plus years in the real or the real industry applications, right? So, and then many expertise in a specific knowledge silos, but few have the real depth knowledge and that can able to extend to other expertise or other areas. In addition to that, what we actually encountered is the field of test and measurements are not actually given a kind of like a important or interest like how other technology ecosystems are there. But the thing is test and measurement should come together with other inventions, right? Because we cannot do invention and never do the testing. So how are we gonna be use it properly or how are we gonna test the reliability or reliability of it, right? So all of these are very important. And what we key side see is actually a few key benefits of being in the test and doing the test and measurement is we effectively able to collaborate with the other team, all right? And we normally never work in a silo or individual and we can able to extend our knowledge from our core responsibilities, all right? And as day by day approaching, right? Hardware and software, the gap is becoming lesser and lesser. So eventually, once you want to do something in hardware, you need to also do programming. So the open tab able to provide this for the students and together with the key side, we are building the course for the students so they can have this knowledge, all right? So this is to break the normal sentiment that right now they have under the test and measurement field. So right now let's jump into the tutorial. I'll be sharing you guys the screen. Let me just, right now we have got a base of underling of open tab and remember, try to remember again, the architecture of it. We're able to go through it. We're gonna today build an instrument based of, we're gonna try to connect to use the PS lab and then make a class, specific class that able to control the oscilloscope in the PS lab IO and then try to make a measurement from that and then look at the result and look at our result listeners. So how are we gonna build all those steps? And the three engineers, there's three new students, a brilliant students from the University of California we're able to guide us through right now. And then please feed two questions and also jot down questions, right? We are there to entertain. Can everybody see this? Oops, can everybody see? Yeah, can you see? All right. And it should come set up the settings on right with the test plan in the middle. So you look to the left, going over test steps. We have multiple test steps we can use to test our hardware under PS lab. Alex talked about, we have our generate sign-on wave. We have our RMS voltage. And if we move, we have our test plan. When we add these, they will generate and be available here in our test plan. And our test step settings is used to modify parameters we wanna pass through those test steps. Our law panel is to view what is happening during the execution. And you will see information being printed here after you run the program. Now let's see how to create a test plan. The PS lab sign wave generator states a spec of 100 to 5,000 Hertz. We're gonna be using the test steps that Alex built to test this specification. Okay, so first we're gonna add some instruments. Do that by clicking on add new plus sign. And then we're gonna add our waveform generator and our oscilloscope close, go okay. We're gonna go to the left side on test steps. Now to generate sign-on wave, the RMS voltage. And we're gonna go to flow control and add the parameter range. Move the parameter range just by clicking and dragging it to the top. And I'm going to make the sign-on wave and RMS voltage children of that. I'm clicking on both of them. You're just leading to the sweep range as highlighted and just dropping it inside. You see this is completed on the left side of this diagram. This shows that these two steps are children of sweep range. To get rid of this little red icon and go to the left versus frequency, click on the three bars, parameter zone parent. We're gonna click on sweep range. Now we're basically going to edit the output of our graph and what we wanted to start and stop at during our test up. Kind of start at 100 and then stop at 10,000. Now let's run the test plan and see what results we get. We can do this by clicking on the green arrow. When our test is completed, we can make our way up to tools. Results we are. You see our x-axis as frequency or y as voltage. Around 5,000 hertz, you see it start to drop. So you can see we have successfully tested the spec of the board. From looking at this results here, you can also do many things with changing the x and y axis, the chart type, so the histogram. So now we successfully know how to create a test step and run it. We saw how to use OpenTouch to create a Python plugin on our PS live board and saw how to install and set up the community edition. Okay, so this is a quick question. Anybody else who's playing the video, the tutorial? Watching and listening, yes. Got left behind fairly early. Okay. Sorry, that's not a critique of the tutorial. It's just that to do it realistically needs the ability to pause and it's not viable during a live session. So that's fine. You can watch it again because it's a recorded version as well. So I think I just continue first, all right? Okay, currently right now, I hope the old development cycle, sorry, the light is switched off back to that mode. So what I'm going to say is I hope that the tutorial I've given you a glimpse of the development cycle, how to develop and the overall architecture, how the way the OpenTap engine reacts with how can be tied together. We can able to, how does it, like actually it's all, as I mentioned, it's not in the core, it's not tied together well. So it's like you can plug and play. So when, based on your project requirement, like how we just did just now, all right? We can have multiple plugins and then when that particular use case came in, we can just put the instrument in or the DUT in and we can use our test steps. We can create multiple different test steps and then create a new test plan out of it. And then it all works well, but it's not tied like a super solid. So it's all plug and play method, all right? It all is a dependency. And then if this overall session have triggered you, your passion or interest, if you can go into this OpenTap.io, you can also scan the QR code there. There is a documentation as well, even better documentation, a document for user and also for developers and how you can create your own packages out of it, all right? So even deeper. And then if you have any question across, before that, on the top side is what we can see is actually the OpenTap GitLab repo. We published our source code there, all right? And then if you have any questions while developing and if you just have any questions, right? Please do feel free, go to our OpenTap Community Forum. We'll be all there. And then you can also find the QR code and also I think Brandon have shared the links to the above and also the OpenTap Forum. I think that's the end of my session. And if you have any questions, I'm here to answer as well. All right, thank you very much. Darwin, great tutorial. I think there's no questions on the share notes for now. Quick question is the code that we just saw, is it available when I get a repo? Or you guys plan to put it somewhere so people can follow up? Yes, definitely we can put it somewhere. But how do we publish the link for that repo? Is there any way we can publish it? Yes, you can. Oh, let's see. Okay, I think I'll publish it in the session post. Yeah, you can also put it on the, if you just meet these slides later, you can also put it there. I guess, okay, definitely. Yeah, that should be good. Yeah, perfect. Thank you very much. Thank you. All right. So, we're on. I have a question if I can start. Oh, Maya. Maya has a question. All right. Darwin, I just wondering, that was a bit fast. I mean, like it was really compiled instead of my step. But I think it is great that you're sharing this video. And then people can stop and continue. Yes. But I'm also wondering if, were you based in Singapore, right? Yes, business in Singapore. So it would be cool maybe if we could work together with Hackerspace SG and organize a meetup. I don't know if that would be possible to do that workshop, for example, with people hands on. The situation is improving step by step. Of course, we have to see how things progress. But this would be something that I could imagine to follow up. And possibly also we could organize at one point in the next few weeks. Yes, definitely. We really love to engage with the makerspace and then give a live talk and be better, like face to face with a small group. It would be lovely also. You can organize a session like that. Yeah, cool. And you're already talking with the right person and Marco is aligning people there also. I guess it's a good contact, right? Yes, definitely. We'll keep in touch, Marco. Yeah, sure. Thanks very much. You're also based in Singapore, right? Yeah, yeah. I'm also based in Singapore. All right. Let's keep in touch. Yeah, keep in touch. See ya. Thank you. Yeah, take care. Thanks.