Hello and welcome to this presentation of the Single Wire Protocol Master Interface, or SWPMI. It covers the main features of this interface, which is used to connect a smart card to the microcontroller. The SWPMI integrated inside STM32 products implements a full duplex single wire communication interface in compliance with the Single Wire Protocol defined in the Etsy TS102-613 standard in master mode. The STM32 embeds the SWC transceiver. Applications benefit from the easy single pin connection to a smart card for full duplex communications up to 2 megabits per second. The SWPMI inside STM32 products offers 3 operating modes, with or without DMA, which are explained in detail later on. The STM32 supports both Class B and Class C supply operating voltages. The SWP is full duplex on a single wire thanks to the following principle. The S1 signal is transmitted in the voltage domain from master to slave. The S2 signal is transmitted in the current domain from slave to master. The supply voltage or class must be selected in the STM32 during software initialization. A dedicated 1.8 volt voltage regulator inside the SWPMI IO register is used to adjust the SWP voltage if VDD is 3 volts. The S1 signal is transmitted by the STM32, the master, to the smart card, the slave. A duty cycle of 25% on S1 codes a logical 0 and an idle bit, while a duty cycle of 75% on S1 codes a logical 1. The S1 signal frequency determines the transmission clock. The S2 signal is transmitted by the slave, the smart card, to the master, the STM32. The slave draws a current while S1 is high to send a logical 1. If the slave does not draw any current while S1 is high, it is a logical 0. SWP frames start with a start-of-frame field coded by a 7E byte in a hexadecimal format and ends with an end-of-frame field coded by a 7F byte in a hexadecimal format. The payload contains between 1 and 30 bytes of data. The protocol also implements bit stuffing. An extra bit is inserted in case of 5 consecutive bits at 1. This guarantees that the start and end-of-frame fields are distinguished from the payload bytes. Data integrity is guaranteed by a 16-bit polynomial cyclic redundancy check, or CRC. The SWPMI automatically handles the start and end-of-frame fields, stuffing bits, and the CRC. In this way, software just has to manage payload data. Several states are defined for the SWP bus. In deactivated state, the S1 signal is at a low level. Before starting any communication, the master must raise the S1 signal to high level to set the SWP in suspended state. Once communication is no longer required, the SWP can be deactivated by the master. Now, either the master or the slave can initiate a communication by sending a resume sequence. A resume sequence by the master consists of a transition sequence and eight idle bits, whereas a resume signal by the slave consists of drawing current until the master detects it and as a consequence starts to toggle the S1 signal to allow the slave to start transmitting data. Here is an overview of how the SWP bus states are managed by the STM32. You can refer to the reference manual for more details about the initialization and activation procedure. Here is the block diagram of the SWPMI peripheral. The kernel part is clocked either by the HSI16 internal RC oscillator or by PCLK1, which is the APB bus clock. The interface with the APB bus allows access to the SWPMI registers by the CPU. There are also connections to the NVIC and the DMA. The SWP transceiver is embedded in the STM32, which interfaces with the external pin through the SWPMI IO signal. Here is the default configuration using the internal transceiver. The SWPMI IO signal is available on the PB12 pin. It's also possible to connect an external transceiver using a configuration bit in the SWPMI registers. In this case, the suspend, receive and transmit signals are available on pins PB15, PB14 and PB13. Pin PB12 can then be used as a standard GPIO. Let's look at the different operating modes, starting with no software buffer mode or NSB. In this mode, data is received and transmitted in polling or interrupt mode or by checking the SWPMI flags. Software intervention is required each time the received data register becomes full or when the transmit data register becomes empty, that is to say every four data bytes in the payload. Software single buffer mode or SSB is used to transmit or receive an entire SWP frame without software intervention. A 32-byte software buffer for frame transmission is defined in RAM, and the SWPMI automatically reloads the SWPMI TDR register through the DMA until the end of frame is received. For reception, a 32-byte software buffer defined in RAM for frame reception and the SWPMI RDR register content is transferred to the RAM by the DMA. The first byte in the RAM buffer is used to code the number of bytes in the frame payload. The last mode is software multi-buffer mode or SMB. This mode also uses the DMA and several SWP frames can be handled without software intervention. Let's look at this example of a transmission with four frame buffers in RAM. In this mode, 32 bytes are always reserved for each frame, regardless of the payload size. The DMA must be configured in circular mode and the number of words to be transferred must be set to 32. As in SSB mode, the first byte of each buffer is used to code the frame length. This is the TFL field. Software can read the DMA counter and update each frame buffer accordingly. In this example, three frames can be transmitted without software intervention. The transmission is stopped by disabling DMA circular mode. In case you need to stop transmission before the DMA end of count, you must set the TFL field to zero. This way, the SWPMI will no longer issue any DMA requests. In SMB mode, several frames can be received without software intervention. Let's look at this example for reception with four frame buffers in RAM. In this mode, the DMA must be configured in circular mode and the number of words to be transferred must be set to 32. The frame length is available at the end of each software buffer in the 31st byte. The status of the frame stored in each software buffer is available in the 32nd byte, which contains the error, overrun, and buffer-ready flags. This way, software can check the buffer-ready flag, read the buffer, and clear the 32nd byte. Here is a summary of the events able to trigger and interrupt in the NVIC controller. Transmit and receive buffers, transmit and receive registers, errors, CRC, overrun and underrun, and resume by slave. DMA requests are generated by the SWPMI for transmission and reception. They must be enabled when working in SSB and SMB modes. The peripheral is active in run and sleep modes. All SWPMI interrupts can wake up the device from sleep mode. If the device is put in stop mode, only a resume by slave event can wake up the device. In standby mode, the peripheral is powered down and must be re-initialized after exiting standby mode. This is a list of peripherals related to the single-wire protocol master interface. Please refer to these peripheral trainings for more information if needed.


Vitamix A3500 is on sale right now.  You can get one a certified reconditioned A3500 for Vitamix days. I'm here. I have about 40 more seconds to tell you about Vitamix days. Usually it takes people three to six weeks to figure out. Is the Vitamix right for me? Which one should I get? But Vitamix days is the best sale all year. Better than Black Friday. So it's the one time of year I can say yes, getting a Vitamix should be an impulse decision. Let's go fast. Built to last chef's choice. Easy to clean, easy to use. Smoothies, hot soups and ice cream. Queso, detox salad. And the only regret you'll have is not getting one earlier. If you want one with no digital there's three options there but you can go with the 7500. All the accessories on sale but if you want just one get the underblade scraper. Containers too if you want just one the 48 ounce. Food processor attachment bundle. Yep if you get an Ascend. Tell Vitamix who sent you and we'll get your ebook. Guys they cost a lot but they're worth a lot more than they cost.


Going on everyone Sam here with late in sports guards from in 2020 21 and 22 We need to play about football hobby six box mixer number two and a team style There's a look again at your end results as always you can find those on the website under the results tab as well as the link in chat So if you go in reverse order here, we'll start with 22 I'm excited for the Zenith photo mixer The Zenith iMac. I like Zenith first off the line Yeah, I do Nice jumbo patch Danny Gray 36 and 99 for the Niners Mammoth material got a Brian Robinson jr. Goal line graph 62 is 75 For the commanders as well as a copper cup. That is nice 7 to 25 auto for the Rams crats on that mark with the Rams Then we've got a 65 of 99 George Pickens rookie jumbo jersey booklet for the Steelers There you go Pittsburgh drop guys a link really quick to 2020 at Bowman Where you go? Nope not not question mark really go exclamation Nice Josh Allen 30 of 99 there you go Wayne. That's one there buddy four color patch and one color jersey for the bills That's gonna be a copper cup. No, that's nasty four of 99 two color one color. That's colors on that one for the Rams Auto is gonna be Micah Parsons 185 out of 199 in the hash marks for the Cowboys and One of 49 Alec Pierce two colored patch auto jersey booklet Grats on that one there Colts a lot beyond 221 Two boxes 21. We got Julek on the cover of 2020 Whoops You want a Williams rookie Jersey 62 or 75 then our Broncos Got a Tyree kill Hot routes that is gonna be 270 out of 299 for the Chiefs. We've got signature routes Three-color patch auto one of 10. No offense There's a lot of a lot of white waiting on that corner. I'll send an empty box and wrapper with the Broncos Player warns. Sorry about that Denver. It tends to a lot of times be the case in these Playbook boxes because they're packaged tightly in the book that tends to have to move around a little bit too So that it's gonna be six of ten Pat Firm youth For the Steelers congrats on that one for the Steelers. I think it's definitely possible You think Josh Allen wins a Super Bowl in his career? Yeah, that's a big move Yeah, it's true. It's kind of wild that he led the league in turnovers think about it It's kind of wild that he led the league in turnovers last year I can see it. Second half of the year. He was like super sloppy though. Yeah You've got Jalen Darden 123 out of 299 for the Bucks. I mean that game we have some Vikings you could just throw it the Patrick Peterson True true. Kaderius Tony nice one there. That is three of 299 for the Giants Terry McClourin scary Terry 36 to 49 for the commanders and Going to the Seahawks 62 of 99 the Screech the Wayne S. Grinch nice one there Seattle the Screech, baby The original stick right here. That's true. That's right. This is where it all began So if you want to dislike anybody dislike the Wayne S. Grinch Dislike me The Screech baby. Oh, yeah, there we go That's really the only player same PCs. I do actually have Harper actually gave me a PSA 10 Screech card. It's just like a Screech auto. It's so funny. I like dude. That's awesome Like where did I was like, where did you even find that? down in dirty that is Jarvis Landry game used to 149 for the Browns Got a nice that's gonna be Jordan Love mammoth materials 151 out of 199 for the Packers Redemption J Jetta's rookie playbook Jersey autographs unfortunately is expired Still a nice one there for the Vikings. I would definitely try to reach out and see if they've still got it That's John D. Nice one there and 49 of 49 James Morgan for the Jets now it would be James Morgan James Morgan There you go Jets Nice box of the break everybody See a big name CQ to see a burrow or her or two are hurts or love honestly at this point. That's true. I mean Lynn Bowden it's going to the Raiders 18 of 75 Yeah, I know it's too bad. That's a redemption on the J Jetta's Got a Chase Claypool. That is 69 of one 99 Mammoth materials for the Steelers nice one here one of one printing plate rookie auto is cam acres I just went there for mark in the Rams. Congrats mark and one of one printing plate Yeah, not you think 13 of 25 rookie signature locker AJ Dillon To color then I think that sock football Jersey helmet. I believe A lot of patches going on there. Yeah, I mean But he's pretty solid. He's pretty solid. Yeah Could be a star there. Congrats Green Bay Do a quick recap here everybody. We've got our jerseys first.  We had AJ Dillon James Morgan the scratch Pat Friar Mews Alec Pierce and George Pickens. It's gonna do it for the break everyone. Thanks again for the fill up next is the origins mixer


