 Hello everyone, this is the CircuitPython Weekly Meeting for December 11th, 2023. My name is Tim and I'm sponsored by Adafruit to work on CircuitPython. CircuitPython is a version of Python that's designed to run on tiny computers called microcontrollers. The CircuitPython development is primarily sponsored by Adafruit, so if you want to support Adafruit and the CircuitPython project, consider purchasing hardware from Adafruit.com. This meeting gets hosted on the Adafruit Discord server, which you can join at any time by going to adafru.it. We hold the meeting in the CircuitPython dev text channel as well as the CircuitPython voice channel. This meeting typically occurs on Mondays at 2 p.m. Eastern U.S. time and 11 a.m. Pacific time, except when that coincides with the U.S. holiday, in which case we will either bump the meeting typically to a Tuesday or just skip the week, which I think we have one upcoming towards the end of the year, but I need to look into the calendar for that. Let's see here. The notes document that accompanies the meeting is in the pinned message. That's a Google notes doc that's shared with everyone. You can contribute to the document before the meeting begins. The final notes document, including time stamps to go along with the video, excuse me, the final notes document does include time stamps so that it can go along with the video. The meeting tends to run from 30 to 60 minutes depending on how many folks we have. After each meeting, we post a link to the next meeting's notes document in the CircuitPython dev channel on the Adafruit Discord. You can check the pinned messages there throughout the week to find the latest notes doc, and you can always add your notes, high reports, and status updates to that doc throughout the week. You don't have to wait for Monday if you happen to think of it before. As usual, the meeting is going to be held in five parts. The first part will be community news. That's going to be a look at everything CircuitPython and Python on hardware in the community. That's a chosen set of items from the Python on microcontrollers newsletter, which goes out on Mondays. The second part of the meeting will be the state of CircuitPython, the libraries in Blinka. That one is a quantitative overview of the entire project. We'll give us a chance to look at the project by the numbers separate from our status updates. The third part and the first of our two round robins is the hug reports section. Hug reports is an opportunity to highlight the good things folks are doing. It can take a moment to recognize the awesome folks in our community. The fourth part and the second of our two round robins is the status updates section. Status updates is an opportunity to report on what we've been up to, so you can take a couple of minutes to talk about what you've been doing since the last meeting and what you'll be up to over the next week until we meet up next time. The fifth and final part of the meeting is in the weeds. That's an opportunity for some more long form discussions. Those can either come out of status updates or be identified ahead of time as something that's going to be too long or in depth for status updates. So that covers how the meeting will go. With that, I will take our first time stamp and get us into community news. This week in the newsletter, CircuitPython 829 was released, so CircuitPython version 8.2.9 is the latest bug fix revision of CircuitPython and is the new stable release. There is a link here in the dock to the Adafruit blog as well as the GitHub release notes. I threw in the bulleted list of the notable changes since 828. Those include a PIO-PIO-DMA fix for the RP2040, new and removed boards as well as individual board fixes are in that 829 release. Next up, we have Raspberry Pi releases the HAT plus standard and more on PCIe. Two months after the announcement of the Raspberry Pi 5, additional details have been released on the hardware. Specifications on the PCIe connector and required cabling will help hardware developers adhere to hardware specifications. In addition, the new HAT plus specification updates the 2014 HAT standard for signaling between peripherals and computer. There are links here to the Raspberry Pi news as well as a couple of those other more specific documentation links on that protocol. Next up, we have the first Raspberry Pi OS update since the Pi 5 has added some new features. Raspberry Pi OS has now been updated to fix bugs since the launch of the initial Bookworm version. The update also includes improved support for encrypted connections in WayVNC. The latest version of THANI, Mathematica and Scratch3 are now all working on the Raspberry Pi 5 and a bunch of other small bug fixes and tweaks are included as well. Finally, an often requested feature Dark Mode, which is definitely one that caught my eye. I'm a Dark Mode user for sure. So there are links here to the Raspberry Pi news as well as the register if you want to check out more about that new Raspberry Pi OS that was released. Next up in the final newsletter item for the week was the Project of the Week. This was a CircuitPython-powered typewriter. Max Lupo writes about a CircuitPython-powered typewriter project. The project uses an Adafruit KB2040 board to send parallel data to the vintage electronic typewriter via its Centronics Parallel port. There are links here to GitHub if you want to check into the code or try to recreate this for yourself. There's also a link to Massadon where Max posted about this project. That was looking really cool, I thought. So I'm definitely going to take a closer look into that one later on. So all of these items and more are from the Python on Microcontrollers Weekly newsletter, which is a CircuitPython community-run newsletter that's emailed every Monday. The complete archives are available on AdafruitDaily.com. It highlights the latest in Python on hardware-related news from around the web, including CircuitPython, Python, and MicroPython developments. To contribute your own news or project, you can edit the next week's draft on GitHub. Open up a pull request there with your edits to the draft file. You can also send an email over to cpnews at Adafruit.com or tag a post with hashtag CircuitPython on Massadon Blue Sky or Twitter. Next up, let me take the next timestamp for the new section, which will be the State of CircuitPython, the libraries, and Blinka. The State of CircuitPython, the libraries, and Blinka. This one is the quantitative overview of the entire project. That's going to give us a chance to look at the health of the project separate from our status updates. First, we'll talk about the project overall, and then we'll dive into the core, the libraries, and Blinka individually or separately, I should say. I'll give you the overall stats for the week. We had, across the whole project, 43 pull requests merged by 14 authors. There was actually quite a few names in here that were newer, at least to me, or less recognized by me at least. So these folks might be newer or less frequent contributors, or it may just be the case that I didn't happen to recognize their name. Their contributions are appreciated in any case. Those users this week were Hex That, Deep Circuit, How to Flow, May Wolf Sky, King Faroo, and Knockman. So thank you to those folks as well as all of our other authors for the week. For those 43 pull requests, we had seven reviewers to take a look at them. Thank you to our team of reviewers, which does look like the usual folks. So I won't list, but we do definitely, as always, very much appreciate them doing the reviews for us. There were nine closed issues by eight people, and 18 new issues opened up by 13 people. And with that, I will pass it over to Scott for the core, although it occurs to me I didn't ask Scott if you were available for that. If not, I can take on the core, no problem. Yeah, I'm happy to do it. Let me just find my spa. Okay, numbers for the core. Ten pull requests merged from eight different authors. Deep Circuit looks new. May Wolf Sky and Knockman are rare authors as well, so thanks to those folks. We had four reviewers that props to Melissa for reviewing as well. We have 15 open pull requests, which is pretty low for us, which is great. We have four closed issues by three people, six open by four people. So we're now up to a total of 666 open issues. We use milestones to track prioritization for eight or four funded folks. The most urgent is the A2X, which is stable, and we only have one open issue there. We have 42 open issues on 9.0. These are the ones that we want to get resolved before we do a 9.0 stable release. And then we have two open issues on 10.0, which will be the next major stable release for us. We have four issues not assigned to milestone as of these stats. So we'll have a few things to triage, but otherwise be good. That's it for the core. All right, thanks, Scott. Next up is the libraries. I will send it over to Jeff this week to tell us about the libraries. Hello. So libraries-wise, we had a pretty high number of pull requests merged 30. The number of authors was pretty small. I think that Tim, you did the bulk of these for some library infrastructure update type stuff. So thank you very much for doing that. Thank you also to Blabcock Bee for your work. So pull requests-wise, that leaves us with 63 open pull requests, which range in age from one to 480 days old. And if you have one of those open pull requests and would like to move that forward and you're waiting on somebody else, please give a ping on that. Issues-wise, we saw two closed issues by two people and 11 open by eight people. 698 open issues in total and 19 of those are labeled good first issue. We have a page at circuitpython.org slash contributing that will give you an overview of issues, open pull requests, and so forth. And yeah, I know there's some other text that I should throw in at this point, but basically we want to enable you to become a contributor to CircuitPython libraries either as a coder or as a reviewer to code, pick out an issue such as a good first issue from that contributing page, and just give it a try. Maybe you've got the hardware, maybe it's a problem that you say, I would love it if this was fixed for me as well, and dive in and see what you can do. We are around on the CircuitPython dev channel to answer your questions and there are also guides on our Adafruit Learn system for the basics of libraries, for the basics of Git and GitHub, and all that stuff. When it comes to reviewing, you can check out open pull requests and give feedback. You can read, and even for things as simple as spelling and grammar in documentation or more complex things, or you can download the code and try it when you have the related hardware, we want to help you learn how to contribute to CircuitPython as well. So just ask us how you can pitch in. And yeah, so that's the spiel for contributing to CircuitPython and now I'll move on to some other statistics. We track our downloads from PyPI and over the last week, there were 175,000 give or take PyPI downloads of our 232 of our 323 libraries, pardon me. In the document, you can find a list of the top 10 Adafruit Bus Devices number one as it usually is. And then we have our list of library updates over the last seven days. There were two new libraries. One is the PyCram Camera Library, which works with the new Memento board from Adafruit. It's got an app in there that turns it into a point-and-shoot camera that saves JPEGs to an SD card, a mode to record a short animated GIF and some other cool stuff. And we also added to the community bundle a library called the CircuitPython Segment Display, which I have not looked at, but I assume that's about segmented LED displays, such as the seven segment displays. And that's always cool to see. There were also a number of updated libraries, a number which will probably be a lot bigger next week when all these updates from Tim go in. And that is the state of the libraries. Thank you, Jeff. Appreciate it. Next up, I will send it over to Maker Melissa to tell us about Blinka. Hello. So Blinka is our CircuitPython compatibility layer for MicroPython, ReservoirPy, and other single board computers. This week we had three pull requests merged by two authors and one reviewer, which is myself. There were seven open pull requests amongst other repositories. There were three closed issues by three people and one open by one person. And that leaves a net of 80 open issues. There were 19,629 PyPI downloads last week, 8,690 PyWheels downloads last month, and we are at 126 boards. And that's it. All right. Thanks, Melissa. Next up is going to be the first of our two round robins, the Hug Reports section. As a reminder, Hug Reports has a chance to highlight folks in the CircuitPython community and beyond for doing awesome things. I'll start and then we'll go down the list as they appear in the document, give everyone a chance to participate. If you're text only or missing the meeting, then I'll read the notes for you once we get to you in the list. So I will get us started here once I take the first timestamp. My hug reports for this week. Thanks to Scott for reviewing the PRs that came as manual follow-ups to the patch on the libraries. Appreciate that. Thanks to Jeff for making a repo settings fix and documenting that fix in FAQ on Learn. Thanks to both Dan and Jeff for some discussion and advice this morning on Discord dealing with a number of different library infrastructure issues while I was working through those. Appreciate help from both of you. And with that, I will turn it over to Dan. All right. Thanks to Jeff for doing JPEG support, which is going to be in the next 9-0-0 alpha. And thanks to Scott for working on Wi-Fi workflow, well, improving the Wi-Fi workflow in various ways and working on a PR to allow access to more drives than just the CircuitPy drive to access to XD cards while you're using the Wi-Fi workflow, which will be very handy for people. Okay. All right. Thanks, Dan. Next up is David Glauda. I will read as well as the next one, DJ Devin. I'll read and then Jeff, you're up after that. I always appreciate the on-deck notice, but I always forget to do it. So this time we got it from David Glauda reports this week for hug reports to Ann for cleaning the root of the Learn Systems Guides repo. So basically, this is moving all the Learn Guide projects into subfolders so that the root of the repo has fewer things in it. Therefore, they can start being listed on the GitHub web pages. So David says thanks to Ann for that. David also says thanks to Scott for the deep dive and working on wireless SD card access that will help the release of the My Little Hacker board. And David says thanks to me, FOMIGuy, as I frequently see library activity during the weekend, reminding me that a stream took place. Thanks to David. And it looks like maybe DJ Devin is around after all. DJ Devin? Yep. Last minute, just got back. I'd like to send a hug to DeShippu for advice on display.4wire syntax changes and 9.0 to bus display. And if 9.0 is going to have breaking changes that might break everything, then that's a great time to do it. A hug to Justin, Elpa Kennan, and AnikData for being helpful in the Help of Circuit Python Discord channel. On many occasions they've all provided advice to me to point me in the right direction. And Scott for a nice deep dive on Friday and my best wishes to you and your family. A hug to Todd Bot for an excellent tips and tricks repo that continues to give. I constantly find myself referring back to it in order to solve problems. And the more he grows it, the more helpful of a resource that becomes. A hug to LCMCNINCH on GitHub for fixing an Adafruit sprite button example that was showing, slowing down my GUI menu system, which is now running smoothly. That's it. All right, thank you, DJ Devin. And next up is Jeff. Hello again. So my first hub report is a big one for Ann. You've really leveled up in your Git and you're now ready to do command line tasks to help others out. That's really awesome. To Dan, thanks for releasing our city improvements to 8.2.x. Outside of Circuit Python, I have a hug for the author of some open source software, UV tools, and Perusa Slicer. Those are open source tools for, in this case, making prints on resin printers. I'll say a little more about that down in my status update. And finally, of course, the group hug, because y'all are awesome. All right, thank you, Jeff. Next up is Kmatch, who's text only, so I'll read. Kmatch has a hug for Lady Aida and likely Jeff for the Momento camera board, bringing a new way to remember without the need for so many tattoos, which is referenced to a movie of the same name. Kmatch also says group hug to all. So thanks to Kmatch for those. Next up is Liz. Hello. A hug report to Melissa for reviewing the FT5336 library I was working on. To Jeff for hosting this meeting for me last week when I was under the weather, and group hug. All right. Thanks, Liz. Next up is Meg or Melissa. Let's see. I have a hug for Jeff for fixing an issue with the 3.7-inch bar display and circuit python and group hug to everyone else. All right. Thank you, Melissa. Next up is Mark Gambler, who's text only. Mark has a hug report for John Park for the logo, excuse me, the Lego lighting tutorial. I'd been looking for a good solution to doing that for a year. I'll have to check into that one, too. Mark also has a group hug for everyone. Miss being around as much. So thanks to Mark Gambler for leaving those. And next up and rounding out the hug reports is Scott. Thanks, Tim. Just a quick hug, too, for being so helpful and filling in for me on Deep Dive. Absolutely. My pleasure. Yep. Thank you. And next, that will bring us to the status reports. So I'll take a time stamp and tell you about that. Status updates is our time to tell folks what we're up to individually. I'll start and then we'll go through the list alphabetically. When I call on you, you can take a couple of minutes to talk about what you've been doing since the last meeting and what you'll be up to in the next week until the next meeting. It's also an opportunity for folks to provide tips and tricks relevant to what people are working on. If a discussion becomes too long for status updates, we can always bump it down to in the weeds to continue it. So I will kick us off. My status updates for the past week, I ran a library patch with Adibot to fix the docs build specifically inside Read the Docs when it builds in their infrastructure. And I worked through the ones that didn't take automatically, followed up with a couple manual PRs and a couple other fixes of various things. I also did the release sweep afterwards in order to go and release each library that has now gotten that new fix from the commit. That one had a much smaller list of things that didn't work automatically. So I've been working back through those today. And then I've got the lists down in the weeds of all the ones that I think are outside of my ability to handle. So we've got those at least caught up though with the patch and the release on everything, I think, at this point. The other stuff I worked on or intend to work on, I should say, moving into the next week is the Circuit Web Workflow. I started this a little bit back. I set it down when I started doing the patch so I didn't do much last week on this, but I'm hoping to wrap it up this week now that the patch is out of the way. I want to try out the new SD card support in Web Workflow. I've belated Hug Report to Scott for that. That looks super cool. And then outside of Circuit Python, I have been still keeping up with the advent of code and TriHackMe's admin of cyber. I've had lots of fun with both of those and I've learned a lot from completing the daily challenge, so that's been very cool. And with that, I will pass it over to Dan. All right. So we're getting ready for a 9.00 alpha-6 release. Could be within the next day or two. I blogged this problem that we've been seeing with macOS Sonoma where you get delayed writes and it really messes with using CircuitPy. I created a blog and then reposted that little explanation on Mastodon as myself and as CircuitPython. And that got some traction. I got like a dozen boosts and stuff like that. And also people subscribed. People added CircuitPython to themselves, to their follow lists also. So maybe some more people will report this bug, which is we can additionally try to get Apple more interested in it. I wrote up, I did some testing, which USB serial chips are supported on macOS in which versions of macOS? Was native support added to those? Because it's very confusing when that might have happened. And I was able to roll back two old Macs to some really old versions and then roll them forward and test FTDDI and CP2104 and CH9102F chips. And so I wrote that up as a playground note and it will eventually be incorporated into the appropriate learn guides. So that's what's going on right now. And I'm fixing working on DinoO also. Thank you, Dan. Next up is David Galata, who's text only, so I'll read. David says CircuitPython a couple of weeks ago tested the BT Home protocol with code from in CircuitPython, I think tested in CircuitPython using underscore BLEIO code from the, let's see, from Cohen verboseum. See in the weeds for more on that. So we'll discuss that a little later, it looks like. For CircuitPython this week, David says investigating why my doorbell music started at least twice in a week without anybody pressing the button. Only the CircuitPython board triggered and investigating the debouncing option to see if we could reduce false positive triggers. Non CircuitPython over in Arduino Land. David reports this week spending six hours helping a student prepare for an exam and to find a project to build. The project is a school traffic light that stops car traffic at the press of a button. It includes beeps for additional accessibility. Reviewed one more time, pull up, pull down, and internal pull up in order to explain the various ways to do a button. I always have to review those myself as well when I sit down to work on a different one. Tested the code and made some nice schematics in the simulator at wakui.com, which is a super cool simulator for folks that haven't seen it that's able to emulate or simulate CircuitPython devices. Really neat stuff. Alright, next up is DJ Devin. Okay. Thank you. This week a GUI touch version of the Feather Weather is coming along nicely. At one point it was 1,700 lines using only FL statements. After a week of frustration I got every page working and refactored down functions to just about under 1,000 lines. CircuitPython touch GUIs are more complex than I imagined. Ran into a problem not being able to display the Wi-Fi radio RSSI on a TFT easily. There are a lot of examples for printing it in REPL, but I couldn't find a single example of doing it on a TFT. So with the help of OpenAI and an hour of teaching it syntax, it finally led me to something that I could output to a TFT. It doesn't quite work perfectly. It has display IO group appending issues that I'm still sorting out, but everything works pretty okay. This morning I was able to increase the GUI menu responsiveness, so it's really quick to respond now. And that is in particular in thanks to user LCMNCNich, who spotted a way to improve the Adafruit button example code, and there's an issue on that. And then right before the meeting, someone popped into CircuitPython chat and found a new last-minute bug engineering where an ESP32S3 reverse TFT will not display due to an attribute error. Neither display.show or root group work. And I will file a bug shortly. Nice. Thank you, DJ Devin. Next up, we will hear from Jeff. Hello again. So last week, like the most exciting thing was I ran into a rig problem with just one of my many OV50640 camera modules. There were artifacts that you would see in the JPEG output. And since you've all seen the memento camera, Adafruit is prepared to put out a lot of this product. And this is something that the in-house testing process wouldn't see. So Lamar had me write a test for this kind of defect, and they may end up adding it to the in-factory testing procedure before those boards go out. I haven't heard the latest on that, but basically, and if you have a module between all of us, we've maybe tested 20 or 50 of the camera modules and so we don't necessarily know all the kinds of interesting defects that show up. But basically, there would be artifacts that repeat vertically in the image every 16 pixels, and they're about the same no matter what you're actually taking a picture of. And it's only when you're in JPEG mode you don't see it if you're just displaying an RGB image to the built-in display, for instance. So that was fun. Other news, the JPEG IO module is now merged to the main branch, so the next nine pre-release is going to have that on a lot of boards. This module lets you decode JPEGs as long as they fit into the circuit Python available RAM. And that's pretty cool. And next up, the expressive.clock frame buffer. Melissa mentioned this had a hidden requirement that the frame buffer had to be a multiple of 16 pixels across. That's because like a fundamental, I think, cache unit of expressive boards is 32 bytes. We had a display that actually needed 360 pixels. So internally, the size is now rounded up, and a non-displaying part is added at the right side of this display if necessary. So internally, this display becomes 360 pixels wide, and that works. So next up, I am going to adapt an existing guide that uses display IO and Adafruit IO to display a JPEG image on a circuit Python board. And I'm going to redo that using Qualia and using JPEG IO, so it doesn't require Adafruit IO to display a JPEG image. Like, there's one that I think fetches space-based images that are free on the internet, and of course that's always pretty cool. And then I have to check back tomorrow to see if the bundle makes a correct release with binary files. This is something that we wanted for the OB-5640 camera, the Qualia board, all that stuff. I had merged in a needed change to circuit Python build tools, but because I did not make a release, the bundle hasn't been using that to actually build. So I tagged the release this morning, and as soon as there's a new bundle release, I will go back and check that the camera's autofocus firmware is part of the bundle. So, after that I have a daydream that's related to this facility to build bundles that have binary files. It would be really neat to have a font bundle. Naradoc did this thing, Belated Hug Report Naradoc, which is a bundle of many, many different keyboard layouts. And they're not like individually written libraries, they're generated libraries, and then you can install, like, for instance, the keyboard layout for a Windows computer in France, or a Mac computer in Germany, and then send USB HID, like, typing out words that still work despite the different keyboard layouts. Anyway, this shows that we could, for instance, generate a lot of libraries within one bundle, and each library would contain one font, such as Adafruit Font MonoBold 24. It would be pretty cool if we could have this, and then we wouldn't have to copy a TTF file or generate a BDF file from a TTF file and copy it into each of our projects. I'm not going to do that right now, but if somebody wants to take this idea and run with it, you would be an awesome person. Anyway, then a couple of other project ideas. I mentioned earlier the software UV tools, and together with PrusaSlicer you can use these as open source alternatives to the proprietary software that's bundled with the printer. I'm always happier when I can use open source software to do my stuff. And my, like, one week review of resin printing, the results are really cool. They are so much more organic looking than something you get from a 3D printer, or so much smoother just because the layers are so fine. They're like 0.05 millimeters instead of 0.2 millimeters. However, everyone will warn you that the resin is uncomfortable to be around and dealing with the cleanup and just not harming yourself by getting the resin on your body. It is a really huge pain, and my basement is not super well ventilated unless I can open up the outside. So the wintertime is not really a good time to do this, and I'm going to have to put it away basically until the weather improves. So just be aware of that when you think about getting a resin printer. It's just so many times worse than a filament printer in my experience. And then in other other news I wrote a two-factor authentication app that runs in the terminal and released it on GitHub. So if you use the Google Authenticator app this is an alternative to that that you can run on your computer. And I'm like user zero I don't think there's a user one yet, but you know it's open source on the internet. And this library textual has really made it fun to develop terminal-based applications again. I like it a lot if that's something that you think you would want to do I recommend picking up this library. It works with Python, not with CircuitPython, but just with standard Python and you can do a lot and it's like got a modern vibe, but also like that pre-windows vibe of everything was just made out of text and so I like it a lot. Anyway going on for a long time, but that's what I've been up to. All right, yeah, thank you Jeff. Next up is Mika Melissa. Hello, so I finished up my Qualia library guide and I did a huge true factor on circuitpython.org that required editing every board file so that multiple URLs can be associated with them. I added missing boards to circuitpython.org and fixed the board's API so that that valid JSON is now produced. I added the bar displays to the Qualia library and also the guide I forgot to write that down and I tested some bug fixes in circuitpython that Jeff had mentioned and stuff. I reviewed and merged some more Blinka PRs I added the 2.8 inch round display to the Qualia guide as well and I needed to still add the new displays to the Arduino section of the guide and I need to work on updating some of the Raspberry Pi installers scripts and that's where I'm at. Alright, thank you Melissa and next up is Scott. Hello Okay, so my parents are at my house and will likely be until my mom goes into the hospice so I'm off and on still. I'm catching up on email last week the deep dive was my last of the year. Thanks again to Tim for deep diving this week and then neither of us will deep dive the two following weeks. So that will take us into the new year. That reminds me, speaking of the new year and David, thank you for the reminder that we will be doing circuitpython 2024 which is our call for folks to say what they like about circuitpython and what they want to do in the coming year kind of like the big items that we want to work on as a community and what projects and things so we will be doing that and I'll do a quick post on New Year's Day to kick it off and then now we should start thinking about our own and do those and we already have the email set up so if you do one early you can email circuitpython 2024 at www.atorford.com and should get to me and fill to run. Circuitpython wise I made a PR for SD card support in the web workflow but all the NRFs with BLE workflow broke so I made it a draft again because I decided to do a bit more refactoring to allow one to share code between BLE and web workflows but also to switch us to per file system locking so now we're managing multiple file systems both like the SD card and the normal internal route and by refactoring it I'm going to add SD card support to the BLE workflow as well and then what will happen is the USB workflow will lock the file systems pretty aggressively because it's block level support but between BLE and web workflow it should be able to do the locking on a per transaction basis instead of like USB where we don't know where transactions are and until it's ejected so I worked on that and that should be pool prep work for when we get back to BLE IO on estressive in the coming year and they're able to do BLE workflow and web workflow from the same chip that's my update alright thank you Scott and that is it for status updates so that will bring us into the fifth and final section for the meeting in the weeds reminder in the weeds is an opportunity for some more long form discussions those can either have come out of status updates or been identified ahead of time if you do have an in the weeds topic and you have not already had it to the doc please go ahead and do that right now we have a couple here so you've got a moment while we work through those but as always just list those in the weed topics down at the bottom of the document so first in the weeds document was mine and I left a text file in there that was just a list of all of the remaining issues that came out of the library patch and release sweep I believe everything in this document will require either access to the repo settings or something else inside GitHub like that that I don't have access to and I just dropped it here because I didn't want to get lost in the shuffle in GitHub so I don't know if there's too much to discuss unless if anybody has got questions or comments on it but I just wanted to put it here to make sure it was somewhere that didn't just scroll past us like on the discord one question I have for you Tim is do you know what like the standard settings should be I do not I made some changes which I thought were correct and they weren't so I'm going to take a look at this okay I mean they started reminding us that there weren't branch protection rules and I so I added branch protection rules not realizing that I would break some automated stuff okay I will undo that okay okay even better we need to exempt the itabot account from the branch protection rule yeah but it was hard to do that and the patches work a little bit differently the patches as far as I understand it when you run that patch manually so not like the actions and stuff that itabot runs with cron inside github but when you do like a manual patch like I did those commits come from whichever github token you use which is the user's token okay okay so we can exempt you from it yeah or yeah whoever is running if there's a way to do lists like that I mean the protection rules we almost never have people violate the explicit rules anyway so it's not clear that we're enforcing them yeah that's fine and then the other one the only other ones that were different were like my best guess was it just either didn't have the token or the token was expired or different for some reason than the other libraries there was only I think one or two like that than the rest or the branch protection thing okay and it sounds like Dan will look at all of those for you yeah so I have a token stashed away and I can put it added to those cool appreciate it thank you didn't we intend to use an organization wide token as the the default or am I thinking of a pipi thing that might be correct and so maybe there's an incorrect token yeah or maybe that that one repo is not set up the same in the organization perhaps or something like that where because I was thinking the same where it was like somehow shared between all the libraries it's not that they all had to have it set independently so I was thrown off by that error when it did pop up there is a ghrepo token Adafruit organization level secret and I would have guessed that that would be the one that it should use and then that a repository level one should not be used but if it's there it would be used you know it would overwrite it maybe that repo does not belong to the org the same way or something like that link that ties those two together is somehow broken or different could be the case on that one okay alrighty yep thank you to everyone next up is David Glauda who is text only so I'll read David puts here that we can read the the TLDR version which is that a Belgian book author yeah a Belgian book author about bluetooth on microcontrollers used underscore BLE in circuit python underscore BLEIO in circuit python because he had trouble with the BLE documentation maybe someone can check if it's possible to do it without underscore BLEIO or contact the author to see what can be improved from the documentation standpoint and then I'm guessing that this github link is the book or no maybe like the the books companion code so to speak he didn't he is a book author but he did not put this code in a book I see okay so it's correct that there is not there is not general documentation about the eight of room BLE library there should be a guide a general guide but there is not we always refer people to the examples so that's a deficiency that should be a long-term documentation issue or something okay for the general BLE guy like we know the path forward then there I don't know if there's a issue in github or anywhere but maybe it's appropriate to make that somewhere just so it doesn't get lost in the shuffle or something cool alright and then last item in the weeds is for you Dan I'll pass it over to you just I think that everything that I would want in alpha dot six is done the only the only there's scouts draft SD card workflow thing but I think we could push that to later if we want yeah I wouldn't hold it up for it I think because I don't think the workflow and fixes I've already done have been released yet so it'd be nice to get an alpha out yeah so I will just I just merged a a translations update and I may or may not update the I could update the frozen modules to probably and then I could do a release yeah not tomorrow or something frozen uh frozen modules I do think would be good I've seen a couple of issues pop up in libraries where it's stemming I think from out of date stuff in the frozen one so I'm definitely in favor of that I will do that then yeah and I think I think that'll have a new IDF update too right that's right it'll have the 512 update yeah that's good too yeah yeah I think it's good to do and right there was something about the reverse TFT isn't working or something maybe that was an 829 but I'll check that briefly also yeah I'm inputting the bug report for that right now okay I think it should still be an alpha because I am in my draft I'll change the behavior of storage.mount so that'll be that's a breaking API change okay because yeah with this with this draft PR you'll be able to you'll be required to make a directory to mount to instead of the current way that it works in 8 is that it bears if the directory exists but forcing you to have made it already means that it gets listed in the parent which is what you know Linux does already okay alright and that is our last in the weeds topic so with that I will get us into the wrap up let's see so this has been the circuit python weekly meeting for December 11th, 2023 thank you to everyone who participated as a reminder again if you want to support Adafruit and circuit python and those of us that work on circuit python consider purchasing from the Adafruit shop at Adafruit.com the video of this meeting will be released on YouTube at youtube.com slash Adafruit and the podcast will be available on the major podcast services it will also get featured in the python for microcontrollers newsletter which you can visit adafruitdaily.com to subscribe to that if you like the next meeting I believe is Monday however I did not actually into that so let me try to pull that up real fast here unless if anybody happens to know I think we're on Monday next week the next meeting is Monday December 18th at the usual time but note that that is our last meeting of the year the meeting after that will be on Tuesday, January 2nd, 2024 awesome yes thank you very much Jeff with that we will say that's the next meeting yep on the Adafruit discord as always you can join at adafruit.it slash discord you do need the circuit pythonistas role if you want to speak and another perk of that role is you'll get notified of changes in the scheduled meetings such as the ones that will be skipping coming up a couple of weeks so with that thank you everyone again and we'll see you all next week