 Okay, so I propose we continue. Now we come back on theory again. This time it's about the USB standard class overview. But I think now you already have some idea about this because we already used some of them. USB class, okay. I think you know what is this. Okay, sorry. So it's defined by the USB F. The class are supported usually by the OS system drivers. So no need to write your own. You will see that it's not always the case, unfortunately. And it ensures the compatibility between different USB Austin devices for sure. So there is some incompatibility introduced by Microsoft. Why range of applications, not all standard class are mentioned there. So we've got the main one that we address. For sure the first one we think about is the main storage. So nothing new. Then the multimedia transfer protocol. Maybe you have seen this when you are using your phone with a PC. That's it's a file transfer for the multimedia files. So it's on the file in order to share the access to the file system. And okay. So now you are how will say master on this topic. You have done a host. You have done a device on this. And so we have seen that some problem of connection disconnection. But I think we both already explain you this problem. It's required drivers for Windows 7 and 8.1. And so we provided one with a PID and VID. So it's specific. And there is drivers in Windows, but it needs to be linked to a PID VID. That means you need to sign your driver. This problematic will be addressed later by Lubos. You will see that obtain signatures for your drivers from Microsoft is not straightforward, but it's possible. And also think that you can request to have our PID from our company if you need it. But it's also seen. We will address this later. You will. Okay. So on Windows 10, it doesn't require any drivers anymore. Now it will be included in the system. So quite easy, but that's depending on what you are using. Usually to use the bug transfer, but I think you know that. And just reminder, transfer is finished when the packet is smaller than maximum packet size. It should remind you one answer you have done yesterday with Lubos. Keep this in mind because we receive requests about this again and again, just to this incompatibility. Human interface device, mouse, keyboard, gaming controller. So inter-util oriented. I think it's topics we already covered. As she did the scooters, you suffer a little bit when I show you this unknown number without explaining the encoding. You can find information on the net or on usb.org. Custom HID. This one, I think we have done this on the phone. Yes, we haven't done it. Sorry, I miss it. But only things it's a low bandwidth. Okay. Device firmware updates. So you have done the hands-on. You know the purpose of this. So also you can download a new firmware on the target. So it's supported as part of our system bootloader in some of our parts. That's depending on which part we are talking. Some of them we've got the DFU and some of them don't have. So it's included in our embedded bootloaders. That means you don't have to write anything. You can use our embedded bootloaders that you can't modify. You can't even have the sources. But you've got the functionality inside. So demo application and drivers. Lou Boucher already told you. Audio class. So this one has not been experimented during hands-on. Much more complicated. So you remember what type of hands point for this one? These are chronos. Yes. So it's a real time. So you've got the support of values, data formats and sampling frequency. So estate library don't cover all the features and data format. Because there is a lot. Here just a slide to sum up what we supported in the different configuration of our library. So if you are interested in the audio, it's a sum up of the situation today, I would say. About composite device. So do you already know? We have a couple of words. It's when you are mixing, I would say, two class together in a single device. For example, the ST-Link. When you connected it, you can see three devices. A master age. Just a master age. You've got the debugging link and you've got the ST-Link UART. So it's a link of this. So it's really example. It's not, I would say, possible from Qmerix directly. You have to modify the code generated to migrate things together. About the class support. So what is supported by our library? The master age is supported as device host. And from the Windows point of view, it's plug and play. MTP, it's just supported from the host side. From the virtual comport, it's supported. And it could request some drivers for other versions from Windows, except on Windows 10, it will be okay. HID, it's present everywhere and supported directly by Windows. Audio, okay. And DFU with drivers. So just to show you that when you want to do updates through USB, you need some drivers. But here we've got a way to communicate with HID. So we could imagine to use HID just to update some firmware without any need of drivers on your Windows. It's a possibility to use a custom HID because it's a transfer of data. So we could imagine that on the target, when we receive some data, we just flash it. It's a way to update a firmware thanks HID interfaces. Okay. The only constraint is the bandwidth at its lower. But if you don't mind about the time that it's taking to download your firmware, it could be a solution which is compatible with Windows without any drivers.