Hi everyone, Joe for jazby's casebreaks.com. Guess what? I forgot again. I was so excited about the break itself The hitless giveaway. Come on, Joe So basically any any card that's pulled including base cards will count as a hit And if you went hit list if you didn't get anything then I'm gonna randomize those names name on top winner Take all $50 a break credit. So let's So we had Juventus So Juventus hit Robert. You don't have a shot at that We got Eric Lamella Tottenham. So Jason you're not part of that break credit The other one was Peter check for Chelsea Brian Croft Got something Matuidi another you Juventus player. We already got in when we had Eric Dyer here another Tottenham player We already took care of that. There's Ross Barkley Aston Villa and There's rookie card of Maxi Gomez That's for Valencia Oh, sorry. Yeah, I guess it really technically doesn't matter There you go. All right. Now. Let's grab all these names And put them into this blank list right here. Let's take out the blank spots And let's roll it and randomize it name on top after seven lucky seven fifty dollars a break credit two and a five seven times one two three four five Six and seventh and final time name on top. There you go Hyun-myun Kim Kim Hyun-myun with $50 break credit to jaspyscasebreaks.com. Thanks for getting in really appreciate it I'm Joe for jaspyscasebreaks.com. I'll see you next time for the next break. Bye. Bye


The Appalachian Center for Advanced Eye Care at Pikeville Medical Center is now offering a new type of eye treatment for those experiencing dry eye disease, recurring corneal erosion and other ocular ailments. The Optosite Amniotic Ocular Matrix treats patients without the need for surgery. PMC Ophthalmologist Keith Eisen tells us more. It's just like a regular contact lens, but it has no power associated with it. It's just for sort of like a clear bandaid purposes that goes over the eye while the membrane has time to dissolve. And previous to that we had another application that was much more uncomfortable for the patient. You have the membrane that's sort of kind of really dressed over a hard outer shell that you apply to the patient's eye and it's really uncomfortable. So this is more or less much more comfortable for the patient. Leave it on for a few days and it dissolves and in the bandage contact we just physically remove later. When my baby was born, it was magical. And as she grew, having a hospital close to home with advanced healthcare and specialized physicians being there along the journey was important. And along that journey, many special doctors touched our lives.  Pikeville Medical Center caring for every moment in life. The membrane contains nutrients that benefit the eye, which speeds up the recovery process. This alternative method could prove to be effective for patients not responding to other types of treatments. So it's sort of kind of got different indications. One is like we probably talked before, severe dry eye problems that's not responding to typical medical treatment, we can think about applying these and they can be applied more than once. But it's sort of kind of has got growth factors, nutrients, healing factors that are naturally in the membrane that sort of kind of help the surface heal faster in a better way and may augment that with the medical treatments that we do. Reporting from Mountain Top News, I'm Nick Colum.


