 Hello everyone. This is the Circuit Python Weekly for March 31st, 2022. It's the time of the week where we get together to talk about all things Circuit Python. I'm Jeff and Adafruit sponsors me to work on Circuit Python and Floppy disks. Circuit Python is a version of Python designed to run on tiny computers called microcontrollers. Circuit Python development is sponsored primarily by Adafruit, so if you want to support them and Circuit Python, consider purchasing your hardware from adafruit.com. This meeting takes place on the Adafruit Discord server. You can join any time by going to adafru.it slash discord. We hold the meeting in the Circuit Python Dev Text Channel and the Circuit Python Voice Channel. This meeting typically happens on Mondays at 2 p.m. Eastern, 11 a.m. Pacific, except when it coincides with a U.S. holiday. In the note stock there's a link to a calendar you can view online or add to your favorite calendar app. We also send notifications about upcoming meetings via Discord. To receive these notifications, ask us to add you to the Circuit Python East's Discord role. There is a note stock to accompany the meeting and recording. The notes document contains timestamps to go along with the video, so you can use it to skip to the parts that interest you the most. As the meeting runs 60 to 90 minutes, it's handy to have the option to skip around. And then if you're participating, after the meeting we will post a link to the upcoming meeting's notes document in the Circuit Python Dev Channel on the Adafruit Discord and put it under the pinned messages section so you can find it when you're ready to add your hug reports and status updates at any time during the week. So as to the meeting, we have five parts. After this intro we will continue to community news and take a look at all things Circuit Python and Python on the hardware in the community. This is a little excerpt of the weekly Python on Microcontrollers newsletter. The second part is the state of Circuit Python, the libraries, and Blinka, a statistical overview of the entire project. Third up is hug reports. Hug reports is your opportunity to highlight the good things folks around you are doing and taking the time to recognize the awesome folks all around us in the community on Discord, GitHub, and beyond. The fourth part and really kind of the meat of the meeting is status updates. It's an opportunity to sync up on what you've been up to. Take a couple of minutes and talk about what you've been doing in the last week since the last meeting and what you hope to accomplish in the next week until the next meeting. And then the final part is called in the weeds. That's your opportunity for a more long form discussion. These can either be items that you identified ahead of time and put in the notes document and that's super helpful. Otherwise it can be something that kind of becomes clear during status updates and in that case we ask that you please add the topic to the in the weeds section of the note stock as soon as you think about it. And with that I will head over to community news. So as I'll discuss a little bit below our very own and puts together the Python on a hardware newsletter every week and we take a little excerpt from the issue that comes out tomorrow and preview it here on the meeting. And there's always a lot of stuff on it. And this week I noticed just how and would say Chunky the section on Python streams is so I chose to focus on that. So she writes Python on hardware is all about building a cooperative ecosphere which allows contributions to be valued and to grow knowledge. And then it follows with the streams with streams within the last week focusing on the community. So first up we have the circuit Python deep dive stream. I believe this was the inaugural inaugural deep dive with foamy guy. And just a reminder you can see the latest video and past videos on the 80 fruit YouTube channel under the deep dive playlist. Next up we've got another Adafruit person. John Park circuit Python parsec comes out every week and this past week was pallet swapping. And you can find that on the Adafruit blog and on YouTube. Then we turn to the community outside of Adafruit. The circuit Python show is a new independent podcast hosted by Paul Cutler focusing on the people doing awesome things with circuit Python. Each episode features Paul in conversation with a guest for a 20 to 30 minute interview. The third episode aired on March 15 featuring an interview with Professor John Gallagher. The fourth episode airs today March 22 with Todd Kurt talking about microcontrollers microcontrollers Arduino circuit Python synths and more. And last up also from the community we're very happy to have Tammy. Tammy makes things is streaming circuit Python community member and circuit Python contributor Tammy Kravitz is streaming on Twitch. Her stream focuses on electronics coding and making with a focus on circuit Python. The first few streams have been working on a macro pad based MIDI controller and she's got lots of other project ideas in the works. An exact schedule for her streams is still being worked out but she's targeting two to three streams per week. Check it out and follow now to be notified of future streams. And I appreciate whoever has been getting the links in the text channel but also subscribe to the newsletter to get those links in your inbox. So the circuit Python weekly newsletter is a circuit a community run newsletter emailed every Tuesday the complete archives and the sign up are on adafruitdaily.com and to go to the archives just tack on slash category slash circuit Python. It highlights the latest Python on hardware related news from around the web including circuit Python Python and micro Python developments. And besides calling for you to sign up we also call for you to contribute your own news or project and you can do this in a number of ways. You can edit next week's draft on GitHub and submit a poll request with the changes links in the note stock. You can also tweet tag your tweet with hashtag circuit Python on Twitter or email cpnews at adafruit.com and there is really no project too big or too small. We want to highlight people who are at all of the skill levels all of the experience levels and just whatever direction you take your Python and your hardware we want to hear it from you we want to feature you promote you and just fortify the community. So yeah step up either subscribe or send us a link if you have been doing cool stuff. But with that I'm going to pass over to the state of circuit Python the libraries and Blinka. So GitHub is the nexus of the work on circuit Python the libraries and Blinka and it tracks a bunch of helpful statistics which we collect with a little program called Adabot. And so overall in the last seven days or so we had 39 pull requests merged from 22 authors and I'm just going to have to go off the cuff here and recognize some names that I am unfamiliar with. So Nico 04, Shawa J, Infamy, Masagari, U-47, Bite Evil, Arms 22 are some names that I don't recall seeing before or haven't seen lately. So thank you to all those authors but particularly those who are just coming by to scratch an itch maybe dipping your toes in. I hope you would come back and help us out again with improving the all this great software that we are working on. And the people who enable us to accept those changes are our reviewers and that can consist of just leaving a comment on an issue or a pull request saying I tried this out I confirmed a problem or I confirmed this is the fix offering ideas for improvement of a pull request and that makes you a reviewer. This list is of people who GitHub formally considers a reviewer who left a review and we need to go through that process whenever we adopt a change. So thank you to those eight people and thank you to everybody else who works with us to help us get the changes to the software we need. And we also like to track how many issues are opening and closing to see how we're doing on being able to respond to community issues. And this week was a really good one. There were 31 issues closed by 11 people while there were four while there were 17 issues opened by 14 people. So not only do we have a great contribution rate in terms of individuals who are working on it but we were also able to keep ahead and close more issues than were created. So with that I will pass it over to Scott to tell us about the core. Thank you Jeff. Okay. So the numbers for the core we had 15 pull request merged from 11 different authors. So thank you to all of those authors. One of them is a bot. So maybe it should be 10. Weblate is a bot but other folks do commit through Weblate. So thank you to those folks. And then we have four reviewers. So thank you to all of our reviewers. As always please if you're interested step up and we'd be happy to help you become a reviewer for CircuitPython. We have 10 open pull requests which is not too bad. However it looks like seven. Seven of those 10 are 29 days or older. So as always please double check if you're involved in any of those PRs please do what you can to either close them if they're not going to go anywhere or figure out what the next steps are so that we don't just have them languish. We're okay. Have an issues hang around but PRs we like to keep on top of. And that means pinging us. Because sometimes it's on our end that it isn't moving forward. Yeah totally. Yeah. Yeah. We those of us who are paying paid to work on CircuitPython for Adafruit always try to prioritize contributions to CircuitPython the broader ecosystem. So if you find that any of us who are paid by Adafruit have the keys to the kingdom that and you need our help to get something moving forward please let us know. We intend on being responsive to everyone even those folks who are not paid by Adafruit to work on stuff. Because our goal in the long term is to make this project bigger than Adafruit itself. So we want other folks contributing as well and we want to make sure that those people have the resources to do that. So thank you for the correction Jeff. Okay so for issues wise for the core we had 13 closed issues by six people and five opened by five people so we're net down which is good. For a total of 505 open issues this number does grow slowly over time but not not true too dramatically. If you want to see all the issues you can go to github.com slash Adafruit slash CircuitPython slash issues. The way that we kind of keep track of prioritization for those of us who are paid by Adafruit to work on CircuitPython is through milestones. We have seven active milestones there is currently no open issues for seven to X which is good. Hopefully we're settled out. We had a number of revisions on seven to due to the reload stuff but I think we're through that which is good. We have five open issues for seven three so we're hoping to get to pre-releases for seven three soon and then we have 450 long term issues so that's kind of a quick go over of all the issues here and that's it for the core. Thank you Scott and next I will hand things over to Catney to tell us about the libraries. Go ahead Catney. Thanks Jeff. So this applies to all of the Adafruit CircuitPython libraries which is everything that starts with Adafruit underscore CircuitPython underscore and a few extras. So across all of these repositories we had 22 pull requests merged by 10 different authors and seven different reviewers. We now have 25 open pull requests. In terms of issues we had 14 issues closed by seven people and eight open by five people leaving us with 611 open issues. 204 of those are labeled good first issue. If you're interested in contributing to CircuitPython on the Python side of things check out CircuitPython.org slash contributing. You'll find all of this information and more including open pull requests and open issues. If you would like to start reviewing check out the open pull requests. Take a look at the code test it if you have the hardware. If you don't take a look at the code for syntax etc and leave a comment and let us know that you did. That's always super helpful and once you get comfortable with that we can talk about moving you up to the actual review team. In terms of contributing code or documentation check out the issues. Good first issue is a great place to start if you're new to everything. Otherwise if you are looking for something a little more complicated bug or enhancement are excellent choices. With good first issues if you are new to everything check out the there's a guide on the aid of fruit learning system for contributing to CircuitPython using Git and GitHub and we're always available on Discord to help you out. We want to make sure that you can contribute in a way that works for you. In terms of library updates in the last seven days there were no new libraries but there were a series of updated libraries which I will not read off but they are available in the notes and that's where we are with the libraries. All right thank you and to round out the section Melissa take us through what is up with Blinka. Hello so Blinka is our CircuitPython compatibility layer for MicroPython RaspberryPy and other single board computers and this week we had two pull requests merged by two authors and myself as the reviewer. There are currently six open pull requests amongst all the Blinka related repos and there were four closed issues by three people and four open by four people leaving a net of 72 open issues. There were 13,161 pie wheels downloads in the last month and we are currently supporting 87 boards and that's it. All right thank you Melissa thank you Ketney thank you Scott. And now we will head over to the first round robin section called hug reports. I will start to show how it goes but basically we are inviting everybody to spotlight one or more people who are doing good stuff in the community and specificity is nice but so is just a general feeling of happiness. So anyway I will start off by giving a hug report to FoamyGuy. It was great to meet you and hang out a little bit. We drove down to FoamyGuy's hometown and had some pizza on Sunday together so it's nice to meet you and thank you Scott for picking up and finishing the work on MDNS that I started a month or so ago. Scott had asked me for some well-intentioned changes and that was great but I didn't have the time to do them and he picked it back up because of his interest and I really appreciate that. And finally a group hug. It feels like a long time I've been working on Foamy's more than Circuit Python and it is fun but I'm looking forward to getting more focused on Circuit Python soon. And all right next up is Dan. Thanks Jeff just echoing what you said thanks to you and Scott for the MDNS work which sounds really intriguing and I think make using Wi-Fi for like little web servers and things like that a lot easier on Circuit Python. Okay thank you and next up is FoamyGuy. All right thanks Jeff echoing what you said it was very nice to get a chance to meet you and I am looking forward to next time up in your neck of the woods so hopefully that will be coming up pretty soon. To have a report to Warrior of Wire who pointed me in the right direction on some changes I wanted to make in vector IO. That was the person that originally created that module so I was happy to get help directly from the source there. TKMatch and Jose Davide who created and shared this little vectorio function that creates lines of a specified thickness which I ended up reusing in a different widget this weekend and then lastly to Eva Harada for showing Katnie and I the process for doing the automated adabot patches and putting together some notes around that and such so that's what I got thanks. Great and next we will go to Jerry. Hi first of all it's good luck and best wishes to Tanute and enjoy every minute of the adventures ahead and in a group hug to everybody else. Thank you and next we will head to Katnie. Hello so I will have a hug report also for Eva for teaching a foamy guy and I about adabot patches and providing a notes document to go along with it to foamy guy for always being up to take on side quests to Tanute makes things for a lovely chat and a group hug. All right and hello KMatch it feels like it's been a while you are up or I guess yeah you are here okay. Yeah I'm here so my first moment thanks to foamy guy thanks Tim for the stream on the vectorio helpers and in particular thanks for creating a new home so that folks can swap cool things in the vectorio space. Second to Scott for the continued guidance on the ESP32S3 display work and lastly as a github user Suda Morris I think they're probably working at a expressive but they made some fixes to the ESP IDF specifically on some of the things I'm working on so it's great timing okay thanks. All right I don't have a horse in that race but I've noticed your work and it's fun to kind of get the updates so I appreciate that. All right and next up is maker Melissa. See hello I wanted to give a hug to Dan for helping out with some Blinka issues and a group hug to everyone else. Okie doke next I have notes from Mark who just has a group hug and then Paul Cutler what is up this week. I wanted to say thanks to Tim aka foamy guy for his Winamp Pi Portal project I've been able to steal code from that for my own project and he also gave me some pointers to help with that thank you. All right and Tammy you're next. Thanks so I have a hug for Tanoud whose name got mangled in the note stock by AutoCorrect so I'll fix that in a moment for helping me figure out a circuit python build issue that I ran into yesterday to foamy guy for the great live streams recently reciprocal hug to Katnie for a great conversation the other day and a group hug to everybody. All right and Scott what do you have to say for yourself maybe that sounded bad what's up Scott. First hug report to purples for eyes on my pending C3PR on Friday I was like trying and trying to get USB working it wasn't working in purples ping me and said hey did you see this code that you left in there and I was like oh I didn't realize ahead and that got me over the hump and so I'm excited to continue that work today so thank you to purples for that and then also thank you to Dishapoo I was going over discord and Dishapoo had a really good explanation of why telling somebody to read the manual is really unhelpful so I thought that was really great so thank you to Dishapoo for that explanation in in discord I think it was an off topic as well. All right thanks Scott and to round out this section I have some notes from Tetrick they have a hug for foamy guy Dan H and Naradak for reviewing PRs over the last week a hug to foamy guy for having a diligent eye when it comes to typing PRs and a group hug and that concludes hug reports so time to get down to talking about business which is status updates this is another round robin where mostly we want you to share what you've been up to in the last week and go a little longer if you haven't been able to join us for a while and then what you plan to get up to within the next week and if there's any discussion topics that come up please jot those down in the weeds and we will come back to it once we finish status updates so I will lead last week I finished up floppy interfacing to the apple disc 2 although there are still two more PRs to be merged in flux engine and grease weasel and this week it may be the last week of floppy work at least for a bit I'm adding support for was files as an input output format for flux engine because that is kind of the gateway to the world of apple 2 floppy disks dot was is the most widely used format so it's what we're going to add although there are some others all right and next up is Dan go ahead Dan okay as Scott mentioned we had a one-day vitamin of circuit python releases Monday and Tuesday Wednesday last week try to fix auto reload and add blio back to matrix portal there's still one problem I think supervisor that reload doesn't work properly in certain cases but that's used by fewer people so we're not going to do yet another release right away for that I'm working on the Adafruit request library originally I just wanted to add async features to it but I started looking at it and I did some cleanup work to remove some pre 7.0 things that in it that were no longer needed the next thing I'm going to do is clean up the exceptions because we could make the exceptions more like the regular c python request library and then I will start working on adding async so that I can throw reasonable requests as as reasonable exceptions as well so that's what I'll be doing in the near future okay thanks Dan and next is funny guy all right thanks Jeff last week I made a sweep through open prs for reviews and testing mostly yesterday is when I did this I did a couple others previously but I did the bulk of them yesterday and this morning I have a few to follow up on that I left notes on that I will check in on later this week and a few more to get through into that list I made a another port of the time stamper project originally this ran on the macro pad catney moved it over to the feather with neo key and then I made a new version that runs on the feather tft this week I worked on an enhancement inside vector IO in the core to allow the user to specify different colors different color indexes within the palette it used to just always take the first color in the palette but now you can specify I also created a vector IO helper's library that will hold some like python level code that's a little bit higher level than the core module stuff but it builds on top of that core module vector IO so the first two things in there are a class that helps you create a line and a class that helps you create a an outlined rectangle a rectangle that has a border line around it some things I'm going to get into this week I need to do some more specific testing of that outlined rectangle to see if it's actually saving ram over the one that's inside display shapes that was the original intention but I have not actually measured it yet so I don't know for sure if we actually get improvement there and then also this week I'll be working on a page about typing in the sharing a library guide was kind of got started on that a little bit last week and definitely meant to get more of it done and I got some of it out of my head into a local file but did not end up getting it into the learn guide so I'll be wrapping that up this week and that's what I got thank you great and next we will go to Jerry there's that button um I don't figure out where it was um thanks so yeah just a couple little things this week I I found uh I was playing with the lsm 6ds um library and I had noticed that there's a temperature reading that's available in there it's not in any of the uh demos or the examples so I tried it out and surprised that the values were completely weird so dug into it a little bit and and it looks like and I don't know the history but the the conversion it was being used was just not right uh not according to the datasheet so they fixed it and it seems to be working better now um I don't know how accurate those are supposed to be they don't seem to be super accurate but they seem to be useful that seems to be working better now and then I was also playing with um with the esp32 c3 build which uh has no native usb I was trying to you know in the past I I had made the modification to ampie to be able to load files to it and uh I think it was Dan had mentioned that our shell was probably the better thing for talking to boards so I found that both ampie and our shell suffer from the same problem as that they require or expect you to the board to have you been ASCII where our builds have been ASCII so um I made a simple change to the code to to do a try accept and if it fails to find you been ASCII it imports been ASCII and so now our shell works really nicely with the c3 board it's it's it can only write to boards that um have writable file systems which most of the circuit python builds don't have so I'm not sure how much anyone will use our shell with circuit python boards but I did put a PR in um in case somebody wants to know how to do it and uh similarly there's been a PR to do that pending for ampie for quite a while but uh but it's nice to have our shell working with that with that c3 board that's it all right thank you and next is catney hello so last week uh worked with Liz to get her started on product guides she got two new product guides into moderation I got caught up on blogging my own new and updated guides and then updated a couple of guides one new which is the cutie pie esp 32 c3 guide and one needing updates which is the ultimate gps guide today so far fix the esp 32 s2 internet site circuit python internet test page that's mirrored into a ton of other guides um to not need a separate libraries page and to make it esp 32 agnostic to be ready for the s3 and the c3 and mirrored it into the last of the s2 guides and then deleted the now obsolete circuit python internet libraries page this week I'll be working with Liz again this time to get her started with stemmyqt revision guide updates um I have a micro python pr that I need to um fix to get passing ci it is not currently passing um and I think I know what I have to do so that will be uh sometime soon um you need to update the feather esp 32 s2 page to read your whole guide rather to reflect a change in the low power pin um the usage of it was inverted in the new version and there's going to be a block of code that um works with both so it'll disable or enable based on what you want um either version of it so you don't have to figure out which one you have um I need to strengthen the wi-fi example in the ate a fruit IO template so it won't crash if wi-fi connectivity is lost um it's a simple addition of a few trying to accept but uh I'm less familiar with the mqtt ate a fruit IO usage so I needed some help with that and I got that from Brent last week um and then if I run into issues uh he said to ping him so that's good um this week I plan to run my first ate a bot patch to update the black version in pre-commit um I have some various miscellaneous on my list and then still on my list uh because it keeps getting bumped is the essentials template for async IO and that's what I got all right thank you next is kmatch thanks jeff so continuing work on using the esp 32 s3's ability to run uh dot clock displays and uh this week I uh verified that a recent commit my expressive to the idf helps resolve an issue that I found a week or so ago so it's perfect timing so and I verified that it works uh second thing is I made a small stem a qt sensor slot just a way of holding on to a cable so you can plug sensors in and out fairly easily and put up some pictures and a quick photos of that um uh as a filming I mentioned I dusted off some vector IO helper code that had worked with on uh with uh Jose David for drawn lines and he got that into the helper library uh but in the process and in watching his stream I realized that if you want to connect a bunch of lines together it takes a lot of work to make sure they look good and there's actually a special area of graphics math called offset polygons trying to solve that issue in different ways so I don't know if I'll get to looking at that but if anybody's interested there's uh there's some rabbit holes to to trace down uh and then this week I'm gonna do a first cut at getting this esp 32 s3 rgb display code into circuit pythons display IO that's it all right thank you next is maker melissa hello so last week I uh rewrote up both the mag tag and pi portal google calendar learn guide examples to work on circuit python 7 later by making better use of the portal libraries I started working on the on 1.47 and 1.9 inch display guides by getting some templates ready and adding circuit python and python examples to the displays and this week I will continue the display guides once the templates have been approved and that's it all right next I'm going to read some notes from mark um and tectric you didn't mark in your status updates whether you're here or not so if you are needing me to read that could you just mark that on there thank you uh anyway mark writes uh want to finish the zealot module uh but dealing with an insurance claim to an eye due to an ice dam leaking into my house and finding vermiculite insulation in my attic so time to do fun projects has been limited and that brings us to tammy makes tammy makes things go ahead tammy thanks so um last week I worked on my live stream projects um I'm on I think almost the last round of tweaks and extensions and enhancements to my macropad MIDI controller um which is now completely cooperatively multitasking with async IO which was a fun thing to figure out yesterday so I'm starting to figure out what the next projects I want to work on for that are um I figured out a fix for the problem that I've been having with the pick you um tool on the macro pad and I think on other rp2040 boards um so I have to test that fix and submit a pr which leads to a question that I asked that's in the in the weeds section so we'll talk about it and I'm in my last two and a half weeks in my current job before I start a new role as a python data engineer for a marketing technology company at the beginning of April so my free time for working on projects is probably going to be somewhat limited for the next two or three weeks and that's what I got all right thank you and good luck on that transition and remember if you need to take a little time away we will be here when you get back so yeah do what you need for yourself first anyway that brings us to Scott hello the main thing taking brain space for me is the fact that there is a baby imminent uh the baby's due date is on Friday which is kind of mind blowing for me um but yeah that's coming and I will drop a note in the discord one I'm officially kind of like sucked away for that um last week I did more work on reload uh fixed an issue with uh supervisor dot reload fix that um I'm working on adding an mdns module if you don't know what mdns is it's maybe I covered it last week but it's really neat it allows for a device on your network to basically respond to a dns query so you could say like I'm looking if you type in your browser circuit python dot local um your host computer will broadcast out to local devices say like does anybody is anybody called circuit python and if so they can respond with their ip and then you'll pull up that web page um so it's a really neat uh way to find a circuit python device on your network and I've got some ideas about um how to leverage that for a web workflow uh which I laid out in an issue about an issue on on a to fruit circuit python issues so basically once you find one device on your network that device can tell you what all of the other devices are which would be super handy um the trickiest bit of all that I think is probably figuring out how to change how we do credentials and stuff for native wi-fi so that's the that's the thing that I probably won't figure out before the baby arrives but um can lay some groundwork before then um I have a side quest going after the m dns stuff that's getting circuit python going on the qt pi c3 the c3 the qt pi is set up to use the native onboard like the in chip serial to serial and j tag to usb converter um so I've got that going thank you to purples again for pointing out something I had missed um so I should be able to get like the serial connection over that converter which will allow us to use the c3 and thank you to jerry for kind of paving the way in terms of getting our shell working with that um so that should be out today and that pr also has some changes to the code size check for esp builds it was all hard coded for s2 uh before and so we were actually failing we were failing code size checks for c3 builds even though we have a different partition layout that actually gives them more space than what it was accounting for um so that should now be with that pr it will also it will depend on the partition csv file to decide whether it had enough space or not so doing that and then I also have the another I had this weirdo usb otg es expressive board that they did for the s3 um so I'm planning on making a board that for that as well just because I have it and I got a usb id for it so I might as well do that this week too so lots of small things nothing too large all right well thanks in particular for that code size thing I think I may have written what we had before and yeah it was definitely a get it done kind of situation rather than a do it right so thanks for making that better than it was no I mean that's that's the way I like to work right like get get it working get it useful and then iterate on it when you when you need it to do more all right and then to finish up the section I am going to read the notes from tech trick tech trick writes last week forever slowly burning down the number of type annotation prs submitted a pr for using multiple wi-fi settings in the portal base library I need to look for that fixing some mismatched parameter types in the display driver libraries finalizing adding iterable touchpad functionality to the circuit playground library making errors due to faulty code in the wsgi library easier to understand and getting my new laptop set up with a proper linux environment goodbye wsl and this week tech trick is looking for older issues to tackle in the libraries and that wraps up status updates bringing us to in the weeds we've got three topics the first two of which are from kmatch so kmatch I'll hand it over to you okay all right thanks Jeff so my two are relatively fast items both related to esp 32 s3 first off is that I think the parallel display got pulled into a separate module which probably makes sense since most boards wouldn't need that so I assume that we'd want a separate module uh for the dot clock work uh I assume that's that's a yes but if so what should it be named and assume I'll stuff it in something similar to what parallel display does Scott I assume that you okay I agree it should be a separate module and I have no issue with calling it dot clock display okay okay all right so I think I think you're going the right direction okay excellent just needed to know so easier to start that way rather than having to redo it if it's necessary but you can always monitor and adjust as you said right it's good that it's good to have a separate module because I know we'll have different ports that do or don't support it yeah yeah and probably most would wouldn't need this so um I know I think STM and some of the imx's could possibly have it too but we want to be able to enable that separately yeah definitely okay and then a related note so as I mentioned uh earlier that some of the display code will only work right if I used a more recent version of the IDF so I'd like to build it with a new version so Jeff you mentioned that you can check it out locally so just to clarify so inside the ports I think it's ports expressive is that where I need to clone IDF so you will have already created the ESP IDF or it'll be there if you can build circuit pythons so it'll be ports expressive ESP IDF and you can just change directories into there and then when you run a git command it's going to be on just the ESP IDF sub module so you can say get fetch get check out and all of those things the main thing to be aware of is when you run commands that will work on the sub modules like get sub module update or that top level make file rule that updates them in the more intelligent way that it may okay discard the change that you've made and just go back to the default so be aware of that before you go running those commands got it okay all right let's clear now so are the fixes you have on the the four four branch from a specimen I don't I don't think so I think they're just on master okay because I think you're gonna have a lot of work to switch to master at this point because I think they that they're working on 5.0 in master right now and I think changing a lot of stuff so I would suggest encouraging them back porting to four four because I don't really like to be on master with them because they do a lot of reorganization on master so I think it's they're they're they still do a lot of changes on their release branches but they don't do large ones they do bug fixes and so I think generally I like our I'd like us staying on the latest release branch rather than on master for them okay the other question yeah it'll be a question whether I can can I just commit just what those ones that I need on the four four and a fork and do it that way if that works yeah we have an ad for ESP IDF if we want to switch back to it I just switched us from there back to regular expressive but we can switch away again if we need to I was thinking even just for me building it because if I go to the master and it breaks everything then that won't help me at all so I bet okay I would expect it so you yeah you may want to try cherry picking before you go to master got it okay all right well thanks for the warning that yeah I don't know exactly when they're I don't know when they're planning on making 50 but yeah I haven't seen any timeline on that so uh okay that may be a blocking point if I can't get that to work but but it's good to know what I'm up against and you can ask him they're pretty responsive in terms of back porting stuff like they've they've been changing a lot uh on four four or at least fixing a lot I think like we check that out you know we had two patches that we were carrying on our version of the IDF and we don't need either one of them now because they fixed it in their release branch got it okay okay maybe I'll just if I don't see it ported against four four then I'll ask if maybe they could stuff it in there yep that would be all right okay good point okay okay all right then the third topic is from Tammy makes things so take it away Tammy it's okay so um I've been working on fixing the the PICU tool which is a circuit python dependency management and deployment tool because when I run it on the macro pad it says it can't deploy to the board because the board size is larger than expected and I looked at the code and the reason why it's saying that is because the code assumes that you're never gonna have a circuit python device with more than three megs of flash which obviously is not true of all of our boards so I wanted to figure out a good way for the host system to determine when it finds that circuit python device connected what architecture it is and potentially what um flash size we should expect it to have and I'm trying to figure out what's a good idiomatic way to do that right now I've got some test code that's just parsing the board the boot underscore out dot txt and I don't know if that's the right way and relatedly um I'm not totally sure where in the circuit python code base the content of boot underscore out dot txt is generated and I want to look at that code because I want to make sure that there aren't variations in the formatting that we are going to trip me up if I try and parse that file I think so any suggestions or pointers would be great I think that the place it's generated is from the main dot c file in the very top level directory of circuit python uh but I can't pull that up right this second to confirm that during the meeting but that's what my memory says and I said that's correct okay I see Dan has notes here do you want to tell us what you were saying Dan yeah so you were saying where to put it we have this library ate a food board toolkit which right now gives you information about the serial ports that are connected to the host computer but the idea was that was that was a general thing to talk to board thing to find out things about boards that were attached so um you could make that be uh I got a sub module or something you know a separate import if you want to add I would say I add it to that library rather than making it a new library okay I'll definitely track and then the other thing is that there's a tool by nara dot called disco tool which overlaps and for its functionality with ate a food board tool could it actually share some of the same code because he wrote some of it so you could take a look at that okay and then finally you can parse board out that text you could also um look at the usb uh vendor id and pid and figure out something from that but if it's a board that isn't in we have to keep a table of those we have an internal table that we haven't published because it includes like unreleased products and things like that so uh that's another way to find out but I think parsing boot out that text is is we'll always give you an answer okay okay I think that's probably better in the long run because keeping a a vidpid table up to date has been a nightmare for in various ways or it's just another thing to keep up to date right that was what I was thinking okay well that gives me a place to start I think the other the other thing I would suggest is I wonder why it's not just asking the os how big that partition is right like I think well it is but I think what it's trying to do is it's trying to make sure that whatever is mounted on slash mount slash whatever slash circuit pi is actually a circuit python device and that it's not finding like a one terabyte hard drive out there or something but I suppose it's also an open question why the tool needs to care yeah the the thing I'm thinking of is like we're starting to do more native sd card stuff and I know for the broad com port we put circuit pi on an sd card so it will change per it will change it won't the size of it won't be fixed for a given board id because it depends on your sd card that you're using and I would expect more boards to be like that in the future so maybe the answer is that it would be useful to add some board probing stuff to the data for fruit board toolkit and also to remove that is the board sensibly large check from pick you because there's not maybe a good way to do that yeah yeah and I don't have a good option I don't know like on linux at least we have we probably have dev disk by id that could probably correlate the mounted volume to the usb device but I don't know if that's always true I missed just pick you why is pick you bothering to check the size because it might just be a usb drive I think that's why I don't know for sure but I think it's really sure that what it found is actually a circuit python device I think that's pretty uninteresting I mean you could always check to see whether boot out that text exists at all and that would tell you make it more likely that it's a good python board but basing it on the size doesn't sound very interesting either yeah I think that just taking that check I don't you know like what is the what is the error case that emrelson is trying to cover here and maybe yeah so interesting you know maybe it's so rare that it's not worth checking yeah okay cool thanks everybody thank you timmy all right and that wraps up in the weeds and therefore that is going to wrap up the meeting so I just need to find the wrap up text this has been the circuit python weekly meeting for March 31st 2022 thanks to everybody who participated and for those of you who listened I hope you found it an interesting or informative experience to support circuit python and ate a fruit and those of us that work on circuit python consider purchasing from the ate a fruit shop at ate a fruit com and if you're international there is a link of distributors at the bottom of every page on ate a fruit com the video of this meeting will be released on youtube at youtube.com slash ate a fruit and the podcast will be available on major podcast services and of course it's very helpful to us when you you know use the subscribe functionality in your favorite service we also feature it in the python for microcontrollers newsletter as one of many many many things visit ateafruitdaily.com to subscribe to that weekly newsletter the next meeting will be held at the usual time of 2 p.m eastern 11 a.m pacific on march 28th and the meeting is held on the ate a fruit discord which you can join at any time by going to ateafru.it slash discord we have people in time zones all around the world who would love to talk to you about your circuit python ate a fruit electronics project whatever you're doing sewing project we want to hear about it and somebody will maybe even step in to help with where you're stuck anyway to be notified about the meeting and any changes to the time or day you can ask to be added to the circuit python easter's roll on discord and that wraps it all up we hope to see you next week have a good week everybody