 remind me not to become a web host on any sort of live programming. Damn it, I'm still recording. Okay, thanks for joining us. It's the 31st of August, 2020, here at the Minecraft Developer Sync. So today, Mondays are our day to check in on our sprints and see how we're doing. So let's just go ahead and do that. Chris Varick, can you take us through the open sprint? Now it is a singular open sprint, so that's a change. So I think we can just hopefully now, with everybody assigned everything, this filtering by person will work. So let's see. This does what it's supposed to do. So this would be me. The upload endpoint to move is now tested and ready to go. That's all in review right now. I don't have a PR yet because I'm adding this script into it as well. So which is what I'm working on right now is the script that will take the wake words we collect on a daily basis and copy them over to NAS. So once that's done, I've got a few other, a few more tasks over here to do this week, but that's kind of where I am right now. I also finished these over here with the new schema. So that's my progress last week. And what I'll be doing this week. Derek. Okay, so, yeah, so I've got, let's see, I think I updated you guys last week. I got Ken's device out to him that arrived Sunday. There was unfortunately a little bit of issues in shipping, hence the parts broke, but Ken has getting it working. So I update you on that. I haven't heard word yet on whether or not Kevin received the stuff I sent him. But that was delayed a day. So today I've been continuing on the R1 prototype full assembly. I hope we get that first draft done by the end of the week. I am going to add a couple new tasks here real quick to create. So what I sent to Kevin was a laser cutting closure for the DevKit design for the S3201. And Kevin updated us on Friday that everything was going well with the bring up of those boards. So he's probably already has shipped I think six boards. He had nine working and he's going to keep two or three. So six or seven boards to us and Lawrence. And so I will be distributing those to you guys. So I need to get you something to put them in. So I will be building a number of the laser cut enclosures for the rest of you guys Chris. So I'm adding those tasks to this week's print. We want to be getting those out as soon as we can. If it makes more sense to like when it gets around to my turn, it makes more sense to just flat pack everything and construct it here so that it is like each and totally do that. Yeah. Yeah. Actually, I think that's going to be my my preferred method of delivering the future because the acrylic is somewhat brittle. I mean, it's actually pretty good once you have it in place. But through the shipping, this can't be brought to cracking. It's broken before. And these are much simpler when you don't have all these cables and stuff that we had to deal with off the shelf. So you guys put it together like a kid. Our own gift kit. Yeah, there you go. Just like the consumer. You can tell me whether it's bad or not. Well, some of the consumer, the dev givers. They're a little bit of stuff on slide deck as well. So I might be working as well. Yeah, that's me. All right. Ken, your task is in here. We still got to work on your gyranness. There's something wrong here. Maybe they're not assigned to you. Let's see if I can. I know when I I had a custom Gira query for my open tickets across all the projects. And I noticed that that query failed. So I don't know what's on with that. But I am working on the ticket that Derek assigned me on Friday, which is to figure out why this thing comes up and works sporadically as far as the audio output goes. And I did you add that ticket to the sprint and assign yourself to it. Do anything except find it that it was assigned to me and updated the comment this morning. And that was it. Okay, just when you get a chance to move it into the sprint. So we have visibility. What's the current sprint micro sprint 13. Yeah. Let me see if I have it here. Audio output. And so let's see. So it's actually unassigned. Let me fix that. I'll assign it to me. And where's the sprint? Let's see. Reporter labels, priority, just seven more fields. In the last meantime, epic link components sprint. Okay. And it's micro sprint 13. So I would think doesn't have a save button. So I'm assuming that it automatically did it. You want to refresh and see if it's there? Yeah, here we go. Okay. All right, great. So you're going to be working on that. I expect that will be something you can't work on until the mark two is up and running. Do you have my mark two is up and running and registered and into it with SSH and into it with a keyboard plugged into USD working off the monitor. We've become acquainted it was working and not working and we're doing battle now. I know how to take it when it's working and get it to not work. And that's very simply to set the volume of the command line or have pulse audio touch it in any way. So that's where I'm at. And I'll be working on this for the rest of my life or until I fix it, whichever comes first. Sounds great. If you fix that, you know, say in the next 15 minutes, what are you working on next? Well, I would say that's highly unlikely. But in the in the case where this does get fixed before I pass, I will move on to the yes no issue regarding why we're not getting the yes no and conversational mode right away. Gotcha. Okay, great. Let's make sure we get that on the sprint. I'm sure there's a ticket for that somewhere in here. There is. And it's just, I'm sorry, you want me to put that on the sprint to I can do that real quick. Yeah, I'll do that. Again, I want to move into the next one if you don't get to it this week. Yeah, I have some questions on the firmware and stuff on this device. Where do I go? Who do I speak to about that stuff? Derek is probably your best bet. Well, we've already done that. What are you looking for? Well, information on the actual device drivers that were developed for this car. Which car do you work in for SJ 201 or the Seed Studios? Seek seed seed the speaker right? Yeah, probably seeds websites your best bet. Well, I can't point you to the firmware that you can download and flash onto it. Although I've flashed it already to what we are using, which is not too concerned about that. I'm just wondering about the device drivers in general. So let me understand. The seed is an off the shelf component. Is that correct? It's an off the shelf re speaker, right? Yes, yes, from a company that makes hardware and claims that they are not going to do any of the software work as I understand. And they they have done their own custom firmwares for for the today you can flash onto the Xbox. Okay, maybe I'm thinking of something else. That that I think I'm just I guess I'm just looking for somebody who can explain how our hardware is connected together. Well, Chris, Chris has built the latest Chris Bear has built the latest image. So anything software preloaded pertaining to the interface with the re speaker, he has built so he's brought the best answer. Well, how do we know which USB device and sub device IDs are assigned to this hardware? The reason I wonder if getting like, we should take this to another meeting or something. Like, yeah, well, let's see who I can speak to. I just need to know who I can say. Yeah, I think it's going to be a good thing. Chat thing is where I'd raise it. And you can look in the micropository too, because that's where that's where that's where a lot of the drivers in the OS the Buster OS and is all kind of put together is in that micropository and there's documentation in there about how that's done. There's like a recipe, we call it, and how you get from point A to point B. So if you want to, if you want to poke around there, you can do that. And yeah, feel free to hit me up and chat. And I'll certainly try to answer your questions. Okay, I'll just I'll piggyback on this question real quick. So the piecroft, we've supported the re speaker microwave for some time. Correct. So a lot of that was already existing when you modified the piecroft to become the new key sort of Yeah, I just on boot up. I just selected the re speaker option from boot. So if there's issues with that driver, it's going to be part of that piecroft image, right, which has been around for probably 18 months or more. Yeah. So are you saying that this is the exact same hardware and software that's used in another device that's been working? This is the base for this image is the the image that we distribute for piecroft. How well piecroft remember, I'm relatively new around here. Piecroft is just the is basically it's a build it yourself mycroft you start with a raspberry pie for and the image and you ride your own speaker, your own microphone and build it yourself. And that's so piecroft is just like the software and the operating system for for that implementation that kind of do it yourself. So it's it's the image we've built for the mark to it's the image we've built for people who want to build their own mycroft basically using a raspberry pie. That's why it's called the Raspberry Pie. If you're using the speaker daughter board, then they're using the built-in Broadcom chip for USB audio. Well, there's several options when you when you go into piecroft and do the initial setup. There are several options for what kind of microphone you want to use and and what kind of speakers and we've got both. We've got the default built-in raspberry pie drivers and we've got the new stuff for the speaker array. So my question is why do we have the default stuff for the old built-in speakers still hanging around if it's going through our daughter board now? I suspect it's getting confused periodically on which is the default device. That was what I suspected as well. I just that's a little lower level than I know how to fix. So that because there are two drivers, but I know from from digging I did that the re-speaker driver is a default. I don't know how that would, you know, get flipped with maybe by removing the other one or but I mean, it would work better. I don't know. I think they're both configured to be the default and there's contention there, but I don't know that for sure. I just got my device up. Okay, so PieCraft is intended to be a jack-of-all-trades operating system for anybody who wants to use MyCraft on a Raspberry Pi. So it's intended to support, you know, the three and a half out on the Raspberry Pi. I don't know if Raspberry Pi still has a three and a half, but I think it does. It's intended to support USB audio. It's intended to support daughter cards. And then it's built with the idea that the end user has deep enough expertise in Linux or is willing to go through enough pain to make it work. And I think that we're, we kind of bridge those two things with Gez having deep experience in Linux and the rest of us willing to undergo significant pain. So the Mark II is really a PieCraft, but it's a supported version of the PieCraft that we officially support that has a certain, you know, microwave, a certain, you know, everything that we kind of put into it, at least that Mark II that you and I have right now. SJ201 is a different, it will be a different story. Yeah. The SJ201, we probably will strip that down to the absolute bare essential components to make it work reliably would be my guess, but yes, today it's a generalist. And so don't be surprised if there's three different, three different drivers and a bunch of config files and, you know, ALSA and Pulse Audio running simultaneously and a bunch of other pain for that has been left as an exercise for the end user. And off. Yeah, well, this is one of those issues that we identified pretty well earlier this year, at least that we need to definitely clean up the build and, you know, packaging system, right? So we don't have a, we just don't have anybody who's in charge of the build process anymore right now. So that's a role we're gonna fill in too sweet in the future. So yeah, I'm gonna close this we've got, unfortunately. I've been, I've been fully working away at the PyCraft Automated Build system as well. Just on weekends kind of things. So that we can have, you know, nightly PyCraft builds, for example, well, you know, a PyCraft build after all, after any merge of anything in the days anyway. Well, I mean, I'm not ruling out hardware and I'm not ruling out that when something tries to reset it at the ALSA level slash pulse audio level, and it's not flipping some bit properly during the reset sequence, because it does put, ALSA does put these devices in suspended animation and then tries to bring them back up. So that bring up process could be the problem, I'm not sure, but. It's just like there was contention because they both want to be card zero. And I think they were. I haven't, I've only just seen this ticket, but like, I'd also make sure that the audio service is actually running. But the audio what? That the audio service is running. What audio service? It could be. Microphone. The micro call audio service. I turned off my crop. I'm trying to minimize. That was all audio output. Yeah, I've not plugged in my amplifier yet. And I've specifically turned off my crop. It's not the culprit. And I'm just looking at the Linux, working my way up the stack, we're down the stack. I'll be getting in the mod probe soon, but I'm just wondering who I can speak to that set this up and understands how it all works together. I mean, you might be able to talk about it. Okay, so okay, is the guy that was doing our builds for the images, putting that stuff together? Yeah. Okay, I'll reach out to him. Anyway, that's what I'm working on. So that's interesting though is that you said, even without my crop running, it's still an issue. Oh yeah, I can tell you how to turn, I can tell you how from the command line, screw up your mark two audio in like one command. Okay. But did you say you turned off the amp? Cause isn't that bad? I don't mean to have it plugged in. When I got my poor mark two, he was pretty beaten up. None of the cables were plugged in and everything was hanging out. The case was cracked and I got, it's like when I used to build carburetors. I got a bunch of leftover parts. So it's working, you know? But the point is I specifically did not plug the amp cable in because my concern was that's probably one of the places where if you put it in backwards, if it's not keys, you can blow it out. So I figured it should work without that. That's just an amplifier board. And so that's the system that I'm testing on and I can get it to go south as soon as you touch the volume. So there's something that's not configured right and I'm not sure if it's a initialization config file or if it's there contending to be device zero, the default, I don't know yet. So anyway, it's got it today. Sounds like you've got a better handle on this than anyone else. So yeah, I would check in with that guy at this point. See if he's done it on site. Yeah, I think it might be the priority on the cards, but I'll look at it. All right. Anyway. And to confirm, I've done that check where when this does, when this bug appears, and when this shows up, I've also tried to play just audio files in the next bay play outside of my craft to no avail. So it's, I don't think it- Yeah, if I reboot it, that's the other thing. Is it designed by design that when I say shut down, it doesn't power off. It just kind of keeps the screen on. I've got a bug in for that. It doesn't actually do anything. Yeah. So anyway, if I shut it down and I pull the power out and I plug it back up and plug it back in and it comes up and I shut everything down from a Minecraft perspective and I do an A play of a wave file, I can get it to work. If I want to get it to not work, I just go tell it to change the volume to 50% and A play magically no longer works. So it has nothing to do with my craft core. It's configuration or hardware driver. Anyway, that's where I'm at. Okay. All right. Well, good luck with that. I expect you'll figure it out without too much trouble. All right. So Giz, you want to tell us what you've been up to for the last week? Yeah, I've been working hard. Good news is things are mostly working with 2020-08. There was one little issue that came up where the VLC module, audio service module that's internal to Minecraft Core is only used inside Minecraft Core and by Minecraft Core but because it's named the same thing as the file that it's in, it then conflicts with the VLC package from Python that gets used. So, okay, it's submitted a fix to prepend all that audio service modules with a string so that it can't conflict. So I was just testing that out last night because we should probably include that before we cut the release. But I want to test it pretty solidly if it's going to go in there without having any time really in dev. And I think other than that, everything else can wait until after the major release. So the other thing is the skills. There's a tiny bug in, well, not bug, there's a tiny issue where the Movie Master skill can sometimes try to answer pretty general questions if they're not caught by some other Q&A skill. So it seems pretty minor. So if you ask something like, what is a flusy what's it? Then it might say, I don't have a movie by that name but it's also because nothing else has been able to answer the question. So I don't really see that being a big issue. And the plasma activity skill may need to get pulled out until it gets updated. But I'll try and ping a detail about that. See if we can get it fixed up so that it can stay in there for the release. Other than that, I think we're ready to pull the trigger and push it out today if we're lucky. All right then. While I still have everybody here, can I ask a question? Cause something doesn't make sense to me. Before you do that, there are six unassigned tasks in the sprint. And can anybody claim these as theirs, as what they're working on? I would say new model creation is probably you can. Absolutely. The ones on the left, at least with the tagging stuff, don't we have a tagging meeting going off tomorrow? Yes. So we should probably hold off on those until then. The plan for the first limited run, whose work is gonna work on that? So that's something Derek and I need to discuss. Okay. I don't think it's gonna be for this sprint though. I think I intended to put that in number four key. Okay, we can move that. There are a Spotify. I'm inclined not to do this since we no longer can use Spotify. So. I think I heard Akke say something about he was gonna modify it so that the user could put in his key. Oh, so everybody can have their own API key basically instead of the company based on? Yeah, people can apply for their own API key, but it's not like it's not a mass adoption thing. Like that can work for the people who are happy to mess around, but we really need something like, we need to fix the problem or move to something else. I've reached out to a different channel to Spotify and see if we can get that relationship reconnected. Should I move this to the backlog in case we can get Spotify working again? Yeah, I think we should move to the next one. Okay. Okay. So my question is this, the fact that I don't have my I2C bus plugged in is causing exceptions to be thrown in core, which is fine because it's not connected the way it should be. That being said, somebody here associated with us has written some code to do I2C because it's trying to communicate over our tornado bus. So the question becomes, who wrote that code? A number of people wrote that code. Yeah, lots of us have touched it. I don't think, well, are we ready to move on from the other part of the meeting and dive deeper into this or? Yeah, the work we're done with this print stuff, so. Okay. So the I2C stuff does the volume, right? I think what's confusing me is, so we're talking about the TV image and it's not doing any audio out, but the audio out on the TV image is configured to be by the GPIO pins, right? Yeah. And so if you have the amplifier on plugs, I don't understand how you can expect any kind of audio out. Well, audio out will still work. It just will be pegged up full volume because you have no volume. But the audio output is, so with the Mark II, the re-speaker is acting as a USB or USB sound card sound. Yeah, okay. And so it's sending analog audio output via three and a half aux jack to the amp. So what Ken has configured, he has that plugged in. The amp is powered and has the aux cable from the re-speaker microwave to the amp. So in theory, it should still play back. It'll just be at full volume with no volume. And indeed that's what it does. Yeah, so the reason we have code in core, I2C code in core is because of that max volume problem. We wanted to put a cap on the volume, the potential volume that could use for things like barge in. And we also wanted to put a cap on the volume so we don't blow out the speakers. So that is the reason there is I2C code in core right now as we are, we're doing some I2C get and set commands inside of core just to limit what the max volume can be. And who wrote that code? I maintained it recently, I'm not sure who wrote it. Could it have been David Wagner, would be my guess, it'll be somebody who doesn't know. Yes, Steve would have wrote it first, then David touched it, and Chris has touched it. Okay, I'm sure touched it somewhere. Yeah. Well, I mean, at a minimum, it's throwing exceptions that's causing like, delay issues, I forget the actual term I wanna use, but that's the less of my concerns. The larger concern of mine is what Chris was speaking to, which is if we have something confused here where there's a GPIO that it thinks some piece of the code thinks it's using that and some piece of the code doesn't, I'm just not sure how that's all plugging together. So that's what I wanna understand is the actual stack of what's going, where's the USB come in? Where's the actual driver? I'm assuming it's a little little driver that's ultimately getting rerouted through USB, but all right, so bottom line is we really don't have. I think you have a link with the script that sets up the driver too. Yeah, I saw that, I saw that. And I'll go through all of Mark and Figgs as well and stuff, okay, all right. There's a comprehensive document that indicates all of the drivers and various dependencies from a planning perspective that details all of the interfaces between the various different pieces of the stack and plans the entire thing and in a comprehensive way. Where is that document? It doesn't exist, we should probably make it. I mean, it appears. Yeah, you better run. Okay, yeah, so it's gonna take me a little while to understand what is supposed to be and then see what's not. So I have to, it's gonna take me a little while, but I was wondering who wrote that on the decode because the assumption is they knew something about how the volume control is handled with and without the I2C. And I suspect that's where the problem lies since I can go to command line and say set the volume and then everything goes out in the left field. So that's the story. I think this also ties back into the enclosure, like confusion that we've been talking a little bit about as well, where I think that should really live in the enclosure, whatever we, how do we define that? It's coming out of the skills log. Yeah, yeah, there's a mark two skill and that's where it's coming from right now. A mark two pie. I'm surprised that core configuration problems were being reported as a skill. It took me a while to find the right log. Yeah, yeah, again, yeah, as Chris said, it goes back to, we need to have that discussion about how we wanna, you know, where things should go in code or enclosure specific things at some point. That's what it is now. All right, okay, I'll keep digging. I'll figure it out. So while we're talking about this, how does this impact the SJ201s? The drivers, the things we need for that going to be, how put together is it going to be when I get my hands on it? I guess it's my question. Well, good news is we're still using I2C as an audio amplifier control. So any work around figuring out I2C is not lost. It will be useful on the SJ201. I have less of a grasp on how similar the audio input is going to be. I know Kevin's experiments right now are using a stereo setup. I believe right now the audio is coming in as mono for the re-speaker microwave. I don't know if that makes any difference or not. I think it does. There's several cards exposed, some of them are mono and some of them are stereo. Some are exposed to surround sound surprisingly enough. Oh, really? Okay. So anyway, yeah, but it is, I mean, it's a different USB sound card than what the re-speaker microwave V2.0 is. I forget which chip set we chose, Kevin. I'd rather forget Michael, which one did Kevin pick? I don't remember the chip set number. It's in the repo. Yeah. But anyway, Kevin's got all this stuff coming up and it doesn't seem to be much of a problem, so. Okay. The configuration throw away, is this going to get superseded by the new stuff? In other words, should I work on that instead of this? In a sense, yes, in a way, no, because the problems are, I suspect the problem is going to be generic, right? If you're having trouble with drivers, it's because we haven't properly really understood what's the right way to configure the drivers. The differences between the re-speaker array and the SJ201 are, well, actually, I don't know how different they're going to be. The SJ201 basically looks like a USB sound card. So it just uses standard off the shelf, generic sound card drivers. To get to the XMOS chip behind it, which says all the front end noise canceling stuff, we go through a, it appears as a different chip on the USB bus, and we also have, there's also an I2C interface that we can use instead. So we've got a couple of ways to get to the XMOS chip. So one way or another, we need to figure out how to properly configure the hardware so that it is exactly the hardware that we know it is, and not sort of hand-waving, guessing that sort of drivers at it mostly works. Well, that's kind of where I was coming from. How's it connected? Is it going over I2C in this particular setup to the actual re-speaker, or is it going through a USB driver? I mean, I just don't know. I haven't looked at it myself. I mean, I suspect you could take a look at the actual board. That's what I'll probably know. All the layers are on. Well, I think from my understanding and the beauty and simplicity of what we're trying to do by using USB as opposed to some other Raspberry Pi interface, is that it is just a USB microphone with all the magic sauce happening on the other side on that in the XMOS, so you don't have to worry about it. Yeah, that works for the SJ201, but it doesn't help Ken with what he's trying to figure out. Well, it shouldn't be all that different for the re-speaker microwave, because it is also a USB interface. Yeah, the problem with that, and I understand where you're coming from, and that's like it's intended to work that way. Problem is with audio, every hardware manufacturer, even if they use the same chips, the same hardware, they do just little one-off nuanced crap for their stuff to try to get a leg up on marketing or something, and so it's rare that you can take two different speakers off the shelf, and they're gonna have the exact same capabilities and functionality and work the same way, and there's always hidden tricks and stuff in the communication panel that you can, you know, hit the control bits differently, so yeah, I just, I'm just getting exposed to this, I don't know the hardware yet, I'll figure it out. All right, anybody else hit any roadblocks? Can you hear anything? Well, one thing I did wanna bring up is like the Mark II hardware repo that we said we were getting rid of is gone. Okay. But the drill two hardware and microc Mark II repos. One has an II for two, and the other has a numeral two for two, and one's private and one's public, so do we need them both? And if we need numeral two repos? What? Who made the Mark numeral two repo? Who made it? Well, the numeral two, I think is the one we're in, is the active. Yeah. Is it? It's got, that's it in it. It's got the OTS and the DevKit with pushes on the DevKit from two days ago, Kevin did some updates, so. Yeah. Well, no, that's, oh, okay. Sorry, I guess we're talking to different things. Yeah, so hardware, micro, Mark II. Oh, II, sorry. Yeah, II. Yes, the new one. Yeah. I don't see what this one is. Number two one you're talking about is, I don't see the repo that you're talking about there, Chris. It's a private repo, so it might be that you don't have access to it. Maybe. I could see the other private repo, but that's the one I thought you'd just delete it. Yeah, the one that's got the 2020 after it, that's gone. Right. But this other, my hardware, micro, II, looks like it's got some fabricated parts folder, a PCBA main folder. There's a lot of updated in January, 2019. Yeah, right, right, right. Okay, so that is the Xilinx design. So that has all of the, that's actually got, yeah, all the stuff to build design export. Yeah. Okay, we're gonna rename it Xilinx. Right. I'm gonna not lose it entirely, but. Yeah, and we want to keep that one private for now. Yeah. Well, yeah, it doesn't work, so. I don't want to mislead anyone. All right, I'll rename that repo, so there's no confusion as to which is which, but the numeral two public repos that want to be working in now. Right. Okay. For maxing the confusion, we've got to mark one, one, the number one, and a mark two, two, two, two, two, two, two, two, two. I blame this on Josh, he decided that we needed to do a number of II. Yeah, it's Roman numerals, always. Yeah. I mean, it does kind of fit with, you know, things that are named that way. Well, yeah. Just like the I2C guys didn't decide to name it that way, it'd be IIIC. Yeah, and actually, isn't it like, I don't know what people call it, I2C, yeah. Well, it's because it's mostly the IIC, but then we just name it I2C, you know. Yeah. Yeah, we should get, this should be marked squared. There you go. Okay. What's our next meeting? That's gonna be a problem for the bad one. We have a meeting tomorrow around this time to discuss the tagging design. Right. So I do, if, you know, come prepared with any ideas you have about how, you know, what functionality we want in the tagger for, specifically for the wake word. And if there's generic things that we think we can build that can be reused for other taggers, that's great too. But the first one we're building is the wake word tagger. So, and that's one of the things I'm supposed to be working on the next sprint. So, which is why we're talking about it tomorrow. So if we could come up with, maybe I'll start a Confluence document on that so that we can, I already have one started actually, but so we have a point to start with. But yeah, Derek, if you have some time to give the UI design just a really a high level thought, you know, or if we're gonna wait until, you know, you kind of put some requirements down as to what it needs to do, we can do that too. I also have a document for that on my desk for getting that done for you. So I will weigh in on that. Okay. Yeah, most of my thoughts are gonna start with questions. Like, you know, are we gonna have multiple choice, like we'll try to tackle little things in the same, you know, screen, we're gonna show a way for them to be. That's the design. Yeah. Yeah. All right. So we'll talk about that tomorrow. Yeah. So, yeah. That's the type of stuff we'll particularly just thoughts like that. Okay. Well, then I'll see you all probably tomorrow then. All right. Take it easy. All right. Thanks everybody. All right. Good night everybody. Bye.