What I've been loving for the past two months since I didn't do a beauty favorites in the month of July I wanted to bring you this video of what I have found that I'm really loving Friends, I decided to just go ahead and show you the things that I have been loving for this short hair We've been talking about it in the comments back back and forth so much And you guys have been talking about how much you like my hair a little bit shorter I have to admit I am not really used to it, and it's not really my favorite look on me Although I'm getting more used to it, but I do like my longer hair So I'm thinking about growing it out just a little bit longer We'll see how it goes as time goes by But I wanted to show you some of the things that I'm loving to do my hair and actually did this cut because my hair was In rough shape. I don't know what was going on whether it was a medication change or what but my hair went through some Bad things and it was looking stringy and it was looking awful cut like seven inches off of it I had to do it. It had to be gotten healthy again. I had to take the plunge So as I was doing that though I was also noticing that my hair was looking really dull and just not like it. It was itself It didn't have any life. It didn't have any shine to it So I went on the search for something that would help give my hair a nicer glaze to it or a nicer glow to it And I found the John Frieda luminous glaze for all shades and this is a clear shine gloss This has just changed my hair completely as far as me feeling like it has life again to it You know, sometimes you feel like your hair is so so dull with its color and that you you know You look at a little girl and she has the most beautiful glossy hair This is glossy hair in a bottle right here and this is really easy to use You can use it in the shower on a daily basis. You leave it on for like three to five minutes I believe if you're gonna use it on a daily basis What I do is I'll wash my hair towel dry it specifically in the sink just to be able to do this And I will dry it really well And then I'll put this glaze on it and just pile it on top of my head with a clip and I'll leave it on for like 20 30 minutes and Then I have this glaze on and it looks so pretty for up to two weeks So it's usually like about 10 days when I start to notice I need to glaze my hair again But it doesn't weigh your hair down It doesn't make it look weird and you know like it's got water in it or glassy or anything like that It just gives a natural shine to it And I really have been appreciating this and it's not super expensive either. I got it at Ulta last time I talked about my hair. I held up two products and then all of a sudden I was like I forgot to even talk about the second product. This was the second product I have talked about this on my channel before but what is great about it is that now that my hair is shorter And now that I'm in menopause and I have a tendency to have my little personal summers When that happens, this is going to hold my hair in a little bit better And this is the Kendra thermal styling spray firm hold. This is number 19 And what I do with this is after my hair is completely dry I will go in and I will spray this all over my hair And I'll make sure I lift and spray under and then I will let it dry for a second And then I'll brush through it and what it does is it holds your curls so dang good So if you're somebody that straightens or if you're somebody that does use a curling iron like I do Then you're going to notice that your curls are there for so much longer I got away from this for a long time And I was just really upset with my hair because I thought one of the changes that was going on with it Was the fact that I couldn't get it to curl anymore. Well, it wasn't that it was that I wasn't using this product I have very fine very stick straight hair that is limp and This helps with the volume and the curl and all of it. So this is great I don't spray this on the roots though. You could there's nothing wrong with that It actually dries so quickly that it would make those roots stand up if you're using it like so you wanted to pull a section up Spray that section let it dry and then put your curling iron in there You're gonna have some, you know great volume because I have done that before as well great product one that I've repurchased Probably for the past six years or so. So this is one that I did want to talk about when we're talking about hair This is one that I recently came across because of my hairstylist and this is the Kinra platinum blow dry Advanced dry thermal protectant and this is kind of like an oily texture. So it doesn't really feel oily though It's like a dry oil so what I do is I spray it on my hand and I work it through my hands and then I'll work it through my hair and I I even put it, you know, fairly close to the roots because that's the part that I can't really get dry that much and This is so good I won't just open it up and just start spraying into my hair because I do have that really limp hair And I don't want it to be weighed down with too much product But working it through with my fingers and not putting too much on my hands works so good And it does it cuts your drying time by about half if you use a blow dryer I love that it's an extra thermal protectant Even though that other one was as well because I do have color-treated hair I feel like I need whatever thermal protection I can get So having an extra one is good for me And this really is lovely as far as cutting down on that drying time And I will also say that there is a shine in this as well a little bit of a shine because like I said It's that dry oil and it smells Heavenly I love the fragrance of it and that I'm putting it in my hair. I don't mind that there's a fragrance But yeah, it smells really really good. Let's talk a little skincare from elf their holy hydration makeup cleansing balm I hadn't tried this before one of my favorite cleansing balms is from good molecules But I'm almost thinking that they're really close. Elf might be in inching out good molecules I love that one too, but this one it just when you put it on in your fingers and you kind of rub it in and it gets warm It's almost watery I know it's an oil, but it's almost a very watery oil and it just takes my eye makeup off super quick Without leaving me feeling like I'm super oily afterwards I don't know how they do it, but I really do like this very much. I'm a big cleansing balm person I love the balms I think I like them a little bit better than I do the oil although I love hot alabos cleansing oil This one is a really good one, and I'm just really glad that I tried it I want to try this holy hydration line completely and let you guys know Because as you know since I do have such dry skin, I very rarely find anything that is moisturizing enough But I will try more of these and this one I can give a big ol thumbs up to and then I was sent Oh my gosh, you guys. I'm so stoked about this I was sent from Believe Beauty a care package of their new skincare. Oh Wow I'm so impressed they talk about that it does that none of these have alcohols in them or dyes in them or the parabens and all those kinds of things in them I am so impressed by this because guess what? $5 and under there is no excuse for any of us not to have good skin care anymore Head yourself on over to Dollar General or head online and get yourself a good skin care regimen This one is the face toning mist and this one has witch hazel and lotus extract This does have that witch hazel smell You remember when we were kids and mom used to put witch hazel on our mosquito bites because alcohol stung the crap out of us But witch hazel was nice. This has that in there. So it does have that little bit of a fragrance It says an energizing mist that delivers a boost of hydration while toning skin I do feel like it's really great as far as that hydration. I use this during the day too I actually I use this very first thing after I cleanse in the morning to give that boost of hydration to my skin so that Anything like that comes after it sinks in a little bit better And it's really going to be locking that moisture in that I put on with this pretty nice mister on it I mean, it's not the greatest, but it is a fairly nice mister on it. It's not super fine But if I want to put this on during the day, I really like that as well. This is a great product I don't feel like it really has a lasting funky smell. It just has that witch hazel smell If you know what I'm talking about So good and they have moisturizer cleanser They have a new Jade roller that's under $5 if you guys have been wanting to try a Jade roller such a good deal And I can't even remember everything that is there, but I'll make sure that I link them for you below so that you can find that out So good. I'm so glad that they did that. I'm just so impressed that they could do that for that price point, too This baby has been shown in a few videos recently This is from Sonya Kashuk and I did purchase this this month and this is her body sponge But I use it on my face and this sponge I am in love with it's super soft I love that about it. And of course, you know, it pumps up to almost double its size this one does have the water in it and It's just really squishy and really lovely I use this after I use my foundation after I put on my foundation with a foundation brush And then I will go in and I will really push my foundation in and the nice thing about it is that it picks up the extra foundation And I feel like this has been so good for really helping me to Pick up the extra foundation that would normally settle into my fine my fine lines or the creases I usually always have a problem with going. Oh, man I got foundation everywhere and I you know, I'm really upset that that is there but using this I use it damp I will wring it out really really well with my hands put it in a towel and then put it in a tissue So it's damp, but it's not wet. Let's say that and then I'll just go over everything It pushes everything into the pores. It picks up the excess so that I don't look cakey Loving that. This is going to be in a foundation tutorial very very soon And I'm in love with it and I'm also getting ready to do a Sephora collection video of their makeup and their line that is in Sephora and You know reviewing many of those products But I wanted to put this in here because this is one of the standout products from that video This is their palette called I love this one is in bloom and this is so much fun I have been enjoying this so much Partly because it is so light and it's perfect for me when I get palettes that are super dark They are hard for me to work with they do have darker ones. This is their lightest one They do have a lot of gorgeous colors that I would love to try however You guys know that I am not palette poor by any means so I just wanted to try one, but I do love this I love the consistency of it. It reminds me so much of Anastasi Beverly Hills of my beloved LA girl. I love my LA girl. You guys know this. I Love this it is those are really light colors. You guys can't see them I really like the the feel of these. I love the blendability of these. I love the metallics and how gorgeous they are I love the color choices that they put in here. I am in love with this formula period It it just blends on my mature eyes so easily and there's no skipping and it wears really well throughout the day Because it does have that creamy texture to it. I really am enjoying these very very much And I think that if there is one on their collection that you do like the color scheme Maybe it's better for you that I believe that they would be just as good and really am enjoying that I also want to talk about this. Oh my goodness. I happened to cross this at I Think it was TJ Maxx or Marshall's and this is the Yawoma contour stick I know that this is sold out right now at Ulta I think mine isn't pearl but the lightest color obviously But I love the contour in this. It's a cream contour and it has worked so well for me I am in love with this. I can use this as my contour and there goes my glasses I can use this as my contour and my bronzer if I want to but it's so good as my contour Because it is that cool tone that muddy consistency a little bit that doesn't make me look like I've just got you know Orange for my contour It's really gonna make those places that I do use a contour on my cheekbones and my hairline kind of recede instead of being pushed out Like a warm bronzer would I love this. I absolutely love it. I do use it on a brush I don't you know just draw it on like you see on Instagram tutorials But I do you know use my brush and then go in with it It's really really fun and then on the other side is the illuminator which I like But I'm not as impressed as I am with the contour I like this because it does have that pretty beam to it that pretty highlighting glow But if you use it, you don't necessarily need to go that heavy with it So, you know sometimes when you get a powder when it goes on it's gonna be so bright and so beaming This can go anywhere from just a glow to the light light metallic and it's really pretty I do love it a lot as far as the face products. These are so yummy buttery Super blendable very very creamy. These are great. I can't wait to try out more you home of products This is my introduction to them. So yeah, I'm in love with this And lastly, I do want to quickly talk to you about a product that came out from City Beauty the lid lifting treatment This I've been testing they sent it to me like maybe a month ago or more And I will tell you that you know long term the benefits are going to have to be seen But as far as wait when you first put this on the hydration is so good It's a little bit thicker, but the hydration on your lids is so good that it really does Make them feel lifted immediately So you get the benefit of them looking very plumped and lifted when you very first put it on and then as time goes On it guess has some fantastic ingredients in it I am really liking this and you use such a small amount and you're only using it on the top eyelid That's where so many people have so many problems So you're gonna use it from brow bone to lash line And that area is where it seems like it just shows our age so much personally mine is right underneath there But this area can really at times be really a big struggle for a lot of us and really creepy eyelids I I don't want to just say oh my gosh This is the panacea of eyelid grapiness But I do want to say that it is a very very Moisturizing and for me a very lifting product and as I'm going along I do feel like my lids are looking really great and really lifted and less creepy so I Will report back more about that, but I did want to tell you what my initial findings were for this first month five weeks Somewhere in there really I'm liking it a lot so that is it for today's video I hope that you did enjoy it. Please let me know in the comment section if there was anything this month that stood out to you Even if it was in your stash You didn't necessarily pick it up it stood out to you and we need to know about it because I love that dialogue that we all Get going in the comment section Thanks so much for visiting with me today, but care of yourself have a fantastic day And I will catch you guys all in my next video. Goodbye my friends


Alright, since we're standing here in front of the elevator, let's talk about accessibility. Those buttons have brand location on them. And the bell rings as each floor's number lights up. And the door is really wide, while usually it is. Elevators are pretty accessible, and that's because accessibility is important for everyone, whether they recognize it or not. Maybe you wear glasses to improve your vision, or maybe you use left-handed scissors. Or maybe that bum knee makes you walk up the ramp instead of the stairs. Maybe you're colorblind and rely on the arrangement of the lights rather than the colors. Whatever your particular need, the web, like a good elevator, should be something you can navigate with ease. We're here to offer insight into the most common issues faced by web users. We want to make accessible content for all. If you care about your content reaching all learners, you must care about accessibility.


Hello friends, my name is Saurabh Deshmukh. I am working as an assistant professor in department of mechanical engineering, Vulture Institute of Technology, Solapur. In this video, we are going to solve a problem on Pelton wheel turbine. The learning outcome. At the end of this session, the learner will be able to solve problem on Pelton wheel turbine. I will read the problem statement here. A Pelton wheel has a mean bucket speed of 10 m per second with a jet of water flowing at the rate of 700 liters per second under the head of 30 meters. The buckets deflect the jet through an angle of 160 degrees. Calculate the power given by water to the runner and the hydraulic efficiency of the turbine. Assume coefficient of viscosity as 0.98. So, first of all we will write the given data here. Now, they have given the speed of the bucket that is equals to u equals to it is also u1 equals to u2 is equals to 10 meter per second. And that bucket is heat by a jet of water flowing at the rate of 700 liters. So, the q is given here, q equals to 700 liter per second which is equals to 0.7 meter cube per second. Now, they have also given that the bucket deflects the jet through an angle of 160 degrees. So, it will be theta equals to 160 degrees. So, we will calculate phi from it, phi equals to 180 degree minus 160 degree equals to 20 degree. Also, now they have also given the coefficient of velocity. So, it is denoted by Cv equals to 0.98 and they have also given the head which is h equals to 30 meter. So, we need to calculate the power given by the water to the runner and the hydraulic efficiency of the turbine. So, first of all we will write the formulas here. So, it is power given by water to runner equals to it is rho a v1 into vw1 plus vw2 into u. And the hydraulic efficiency it is given by 2 into vw1 plus vw2 into u by v1 square. So, I will just draw a diagram here. So, what will strike here? So, this will be the point. This one will be u1, this one will be vr1 and this total velocity will be v1 or we will calculate we will consider it as a vw1 with no loss. So, now we will just this water will be deflected by 160 degree. So, we will just draw it here, this is beta, this is phi and this will be 160 degrees. So, this will be vr2, this will be v2, this will be vf2 and this will be u2 and this component will be vw2. So, first of all we need to calculate here v1 vw1 vw2. So, we need to calculate these values here. So, I will just write the formula for cv that is coefficient of velocity. So, what is the coefficient of velocity? It is cv equals to v1 by square root of 2gh. So, what will be v1 here? v1 equals to cv into square root of 2gh which is equals to 0.98 multiplied by 2 into 9.81 multiplied by 30. So, if you substitute these values in the calculator we will get the solution the value 23.77 meter per second. So, I will just change the phase here. So, now we will calculate vw1. So, we are considering v1 as vw1 with no loss. So, vw1 equals to v1 equals to we have calculated here v1 23.77. So, it will be 23.77 meter per second. Now, we will calculate vw2. So, we just need this diagram here. So, vw2 equals to what it will be? So, vw2. So, this component we need to calculate. So, it will be vR2 cos phi minus u2. So, let us consider vR2 equals to vR1. So, what will be vR1 here? vR1 equals to so, vR1 equals to it will be v1 minus u1. So, it will be 23.77 minus 10 equals to 13.77 meter per second. So, vR2 equals to vR1 equals to 13.77 meter per second. So, now we can calculate the vw2. So, vw2 equals to we will substitute the values of vR2 phi and u2. So, it will be 13.77 into cos it is 20 minus u2 is 10. So, by calculating in the calcium we will get the value 2.94 meter per second. Now, we will substitute all this given data into the formulae. So, power given by the water power given by the water to runner equals to rho A v1 into bracket vw1 plus vw2 into u. So, A into v1 is nothing but the area multiplied by velocity. So, it is water. So, the density of water will be 1000 multiplied by the discharge is 0.7 into vw1 is 23.77 plus vw2 is 2.94 multiplied by v1 or sorry u it is 10. So, after calculating this in the calcium we will get the answer here 19 sorry it is 186.970 Watt or it is 186.97 kilo Watt. So, for hydraulic efficiency the formulae is 2 into bracket vw1 plus vw2 into u by v1 square. So, we will substitute the values of all these entities. So, it will be 2 into 23.77 plus 2.94 into 10 upon v1 square it is 23.77 square. So, after calculating all this in the calcium we will get it as 0.9454 equals to 94.54 percent. So, the power of the turbine is 186.97 kilo Watt and the efficiency hydraulic efficiency of the turbine will be 94.54 percentage. These are the references. Thank you.


