 Hello everyone See happy Friday to all. We have made it through yet another week. Let's Interrupt a bit here Let's see looks like we do have sound least go into OBS While I shuffle my windows around just a bit here Let me In front for the chat here Uh, so let me start out with a quick housekeeping note before anything else A literal housekeeping note in this case. I actually do have some construction work ongoing at my house So there may be some hammering some power tools Some noises like this going on in the background Um, I apologize if so if it comes through too loud I do Have a noise gate on OBS. So I'm hoping that that will hopefully help uh to some extent But I imagine some of that is still gonna come through so just a heads up to everybody You know, maybe try to turn your speakers down a bit today might be a good thing I'll try to speak up. Um, especially if there is ongoing stuff at the moment I'll try I don't necessarily have a mute button, but I do have a slide bar I'll try to mute if it's getting way way way way too bad for a minute or two And then I'll come back whenever it does Ease up a bit. So, uh, they're I don't know if you hear him, but there's some hammering in the background right now So, uh, we got that going on today. So just keep that in mind Um, and yeah, um Getting into the actual show. Uh, hello everyone. My name is Tim I go by phoma guy on github and discord. Um, this is the circuit python deep dive program In this program, uh, we are looking at the innards of circuit python Um, this is a program that was started a weekly stream started by shot, uh, scott schochroff the lead developer of circuit python Um, he recently had a child. So, um, he is not working, you know Resumed all of the things that he was doing beforehand. Um, and so this stream I am currently doing this stream weekly Um, and have been for a little bit now So for those of us, uh, for those of you that have joined me before thank you to you for those of you that might be new Uh, or if you saw this stream previously when scott did it, uh, welcome and thanks for joining us Um, we are looking into the code of circuit python specifically today a couple of things I have, uh, laid out to look into our The web workflow edit page. Uh, I put in a pr for that. I'm gonna try to get it, uh, back to a good state. Um Real quick here if this ends up, uh, starting to look like I'm not able to do it Very quickly, then I'll move on from this, but I did want to give this a try Um, and then the other thing I have, uh, which I'm super excited about is a hardware device Uh, speaking of which I see kmatch in the chat. How's it going kmatch? Thanks for tuning in Um, and we'll dive into this hardware device later, but this is a circuit python tablet. Um, That runs on esp 32 s3. Um, so yeah, that's what we'll be looking at today I do notice right now. Actually, I don't have my camera here, so I'm gonna have to Grab my camera. It's just a couple of feet back here. I'm gonna have to grab that and move it over to this desk So that's gonna take me a minute when I do get to it. Um, I'll do that here shortly But I'm gonna start with this request here. Um, let's also finish it off though, uh, for folks that might be new again You know, we're getting into the the deep internals of circuit python on this program But if you're new to this and you don't know what circuit python is, um, a good place to start is circuit python.org right here This is the main website for the project. It's an open source project It's an implementation of python that runs on tiny computers called microcontrollers Uh, such as all the ones pictured on this downloads page Um, including a feather devices like esp 32 s2 and s3 feather devices Um, which is similar to what is on the tablet that we're going to look at a little bit later So writing python code that runs on these things interfaces with other hardware such as displays You know led lights buttons beepers buzzers switches, you know levers touch inputs All kinds of things right sensors temperature sensors accelerometer sensors all of these different things we can write python code That interacts with all of these things um So that's what circuit python is what it's all about Um, I will let's see. I'll shuffle a couple more of these around so I can keep an eye on the chat Let me catch up here. So how's it going? Folks in the chat scur and I love the factory over in colorado. How's it going? Thanks for tuning in Uh, paul hear you well. Thank you for the heads up. How's it going paul? Thanks for tuning in Um scur is in uh, rato's western neighbor, uh, which would be Uh, other side for me. I'm in the well, I'm another state for the rover, I suppose, but I'm the eastern neighbor But still very far away Kmatch, how's it going? Thanks for tuning in and thank you, uh, of course as well for the opportunity to work on this Um, exciting new tablet device. Uh, seed grover It's on the uh, how's it going seed grover? Um st 7789 display drive that it's not adjustable. Oh the um, something about brightness. Is there more functionality around the display brightness? Uh, good question. I don't know for sure. Um I know lots of displays are pwm So you can adjust the brightness for that. Uh, recently we just had a fix for the display that's on the pi portal titano To make that work correctly with pwm. Um, I don't I'm not super familiar specifically with st 7789 so I don't have any insight into that one Whether or not it does support brightness today or if there are plans to Provide brightness. I will say uh, those seed grover also is in the chat here seed grover has a, um A recent library a recent example that uh, that they put together that allows you to Use brightness not by manipulating the display with pwm, but instead by manipulating the colors inside the palette to make them Dimmer or brighter. So uh, in a situation if that screen doesn't support brightness You might be able to uh, get a similar type of effect By using something like that to manipulate the actual colors in your palette to make them darker Um, rather than you know, the backlight of your display getting darker if that makes any sense Um, so check that check that out and um seed grover again. I'm pretty sure is you made that in the chat So, uh, maybe somebody can drop a link to that Okay, uh, we have wandered enough. I think I did the intro. Let me also do say thank you to aida fruit So circuit python is an open source project, but it's primarily funded by aida fruit So aida fruit is a hardware and software company based out of new york And they are paying the folks that work on the circuit python project full time. So a couple of the folks are full time You know employees of aida fruit that work on the circuit python project Some folks like me are part time and we still work on the circuit python project part time and aida fruit is paying us to work on that So thank you to aida fruit and then also thank you to anyone watching if you want to consider purchasing hardware from aida fruit That does help support the project of course by You know giving them money for selling hardware, which they can then pay out to people who are working on the software So thank you to them and thank you to everybody who does purchase hardware from aida fruit dot com um So web workflow where i'm at is I made a pr and I had like a stale version of main I think and my pr has some changes that That I don't intend to be in it Like it has these changes in these other sub modules like ulab and pu pu lcd I think That um, I tried fixing this last night. I added a few commits to this pr I did try fixing it. Thank you to scott who left a message on here About how to fix it. I did try to follow this I don't think I ended up doing it correctly And I think what I am gonna do is uh, see if I can just make a new branch and then start from there Sometimes I find that's a little bit easier for me When I do get in a weird state with git that I don't quite understand all the way or how to get back from Um, I find that I can just make a new branch and sometimes It works correctly, you know, as long as I make sure to update and stuff before that. So I'm on main I'm gonna update. I'm gonna run make fetch sub module Which I think I actually did just a moment ago But I'm gonna run it again just to make sure that we're all up to date here While I do that, let's also say hi to the folks in the youtube. Uh, how's it going? Uh, beata And uh, hope, uh, thanks for joining us. Hope on uh, randall Let's see, uh, not taken seriously. How's it going? Thanks for joining us over there on the youtube Let's see in question here. Apologies. It's been asked before any updates planned for the rpi pico w No worries. No problem asking. Um, I don't know that I don't think it definitely has not been asked during this program before So you're good there. I will say I don't have any insight into it necessarily though. So, um, Unfortunately, I don't have an update for you But my assumption is at some point probably we would be trying to support that device with circuit python I assume uh, because we do support the Raspberry pi pico of course and we also support like esp 32 s2 and other wi-fi based things So I would assume there is some plan to do that, but I don't know any kind of timeline and I can't you know I can't confirm it or anything like that. That's just a guess Um Kind of as a member of of a community first and foremost just watching, you know, new stuff come out over the years I would assume that that's Somewhere on the horizon, uh, but I don't have any specific insight How's it going aspect w? Thanks for tuning in Yeah, this uh This palette fader right here skirt. Check this thing out if you're interested in trying it out this way Um, oh, we've been using pwm on the st7 Let's see. Oh, I saw the the display drive that isn't adjustable But you have been using pwm which works pretty good. Okay, so let me make sure I understand So you have a display where like display dot brightness does not change the brightness, but If you hook up a pwm object yourself To the pin that the display brightness is on and then you shift that pwm Instance that you created then it does change the brightness. Do I do I have that bit correct there? Is if so, I think that means Probably just the display driver is not hooked up quite right um Because internally, I think the display dot brightness property I think that's driven by a pwm So it should if you got it to work that way and like user code level then it should also work that way from the driver I think um We're gonna another c3 board for circuit python nice. Let's check that out while we're waiting on this update here Copy this Okay, also while we're waiting on this update. I'm gonna grab my camera real fast as well So I'll be back in just a moment. I will let's go like this Okay, here we go So I actually was using this camera for something non circuit python stream related Today and yesterday. So which is pretty rare. Usually the circuit python streams are the main thing I use this for But I had actually used it and moved it Over on the other part of my room to point at something different um This is the ip lately 8080 And I'm guessing it's probably crashed the first time. See here's a sneak peek at what we're looking at later um Very fuzzy sneak peek. Maybe we can sharpen it up just a bit We are oh a little too much Okay, uh, now we got the camera ready to go. Okay, did we finish our update here? We did indeed all files up to date Let's do a make This one Let that run real quick And then what I'll do is I'll make a new branch from main which should be now all up to date And then I'll apply my stuff Into that new branch, uh, which should be relatively easy. I think to Copy paste that stuff over hopefully here So let me catch up on the chat here as well. Okay, this was the board. So yeah, you're working on this board as patrick. Is that right as patrick? Yeah, let me uh We got on this thing Edel esp 32 c3 Oh, I like the little form factor with all these pins in the middle. That's interesting It's kind of cool. It's like a little um You know like proto area there for you to connect to looks like you got you are broken out um I to see a couple grounds couple powers Let's see Or no, maybe my browser add-ons or something are winging out the uh Photos here you can get these ones. These are pretty good. So nice This uh, this is battery hookup. I guess b plus b minus Turn that thing off a battery nice Is this a ribbon cable uh connector down here? Is that just an old android phone? Uh, it is. Yeah, the the camera the camera is uh an old android phone uh old-ish it's like a lgv Uh v80 or 50 something like that Uh, yeah, and there's an app. I don't know the name of it off the top of my head, but there's an app for uh web camera um server basically It has a little configuration screen and a start server button you push the start server button and it loads itself up and you can access it on the network Uh using whatever ip it is and then get the feed take snapshots adjust the You know the lighting the the focus and all that stuff on it. It's pretty handy But I will say it is starting to wig out a bit on me um I used a certain phone for it for like a year with no problems But then started having a little bit of trouble. I switched out to a different phone That one worked fine for a couple of weeks with no trouble But then it started having some of the similar kinds of problems. So I'm not sure what the deal is with it, but I'm actually in in search of a newer uh top-down camera shooting Uh device or methodology or something so if anybody knows A good device like top-down camera Um Particularly for shooting screens, right? Like a lot of what I am filming is screen. So If anybody knows a camera that's like good with screens and like it combats screen glare and stuff like that, but still picks up lcds and stuff Um if anybody has recommendations I am all ears because I am interested in something different than the the android device I am using Uh good question though About the brightness on the st 77 I did a quick search in projects Found the rotary encoder Uh with the drivers rotary encoder inside the driver Have a circuit path on running on that beetle Need to test the pin definition and learn how to add other ic's on the board to the board definition nice like uh other uh Like stuff connected i2c or something a sensor or something like that Suspect the driver doesn't support brightness because pwm pin isn't always the same. Oh interesting isn't always the same However, it would be nice if the driver allowed it to be optionally listed when instantiated Yeah, that'd be a good way to do it. So like uh different versions of the display. I guess can have the brightness on a different pin or something maybe Yeah, I would agree. Uh, I hope you're on macOS and have an iphone Apple are adding the ability to use iphone mounted to your display as a webcam including a desk view mode I am not on a macOS and I do not have an iphone. Uh, unfortunately, so I will not be able to take advantage of that Um that is good to know though. It's definitely a useful feature Than beta right now nice, uh, okay, so I'm gonna go get check out new branch from main. We're gonna just I think call this um Just gonna call this basically a new version of this uh workflow edit page um Web flow edit page make it shorter this time around from Adafruit Main I don't know if this needs quotes. I don't know if the quotes will help or hurt either. Let's Come out. I don't think I use them normally. Uh, no track this one. We don't want to track this branch There it is To that and then what I'm gonna do is I'm actually just gonna go ahead and push this to foamy guy remote See, are we back? We might be back like a few more places Five I think we might be back. Okay. Yeah, I think we'd my uh obs crashed or something Uh, I looked up one minute and I looked back again the next minute and obs was just gone Didn't give me like a crash window or anything just gone Uh, we're back now though. I think we're resumed. We have sound still Hopefully the streams are sorted out, right? Um It's really pretty good about picking it back up. So hopefully that works. Yeah You try refreshing if you get any glitches or anything like that here. I'll put in the uh chats as well Uh, let's see See streaming glitch Sorry folks, uh try refreshing if having trouble viewing Oh There we go back. Yep. Thank you folks. Uh nails Hopefully not in the cable. We're gonna go fingers crossed. Definitely. Let's please not have that one Um, okay, so we've got this comparison here. I'm gonna find, um This stuff basically we can Kind of move these whole files in This file does not exist actually though, and I don't necessarily doesn't show me a way to pull it in Does it show diff compare with local? open repository version cherry pick selected changes Usually there's uh some arrows here I can use to kind of click back and forth It's pretty handy not too much stuff though. So I'll just try to move it in here real quick. So 828 ish Got this diff statement bit Oh, it's in a new spot though now static file stuff reply static Okay, and then the only other thing I think that we actually do really need is the actual edit dot html and edit dot js Um What will be the easiest way to get those? I'll just go here I'm like this I hit it Got a script Add it Uh, actually one other change that's there is uh in the directory html kind of a weird diff here the One's tough to get matched up, right? Maybe there it is And I don't do I actually have any difference in uh No, this was not my stuff. This was just like got updated by God, I think in one of the commits I pulled in when I merged or something Update main when I tried to update main Okay, uh that will I think run should run its I have to make pr from it for it to actually run its uh Actions Okay, perfect. I do have only my own changes now We don't have that changes with like the sub modules, right u lab or pew pew Those things are not listed here now only my stuff. It's perfect. That's exactly what I was going for Uh, okay Where is this? Okay. Yeah, let's try to keep an eye On uh obs and Look at the chats. Yeah, it looks like we're good on the chats. Okay Let me pause this I don't really need this uh This particular preview running right here. So let's move that I think actually this is probably running a preview as well. We can pause that Okay, uh, okay, so I'm gonna leave that there for now I think I'm pretty much caught back up to where I can make pr But I will do that later on after the stream Um, or if we have some more time towards the end, but I suspect we'll probably play with Um, our new toy for the for the rest of the stream here. So we have this device Uh for folks that don't know Crestron. This is like, uh Just like conference room technology company. They make All kinds of stuff for office buildings and conference rooms. Um So like if we search something like this Crestron, I probably think I spelled it wrong didn't I Crestron Go tablets. They make all kinds of stuff. Do they have a photo anybody photo? Not really They make phones and things as well Just all kinds of hardware that goes inside of like conference rooms and other office building type stuff So that is what this, you know device was made for was going inside a conference room Or, you know mounted on the wall or on the on the table or something like that inside the conference room Uh, it has a couple of navigation buttons and an x and then this is a touchscreen and it would have You know probably controls for like controlling stuff inside the room. So maybe like an up down button for the, uh You know the projector screen Maybe like a call button for you know being able to dial the telephone in the room Maybe input selectors, you know select hdmi versus dvi versus You know a browser page or something like you know switching who has control of it at a certain time This thing will just control that kind of stuff in the conference room In its actual intended existence What has happened here though is our friend kmatch from the community and in the chat. So thank you again to kmatch for doing this kmatch has created a custom board right here And kmatch feel free to fill in the blanks and or correct me if I'm wrong I'm relaying my understanding of it But I could be there could be parts of it that I am misunderstanding as well So I'm giving you my kind of account the only thing I've done with this so far is I took it out of the box last night. I powered it up And I did see it power on and I saw the program that's on it and that sort of stuff But that's the only thing I have done with it so far So kmatch has created this custom board Looks like back in march was when it was designed. This is the 1.0 of it. This is a esp 32 s3 dev kit adapter board So esp 32 s3 dev kit device It's not quite a feather, but it's sort of feather ish, right? This is the microcontroller It plugs into I'm guessing probably some female headers on there Can't quite see them underneath there and it is taped on to keep it nice and snug, which is cool So that plugs into there And then we've got these two ribbon cables So this longer ribbon cable here from what I understand. This is a relatively standardized connection from displays for tablets and touchscreen devices and things like this It may not necessarily be the only cable that exists for this purpose But it is one that is relatively widely used In products just like this that have a touchscreen. They have this type of ribbon cable connector and they also have a similar type of Driver chip. I assume somewhere on the inside wherever the other side of this cable is at There's a driver chip inside of there that's responsible for driving the display This one over here Way fewer wires. This one I believe is for the touch input. So when we have this running You know, we're able to touch the screen and it knows where we're touching and it is transferring that data through This other smaller ribbon cable here Um This is all connected back to the microcontroller and k-match has created kind of a special version of Circuit python, which actually expects this type of hardware here. It uses the What I believe is a relatively new peripheral right on the esp 32 s3s. They have this lcd driving peripheral That's made to talk to these things these these types of ribbon cable drivers that go out to the displays k-match has implemented it to where we can take advantage of that new peripheral Inside the csp esp 32 s3 From circuit python and then actually hook this display up to display i o Draw on it just like we would a pi portal or any other device Um, so now that I have set the stage. Let's see. You're doing great. Awesome 40 pin connection Is to the typical display, but uh, is 40 pin is typical, but they do very widely Uh for this display doesn't have any very smart controller. The display is a so-called rgb display or dot clock display Okay, so it doesn't have much as far as brains. You just kind of blast it some color bites essentially and it, uh Draws them onto the onto the pixels that it has Perhaps is how that goes. Let me see if we can turn the light on. Um go here Lady we can probably come down just to just a touch here as well and then Focus in a bit So there's our device Let's get the chats back on here. This is a simple display Driver chips are actually mounted to the glass on the display. Nice This simple display driver chips are mounted to the glass on the display No real smarts on the display. Okay So I will plug this in and I don't recall. Let's see if I can see it here or I may just have to pick it up and look Uh, yeah, I'll have to pick it up and look. Let's see. Which one was which us Okay, uh uart is one and usb is one. So I'll plug in usb look that in Put this over here Back and it takes a second to boot up. So this device has powered now. It's powering on You can see it just connected as circuit pi right there. So we do already have the circuit pi connection And there is our very very glaring, uh display io repel And then there is a uh, let's look that yeah, maybe we just go no, uh, no, uh The light for now in fact actually it's probably better this way. Yeah, there we go So it it displayed blinker for a little while now. We have a foam tablet, which this is awesome I like the I like the graphics here. So, uh, thank you for that came much Uh, great stuff there foam tablet and then it has a uh, let's see. I lost where it's at. It has these little bubbles Uh bouncing around a little bits of of foam if you will So these are bouncing around kind of like the old school, uh, you know dvd logo right on your dvd player And this will track the touch. So the touch is already working to where if I touch It's picking up those touches and it's um, you know using it as a place to change the location of the bubbles too So this is already already drawing are already working already like really, you know pretty responsive um Is this like is it a capacitive touchscreen this thing it does feel More like a capacitive screen than a resistive one like I don't I don't feel like I have to push really it's just sensing my, uh Whatever my capacitance. I guess right. I don't really know how they work all the way um Have to refresh the display pixels regularly to keep it showing Um, okay, so you have to keep sending it You just have to keep blasting it the uh All the all the pixels that you want it to draw essentially Okay, so first thing, uh, we're just going to look in here. Let's look at the code that's on it Let's see kind of how this thing gets initialized and set up and go from there. Uh, ultimately our goal is going to be building The custom build of circuit python, um, that this device needs to run and then get it cleaned up fixed up Whatever we need to do to get it uh pass the finish line to be ready to Hopefully, you know make a pr out of and merge into circuit python that way other folks would be able to use this same type of hardware So that's where we're headed, but of course to start with we can just look at what's on the device So let's go to device workspace And let's find our circuit pi drive here And actually the pretty much the first thing that I am going to do with it is uh, Just take like a full backup of it just in case if I mess anything up. So I have The device workspace here, which is on my local pc Um I can just dump a backup into This will give me all the files Um, the other thing I was going to pull to is a backup of the uf2 Let's see if we can figure out how to do that by poking at it with a thing that isn't a finger Yeah, that's a good question. So yeah, good idea for telling if it's resistive kmatch did mention That it is a capacitive and it can do 10 points multi-touch I think we reset it here probably when we connected to this and now we're copying files off of it So it's probably restarting or something at this point Um, so we'll let it we'll let it do its thing here. In fact, my Goes up my pie charm a bit. I wonder if it Failed during the copy or what let's give it a minute though and see where it ends up So one thing is I have not used this device yet before oops could not copy Nope Let that go It got most of everything. Oh, but then it disappeared probably I freaked it out by copying from it like that I think we'll give it a little reset and then try again It looks like it got most of it to be honest or Or Maybe some partials. I assume maybe it did did some partials with the dot underscore there or something like that It's kind of interesting Let's see though if we can Not this one Here we go Back to here Fortunately in the current state you have to hard reset the board to reset the display And what is let's have to pull in a bit boot and reset So I'll try reset. Let's see if we do get it back that way at least With the file System because then I can copy from it. All right, there we go circuit pi is back. Oh, yeah, and there we go Oh, and it uh, it seems like it Um And I guess I didn't time it either time, but it seemed like it went pretty quick that time as well We got blinca Blinca computer on there and then of course the uh foam foam tablet. There we go bouncing around Ah, so let me You know what I'll do is I'll try not Pie charm. I think pie charm might do other Stuff when I copy files. You know, it's kind of fancy. It's always trying to do a bunch of stuff Uh, maybe what we'll do is let's just try this stuff here Grab all of these And then copy. I'm just uh in the file explorer Okay, so we got all those I did see the other button is a boot so Probably we can get to bootloader by holding uh boot and pressing reset But I will say I have not used very much of the esp32 s3 devices yet The other thing I'm going to do kind of simultaneously here is I'm going to try to pull up the uh page for that hp32 s3 Ah, they're not listed in here yet. Actually, are they? Hmm. Is it or is it just maybe I don't have it quite right? Dev kit. Okay. Yeah, I didn't have it quite right of kit. So this is one of these There's actually three of them s3 Oh, there's Up to at least four of them actually now at this point And I don't quite know the differences between all of these Um, I'll take a quick look in Uh uses okay. Yeah in eight r8. That is let's see here Nate r8. That's gonna be this one here Nate r8, and then let's see what kind of information is on this s3 is similar to s2, but it adds dual core BLE Let me catch up on the chat as well Let's see here Just one thing. Uh, what microcontroller esp? Well, you probably saw it now and I'm still catching up But it's this this is the one that's plugged into it esp32 s3 dev kit in eight r8 Seems like when the display is running that eats up a bunch of cycles and the usb is slow Oh when the display is active. Okay. So yeah, if it's trying to do both like copying files for instance and Drawing on the screen it may trip it trip it up a bit on one side or the other Yep in r8 in eight r8 special lcd controller peripheral that can do eight bit or 16 bit parallel Check check. Hello. Okay. I think we're back now. Sorry about that. No audio. Thank you for the note j temple Yep, looks like we had the wrong This thing selected therefore we didn't get any sound Um It'd be back now. I'll wait a second or two to catch up got a lot of folks saying no audio now But I think we're on a delay so we're probably catching up Uh, hopefully within another minute or two somebody will let me know We do have sound now. I think we do hopefully Be also static Catching up can hear me now. Awesome. Thanks for the heads up folks really appreciate it Uh, so that's about how long our delay is right there Check check. Okay Uh, all right, let's get back into the swing here. So we don't need this. That's definitely not what we need. Uh Let's open the right thing Okay, way, but for about 15 minutes going to take sure it's been a hot day. Yeah, it's been pretty warm here as well Luckily, I managed to stay inside for most of it But yeah, uh, enjoy and uh, we'll catch you when you come back if so Appreciate you tuning in uh for the beginning part here. So let's see Uh, let's get our chats back. Let me catch up here. So Uh, lots of internet is a mess. Okay, it looks like we're having lots of craziness going on seems your carpenter. Uh, fingers crossed. Hopefully we're Hoping for not that one. We're hoping the internet cables are going to survive with no issues Um Okay, where was I at so let's get it connected Uh, let's see if we can go to bootloader mode and then Get the uf2 file because usually I think there's like a current dot uf2 are these uh Are these like this intentionally Or is that something weird with my copy? Ah, that is something weird with my copy Why do we have those? Ah, I see Okay I think those are actually there I have the dots which makes them technically hidden files, but they are Still there How's this If you didn't copy fully I think they are there Yeah, they showed there on this side as well Maybe they're like, I don't know sir cup. Maybe puts You did any installing from sir cup. Maybe it put those there or something Uh, or maybe those are new things you worked on because some of these are like new stuff, right? Maybe did you have to do some of the stuff for Target, well, I guess it's not that new target inflator. It's fairly new. I don't know display o types though. I don't recognize that Play o types Maybe that maybe that is inside of image load actually come to think of it Maybe that is inside there. Uh, okay. Do we it's a really what I was hoping was bootloader. Does this page boot button? Download button holding down boot and then pressing reset Uh, Initially, it's firmware download mode for downloading firmware through the serial port. Does it Uh, does it ever go to bootloader mode like, um You have to bootloader mode. Let's see you have to bootloader Bootloader is not. Oh, okay. Yeah, you have to No idea Uh, see it's not necessary unless Boot drive is not visible Let's try going to bootloader and see which, uh What we get If we get a drive or if it's expecting like esp tool This is boot button. I'm gonna hold that I'm gonna press reset and then I'm gonna release boot And then it's gonna do Reboot into bootloader mode And then we'll see if it does have a drive or not. It looks like probably not Yeah, it looks like probably not didn't load the uf2. Okay. No worries. No worries So then just to clarify the way we would install Uh new versions if we do get a build working the way we would install that would be like Through the uh esp so either esp tool or I've actually been using this one a lot more lately. Oh Oh, but uh, right. This is like a chrome thing. Isn't it that for a minute Let's try to get a build though. So in order to get a build I am going to what's the best way would probably be Um It's on a branch. I don't remember for sure if you did share with me the branch if So I apologize, but if you do have it on a branch, I would uh link would be awesome See if I can check here. I did that wrong, didn't I? You're uh, I forget your um GitHub But you do have an issue on this I think right? I think what I'm gonna do is make a new clone Open that up esp dot Display thank you is the branch And this gets open what is this Load project clean project. I don't know. I think just open it No compilation commands. I mean they're there. I know them. You don't need to know them. It's fine Got this sea lion. I believe in you um Check out Also, let's uh This uh, that's interesting esp Okay, so uh, we probably need to make uh fetch Submodules or we need to do this Also how to make some changes to esp idf submodule. Here's where I put your put my version of esp idf copy that Here paste it Nice, okay So then what we will be able to do is Uh, when we When this finishes we'll cd over to the esp idf, which is being checked out right now Uh, we'll cd over to there and we will change it up to be on this branch here kmasch The remote and then Would you be lcd branch? Not good on github. So i'm unsure how best to get my version of esp Idf into the circuit python branch um, do they have a I don't know exactly how it works. Do we have a um Do we is is our submodule directly the esp idf's repo or is there an adafruit hosted? Work of that It looks like there is is that the one that is submoduled though That would be where ports Yeah Okay, so I think what we can do is pr from your One to this adafruit one And then if that pr gets merged that should make it so that then it comes into circuit python I'm pretty sure this might be it being confused about esp idf. I'm thinking Remote hung up or it should skip the ones that are done. I think right or doesn't take as long at least See if it was just transient like maybe it tried to make a request and it failed or whatever we just lucked out on that But uh, we'll let it try again and then if not then i'll just cd down there and see if we can't set that one directly anyway because we know we're going to be changing the branch anyway I think there may be an adafruit fork. Yep. Uh, I believe so There we go. Uh, oh and it did end the same way, but that's all right. Let's go into ports esp idf Interesting. Okay, and it does just show master which thing it does usually i'm going to go look at one other one like, um Hmm Maybe actually did check out I think maybe my version the one that I checked out here is actually maybe yours potentially Because it does usually show this kind of thing for a sub module, but with this one idf it just shows this master x Doesn't have one of these That's a long list. That's my entire terminal Can't even scroll back all the way Okay, let's see what happens if we try and make build from here. So we'll need to go. Uh, what is it? Well, we need to probably do Oh, I wonder if it's Maybe that make fetch sub module was failing because I never did install and you have to do that first maybe Um, oh, there's nothing in here yet. Hmm. I see Okay, that sub module is it didn't pull anything Uh, interesting Are we update a specific sub module? Had some issues getting the include statements to find the right file locations ended up making symbolic links to get it to build um Okay, how can we check on like, uh, What the sub module is doing? The one thing is We list them first You get modules Where is dot sub module? Oh, I guess maybe it was here. No That's sub modules go Uh, let's see just remember I followed some instructions to try to redefine where to pull the isp isp idea from may have messed it up No worries. I think we need to might it seems like that It seems like that the location it's pulling from yeah I guess that would make sense if if you change if you try to change the location Where is that file? Uh, isn't there a file? Is this an actual file? Isn't it get modules top level directory of a get working tree level directory Not inside here It can fig get ignore Wait a minute. Why is this here? Get it. Okay in the wrong spot Uh, it'd be nice to be able to open this in a File so pie charm is like deathly opposed to showing you the dot get folder for some reason. I don't know why Or if there's a setting to make it show it to you, but What we'll do is we'll open this here Have that on already here. My guess is maybe this is pointed to a different thing inside here Yeah, there we go. Okay, so So do you have a fork of this? Well, yeah, you must have a fork of that already Oops wrong one. Okay, that pulls up edited get modules file. Yep. Yep. I think we are There So one thing I could do is just put it back to stock circuit python for now branch It might have been the Branch Looks like this branch has a slash in it. I wonder if that's messing it up. Whereas this one Oh, uh, this one Just has no slash in the branch. I don't know if slashes mean anything special in branch names or not These things again, sorry about that again folks Thanks for sticking by me through the uh spotting us today Uh, let's check are we back up? Back up up on this side at least I noticed this is no longer paused again Which is interesting So it didn't pause I clicked it. There we go. Okay. It's also running. We can You can see in here again. Thanks. I appreciate it I don't know. Yeah, I don't know what is going on today today is not the day I don't I mean, maybe it's if it is the hammering stuff on the house. I mean, it's stuff is shaking or whatever, but I haven't I've been working all day and I was on a call even most of the day like Essentially streaming but only to one person um And I was not having any trouble today, but for whatever reason It's getting us getting us bad right now Um, okay, so I did save this looks like we got that correct Let's try uh, make Fetch sub modules that this will update these things again This should pull this time. I think it might have been the branch on uh on yours So let me see. Let me go back while that's running. Let's pull this up as well It's a tree release Okay, it does have release in the name. I see okay Please slash I the dot too. I wonder if there are any restrictions on these it might be worth trying A branch without possibly a slash and or maybe a dot in the name. I have no idea if that's actually Actually problematic or not, but I am generally suspicious of Names of files and things like that that have Not quite weird characters, but Non-basic ascii characters at least especially slashes and things And to convey different meaning I wonder Are there any others in here? So we have main main master Like not very many of them actually do select a branch The only other thing I could think maybe would be the uh the spacing Was the spacing any different there? Is the Python one It's after the equal It seemed like it would be okay to me I don't spot anything right away that jumps out as github.com My fruit and k match makes total sense p-idf is the same dot get That's the only thing I can think would be the the slash or the dot causing troubles But I mean if it allows you to It allows you to call the branch that and it's working here. I would assume that's okay, but I actually know We did still have the same one here though Unpack error not our ref Remote end hung up unexpectedly Pretty up to date. Is that what the rest of these things look like? Module Basically, yeah Up up dot get Modules frozen, of course, this one is in a different location, but One is up three, but I think that's because the folder structure is different Up esp idf up expressive up ports Back to root inside dot get Modules ports expressive esp idf Up it does look the same Back now, uh got some audio nice. Thank you The these three files were changed in the esp idf I wonder if I'm looking here at this one Python ports expressive Uh, but this doesn't have a dot get Oops Up up up dot get modules ports expressive esp idf Up up up dot get modules ports expressive idf Like it doesn't have the files though We get it to initialize the files the first time We just need to run like an update sub modules command Submodule update this is dash dash remote I don't really want to do all of them, but I guess we can get sub module. So this is what We used to run this before mac make fetch sub module We can get this to go. It's like it didn't It's like even though we updated I not saved this I don't know about it asterisk Saved Like it's um, it's like it didn't pull even though we updated it inside of here Like you can update sub modules like you did when you started I tried make fetch sub module and it didn't it's giving me an error on this one. Um If I still This is there in fact So it goes entering this remote error upload pack not our ref Fatal the remote end hung up Expectedly fatal run command return non-zero status We should write down how to do this in the expressive read me I thought I'm un-expressive Um, I think you don't generally need to do it I think it's just like it got in a weird state because kmash was trying to point it to his own fork And then I cloned that one where that had happened So like ordinarily you just clone circuit python and it's actually in there We get here Direct fetching Okay, well, it's a different kind of error Still has no files though already up to date You regularly update it to point at Adafruit's fork Those patches for expressive releases. I gotcha Yeah, if I can figure out how to do it, I would um, I would document it I will have to figure out how to do it first though. It's Not Oh, it's like it's not recognizing that we updated the uh We updated the file for it to check out I'm imagining known files Oh, okay. This is still set like this How do you change? Can you change the URL? I have to add upstream I don't know What that means exactly or how to do it. I guess I have a very limited um Knowledge of git I kind of know the few things I know how to do with making prs and doing Stuff that I have done already but lots of stuff I don't quite grok the full full the you know the full picture yet get remote set url Get remote set url Origin Put this back to this for now Okay, this seems promising definitely getting stuff imagining There This is our Want to do anything different now Adafruit's usually upstream origin is usually your own fork You don't work from your fork I I do usually work from the foamy guy fork, but right now I'm on I have cloned k matches fork of circuit python, which then has a sub module For espidf ordinarily that points to Adafruit's fork of espidf In the state it was when I got it that was pointed at least in the sub modules file to k matches Fork instead of Adafruit's so we're I think we're Not set quite Somehow in there. It's not pulling the files for it for one thing Um, hopefully this time we get something different. No, we still got the same thing here Upload pack not our ref See here Are there differences in there must be probably right there are differences in the circuit python build as well Not just differences in the espidf. Is that correct k match if you're still around Basically, I'm thinking like If I start from Adafruit main And I just swapped the espidf to yours And then get a build that still doesn't quite get me to where I need to be to run it on this device though, right? You actually have changes in this branch, which You would need to get in as well We'd kind of have to like Merge this one into main Do anything that's needed on that espidf to get that fixed. I don't know what Weird It's weird to me the state that this is in. Oh, this says okay. We have something different here now Using to merge unrelated histories There's changes. Okay. All right, so we will get there. We will get there It's going to take me floundering through git a little while so Hopefully folks are not too Oh Okay, I mean it was a string but Right About espidf versions recently have m5 stamp c3 was using version 5 gave me a lot of problems Unable to build an example downgraded to 4.4 and then the builds went okay. Okay, so maybe they have some Stuff going on in the newest version 5 sounds like I don't think we have done set URL I think I did remote dash v So this one now shows the url As back to adafruit it was kmatch a little while ago and I changed it both in this file Here And then I also did change it with that command This one set url origin Adafruit Origin master allow unrelated histories seems like it won't align You cloned kmatch I cloned kmatch's circuit python and then The origin of the espidf within that clone was set to kmatches, but it wasn't working I didn't have files in it. So trying to see if I can get the files to show up I did switch it the origin to adafruit Is like it won't align I mean it won't align in that it's not The one that this branch needs to build with in order to work on the device, but it I mean I was thinking I was hoping it would align enough for me to get files like right now I'm just trying to get some files to show up In the espidf Even if they're the wrong files at this point, that's okay. I'm just trying to get some of them Into there. How do I get this back to the dock? Oh my Um, so that's where I'm at right now is like I You know, it won't match up in that it's not going to build the thing We need to build to put on the the tablet, but I'm just trying to get the files into here The history from kmatch is divergent from the adafruit one. Okay I mean, I do believe that's true, but I don't know what to do about it. I guess I don't know how to get back to a working state Uh from there It's kind of where I'm I'm trying to figure it out allow unrelated Uh or to get to kmatches too, right? Like really ultimately what we want is we do want kmatches But it when it was on kmatches it also didn't have files Uh, so I got to figure out how to get it to have files either way Your local changes to the following files would be overwritten by the merge I wonder why that is Some of this stuff is even outside the idf which seems weird to me Can we go back to your fork make a branch and apply kmatches changes? Uh, we can try. I mean, I will say I don't keep my fork up to date, but I can make a new one from Adafruit main for sure Assuming upstream. Oh, let me catch up the apply kmatch get check out Branch new branch Upstream main. Yeah, I think that's what I did there was check out Basically, I made the new branch and then we chose, uh Adafruit main as that and so now I've got Oh, this is still this is now failing in this one. Hey, what? Did fetch kmatch Interesting somehow it's tied into just fetching that I wonder if we're already stuck now though Courts No, it does have files. Yeah, we're on foamy tablets. So now let's go merge a match s3.clock display into foamy tablet We will probably take This one for now No Yeah, let's take Yeah, let's take the Adafruit one for now. Let's take this for now If we get our build working and we have files inside the espidf we can worry about how do we switch that to kmatch's branch afterwards Let's take this one Lobby It's probably just new from main and these ones too These are translations we can we should be able to just take these all from main. I think Anything that does need a translation Would get it whenever pre-commit ran I'm pretty much taking all main stuff on this just from the left Should have done. Oh, there is an accept left. I guess actually I guess I should have just done that Actually, we have so many more to go. There is what is the one change here shared bindings specify? It depends. Okay, something to do with the actual stuff I just accept left now or Our unsafe changes, but it's gonna have me. I think let's do that because we can always regenerate the uh We can always regenerate the um Translations, that's no problem Really liking and get skills to my apologies. No, not a problem. Not a problem. I'm with you right there Honestly, I think that's where I'll see image capture I'm right there with you. I think if I had more experience overall with git I'd probably be able to get it worked out quicker and easier I will say though, like I'm learning a lot right here, right? It's maybe not The funnest thing in the world to watch me Blunder around through git, but I am learning slowly as I'm doing this here as well. So Good news is um, you know, it's a little easier next time a little easier next time. It's how it goes And then this one I think we will Probably just want to say accept There's no uh accept yours because yours in this case is Essentially main circuit python, which is Which is where I want to land in this case. So we're gonna go accept yours Emerging cannot check the working tree for unmerged files because of an error Okay, this is just pre-commit failed Pre-commit didn't pass. That's fine translations, which makes total sense actually because we had that one string We didn't take it from the right therefore it would have had to regenerate But tried to run a commit as part of that it ran pre-commit it did its thing Did exactly what it's supposed to do I'd ide pycharm just or c-liana just treats that as an error. So we've got that merged in We're back on Or ESP IDF We have files. We're good there Uh, I am curious Oh, this now says merging Why am I merging? Am I finished merging? Why am I merging? Bored merge Are we finished merging? Okay, well, we couldn't finish merging because the commit failed I think I'm gonna uninstall pre-commit. I think I don't want pre-commit to run automatically Because what I find is pre-commit's running automatically and it interrupted my ide here My ide usually does this automatically, but the fact that pre-commit Failed actually stopped it from being able to finish its thing automatically And I don't think I want that I want it to be like I rely on this stuff to work Because of because of my limited experience with git. I kind of rely on this merging process Inside of the ide. Oh, we've got more of these You can commit dash in So I think it will We have no commits There we go I will push it. It doesn't really matter at this point, but Maybe we at least get it into github as well Can commit dash in dash in no verify Verify by default the pre-commit and commit message hooks are run And any of no verify or in is given these are bypassed. Oh interesting I think though the thing is I would need um, I would need the ide to do that It would have to do the dash in And I don't I'm not necessarily directly in control over it I don't know where it takes its direction from to be able to to do that stuff Um Okay, let's see if we can get a build. Um Ports expressive ls Ls boards What is the name of this one? It's like devkit. We are in eight r8 nate rate as I will For to it at least right now as because I think that's fun to say nate rate Um, we will need to do install probably like This thing and then also that one Okay, make Board j4 Okay, so we'll see if we get a build We don't expect it to work because we know we need a different espidf stuff Um Seem awfully fast, right? It doesn't normally go that fast five seconds that finish this folder Doesn't seem like it made the uh, which I guess we would need a dot bin probably, right? The thing really changed and it's taken longer this time. That's interesting looks like it's doing more stuff That's kind of weird For why it did anything different that next time The attempt idx Fine, but now used 28 seconds that time Created image Why is there a build inside of it also? So now the question is basically Is that failing because of the differences that we need in the espidf? Or is that failing for a different reason? I can't say So I quite understand Say entering this directory here, which is espidf This a python thing? Oh, okay. This is for web workflow stuff or what the blr is the diff in Um, I do not know So in the in the right now though, we still we should have the ate a fruit one At this point still but I do not know what the diff I think he linked Well, he said which files were different earlier. Usually I run export. I did. Yeah, I did run that one I did that one after I did install It looks like this thing failed Due to not having This installed so let's do that If that makes any difference That was quite a ways Oh, there's another one yes, men Are the are these in in requirements or could have installed from requirements? Maybe this was Maybe this was our issue the whole time. Maybe our failed builds are because we didn't Have these new dependencies. It looks like behaving slightly differently count that as a win for now Let's see when you change your espidf. You should redo install and export in your virtual inf. Yeah, good call I will do that Although it's not a virtual inf in this case. It's just my python. Um my python installation. I think My goodness with these things really youtube. This is pretty Ideal. Let's go with non ideal It seems like it's doing more of a building type thing This is behaving a lot more like it does when it does make a successful build. So I'm thinking we might have solved At least our first couple issues. So we might get a successful build here And we're not expecting it to work on the device at this point. We'll need to go swap the espidf But one step at a time and it looks like we do Looks like we have made that next step of getting a build building Good step Check check. Okay. Maybe we're back Uh, yeah, that was probably on my end again We have reached a Bit louder portion of hammering as I'm sure you are now well aware I'll just hang out on mute here for a minute and see if I can Hopefully catch another gap here in just a minute. So I'll go back to mute Maybe we went back to the softer hammering for a minute So I'll give it a try here without mute on we'll see how it goes If you're still having trouble, maybe try refreshing it does show back on my end that it's reconnected and everything So hopefully we're we're getting back to it. And again, I apologize for obviously all the All the background noise and all the technical difficulties today, but thank you for sticking with me folks We are doing the best we can here. So we're gonna look in this And I want to do with this get remote dash v. This would be Oh Interesting. This actually shows remote as expressive Which is fascinating. I would have expected to find that saying Remote is aida fruit, right? Can that be what we expect? Okay, let's see what we can do here um Hammering is not too bad makes for a good stream health watch dog. Nice It's all good. Uh for a minute. You are not streaming. It's uh seem to be back on twitch. Yeah And it may at this point. We may have crashed Long enough that it might switch over to another stream or something at this point. There's All all bets are up at this point. Honestly Why it are here then in the studio? Right here in the studio. I got you I'm surprised this doesn't match surprise this shows expressive So then the way that I would know of to do this is Okay, here's actually what I'm gonna do is I'm gonna open this up In this as its own project New window So Why does that not do anything? Oh Oh, this doesn't have anything in it Who knows in the wrong one? I see There we go. Okay. Now. We got all these things. This is here So let's go Here Get remote dash v we're gonna go get remote rename no get Get remote Set url origin Okay match Gate get fetch further, uh, where the Further remote branches And we have remote branches now Not match any files So usually if I change well, I should maybe not say usually because I don't know if I've done this before but What I was expecting to happen was we change remotes and then after we change remotes This list starts populating and showing me low showing me remote branches In particular after I fetch but I still don't actually see any remote branches branches, okay This says repositories Local branches remote branches Why is the remote branch not there? None of them Now we Can't pull probably because we changed that I don't know if it's just like syncing problem I doubt it, but we'll give it a try I will say there used to be a thing in here called like refresh Vcs status or Refresh Vcs files or something like that It used to be if you weren't seeing new stuff in here, you could click that and then it would refresh for you I think that's not the case in the latest versions of the jet brain stuff anymore though, truthfully. I think that's gone away Not seeing it though branch Done the fetch and that's not seeming to help I guess we could try Origin slash it feels like the slash would make it treat it like a remote, doesn't it so like the name of the branch is Release slash p dot four But when you want to check out don't you go Or is it spaces check out origin slash master is that How you would check out master normally Is if so the the slash that's in the branch name. I don't know how would it know How would it know that it's not supposed to treat it as Like branch and uh, excuse me like remote slash and then branch I guess a lot of these also do have these right? This is probably not something you created right? This is probably just how these work. Yeah How these work in here a new plan get remote dash v Get remote That url origin It's still super weird that this one was un-expressive too I why my branch name ended up like that. I'm guessing it just took it from them Seems like that's what the name they've used the expressive repo I've now lost. Where's the expressive repo? 1s how we got this thing again though. We'll are back to this too I wonder if we got this one broken Uh, I don't think it is private. Um, because I have it here uh, well I have it here And then the branch too we could go to the exact branch is this one I am short on other ideas at the moment This is normally this is how I was gonna try to check out This is how I was gonna like try to check out that branch. So I guess we could go get remote add A match did I mess that up by not having dot get probably got this all messed up now This will let us have the other branches I create a fork of the ate a fruit IDF And make a branch with my changes Uh, I don't think I don't think you needed to I don't I mean the true answer is I don't know for sure But I don't think you would need to do that because I think you've got them here I don't I don't I think we should be able to use them from here. I think the reason I'm not working for me is because I don't understand what I'm doing with git I don't think there's anything you did wrong setting it up really Um, I think I'm just not Doing it right to switch it over basically All I hear is hammering now that's building code. There we go. Sure A lot of warnings There was a lot of stuff for fetching. I don't know why Well, these things are mad now Have anything else in here. Okay. Yeah, we have stuff here now So we can check out, um This one we're on that branch Uh, yeah go back out to our circuit python For this build again We changed the esp though. So let's go install Make sub modules fingers crossed What did I ended up adding kmatch as a second remote? Do you can't just change the url of your remote? I mean you can there's a command for it, but it doesn't Changing the url of your remote Is different than adding a new remote with that url stuff still behaves differently. You don't get all the same options Um, probably I guess maybe there's something we need to do after we change the url or something maybe we I'm kind of sync or something. I don't know what it would be, but The url is not a thing that's in normal use patterns. Okay Try to stay away from that now But towards just adding so what did we get to here? We got Waiting for unfinished jobs, but then it just ends Pylation terminated He'll okay, so we do have this ble thing Does this ring a bell your misc dot h was this one of the files that you had to do some kind of um What you call it linking if we get any other Stuff jumping out of this here that seems Pitted to the error Kind of got multiple errors We got this error, which looks like it is probably related to our stuff the rgb panel stuff, which is new Got this error, which looks different and it's related to ble Person is always false due to limited range of data type And we got this is also in ble reattempt idx defined but not used Well, one thing I'm curious about is if um Ble ones We have those if we try to build on main right now, although we're all messed up now, aren't we? We're not actually on master. We were on just like a commit curious if this gives us anything different Mostly to see if we get the same two ble errors. Oh the ble issue is just a warning. Okay, I didn't figure out how to re-erect Clued statements to tell it where to find the files I made a symbolic link with ellen dash s Okay, if this gets us a build Well, okay, here's the same two things. So these are just in main. This is nothing to do with our stuff They are and it does look like they are warnings because it hasn't like bailed already right away So Yeah, we probably do need to make the link thing that you are talking about is my guess I'll run it back on the foamy tablet branch again And we'll figure out what the specific error said like which file it's looking for Had to do it with several files. Can't remember how many okay You will try to chase them down here Still thinking actually it might actually be giving us a build this time Must be a better way. Um, I'm sure they're probably something for us to do. I'm sure They can definitely thinking for quite a bit longer this time around I do j4 You can find the error last time Like include miss gate. Okay Okay, this one did finish a build. So we did get a clean build We'll go back I think we're getting pretty close. I think once we can solve the The file links Might be there is the same two warnings that we're getting Back on this branch. We're also get on main and we get a clean build Even though those things happen Oh, that's running. I'm going to go look the actual file If we can figure out where we need to make the link from in too. So this says the IDF components Oh, no I don't really want this down here Main over here lcd Of course It tries to include misc.h It doesn't have one You had to create sim links to get a project build which sim links components F or other file I remember correctly Was the code I added to that espidf that needed to connect to some higher level files in the circuit python tree So pot a possible added some unnecessarily includes writing the initial code But it's weird like where does this misc? symbol Options are kind of like common how We would now include how components how platform port include how misc or the other one was Open thread or nimble on port I gotta try to adding dot dot slashes Never could get it to find the files. It's weird here like it doesn't seem like it, uh For which file it's trying to point to It does kind of make sense why it fails the build because it does say include and it doesn't have Doesn't have one next to it, but Which one is it trying to include and I guess another question is is this part of the code that was customized or is this Part of the code that is actually the same Does look like this is one of the differences Some stuff from how There a way to tell like what it uses from this include Is anything else in here say misc? You guys that created libraries using the wrong way of the include syntax But do we think this might be how? Not all the way this deep, right? My terminal go And comment it out and find out. Oh, that's a good point. Try that afterwards Okay. Yeah, that failed no such file or directory. That's not even the right Syntax stuff the difference between Images branch v44 and expressive sprnch This goes a line he added. I don't think these links work I'm cash I have a peripheral There is a difference We get here sub command failed Panel Trial PLK Mine unlikely Newest variable RGB panel Then sub command failed Sub command failed Jobs out misc Yeah, I tried I did see that one that one came up in my search here That does seem like the most promising but it does um It doesn't really find it. I don't know what it just I guess this just has how But does that one exist? No, it doesn't because this has a cert check log DMA types Even here either actually when it's how include how I'll include Okay But then this doesn't have a misc, but it is this is where this is pointing. So include how So this one is actually in platform port rather than include So then is there any other misc H where any of these Inside of include Why can I not just look at them in the list there? There's platform report include how Nimble and then open thread Could it just be how? It seemed like it right though It doesn't seem like the same directory where it's pulling the other stuff from Same same error In file included from Hey, thanks for that Dan appreciate it over there in the youtube chat Function new rgb panel warning comparison between pointer and integer panel and knit But we don't we actually get basically the same Okay No such file or direct. So if we if it doesn't find it it will tell us And it didn't tell us that so maybe it did find it Because it didn't give us any not found on that line this time And then just for the sake of comparison if we comment this out this way I think this one is the same So when we comment this line out we fail the exact same way as if we Have it Uncommented with how in it As originally written it was misc like this and then we did fail for a different reason which was not finding misc It does seem like it's Finding this but I am wondering if that's actually the right misc Because it then leads us to here, which is the same thing as if we Comment that line out altogether So it makes me think that we are finding something here But the thing we're finding is not the one we actually need To do the rest of the stuff in this file That error is strange I'll have to check to be sure I did the merge correctly back into espidf Let's get in there So I guess include it takes all I see when you use include here you can find anything that's inside of Any folder That is called include so we get how You know dma types because that's In this one, but it's not actually in this one But it's okay. So we were able to find that because it's here Only one misc That one We found That is interesting though. Well, what are the other ones? I don't know if this one is a sub module or what but this one looks like it's in the in the idf also So components Open thread Include there's include Platform So there's this one Maybe this one is a sub module or whatever though. Maybe this doesn't count As inside the idf proper It didn't come out back on the search Um, all right. I think I'm going to call it a night for now. So I feel like we're pretty close. We got our we got our build on main Um, we figured out though some of the warnings we saw are actually just warnings that There are sub modules. Oh, okay. Okay. So let's get don't don't count in the in the main search um So we still got work to do obviously need to figure it out. I'll sit down and try it out Uh, some more a little later We'll have to figure out Which uh Which version of misc this one was trying to point to How do we get it imported properly? So that's kind of the next thing for us to figure out when we get back to it Thank you Everybody for watching. Thank you, especially decay match for doing all of the work initially on this device and the Peripheral support and all of that stuff Thanks for hanging out during the stream and offering to help Thanks for offering to send me the the hardware. Um, so that I could try to help on this. It's awesome Super awesome stuff. Thank you again so much for that. Let me do some checking to see if there are issues Yeah, for sure. Let me know. Uh, let me know what you find Um, thank you to everyone else who watched today Uh, sorry again for all of the extra noise and all the dropouts and everything like that. Um, hopefully next week We're back to a little bit more steady And theoretically hopefully next week the construction work should be done. So we should have no more Loud hammering and stuff like that. So thanks all hope everybody has a good night. Um, I'll catch you all next time I'll be on tomorrow morning for my stream Saturday at 10 a.m. If you want to catch me Uh, that's the next time I'll be back. So