 Okay today is January 8th Friday 2021. This is the DevSync so we're gonna go through and do our usual roundup, see how things are going. We'll start with Josh. Snuck in at the top right corner of my screen. There you go. I am on my lunch break just to clarify. I don't have a whole lot other than I am going to continue to wait for a demo video. Our ordering is complete for the Mark II and we have identified a ship date of February 26th as the drop-dead date for shipping those DevKits. So those will be in the mail moving to people by then. Between now and then we have some stuff on the business side to do to queue up who gets what first and when and why and how so on and so forth and that's all I really have. Panicor and the other teams seem to be doing a good job getting from here to there. All right, great. Gez? Yeah, I did some work yesterday. I was looking at the, you know, how we're triggering the Wi-Fi connect screens and I mean soon we'll want to have those triggering off the button in the on-screen Wi-Fi setup flow based on the design that Derek put out. But I also but for the moment I've like I've thrown that into the enclosure so that the enclosure now calls it well the enclosure sends a message bus message that will trigger it whether based upon whether the device is connected to the internet or not so it will either trigger that or trigger the pairing skill and then when the Wi-Fi setup is complete then it will trigger the pairing skill and if the pairing is complete already then it won't do anything but if it's not you know it'll check that. So it's kind of hard for me to test the changes until I get my new hardware next week but and we also need to fix the issue where only PanicOS thing takes over and doesn't let the existing on-screen Wi-Fi setup work but that might be working now. I haven't tested the newest build that these guys might have tested. So anyways that was the main thing yesterday. More VoigtConf stuff we need to get some well we really need to update core is the first thing to get that working and we do start need to start looking at the 2102 changes for core because that's coming up quite soon. Yes I did both the PanicOS build for a short period too but it sounds like that speaks now. Okay. I think that's me. So a quick question here. So there's two high-level goals that we need to clear with respect to the Panticor stuff and the first one is just making the image work at all right and the second one is being able to update that image you know using the Panticor's update system. Where are we with respect to both of those goals? So being able to update it is as simple as hitting a play button in the pipeline in the CI pipeline. So number two is TIC number one is well number two is TIC there's a lot more detail in terms of like you know that's just to trigger a nighly build and then and then we need to look at the prices beyond that. For development purposes that's a TIC. And for the first I think let's see if I'm Chris and Ken first and help at all. All right, fair enough. All right, well let's go there. Chris. Yeah, I spent my day playing with my device, rebooting it and re-flashing it and all that good stuff. One thing I'm trying to do is to find the right place to put log messages in our speech process so that I can identify why the initial boot fails in the mic process. So that's gonna be a time-consuming process because every time I put log messages in we have to merge them into the mark to build and then we have to get to get their CI process running and get another build and test that and see where it's from failing and it might take three or four iterations of that before I really pinpoint where the issue is since it's on boot first boot ask me off a fresh image. I can't just you know put the log messages in and reboot and restart it. So like I usually can. So I've worked on that. I tested the config changes to 48k and 32 bits for our mic and found that the we took up some serious CPU power when we did that. The speech process like tripled its CPU utilization by reading all that data. So I think the current plan is to back down on that for now. The other reason being that there is the older values are permeated throughout the system. So we'll need to probably just have an effort to figure out what we want when and how we want to do to use our better mics. I also found and there's on the panic or channel and get I'm not sure where this is. But I was trying to test some of the skills and the changes I had made to the daytime skill, for example, were not in the image and I went down to the skills directory and it was 34 commits behind master or behind 20. So I don't know why those aren't getting updated or how we need to get those updated in the image. But it looks like they're using a pretty somewhat old version of those skills right now. Yeah, it's based on what's in the marketplace. So we do need to go back. We need to get in update a lot of things in the marketplace, not just in the in the skill repellent self. Okay. All right. So yeah, that's kind of what I've been doing. So I will continue to work on figuring out why the first boot doesn't work tomorrow. And I'm putting my device to pieces. Derek is actually Johnny was in Lawrence today and picked a bunch of parts from Eric for me. So I'm going to have my new build my new device, look at that setup. And yeah, just keep troubleshooting until we get it happy. Okay. So before I jump into Ken here next, I want to interject. So there's a bit of confusion about this 16 kilohertz versus 48 kilohertz sampling. The XMOS chip actually only samples the two microphones at 16 kilohertz. So it uses a 48 kilohertz output only because that's the input we're giving it. Right. So it has to use this is a synchronous bus. So it has to use the same sample rate on the output as input. But how it packs the data into that 48 kilohertz is very programmable. And so we should I'd like Ken, I think is probably the right person to look into the datasheet and see how that data is being packed. Because if you're getting an actual 48 kilohertz signal back, what it says is that that's just a duplicated data. It's not interpolated. It's not anything. So you could just take every fourth sample, for example, or every third sample to get down to a 16 kilohertz sample. Right. And so that might save a lot of processing overhead and whatnot. So there may be other things we can do as well to to reduce the the data being passed around there. So I'll get with you on the I'll send you the datasheet link again. You can take a look at that. So there is no 48 kilohertz available at all in terms of mic input. Well, then I'm glad we're going back to 16. Okay, so Ken. Yeah, Ken, you're up. Oh, okay. Yeah. And the other thing is I still need to understand I mean, right now the system, our system automatically grabs the default input device and it's not clear to me that's mapping to the proper one of the two input channels. So that's there's some still some experimentation and work to be done there. That being said, I'm glad it's Friday. Today was a good and a bad day. I woke up. I have I hate snap. I have I run Ubuntu and I have snap constantly running showing up my CPU. I went to bed last night. Everything worked fine. I was running 2004. I wake up a magically running 2010. And all of a sudden, my network adapter doesn't show up anymore. Interestingly enough, I have a broadcom adapter. I have I have a Mac. And it turns out that the newer versions of Ubuntu, of which we're running, are concerned about, I guess, app armor and illegal code. And it turns out that the broadcom firmware is considered their proprietary IP. So fortunately, I guess people in the Linux community saw this coming and they actually had an open source version of the broadcom firmware and handlers for my chip. But that's something we should be aware of moving forward. Anyway, so I finally took me two hours to get my laptop back online. And then when I burned the new image, it took me a couple of hours because I didn't realize the screens weren't there. So I thought it was hung because I didn't see the the the keyboard. And then the other problem was that I tried to burn on to an SD card and this image won't run on an SD card. So after overcoming all of that, I finally upgraded to the latest version of the panorquire image, you know, set everything back and ran and I've been running it for three or four hours. Now, I didn't see I didn't have a luxury of seeing on initial boot, whether it worked or not, it seemed to, but I couldn't get in. I couldn't SSH in because that was another problem. I didn't realize that image came from the dev account and all of that good stuff. So I did my key. So it was a lot of wasted time. The good news, that's the bad news. The good news is the image has been running wonderfully for four or five hours other than the bring up issue and no gas. It's not fixed. It's still just sits there spinning and you have to know to go to your phone. Doesn't tell you anything audibly or anything. And so I'm being I'm a little simple minded and that took me off guard. But yeah, so that's not fixed in this version of the bill. But you know, I'll re burn it from scratch and see if I can figure out why it's not coming up on first bill. Our first boot, but my my rough assessment of that is twofold. The first is that's probably a panorquire image. The second is it's not uncommon to just have a boot twice. How my router does that, probably for the same bug. So that's all it takes to get this thing fixed. I don't know, we need to spend a lot of time on that. Tell Panorquo to fix it and move on. As far as precise goes, yeah, I'll be looking into that. But more from the wake word stuff. I had to stop that in the middle of something last week. And it seems like I can probably shift back to that on Monday and start working on the back end wake word stuff. So I think everything's looking pretty good. At some point, Michael, if you want to be too, I certainly could go through and pull out the one channel of mic input from the input stream and fall out every third frame from the input buffer. So we could do that. But yeah, I mean, the concern is when you have it showing up and reported the system as 48 K, you're going to get, as Chris and I saw, interrupts that period frequency. So you're still going to get three times the interrupts. I do know that the problem or I believe the problem is that because you're calling into a Python code chain from a low level driver on those, on that mic input, that when precise wakes up, that's where I saw. When I run it outside of core and I just run precise, I see it reset the hardware almost after every recognized wake word, because I guess the callback is not fast enough. So, you know, at least that's fixed for now. I was looking for whether we're overflowing it somewhere else. But I really think it's because our callback just can't go fast enough. There probably could be some coding to make maybe make that a little more economical so it could kind of queue it and then go back and, you know, leave, you know, kind of shift out of that thread. And then maybe that'd work. But that's going to take some work. So I don't know that that's important right now. It seems like if we're trying to get dev kits out, it seems like we can get this initial boot thing working. We should be good to go with this. The hardware looks good. Everything seems to be working as advertised. So yeah, and that's that's where I'm at. And unless you tell me something other than that, Michael, I'll go back to working on the wake word continuous integration pipeline on Monday. Right. OK. Well, yeah, I'll, like I said, I'll send you the info on the XMOS low level programming just to make sure we know exactly what we're dealing with. But that should be pretty straightforward. OK, Derek. Yeah. Yeah, today has been kind of hit or miss. So this morning I was working on some hardware stuff. Chris got some stuff for Chris. He wanted an extra enclosure. And I've been trying to get him a fully assembled V5 as well. So I threw in some extra parts for him. So we should build up to sets now. Johnny should be taking that to you tonight. And yeah, Johnny came up this morning. So we met a little bit and talked about getting the stuff to Joe. And I went ahead and cut an enclosure for Joe as well. He said he didn't really need it, but I thought it was smart to throw it in so he could test putting it in threaded inserts and see how long it actually takes. So yeah, I got that to him. And as I was doing that, I realized the parts coming off, the laser cutter, weren't exactly correct. So they assembled OK, but the laser is cutting rompuses instead of squares right now. So I think that's going to have to be going on there. It needs to be looked at. So it might be down on the laser cutter until I can figure out why I can't cut a 90-degree angle. What else should we find for Joe to explore with? Let's see. I did realize something. The nuts that we bought from Bolt Depot are too big for our enclosure. So we're going to have to get some different nuts. I should have made the tolerance not so tight on that. I should have made it a little bit bigger, but those are already being cut, so I can't really go back and change that now. Let's see. And then I was trying to get, yesterday I told you guys I was going to try and get these two boards up and going. Well, I did get them kind of tested, but most of the time I was screwing around trying to get the USB boot to work. I don't know what I'm doing wrong, but I can't get a USB boot to work. It's working fine off SD card, so that's good. Maybe we need to settle on an official way to do this, or Josh, share your script, or however that works. I did. I checked it into there. I gave it for checking in repo. It should be available, along with the image to do it. OK. You might need to tell me how to do it then, because I'm not sure how to do that. So yeah, that's been my day. OK. I don't have much of an update. I've just been in communication with the PCDA company just to make sure that the boards are going to come in on time, and that looks good. And yeah, it's pretty much it for me. So Derek and Josh, maybe you guys want to hang out for just a few minutes. Maybe Josh can step you through how to do that update. But are there any other issues people want to ramp? Talk about? No, I want to say I think we're looking better than we have in quite a while. Yeah, I think things are going to break loose here pretty quickly. We've got a number of actually working hardware bits out in people's hands now, and we're going to have another 10 or so here in a week. As we get the samples back from the fab, and assuming those work out fine, then we'll have another several hundred. So we'll have plenty of stuff on which to start really cranking on the software side of things. Yeah, I did notice that once we get through the precise stuff, there are still several UX things with the device that we need to address from a skilled standpoint, not a gooey standpoint. And many a tune up of these skills and all that good stuff. And really, we had to get to this point to move forward and now start looking at it as a product versus as a piece of hardware. So yeah. Yeah, I know that's not for the deaf kids. I know it's not a problem, but I know whatever we could come up with for a date for the consumer devices, we should have all those little niggles worked out. Michael, are we going to offer this to Pi through the Pi Store? Possibly try to get it in the Pi Store? We just really don't have enough units to be honest. I think pretty much everything we're building is pretty much sold already. So we might have everything we have is what already? Everything is pretty much everything we don't have enough units. So everything we're building at the moment is for backers mostly. And then we'll have a few more that we'll be able to put up for sale. But it's not very many. So I think it's something that we should look to in the future is how do we we're clearly not the only people that had this problem of like audio. Good audio is hard without going to a whole bunch of different places. And so I think there will be interesting in this sort of stuff. But it's more of like, how do we set up that whole end to end process? Yeah, the distribution channel. All I was getting at is just because you want to get in the Pi Store, doesn't mean you'll get in there this year. So it might take some time. Maybe you have to send them a couple. But it is a hat. And it's a Pi hat. And Pi hats are popular. So yeah. And it's a good device. Once we get all the kinks aren't out of it, we could probably make some money just selling these. Yeah, possibly. But we've got other issues. Some of the chips that we're using on this board are just not available anymore. Like we bought the last inventory of a lot of these chips. So we've got to deal with the normal factory lead times for the next order. I think my friend was saying the voltage regulator we're using is very old and super solid. And everybody uses it. But there's cheaper ones out there now that perform almost as well. So stuff like that, yeah. Yeah, exactly. There's some tweaks we can make to the board, for sure. But just in terms of the design that we have, it's not that the parts aren't being produced anymore. It's just that they're allocated. So we have to make our own order from the factory in the lead time. And that is 28 weeks. All I was getting at is we're entering into the realm of hardware manufacturer. And we have a product that could be viable at some point and sold in standard distribution channels to get over to Digikey and all those guys, so whatever. Yeah. But 28 weeks gives us plenty of time to fix the UX issues. For sure. I've had some chats with one distributor, one Australian distributor. And they were pretty interested in stuff. So I think there's definitely, I think people will definitely be willing to do it. But it's also like for the bigger guys, you obviously need to be able to provide a certain number and have a whole lot of stuff in place that we just don't have. So and when we can't yet promise them. And if they believe our promise, then they're idiots. So yeah. So beyond the dev kit order, we're still working on the plan for the second quarter of. Yeah, just a move for thought. OK. Well, all right. Anything else people want to bring up? Questions? Concerns? School starts out back here in California next week. So that'll be fun. Are they actually going to school? Of course not. No, I mean, it's terrible here. Like there are no ICU beds in California or LA anyway, right now. They're telling the ambulances to not pick up people that they don't think are going to make it. So it's not even the worst it's going to get. So yeah. Anyway, so stay safe out there. And yeah, our kids will be going to school remotely, which is always fun. All right, we'll meet up again on Monday. Thanks, everybody.