39 inches is the optimal distance to be from a 49-inch ultra-wide monitor. That is a fact! I had the pleasure of testing it and that is just one of the other weird facts that we found out in 2023. What's the best 1,400 peso accessory for my computer? How did my computer help me reach 3 million? 3 million what? Yun ba yung losses ko sa crypto? It is not a good situation. My portfolio is not in the greatest spot now. That's what we'll find out in this video where we delved by the numbers into the things we learned in 2023. Starting with, how many times can we play this ad bago magsawa yung audience? On this version na gusto mo, piliin ang preferred paper and pencil. Wala pang 5 minutes na sizigit ka na para sa windows mo. Maraming na kaming na tulungan. Dati, saan di perto ko? But now, I've found a love of my life. Dati, ikimresan walang purpose ang life ko. But now, I'm a world-class Zumba instructor. So, web developer ako and content creator for a YouTube channel. And ngayon ganun pa rin ako, pero activated na yung windows ko. Kaya ako naghanap ka ng legit, mura at original software. Check out cdkoffer.co. Check out cdkoffer.com. Check out cdkoffer.co. 3. More specifically, DLSS 3 is the latest version of NVIDIA's AI technology which allows their GPUs to produce more frames with less work from the GPU. It's only available on 40 series GPUs but the results are pretty impressive. No image degradation that I could see in a significant boost to how fast compatible games can run. There have been other refinements to DLSS which are available on older, non-40 series cards but DLSS 3 was the most impressive implementation of AI assisted rendering that we saw this year. I've had this 1,450 peso Xiaomi light bar all throughout 2023 and it's great. I don't get eye strain anymore which I did before without it and it even doubles up spot lighting for some videos. I've had this since August 2022 and so almost a year and a half now and it's still going strong. Ok naman pala yung Xiaomi quality. BenQ sent me their more expensive version last January and I really like that one too but my kid quickly broke it. 540 Hz that's the fastest refresh rate I got to try this year thanks to the ROG PG-248QP and to be honest I don't even know if my eyes can appreciate that speed but I did have my best game of CS2 in my life at that refresh rate with that monitor. Eight. Eight years old yung oldest thermal paste na $390 this year and it still works even after all this time kaling hats off to Noctua. I started the year with a 240mm rad AIO from NZXT and then shifted to a 360mm rad AIO from ROG then downgraded to a one tower Noctua air cooler and then finally at the end of the year upgraded to a two tower air cooler from Deepcool the AK620 digital and after all of that my personal conclusion is if you have a cooler from a good brand it will really kind of take care of itself and you can focus on the aesthetic that you want from your computer currently I'm really digging the aesthetic of the digital series of Deepcool. Wearables are not new but I started committing to wearing one in late 2022 and then this entire 2023 and it really appeals to the data geek slash gamer in me that I can quantify just how unhealthy I am sometimes. Yung unakong wearable Fitbit Charge 5 yung problema after a few months nasira siya but I was already comfortable with Fitbit so I got a second hand Charge 4 which I'm still using up to now. $348,100. That's the amount of money we got from the second hand parts that we sold just between April and December this year. Ano ba yung pera? Okay lang.  What we're gonna do we're gonna store it in the shop lahat ng inquiries tungkol sa item na yun kami magahandel. Hindi ka na mga hassle talking to strangers figuring out the specs and if somebody wants to come to the shop to check if it's legit to test out the item we handle that also and we don't get a cut off the proceeds. All of the sale money goes to you the owner and that's money that you can spend on more PC parts on buying something for your loved ones. Second hand parts to cash. Another service that we provide for free and to be honest medyo hassle siya but it's good for the customers and it's good for the environment. Sometimes we get customers asking kung may freebies ba na kasama dun sa order nila and we don't have any freebies kasi yung tingin namin yung mga freebies yun yung mga items na ayaw nung shop yung mga walang kuwenta yung mga binibigay lang na yung nga wala silang value. We give our customers something better. For every purchase at hardware sugar you get candy points which can be redeemed for steam credit.  May ibang stores na may discount points nga pero magagamit mo lang in store. Hindi ganun sa hardware sugar. Yung discount points namin candy points you can redeem them for things of value outside of our store. Yung nga steam credit so that you have a choice whether you want a discount or steam credit and for this year we sent out a total of 12,600 pesos worth of steam credit. Ilang triple A games na yun. So sulit buy a rig from us and depending on how much it is you might get enough candy points to get yourself a triple A game from steam. One last number 112,526 is the number of subscribers we have as of December 27. The largest in sports arena in the world is the Philippine sports arena in Bulacan with 55,000 seats. If you double the number of people that can fit into the largest in sports arena in the world wala pa yun sa total number of subscribers na hardware sugar and we really appreciate it. Thank you for the time, thank you for the trust, thank you for all of the comments, the likes, the shares. Yung nga paulit-ulit ako when i talk about the number of subs we have that i never thought that the channel would get this big it's been a wild ride it's been exciting but really it's also been very fulfilling. The team and i really enjoy making content that we think people will find useful explaining computer parts in friendly non jargoni way. So super thanks for all of those subs and we really really appreciate it. Looking forward to 2024 for more content, better content, more insightful videos from us but as we end the year there's really nothing left to say but thank you for watching. Paming saan may nagtatanong kumikilala ba kaming computer shop na trusted yung hindi kalolo ko hin? Actually meron kami. Full service PC store ang hardware sugar. Nagbabenta kami ng PC components. Nagbabenta rin kami ng fully assembled rigs. We clean computers. Kasama na rin yung excellent table management namin and CPU cooler repasting sa cleaning. We also clean and repaste GPUs. Na sa makati yung physical store namin and you can also buy from our site www.hwsugar.ph na 100% palaging up to date yung inventory dun. Kung instock yung item sa amin available yung sa site. We also ship nationwide. Thanks for watching and maybe one of these days magkita tayo sa shop.


I think the summit catches your eye. I don't be too very old to answer that question. Something catches your eye. He speaks to the Lisbon coaches and they knew straight away. You dropped a shoulder, beat two men and they saw something in that player. And I think any coach working with a group of players, you see something at your level, whatever that level may be, you see something that appeals, something that you think and add value to your team. But I think as a young, if you're coaching young players, you're delighted to see that. You love to see that. Something which really catches the eye. Whether it's a weight, a pass on the half turn, whether it's a crossfield diagonal, whatever it may be, something catches your eye and that was the feedback from those guys. They knew straight away. I think they got around 10, 11 years of age, but they knew straight away that he was going to be a world-class player, but they knew he was a very special talent.


