 As we've already said, I'm Mr. Hansen and I'm working for the Department of Health School, just a little bit of history where I am, so I'm coming here to the Department of Health School for like 10 years and I've been a user before that for 10 years. I'm in the other department, so we tell the Department of Health School that the enlightenment information libraries used to drive the enlightenment development and development there, and the recent intern, and also maintaining a small business terminal which is the main driving party of why I'm actually working on this kind of scenario, or come to that in a minute. And I'm also the team leader of the Center for Social Education. So, what I'm going to talk about today, first I'm going to talk about the development and why I'm actually doing that and why I want to test something like that out and why it helped me in my personal development process. Then I've got a little bit of power perception, actually doing there is not comprehensive so it doesn't mean I could get all the shit and everything, at least that's the use case in mind, and if you have a different use case it might be not the best solution for you. So, finally I've got to see an MPP, can you do the cannon ship, and that's why I don't, I don't think there's any doubt there what I'm going there, what the status is, what's the driver and so on. And then I talk a little bit about not the hardware side but the software testing side I'm doing because I really wanted to grab the testing side so I can actually run the driver test and run very much this way but still be far from that in general. Okay, so what happened did I actually try to solve it? So, as I said I may have to use more substance than the news column it's a 2504, which is for low time, it's a stand up for wide communication but it doesn't have much benefit or anything, but it's so powerful, it's part of the statistics. Something you might know, if you know, for example, the lower levels of that energy supply there, that's actually a 2504. And in particular the principle for this kind of concept we normally really simply want. They most of the time count as an FBA A in case for the data transmission and something that I do get out of just for 60 days a night and you are resetting the shape or maybe some other standard. So we normally, we simply write it and drivers are normally like only a few on the line so maybe I just got another graph from it this morning that was like 1500 lines but that was actually quite huge. So let's see the area I'm working in and I want to improve on that because what I did in the beginning I'm still doing some kind of to test these kind of devices I hope they're not too rescue pie just because it's so convenient to have it I could use a different development method but it just needs a pie model because I have some of them lying around but they have to do quite a few war bags with that at least in my part of the workflow for that. Building main time channels for rescue pie is not that easy because if I, I need to be updated as all what's going on in Next Next for example so the networking system to make sure that all my stuff that I send a request out is actually defined cleanly and everything so I need to make sure that these things are to be built and that's not always the usual part I have at least three or four problems with the USB host control and the need that I haven't been able to actually get access to the device for a serial line or something and it has always been painful to get it to be built in cleanly enough so we must have worked but they have been integrated for hours and just combined with pie instead of actually relying on working so that wasn't a denying for me then there's cross computation I don't really mind then that much but we always have to make sure okay you have the tool chain around everything is set up correctly and now I need to go to the backseat but in the future it's not a problem I'm trying to resolve here another thing that I'm not even able to the whole process of getting the kernel to the embedded board back in for the booting the whole test cycle was slow I mean, these are the things I just copied over from SCP and these are the machines that most of the time you could go with NFS and KFC and the kernel and so on there are a lot of solutions for that and all this involves more time in what I will come on later which I will discuss configuration at the same time and there's always a bigger gap so that's the problem statement I was worried about that for a long time I still keep going with my solution but at some point I asked myself should we not look into something else so the real solution I was thinking about was a really small chip it's just a really simple one because I don't want to make it more complex than it already is and that would be just having exposing FDI so I can really hook up the wires from my procedures to make it easy to then connect it before you speak to ICNR or my network and so on so another thing that I looked around I found a lot of these kinds of solutions but they're always exposed to FDI in the USP or the USP or FDI there or just as in a USP human interface device or something that's really if you have a really specific use case and want to have like the the logic for your driver or the sensor you're reading from or whatever inside your application but what I wanted to do was to make sure that I can test the right and compact terminal so all what I needed to set this FDI master on driver is actually exposed inside the terminal and I can hook it up inside the terminal and then everything can be tested to work for it so that was the problem when I looked around first yeah another thing was that I really wanted to have a quick turnaround on testing here to start a chance on screwing up my own system building a terminal that comes from netnext and be building it on my main workstation that's not what I'd be able to do because it can really screw up your whatever, maybe even your files I mean normally they're done but the possibilities are great what I don't want to have again was like I want you to work in bed more I want you to wait for a situation not make money and so on so no user space library, no hidden facilities so I looked around looked for how to speak SPI relationships I was able to find but as I said I released a specific use case in line so the last one you can see here so if you have a use case and you go to the limits of SPI this should not be the best one because what I've read and seen so far it might not have the best SPI performance in general and you always have to think about that if you're bringing over a new speed new speed is getting pulled from the SPI port controller on the device so that all the power interlock can do everything as a latency and that might give you a worse bandwidth than you would normally have but at least for my specific use case I was able to and yeah it has SPI interface it has extra heat aerokines it had to be a share of the data sheet that's available because without it I'm not really having any intention to have it quite directly there must be shift development board normally you get a normal evaluation board from the manufacturer or something that's $17 or something it's fair for me to buy that and a bit more exposure to other people to use that or even buy a couple of them because you don't develop like this you can see that so then you quickly search devices and connect them over your SPI or something I want that something really cheap I find it also in Europe that's the military so looking at this I looked already in the e-deriver and it's having some kind of storage like an ether or something to store configuration so when I looked around I found like four devices there are more so at the time that's not a complete research topic yet but once I found what I was looking for I just stopped for some time so the MPP and through the panel there's public data sheets there's no main line driver there's messes to them because if I reset to that that means there is a vibe actually but it's not doing what I actually look for it's a vibe that's equivalent to the type of person can read a space device and where you see and then you can use it from who's page and talk to the SPI device but that's not the solution I was looking for but there was a lot of feedback but I couldn't do what I wanted to do I come to the data and there was really cheap development what I made in Europe so the other ones had all had problems in some regard and some cheap development at least I haven't been able to find one and I was not really doing another piece of Venusar and getting manufactured the FPDI sheets were supported there are sheets also there but getting this one in a situation where the driver would do what I wanted which has been more complicated because there was not a clean driver doing that and then there's something from Cyprus and they have really really cheap development what I think that was around like a few dollars or something but I haven't been able to find the data I haven't been able to find a clean driver anything so I really decided to not go because I would invest more of my own resources so I had to be saddened for the M2P-2010 or you mentioned that there was a sheet based on the data available I found a computer I was a bit hard for that and the one I was mostly working with so far is the one from the data centers who progressed quite well by now but certainly never made it to the main line what's the possibility because it's quite huge it's like around 9000 light years old and for such a simple device there's quite a bit of infrastructure on the editor so you have a mining structure this is in the phase ICDL in the phase there's like a lot of configuration options to make something like this which is like oh it's an SPI it was really flexible but I was making a really complex without any need for it so when I started looking at the sheet the first thing I realized is that the news column already detects if it's BID and tries to assign it to the USB human interface device which is probably because I don't want to use it so one thing you can do is having a unit to unbind the rival and make sure that it detects on your own the other thing you can do is drive into the e-gram from the ship your own product and vendor ID so that you can actually as you have one of these so you can find a project to offer you something and then you can go from there and because it's stored in e-gram it doesn't mean it's even there after research and everything so that is actually the solution but I haven't done that yet so what you need to do on the e-gram side in the normal USB probe and disconnect functions that get encoded and put into the device you need to make sure that you are setting up an SPI master device inside the system so the basic things basic steps you have to do is first you can go and locate the master master master struct and then you have to do this to the SPI sub system and once you have set all the things up you somehow need to let the system work on the SPI device because SPI is not a master probing mechanism or anything so you don't know what to catch it you have to let it come in order and there is the struct SPI board info for the structure that you need and then you have to call that you have some action of the non-ADS and then you can detect the device, load the device and try to do the program so that is the basic step that I have to do in the program but the configuration I mentioned already with the struct SPI board info there look for a really steady configuration where you say hey I'm not exactly what I have here I have the code, compile the driver and I'm done with that then it's okay to change things often but if you have to do a bit more scenario where you change the SPI chips on the you connect it to them or have generally no extra need for that you really are thinking about what kind of configuration you are going to do there so that is what I come to the next part in provisioning but then I mention here configuration what kind of configuration I want to do I sort of do in runtime or we only want to configure the chip during loading methods so the biggest part of the driver from that extent of that is already there is about talking to the device making it configurable during runtime and then you can fiddle all kinds of bits there and that makes it really really complex I mean that might be good for some of these cases but for myself it was really one of the things that getting me annoyed with girls who all don't understand it and it also is a good problem if you want to get the driver to mainline because if you start having your own system in the case or even introducing new ISDLs or something that will be part of the kernel or API and they are not really happy getting new ones if you have a really good one that's fine to do but I don't really have the reason for that so what I am aiming for here is to put all this out for now and we have only a compilation during compile although it changes out so for this reason I also start to mention that you need to have a way to get this information about the IP device to come so you have to know what to touch to them and make sure that the driver actually gets all this amazing the board control is a good start if you just want to get hooked up and get the driver development worthy so that's what I am doing right now and if you want to be more flexible if you want to re-compile when you are touching the device or something so normally happens on a bad board you have to know the device please on this SPI board this is I keep him on something you have this kind of device attached and this is something I think it should do in this project as well and most likely it will also store it in the e-bear on so the next time you are looking at the driver it's already configured everything because you need to find a way to write to the e-bear on and send the new DS over but I am also best successful if anybody has a better idea how to read it I am all obvious here but that would be my problem I am not there yet but I am going to be one of the things I want to do because I don't want to have the same amount of free because that would not really help me in my use there at all so as I said I am not one of those kind of problem because it is a lot of code that we don't actually need to have what we have right now so one of the things is to make it very more simpler so I started to remove some of the extra infrastructure as this person added that is already present in the current place there there have been a lot of checks for a lot of training because you are building against different chrono words and stuff like that so there are a lot of things to do I also started separately writing the driver for the initial task from the scratch to actually compare and continue to do that although it is dark and manual I haven't really made my mind out yet what operation I should do so the last item here is that I have these devices attached to my laptop or my workstation but I also want to have a really quick test on the development side so I use I won't forget for a while this USB test room but I always have the annoying parts that I feel I have to or need to ask for this image you have to make sure that all the tools are installed it is sometimes annoying to get all the things things up so at some point I started to overwork me because really a nice selection of some highly pricey scripts that do nothing else besides going wrapping to your own KVM and make sure that you can't get to the boot that compiles your laptop that is sitting on your disk and then you can hear a normal load system and read out a note and you can boot up the thing and that really will happen to me a lot so to work for I have to do it. I said I build the laptop and on my own just for the ease of it that has that 2K image then I give the okay so I say my home directory will take that one as a root I take the user image give it to them and just for my specific use case I give it to the USB product and vendor ID from the host and then the whole USB has to get into KVM and the guy will get into KVM and you can use the whole device as the boot gets as your machine so when I decide for a board I decide for the testing part of the software so I decide for actually a board to board it see how deep do I want this to take me to the board and by now I'm in the process of opening up my own receivers and getting them detected so they get detected but I'm not done yet in having it all set up in terms of getting the IRQ moving correctly and having it really exposed to my software and that is what I'm working on I hope of that I would be finished by now but it depends so the next step would be a simplified driver then I need to think about more about the provision and solution and talk about and the next thing is the last thing would be to get it on right? so I put it in from my side I only have 15 minutes left so thanks to all of us and pleasure coming up I actually did something like that you use that but that wasn't enough to design for example the controller and the other all sitting together I designed a new key so I did that but I didn't want to go the whole way designing the board, setting it all up and making sure for that so I could have done that way but I really wanted something not the shadow that I can just create so that's the main solution because the investment of time resources has to be as much as possible so that takes me a long time to get it all set up and then you have to find a way to sell it to people but we are here with you all for the question and the rest