Guten Morgen, that's the extent of my German, and maybe I'll be doing it at the end. All right, so my name is Karim Jagwar, and in the next 50 or so minutes, what I'll try to do is convey what I've been able to find about Brillo and Weave, and do so in a very specific fashion, which is using the sources that they've released. As somebody asked me right before the presentation here is, how come you can actually talk about this, since all of their stuff about Brillo and Weave is still confidential? It's your part of the beta, and you've visited their website, you know that essentially they've got this, you know, please replicate this anywhere, it's like written in big red letters at the top. I haven't used any of that material at all, in fact, I deliberately shot away from it. So what I'm using really is the sources that they've released, which are on android.googlesource.com. All right, before I get started here, I just want to make sure I have a good feeling of who's in the room. So if you just raise your hand for the following questions, who's got any sort of android platform development experience, okay, a Linux kernel development experience, all right, who's signed up on the Brillo beta, okay, handful, all right, yeah, that's good enough for me. All right, so, yeah, computer, yeah, the slides will be up after the presentation, the kind of guy that finishes his slides 15 minutes before, wink, wink. So just a bit of background about myself, if you've never heard about me, I wrote the embedded Linux book for Riley about 13, 15 years ago. It's rumored to have been used to put Linux on the first Amazon Kindle, so that is something that's really cool. A couple years back, I wrote the embedded Android book for Riley, which has also been used for quite a variety of different cool products, unfortunately, most of which I can't tell you about. I've been involved in open source for about 20 some years, most widely known for having written the Linux Trace toolkit, which was one of the first tracing tools for the Linux kernel. Fortunately, somebody else has been doing a much better job at maintaining it since 2005 than I was, and they're actually here doing some talks as well. And I used to be heavily involved with Project Era, which as you probably know has somewhat been put on the ice. And that's pretty much it. The thing I want to highlight here is that despite my background and any books I might have written, I don't actually know everything. It is very likely that people in the room here might know more about some things that I do. And if that is the case, please feel free to go ahead and share whatever your experience is. In fact, I'm fairly easy going about these presentations. The more questions get asked during the talk, the more entertaining it is. So otherwise, I hope you're well caffeinated because this might be very boring. Okay, just a bit of background here. I mean, what gets me interested in Brillo and Weave? And you'll see it's a bit different. I mean, my view of Brillo and Weave is different than what, say, Google might be pitching about it, although I think they have a nice pitch. There are some things that I think are intrinsically interesting about Brillo and Weave beyond what Google wants to do with them necessarily. So first of all, let me just... Sorry? I thought somebody had a question. All right. Let me just give a bit of history here about what gets us into Brillo or Weave and whatever. Why is that interesting? First of all, what is Embedded Linux? So I would like to think that having written a 400-page book on the topic, I would know something about it. Unfortunately, Embedded Linux is not something that you can actually define very precisely. The best I can come up with is Embedded Linux being, say, a set of ad hoc recipes for creating customized Linux root file systems running on top of Linux kernel for specific purposes. Beyond that, really, there's no strict definition of what Embedded Linux is. It's a very broad term. Usually, however, when you are talking about Embedded Linux, there are some usual suspects. There's a busy box. You probably have Uboot in there. Obviously, likely you have a Linux kernel and a few other things such as that. But there is no formal definition of it. And beyond that, the one thing that's still to this date, to a certain extent, an irritant with Embedded Linux is that whenever you create an Embedded Linux system, you are defining the API of what that system is. You have to spec it out, and you have to find people that will know how to code for that thing, whatever those APIs and libraries that you choose from. So that's something that is a challenge. Another thing that had historically been a challenge is user interfaces. There's not been a standard user interface for Embedded Linux other than, say, Android when that came along. Now Android, interestingly, is a very custom use of Linux in an embedded setting. That being predominantly, obviously, mobile in the beginning, gradually other things than mobile, including, you know, obviously things like cars and other interesting niche applications with time. Some things Android kind of rewrote from scratch, and in the beginning that used to rub me the wrong way.  They've made it better over time, and now they outright replaced it with something called Toybox. But in that pattern, they've applied throughout the stack. They've gone out of their way to replace key things that were licensed, that were originally licensed under GPL or LGPL with things that were either BSD or a Papi licensed. In fact, if you go back to some of the very early presentations they've done about Android at Google IOs, I think about 2008, they had a presentation called the Anatomy on Android, and the gentleman in the talk essentially outright says it that, you know, they deliberately chose to replace things that they felt did not have the proper licenses, all right. So if you're coming from an embedded Linux background and you get into Android, one of the first things that kind of surprises a bit is the extent to which they've replaced things that are common in embedded Linux. The difference between embedded Linux and Android is, embedded Linux was an organic thing. You know, nobody set out day one saying, we're going to create embedded Linux. It's more like, you know, some people are using DOS, embedded DOS in the mid-90s in their embedded systems, and they started looking at this Linux thing for their desktops and eventually they're like, wait a second, this thing runs in an X86, why can't I just run this on my embedded system? People start piecing things together. At a certain point you need a bootloader, somebody's got a shoe boot, you need a C-Library, they're at UC-Lib C and so on and so forth. Android on the other hand was a very deliberate effort on the part of a single corporation to create an embedded Linux distribution with a very specific purpose in mind. And what they've been able to accomplish with that is something that we've never had with Linux, which is, or embedded Linux, is a standard API that is known by a lot of people. We can complain a lot about many things in Android, but one thing they got right is an API that is standard across all devices. What else can I say about this? So yeah, they've introduced a few different things, you know, fast boot and so on and so forth. All right. This I just picked up off of Google Plus. You can see that essentially in terms of market share, Android has eaten everything. One of the people that responded back to my post on Google Plus was saying, oh, no wonder Apple is trying to go after cars because they've exhausted their ramp up on the phone side of things. That's it. That's it. It's done. And this is very impressive because we've been talking about Linux coming to the desktop for the past 20 or so years, and it never has, and it probably never will because the growth factor for desktops is flattened, but in terms of mobile, it has definitely eaten everything out. And this is interesting because from the embedded perspective, there's a lot to be said about using a standard platform that is widely deployed to users for embedded purposes. Such was the case with DOS, and such did, you know, at least Microsoft tried to push it with Windows and T, and famously Mark Andreessen had said that running Windows on your pacemaker was a self-replicating market. So but Android today essentially being deployed on so many devices makes it an interesting starting point for embedded uses. And so along the way, say in 2012, 2011, I had a customer approach me and say, hey, we'd like to run Android on headless systems. And at first I kind of giggle, I said, you've got to be kidding me. Why? Just use Linux. I mean, if you don't want the UI, just go ahead and grab that thing that's called Linux, which is what's underneath Android anyway. And they made two important points. The first one was the fact that they had multiple devices, multiple product lines, some of which had user interfaces, some of which did not. And they did not want to have to maintain, you know, multiple operating systems. I thought that made sense. I mean, that makes that, from a business perspective, that is a valid point, right? You don't want to maintain separate stacks altogether. The other point they made was that if they were using Android, they can get any Joe app developer to code for their embedded system, right? And that is a lot of value, right? Because you don't have to find somebody that has specific, you know, knowledge on an embedded, they just have to know how to write apps. So at ELC, I believe 2012, I had done a presentation on how to take Android and essentially strip the user interface off of it and run it straight on whatever device that you got. And when I presented that back then, people laughed it off. It's like, you've got to be kidding, Karim, nobody wants to do this. And interestingly enough, I was asked to do the same presentation six months later at Lenovo Connect Copenhagen. And then, as I was presenting, somebody raised his hand and asked, hey, have you checked out the RO dock and figured out headless flag? I'm like, I don't know. What is that? When did this appear? And so in the interim between my presentation and that other conference, Google had put out the Nexus Q, which was this media box. And in the release that came out, the Android release that came out with that, they had a flag that actually turned the thing headless. And that was kind of interesting. I don't know if there was any causality there, but it was kind of funny that they were interested in that, which gets me to Brillo. So Brillo's actually deliberate effort on the part of Google to actually take the success of Android and actually turn it into an embedded Linux distribution. Obviously the goal they have is the Internet of Things thing, which is let's put this everywhere and let's collect data and let's facilitate data collection and the device enablement and all this cloud stuff. I'm coming to this from the other perspective, which is I don't care about your cloud thing, but hey, you've got this operating system that's based on Android, leverages a lot of things from Android and runs on my embedded system. That's something I like. And then I want to cherry pick what's of interest to me, all right? So it was announced at IO 2015 and as I was attending the keynote, I was like, whoa, wait a second, picture, picture, picture. What are those diagrams? And they have references to how and stuff like that. But they hadn't released any code yet. Later that year, about in the fall or something like that, they made the first code drop. Whoever played with that, the code drop they made at the fall of 2015? Okay, well, I guess I'm the only one. Anyway, so I grabbed this piece of code and I started digging into it. It's like, okay, what is this? I mean, what are they trying to do here? How does this work? How's this different from Android? And what I discovered is that at least at that snapshot in time, my feeling was that Brillo was this bastard child of Android and Chrome OS because it was using a lot of things from Android, but it was mostly built with Gen2 things as well. So and it was based on D-Bus. Most of the communication was D-Bus based among all the pieces of the system. Nowadays they've actually moved away from that. So today they actually are using Binder as I'll show you a bit later. A lot of the glue in there is based on Binder. And kind of like as I was saying, the talk is based on the analysis of the sources. So I don't know what they're saying, their documentation online when you register, when you're on the beta. But everything that I've got here I've essentially deduced from looking at the sources. So what's interesting is that you can actually get the sources off of essentially android.googlesource.com, which is the same location where they're hosting the AOSP, AOSP being the Android open source project. For those of you who might not be familiar with the term. And most of the directories or the repositories that they need for Brillo are common to Android as well. So it's kind of like they have two manifest files pointing to similar directories except one of the manifest files has a lot fewer entries as I'll show you and some handful of additions that are custom to Brillo, which are not found inside of Android. All right, let's talk about architecture a bit. So okay, the color coding in my diagrams is gray stuff is in C. Yellow stuff is in Java, but has to do with the system. And then orange is regular applications, which you can't see on this diagram, because there aren't there yet. I'll show you that to you in a second. An embedded Linux system, again, per my earlier description, is fairly generic. So Linux kernel, C library, probably a busy box in some custom application, all right? There's nothing much more to say about that. If you're using Yachto or Buildroot or whatever else, you probably have also some usual suspects that go with that, will depend on whatever packaging system you're using. If you look at the architecture of Android, this is a bit what it looks like. So at the bottom most, you've got the Linux kernel, much like an embedded Linux system, but everything above that is custom, all right? So when you go to the native user space right here, you've got your Bionic, which is the C library. You've got the hardware abstraction layer, which is one of the key features of the architecture of Android. You've got some native daemons. You've got a user space shell, which is toy box. And then you've got the system services, which are the core of the operating system. And at the very top, you've got applications. And this stack, which is about seven or eight layers deep and is fairly hairy to deal with, is yet being deployed on hundreds of millions of devices. So it's a known quantity to a certain extent, all right, despite the challenges that go with this. And the idea is, if I want to take this and build a custom Linux distribution with it, that is, say, for a more general purpose than running user applications, what can I do with that? And that's really what Brillo is about. So moving a bit more into the stack, this is the binder functionality. Who's ever investigated binder to a certain extent? A few people, all right, yeah, ish, okay. Okay, binder is an IPC mechanism. I'm gonna, just wanna make sure everybody understands it a bit because it is fundamental to Android and these days it is also fundamental to Brillo. So think of sockets, but minus network connectivity and minus essentially the large file descriptors associated with those things in the kernel space. It's a very lightweight, so to speak, communication mechanism. And the idea there is you're serializing parameters and function called return values between two parties. So if I wanna talk to a service, I'm gonna call function foobar. Function foobar has an ID and I'm gonna find that services identifier. I'm gonna say I'm talking to function ID and here are the parameters of the function. It's gonna call that thing on my behalf, return me the return value and off I go. A binder driver doesn't need any hardware, so when it starts, it just initializes itself and stays dormant. First thing that talks to this thing is called a service manager, which is on the left-hand side there. It is kind of like a DNS service. You give it a string, it gives you a binder ID and use that binder ID to talk to the service that you're designating, all right? And just to illustrate this a bit more because we've found this, when we've worked with customers in the past, we found it's a really challenging for people to grasp what this thing is about. So let me just give you a demo here of a piece of software that we wrote that allows you to better visualize what's going on here. So what did I build this for? I think I built this for six. All right, let's go with that. Really, previous build, what did I build for? That's what I thought. So let's go with this, five, sorry. Okay, much better. Okay, so I'm just gonna let this guy restart. Let's do that. Sure, why not do that? And now he's gonna die or not. Maybe he shall, does that work? It does, all right. So we got this tool that we put on GitHub called Binder Explorer and it allows you to essentially just grab what is working on whatever state binder has and display it to you. So that, this, files, something else, this node. So we try to be trendy and we're using Node.js. All right, start this. Let's go with local host. All right, just give us a second. And in fact, it should do much better job than this. Let me just try one thing. Let's try that. Try this, he's gonna complain and that's okay. Now, oh, he's trying to get the icons. Let me reload. Okay, so what you're seeing on the periphery are the system services or in other words the Android operating system and what you're seeing in the middle is the applications or some binaries that are running in the system and the links that you see there are the binder communications, all right? So as you can see the binder bus, so to speak, even though they don't call it that way, is fairly busy, all right? And what we can do here is say for example I can go check out what is this, the phone application. So what is the, well actually that's the dialer, sorry. What is the dialer talking to, right? And you can see the system services that it's talking to and on the other side you can highlight any of the system services on the other side see which apps are talking to that, all right? So it's a kind of add a glance view of what binder does. Brillo uses binder and what I'll show you in a few minutes is a same snapshot but for what's going on with Brillo, all right? So let me go back to my slides up here somewhere. All right, so that's for binder. Now, as you can see in my diagram there is a lot of system services. If you wanna find out what system services you have you can just go in the shell. I'm gonna have to kill this, I'm sorry. So let's do this, service list. Those of you not familiar with it, I've got a hundred system services. They keep adding a handful every so often, all right? The system services are housed in different processes. There is a main system underscore server process that houses the bulk of the Java system services and then you've got C system services which are housed in separate processes. They seem to do a deliberate effort to put anything that is sensitive to human interaction into a C process instead of a Java system service. So anything that has to do with sensors or graphics or audio or multimedia seems to be deliberately put in C because a lag, right?  All right, the other distinctive thing about Android is the hardware abstraction layer. So Android system services, which are kind of like the core of the operating system, don't know much about Slash Dev. In fact, they deliberately don't know anything about Slash Dev. Instead of that, they know something about HAL definitions, which are the APIs that the various system services need to actually talk to hardware. And so far as the system service finds, say, the lights HAL, it thinks it can talk to lights. However the HAL layer does its thing, it just looks for the HAL SO file and that's it. In Android, the HALs are far away from applications. They are inside system services processes, which are privileged, whereas apps can't actually talk to any of the hardware directly. They have to remotely call through Binder to the system service to actually access the hardware. In Brillo, this is kind of turned on its head and your application that you write opens the HAL module and talks to it directly. That's really one of the benefits of Brillo is that they're reusing or leveraging the existing code base of HALs that are out there, or the fact that SOC vendors know how to write HALs to actually allow people to code apps that use those HALs directly. So this is Debuss. Again, as I mentioned historically, Brillo was mostly based on Debuss. And for those of you who are not familiar with it, and this is something I grabbed from Debuss' documentation. So Debuss works by having a daemon that's running in the background. And whenever you've got two parties that want to talk to each other, they go through that daemon to actually get the message across. And in fact, if you followed the whole discussion about KDBuss and all that kind of stuff, the idea was to repatriate some of that stuff into the kernel to make it more efficient. So this is what Brillo is. We're just really getting rid of the entire stack above the native layer, right? And you better remember, what was it called again? Tiny Android from the 2.x days. So in the 2.x branch, you could actually build the AOSP and say, I want to build Tiny Android. And what that was really was just the bare bones file system with a few of the pieces in the native layer and that was it. And so Brillo is kind of like similar to that to a certain extent. It is really just a bare bones Android. But the interesting thing here is they've got the hauls in there that you can use to actually code IoT applications. Okay, weave on the other hand, and that's one thing, so coming to Brillo weave from an Android background myself, one of the things that confused me is all their discussion about Brillo and weave and I was like, what the heck's this and what the heck is that? So Brillo is the distribution, all right? It's that thing that you compile into an image and run on your device.  And the idea is that there's a weave daemon running on the device that listens for requests coming in from either a handset or a tablet or whatever directly, or comes from the cloud and possibly is triggered also by the phone or mobile device or whatever else. You don't have to use weave, all right? You can just go with Brillo and ignore weave completely. You don't have to run this daemon in fact at all. So let me give you the lay of the line. Let's go looking at the sources, see what is around and how's it different from Android. First of all, as I said, if you wanna grab the sources, they are on android.googlesource.com and if you do a repo in it with the Brillo manifest, notice it says here, you know, Brillo, not Android. My highlighting's not working. You do repo sync, you get yourself Android, I'm sorry, Brillo sources, right? It's just a different manifest file. In fact, if I go out to here android.googlesource.com, what's he connected to? No, that's not gonna work. Hey, where's my, sorry. I've got a hotspot, but he seems to ignore my hotspot.  Let me go back to the slides. So I'll show you the manifest file in a minute or two here. Now if you look at the top level of the sources that you get, so let me actually go here, let's change the color coding a bit. Nope, not this. All right, let's go to here, Brillo master. Okay, so this is my top level of the Brillo sources. If you're familiar with the AOSP, you'll recognize most of the directories, all right? But you should also realize that some things are gone and I'll tell you what's gone in a minute here and we'll walk through some of the things that are in this tree. You'll notice that it has same kind of basic functionality. You got a top level make file, which has almost nothing. You do the regular, you know, build, sorry, build ENV setup, SH, launch, that's regular stuff for Android. Brillo uses the same kind of build system, whether you despised it or not, you will continue despising it here. So that's for the build system in. It also has an out directory like Android does, all right? And this layout underneath out is practically same thing, out target product in this case is Brillo emulator, whatever else, and whatever I have underneath here. So what do we got in here? So Bionic is the C library, same thing. Bootable is the OTA stuff, still here. Build is the build system, still here. Device is essentially the, well, directory where you've got the actual BSPs, all right? And you can see the manufacturer names in there. So you've got the Intel boards in here. You've got the Qualcomm base boards in here and all the other ones that they've supported in Brillo and the same way it used to work before. So if you look in here, you've got the Mino board, for example, and this is the information about the Mino board, or the BSP of the Mino board. And if you go in the QCOM stuff, you've got the Dragon board stuff in here as well. All right, and this really is where Brillo shines, which is those SOC vendors, given the market share that we saw earlier, are already doing a lot of work to get Android working on their devices. And by so doing, they're also enabling Brillo. So that's really the genius of this Brillo thing.  But interestingly, it seems that it is an effort that stemmed from the Chrome folks. And my suspicion, and I have really no substantiation for this, is they started off with Chrome and then somebody told them, you know, hey, why don't you check this Android thing? You've got this huge device enablement from the Silicon vendors. Well, let's go with that instead. And so that's where, you know, it seems to have merged into this, morphed into this Brillo thing. In external, interestingly, there's a lot more, there's a lot less stuff than Android. In fact, I've got a slide here of what is gone from external. If it was used for any Java purpose, was a library for the purposes of Java or had anything to do with Java, it's just out the window, all right? And you can see there's a ton of stuff that's completely gone from here.  Let me go out here into, I don't know, 50, which I got. Sorry. So that's 2.6 gigs here and it's two gigs here. Oh, actually, not that big of a difference in terms of size. I'm a bit surprised, although there's a lot of stuff that's gone, that's gone out. Oh, that's what it is. So I'll go back to the top level removals in a second. So that's external frameworks, which is essentially the core of the Android operating system. Noticeably doesn't have a framework space, okay? Framework space is the most important piece in terms of Java. This is where the Android app developer APIs are found and that's where the Java system services are found and it's just not here in Brillo, all right? That's just because of vacating all of the Java stuff. If you sign up for the Brillo beta, you'll see that some people have actually inquired on the mailing list about Java support. You can check those threads up. That's frameworks. Okay, hardware is the same thing as before, which is the HAL, all right? So if I go to, and again, this is one of the benefits of going with this Brillo thing because they're leveraging the HALs from the Android-included hardware and the HAL definitions are all there as they were before. What else do we got? Okay, let's forget about the new helpers, the GNI thing, which I'm not sure why they kept it in there, but anyway, pre-built is the same thing. Products though is new, okay? This is not there in Android, all right? And product is essentially the directory that contains whatever product that you're trying to create, or in other words, what's your Brillo application, all right? And they have some samples here. For example, they have an example LED flasher that'll walk you through in a few minutes, okay? What else do we got here? Systems is the same thing as before, except they now have a few interesting things like WeaveD and WebServeD, all right? Which will, I'll show you a diagram of what this does in a minute. But those are specifically for Brillo. And then tools is another of the Android directories. So what they get rid of from the top level, so art is gone, art is the Java virtual machine, right? CTS is gone, that's compatibility test suite. Dalvik, which also is the same, I'm sorry, type of developers, development docs, all those development stuff, framework space I told you about. NDK is gone, packages, which is all the default applications like the home, the launcher, and I'm sorry, the home launcher, catheter, browser, and so on. SDK, there's no SDK in here, and so on and so forth, all right? You can probably get some of this stuff back in, all right? Depending on what it is that you're looking for. I would presume that bringing the Java back in is probably fairly heavy, but otherwise the rest of the stuff should be, I mean, if it's C-based, if it's a C-Libr or whatever, you probably can get it back in fairly easily. Some stuff they've added to external, so interestingly, you see there's Gen2, because in fact, if you go through the sources, you'll find a lot of GYP files, at least in the older release, they used to have a lot of them, I don't know, I couldn't find .-name, start GYP, how about that? That's still a bit of it, but I remember distinctly then in the older release, they had a lot more GYP files around. Okay, in terms of images, what does it look like? What does it generate? So you can see, okay, it's not a one-to-one comparison, I'm like using a 32-bit target versus a 64-bit one, but you still see that, sorry, the system image is like a 10th of its original size, even though this is a 64-bit platform that I'm measuring it against. There is no RAM disk because they've merged essentially the RAM disk and the system image in a single partition. The user data part image is a bit misleading because this is actually on my 64-bit Brillo here, I've actually added some stuff that is not in the original. And this is kind of like comparing the Android user space versus the Brillo user space. So forget about cache, forget about the SD storage. In the system partition, you don't have app, fonts, or framework. You don't have Java, so there's no need for framework. And you can see that I'm boxing out the system and RAM disk together because they are actually a single image with both of these things on them. Data partition is still the same as before. And if I run this thing, which is my intent, let's do this, lunch, and I was running number 10. Let's do that. No, no, no, that's not the name of it. This is the name, it's Brillo emulator. And let's not run it in 8%. Yes, okay, fine. He doesn't like the fact that I've got this guy running in the background. Out you go. Awesome. So it starts off essentially on the shell right here. There's no QEMU window that opens up because there's nothing to be shown. But I do get a shell here. And I can also use the ADB shelling capabilities I used to have before. So actually, now let's do this. Lunch, no, no, no, no, no, wrong one, sorry, wrong tree. Let's go back to this guy, lunch 10. All right, ADB devices. So for some reason he's got two emulators, one of which is offline, but let me do this. Let's do, actually let me see. Am I connected back to my hotspot? No, okay, cool. There we go. ADB-S emulator 5554 shell. All right, so I've got here essentially, this one is XTD6 based. No, that's not what I wanted, CPU info. So this is just XTD6 on XTD6 in this case. If you look at the top level of the tree, there's a lot of things that look like, you know, ACCT, you've got the init environment, you've got the system partition, a lot of the basics of the file system are the same. Most noticeably, as I mentioned, if you go underneath system, there is no framework. All right, you've got many of, much of the same functionality, so get prop, you know, still global properties from Android, they're still here. You wanna look at the list of processes, you know, there's a lot of stuff that comes back, service manager, they've got media server and so on. And I'll show you in a second here what the difference is in terms of graphs between Brillo and Android. Obviously, you've got WebWeebD and WebServeD, which are the Weave-specific things which are being run on this device. So let me go show you data, sorry, local TMP. Let me show you the difference of graphs between those two things. Let's go here, node, app, this, and now, let's open another window. That, launch this, e to be forward. Oh, sure. Yeah, why not dash s. Go back to this guy. Let's go to local host, 3000, great. Is he running? Oh, yes. They don't mount debugFS by default. Debug, FS, none, sys, kernel, debug. So we're using for the, that binary explorer thing we're using, we're reading debugFS to get the information that we're displaying to you. And, nope, the other window. Hello, computer. Well, he does have more stuff than this. Let me try again, sorry. Well, worst comes to worst, I'll just show you a screenshot, but this does work. Okay, let me grab, let me grab the screenshot from, let me see, just give me one second here. That, let's do that. All right, it should look like something like that. I'm sorry there, for some reason my display here is not working, but you see that essentially you've got a lot more, a lot less stuff, right? And last things, a lot less things running. What you, what is interesting though, is that you can see that web serve D is actually, and we can't see it here, but this would be weave, the weave daemon. So essentially they're using now binder instead of debus to have the various brille of weave components talking to each other. And what this looks like in terms of say, diagram if you want, is something like this. So the connections coming in from the cloud are going to web serve D, which essentially just is a basic web server, all right?  It says, okay, I can handle that, that, that, that, that. And then when the queries come in for those URLs, essentially, they get handed off to weave D, which then hands off the query to libweave, which actually is the meat of the protocol. And then libweave parses it out, and essentially hands it off to whoever is registered. And then the applications, or who's registered to actually get those queries, will use the how to actually talk to the hardware. And let me show you an example of that. How much time we got? Oh, we're almost done. All right, let me hurry up here. Let me go back to my shell. So if I go under product, Google example LED flasher. So there's an LED flasher service. Oh, in fact, let me, before I do that, in common, AIDL, Brillo, examples, LED flasher, there's an AIDL file. Who knows what an AIDL file is? So AIDL is an interface definition language file, which essentially specifies communication between two binder parties, all right, a client and a service. And this is essentially the API that the service will provide. If you look at the service itself over here, in its main function, all right, it'll essentially initialize itself, which we'll call this part here. And this essentially registers the service with a name over to the wrapper. And on the other side, the LED flasher itself, I believe. Was it the service? I can remember which one of these guys. Oh, service, actually status. This guy does an HW get module, all right. Anybody know what that is? That's a call to the hal layer, all right. We're actually asking the hal layer, get me that lights hal module, all right. And if you kind of follow the code, I don't want to kind of lose everybody here just by walking through some code. But the idea here is I wanted to show you, we're talking to the hal, we got a service talking to the other side over to the weave daemon. And essentially when it gets the request, it's essentially gonna call into the hal layer, straight out, all right. There's no call into the system service to go to the hal. It's straight into the application, in this case, this lights flasher. And if I go out all the way to the top underneath external, and I go for LibWee, which as I said, is the parsing thing that actually takes care of demangling all those arrest queries. If I go to, I think, examples. Was that it? Provider, no, daemon. There we go, I think, read me here. So in the read me here, they actually have kind of like a how to get OAuth tickets and essentially send the queries, and you can see essentially the device getting, there's a console for this, there's a weave developer console, there's an app, and essentially you can register your device with the console and have the app actually talk to it, and you can see the queries coming in from the weave protocol, all right. That's the whole benefit of this weave thing, is essentially you've got this cloud service that Google houses to actually send queries to the devices that are registered. And so what I had taken a look at that, at least kind of like my 30,000 foot view of it, was that it probably wasn't too hard to replicate what they were providing on the server side, because the protocol's actually not that complicated, at least again, from an initial analysis. And interestingly, somebody actually did implement a Node.js based weave server, so if you don't, presumably, and I haven't tested it myself, so I can't even tell you whether it's good or bad, but there is code out there that if you wanted to implement your own weave service instead of having Google provide it for you, you can probably start from that code if you want to take a look at it. I think it's called, and I'm gonna get this wrong, or Weavey8 or something like that, which is kind of like the re-implementation of this. What else did I wanna tell you about this before I sign off here? So I showed you the PS list, I showed you that much of the stuff in here. What else do I wanna point you to? Yeah, so okay, one thing I'm not doing here is actually showing you the site that they provide as part of the beta to people that are part of the Brillo beta. You can sign up for that if you want to, and they take a different perspective on things. As I said from the beginning here, I'm looking at this from a very specific point of view which is can I leverage this as a stripped down embedded Linux based on Android, and yes I can, right? But they're taking a different perspective which is helping you create IoT devices with this, and so they have references on how to do that. They have boards described on their website and stuff like that, and you're free to sign up and get access to that and look at what the material they have for you there. And so from my perspective, having been doing a lot of Android work, I like the approach they've taken with this. I hope they actually have some success because it gives me an alternative to Yachto and Buildroot. I have nothing to say bad about either of these projects. It's just that I think that in terms of device enablement, Android's got that pretty well nailed down with most of the SoC vendors and being able to leverage that off the bat for an embedded Linux distro is pretty cool. Obviously, it is yet not released, okay? So what happens with it for real afterwards is TBD, I have no idea. But it's interesting to see that they've been able to, as I said, reuse Android pretty much as is, and this is the bit I wanted to show you earlier and I could not, so let me try to see if I'm connected now. Great, my hotspot went away again. Okay, whatever, sorry, bad hotspot. If you just go to androidgooglesource.com, you should be able to see that essentially they've got, instead of platform manifest, they have Brillo manifest. That's what we wanted to show you here. And then you grab that manifest and you can start playing with the sources and everything I showed you here, I just deduced from actually looking at those sources without actually referring to their documentation. Yes, sir. Do I have any insight about Google's plan to replace the kernel? I don't. I don't know that they have that intent. There's a lot of speculation going around. I mean, if you go back historically, I think it was Brian Swetland that had mentioned on Linux Weekly News in response to one of the posts that they had actually used Linux, they had looked at BSD, actually they had seriously looked at BSD, the BSD kernels, but they found that the SOC vendors knew much more how to deal with Linux than with BSD and that's what kind of pushed them in that direction. And so the question today is still going to be the same thing, which is what are the SOC vendors familiar with? And that for me still remains, Linux to a large extent. Hey, maybe Google can use their 800 pound gorilla kind of like weight to push people in some other direction, but I've not seen that actually materialized. And I'm not hearing from SOC vendors, Google met us in a secret meeting and they want us to go with Fubar. Might get happened, but still were. I think we're good with Linux for a short bit. But interestingly, with regards to Android, if you look at the compatibility definition document or whatever they call these days or compliance definition document that they used to call it, they don't actually require you to have Linux for running Android, getting certified as an Android device. They want the Unix capabilities of a Linux-like kernel, but they don't actually require you to use Linux. In fact, they don't even require you to use the EOSP. It's just so happens that by using both you're kind of complying. If that, I know it's not a direct answer to your question, but that's the best I can make. Yes, sir? Sorry? What about what, sorry? Oh, Magenta. So that's something that I'm still... What about Magenta? So big question mark, I have no idea. I know there was an announcement about that and I was still trying to grasp what the benefit here was and who's pushing. Because from the outside, Google looks like a big monolithic box, but inside of it, there's plenty of teams. So what's the team pushing that and what are they doing with it? I have no idea at this point, but I'm keeping an eye on it for sure. Yes, sir? Granted. Correct, granted. So the gentleman makes a very good point, which is my first initial point was with Android, you get the benefit of having a tremendous amount of users or developers that know how to code for this and all of a sudden, hey, we stripped that away, so what's the benefit of this here? The benefit that you get here in the way they've at least packaged it for now is that you get the same platform enablement that you had before. So if you had been doing platform work in Android before, this is still fairly similar, but at the platform level, not at the application level. So if you were using HALs, if you were familiar with using HALs and that kind of thing, you're still in the same kind of framework to a certain extent, but you're right. Yes, sir? Yeah, so with regards to Brillo, there is this aspect where they're trying to get everybody around the same kernel for security reasons and such things. I am, to be honest with you, I haven't investigated that enough to be able to speak of it, but I know there is contrary to say standard Android where everybody can use whatever kernel they want. They want people to use a specific kernel such that everybody's uniform across the Brillo devices out there. That's as far as I can go. Oh, okay, that's interesting. Okay, so essentially what you're saying is that they, the SOC vendor will have to conform to whatever they, the kernel they specify, not the one that they were using. Okay, I mean, but hey, more power to them. They're gonna be able to push the SOC vendor to upstream their stuff. I'm not gonna complain about that. Yes, sir. Sorry. Yes, go ahead. Okay, so, okay, what are the risks associated with using this? So my standpoint with Android has always been that if Google stopped developing it tomorrow morning or if they closed sourced it, there's such momentum behind it that I am not afraid that somebody would pick it up and go with it, be it signage and mod, be it somebody like Alex Foundation or what have you. I think there's, Google can try to control it, but I'm not sure that I see exactly how they could do this. With Brillo, it's essentially the same thing to a certain extent insofar as they are able to catch some, if there is going to be some kind of traction behind it, I'm not sure exactly how they're gonna be able to control it. The licensing is fairly similar. In fact, in the Android's case, the way they control the ecosystem is through a trademark. It's kind of a bit brilliant. They give everything away except they control how you use the trademark called Android. And so, my concern is really just an annoyance. I mean, it makes sense from their business perspective is this thing about going through their cloud all the time. It's like, hey, you know what? I wanna run my own servers. I don't want my data to go through you, but that's a personal opinion. I mean, it doesn't take anything away from the usefulness of, if they're pushing this from a consumer's perspective, and so kind of tying, I don't know my fridge and whatever else to some other services they have, it fits in what they're trying to do. There was a question. Yes, sir? Yes. Oh yeah, so what are the permissions for the applications and such? Or the weave applications? I don't think the strict permission model that Android has fits in this. I think really what they're leveraging here is the fact that you've got a common base between Brillo and Android in terms of libraries and such, and also in terms of HALs. Beyond that, you could run those apps, the Brillo apps or weave apps as whatever user that, I mean, I wouldn't bother with that. I would just use whatever user I can, will work for my application. Right, right, right. So the signature mechanism there is non-relevant because essentially we're running in C, and so there's no signing of the binaries going on here. It's a custom device with a custom set of services, and the user's not gonna be able to side load much there, at least not that I can see. Yes, sir? Yeah? Mm-hmm. Yes, okay, so do I think that Brillo would cash the, you know, will it be able to accomplish the same things that Android did on the user platform on the embedded side of things? So when was it? Two, three years ago, at one of the ELCs, I can't remember, I was invited on a panel, and we were talking about the different distros, so somebody was there with, I think it's Tim, we're representing Bakerone. There was Thomas Pizzazzoni, we're representing, obviously, Bildrude, there was myself, and there was another gentleman representing, I think, Yachto, I can't remember, it's a bit vague in my head, but when asked about something similar to that, my response was, I do think Android's gonna eat the whole thing. Just because of the SOC enablements, that's the thing is SOCs are, SOC event is already enabling Android, right? Thereby they're enabling their chip for specific usage of it, and if you strip that down to something bare bones and run whatever you want on it, then hey, you guys have a lot of distribution, plus it's already specced for you, you don't have to select libraries and such things and so on. It remains to be seen, I mean, there's a lot of, so Linux historically ate all the build your own operating system things that were there, say, 15 years ago. But the nice thing about Linux is exactly in embedded, is the organic nature of it, which is I can take it, I can customize it to my needs and not care of the rest. Maybe this becomes a base for something, we'll have to see how the market reacts to this. I mean, for now they haven't even released it yet, so it's really hard to grasp what's gonna happen. Yes, sir? One last question, yes, sir? Yeah, one of the big differences between the AOT market and it's plastic and uncoated for life's sake, plastic and uncoated for a short period of time, and when you listen to a lot of other talks, for long term support, you want to be close to the main line. Absolutely. How does this work for this, because you're talking about SOC enablement and there's a lot of that, and typically the things that the SOC vendors would have aren't very close to the main line. So it won't be better off with a main line and not very close to the SOC vendor house. Sure, I mean, so are we not better using main line versus something baked by the SOC in terms of, for sure, I mean, if you use something from main line, it's better, but there are a lot of systems out there that have been put with two, four kernels, or even two, two kernels. They've never been upgraded to anything. You know, my worry as we go heavily into this IoT direction is that more and more devices in society are gonna be based on things that are never gonna upgrade it, but I don't think the issue is with Linux. I think the issue is with the business model surrounding those devices, which is as a manufacturer, you wanna put a device out, sell as many as you can, and then move on to the next one. There's almost zero incentive to go back and support this other legacy product that you put out there. So the issue is business model is more than, I think, specific software support. I think there are certain things you can do on a software side that make it more palatable if you do wanna maintain long-term serviceability, such as using LTSI or whatever else, but ultimately, it comes down to, are you willing to pay when you put something in the wall for it forever? Because that's really what it has to go to. If I put something in my wall or a medical device or whatever, the manufacturer has no incentive to make upgrades, unless I'm continuing to pay for those upgrades to a certain extent. And I think that, as consumers, we're not really, we don't really want that. We wanna buy something and never upgrade it. And the other side of the same thing, the manufacturers are doing the same. Yes, I mean, I think it's a business issue more than, sorry? The same price, why don't they give you free updates? Yeah. And why don't they give you an update at all? Well, if you are interested in that, then you will. It's an interesting, it's a- I don't think they use it here too much. I'm with you, but I think at the end of the day, it's a more a business discussion than a technical one. Yeah, yeah. I think we're pretty much done, in terms of time, and a bit over, so I'm happy to take more questions after the talk if you want to. Please come up and ask me what you want, and I'm gonna be here until tomorrow end of day anyway. All right, so thank you very much, and enjoy the rest of the conference.


The new Playhouse, presenting great films old and new, will be just the beginning. Beyond that, we're planning to feature a wide range of cultural offerings, an ongoing series of programs and events relating to literature, theater, music and art. There will be speaker series featuring distinguished authors, artists, actors and filmmakers, small musical performances, play readings, art exhibits, wine tasting, and educational programs for area students, stay-at-home parents and retirees. We'll also make our space available for a variety of other classes and workshops, as well as private parties and business conferences. The idea is to get maximum use and value out of the Playhouse day and night and create a destination you find yourself returning too often and with a smile on your face. It's exciting to think about. Now let's make it a reality. Please donate as generously as you can. Help us finish what we started. Thank you.