Embedded - 233: Always the Wrong Way
Episode Date: February 9, 2018Chris and Elecia chatted about listener emails, and other stuff and things. Elecia wrote a book called Making Embedded Systems, if you want to see the chapter about interrupts and timers, hit the con...tact link on embedded.fm. We also recommend our blog, Chris Svec wrote about the MSP430 from a microprocessor point of view (ESE101) and Andrei Chichak wrote about an ST processor with a more pragmatic and C focused view (Embedded Wednesdays). You can support the podcast through Patreon. Kalman filter explanation video with Pokemon Ben Krasnow's Applied Science YouTube channel Usbourne's books for teaching kids electronics and programming (the free '80s ones are near the bottom) Formally verified microkernel:Â seL4 Microkernel The first Pokemon games used every programming trick there is for optimization STM bought Atollic and released TrueStudio Pro for free for STM parts
Transcript
Discussion (0)
Welcome to Embedded.
I am Eliseo White, here with Christopher White, and this week, this week we don't have a guest.
We're our own guests, we're each other's guests, I don't know, it's just us this week.
This isn't unusual, we do this.
I know, but it's been a while.
Okay, first topic.
Go. Do you want to go? No, go. Okay, first topic. Go.
Do you want to go?
No, go.
Okay, first topic.
Which part of the fantastic SpaceX Falcon Heavy launch was your favorite?
Toss-up between the synchronized landing.
Oh, that was beautiful.
It was ballet-like.
Or the ridiculous absurdity of the car for hours.
The two-hour-long car spin.
Two hours?
More than two hours.
Well, you can now watch the two-hour-long version of this.
Let's just say I got less done this afternoon than I expected to
because I was spending more time
just watching
the fake man in the car float around
the earth. It was beautiful.
Good job, SpaceX. I also liked when the boosters
separated. That was cool. I thought they did
a really good job with
having enough cameras to see
all the moving parts
and I didn't
know they were going to put a camera in the car.
I kind of hoped they would, but it didn't seem like maybe they would
because it's not a real satellite.
But having many cameras in the car was pretty cool.
And now that is the fastest and most expensive car in the whole solar system.
Somebody will go get it someday.
All right, let's see what's next.
Oh, I am available for work.
Two of my big clients have not come through,
so I will very soon have availability.
Yay me.
What do you want to do?
Something interesting.
What's interesting? I don't know. I mean, I like sensors. I like BLE
okay, but I've done it a lot, so it couldn't just be a sensor on BLE. I like math. I kind of miss
doing math, even if it's machine learning stuff or signal processing. But then I also like little
processors trying to fit everything in and do the power optimization.
I'm fairly easily amused.
One of your last things was MSP430.
You hadn't done that in a while.
No, and it all came back pretty quickly, I think.
Although I still have to do the power optimization on that.
But I'll be very available soon.
Those aren't too hard to power optimize, I think, I hope.
Cross fingers.
And in the meantime, I am working a little bit on Ty the Typing Robot.
Go on.
This is so smooth when we have each other. Yeah, so I decided that I needed a deadline and a stopping place for a little while.
And so I signed up for the NVIDIA Jetson Developer Challenge.
And the idea is that it's supposed to be some spiffy AI thing that uses the TX2 to its full potential.
And I'm entering a typing robot that has no real AI component.
Most of the categories were like, you know, world-saving medical devices, farm helping.
Yeah.
And they didn't really have a category for fun.
Well, they had one called Geek Out, which was sort of the catch all anything category. And I'm starting on the principle that
the word geek comes from the circus geeks and they used to eat everything
as part of their act. And so part of my experience with the Jetson has been try everything, try object
identification, try robotics, try camera vision. And so this will help me document what I've been
doing with Ty, which some of the camera vision stuff is pretty cool. Some of the robotics is
pretty awful. We'll see. And there is a community aspect to that where people can vote on your projects.
So I'm hoping that all of you listening are trying to figure out already how you can vote on my project,
which isn't due until like the 20th of February.
So, yeah.
You got to milk this podcast for all it's worth, man.
All right.
Which I guess moves on to the next subject,
which is we don't have ads on the show.
And we do have Patreon.
You're welcome to support us there.
We really do appreciate it.
And what the money there goes for
is not really even our hosting costs
or paying us at all.
It's so I can send microphones to guests.
We get much better audio quality if we know that their microphone is a good one.
If they aren't using their built-in microphone or they aren't using a headset,
we really can get them to sound better.
And so I appreciate when people support us because that means it's easy for me to send microphones everywhere.
Yeah, I guess that was all with the Patreon.
Well, Patreon kind of, they said they were going to change the rules, so I changed our setup.
And then five minutes later they changed it back.
Five minutes later they changed it back, but I'd already changed, it was all so.
So we lost half of our.
So we lost half of our donations, which is still fine.
I'm still managing to send mics out.
Okay.
ChordBot.
I met, well, virtually met Brad and Bill of Isla Instruments.
They make the ChordBot, which is not a synthesizer,
and they sent us one to play with,
where us is clearly not me.
You tried it out.
Yeah, I know.
And you were like the first thing.
I was like, oh, they sent us this musical synthesizer thing.
You should try it out.
And he's like, it's not a synthesizer.
No, it's a sequencer.
Well, it's a sequencer controller thing.
It's a MIDI controller.
So, you know, if you don't know
midi as midi is a digital interface to talk to musical instruments so if you have a synthesizer
it might be just a block of electronics with a plug in it for midi and then you can plug
a controller into it the controller might be a piano keyboard it might be something fancy like a
fake horn like they have midi controllers that are in breath instruments um so basically midi
it sends note information like oh i want you to play an a right now and i'll tell you when to stop
and it sends other controller stuff so you can can have pitch, bend, and all kinds of things.
And MIDI is less about the wires between.
It's not I2C or SPI or even UART.
It's the layer on top that describes things.
Well, it's its own serial interface.
Okay.
But it's the serial interface and the protocol.
There's a protocol on top, yeah.
So what this is, is it's sort of a keyboard controller.
It has an octave or two of keyboard buttons,
but it's an arpeggiator and sequencer.
And an arpeggiator is something that plays individual notes from chords.
So if you have a C chord that's like C, E, G,
it'll play each of those individual notes in sequence, so it won't play them all at the same
time. So it's still a chord, but they're separated in time. And if you listen to a lot of synth music,
you'll hear this kind of thing, repetitive kind of walking up and down notes of a synthesizer or
keyboard. So what this does is it allows you to program a bunch of those chords and just play
them with single buttons, but it'll also
walk you through like common progressions and stuff, and you can program it to be really
sophisticated. Like, oh, I know I'm on the C chord, so for this particular scale, I know I can legally
go to these other chords, and then it'll give you those options. So for performance, when you're
running a synthesizerizer it's really cool
to kind of set up these things just kind of run in the background while maybe you go play a lead
or something so you set up a chord and it just kind of it takes care of it and plays it as an
arpeggio loops it right and it loops it and you can go off and do something else or alter the
sound on your synth while it's doing that so it it's got chords, it's got scales, and it's really sophisticated in how you can program it.
And they're adding a sequencer function.
It's not there yet, at least it wasn't in the firmware I have.
And a sequencer is where you can just record whatever you want
and then press go, and it'll keep looping that.
So yeah, it's really neat.
It's compact, and it's about the size of a couple paperback books,
maybe a little longer.
Yeah, paperback books laid flat.
And it's got a nice screen on it.
Some of the controllers are just kind of bare with no screen,
but this has a screen so you can see what's going on
and adjust tempos and things.
It has a lot of LEDs as well.
Right.
I know that from the code side.
All the buttons and stuff have LEDs.
So like I was saying, when you do the chord thing,
it'll turn off the LEDs for ones that you probably shouldn't go to
for a particular scale, stuff like that.
And it also shows you on the keyboard what it's playing with the LEDs,
which, if you're learning, can be quite useful.
Hilariously, I talked to Brad a bit
and then
he listens to the show
some and I mentioned that
Sunshine Jones would be on.
This was weird.
And it turned out that
Sunshine had written a manual
for the Chord Bot. So it was all very
small world.
It really is a small world.
So thank you Brad and Bill. It's been fun to play with. I think it was all very small world it really is a small world so thank you brad and bill it's been fun to play with i think it was a kickstarter so this is definitely a small
and they're shipping small company uh bright idea from ground up kind of thing so
uh next on the list oh look that's so cheery dying blog i love that how i write these notes they're just
great um yeah our book so if you didn't know we do have a blog on embedded fm slash blog
um and chris feck and andrej cicek write for it as well as me uh christopher white occasion
once maybe i've heard a couple things back in the first few weeks.
Yeah.
But then I decided I have enough to do.
Yeah.
And nobody needs to hear from me.
Well, I think I liked what you wrote.
But yeah, so it hasn't had a lot of traffic, but it has a lot of information on there.
So if you want to know how to get deeper into MSP430s, you want to know about how microprocessors work, take a look at andre's embedded wednesdays they're both really good and
i hope that this guilts them into writing more for us we don't pay them either nobody around
here gets paid not even the dogs they get paid in kibble uh yeah oh and I guess that brings up a listener email that I wanted to address.
This one from Mark Hickling. He says, Hi guys, I recently listened to your podcast with Chris
Gamble, the New Year's podcast, and it got me thinking. I've spent quite a few years programming
in C and can do all the basics. Ifs, whiles, fors, controlling, IO, etc.
Problem is, I've hit a limit.
Now I want to learn more, but there's almost too much information online and I don't know where to start.
I need to know more about timers, interrupts, and bitwise calculation.
But all the books seem to focus on desktop-based C rather than embedded C.
I wondered if you could point me in a better direction.
No idea.
Well, I mentioned the blogs. I like those blogs in particular, possibly because they're the ones I,
I mean, they're the ones I like best. That's why they're on our site.
But it's funny you should ask, because I actually wrote a book. I know that comes as a shock to many people,
but not all of you. And it's called Making Embedded Systems. I wrote it for O'Reilly.
And I sent Mark the chapter on interrupts and timers. If anybody else wants that chapter,
feel free to email me and I will pass it along. The book wasn't dependent on any particular processor, so I think it's
still relevant. I talk about doing an update to it, but my update wouldn't be to most of it. It
would be more about manufacturing, which is something that changes all the time, maybe more about manufacturing software.
I don't really know what I would add to it.
BLE?
I do have a chapter about all of the different protocols and peripherals,
and it's kind of jammed in there because BLE requires its own book. I mean, we got through like a third of what I wanted to on our BLE requires its own book I mean we didn't get we got through like a third of what I wanted to
on our BLE show
and Jackson did a great job
but there's just so much
I mean this is why there are hundreds of pages
in the books that exist
we can't get through it
so if I did BLE in my book
it would be three pages long
and it would pretty much say
go find another book
here are the very basics and you would use it under
these circumstances.
I think you should talk about the MPU and the ARM Cortex M4.
Why?
Because it's a cool feature and memory protection is a,
yeah.
And I don't think that's really written about anywhere,
but that's processor specific and you don't want to do that.
Yeah, and it's something that's more often used in Linux and in operating systems.
No, it isn't?
No, it's on the Cortex-M.
Yeah, okay.
I still run Linux.
No, so what are we using the MPU for?
RTOSs?
Yeah.
Okay.
All right.
Then we're agreed.
Next on my list is...
Oh, learning via YouTube.
Do you watch YouTube videos?
Occasionally.
I've been looking at a few on building synths.
I find them frustrating, some of them.
Why?
A couple of reasons.
One, YouTubers who are successful seem to have picked up kind of a style,
which is there's a lot of preamble.
Like, here's what I did today.
It has nothing to do with what I'm about to tell you.
Oh, yes.
For lunch I had rice and fish.
And you follow them around and their quick cut edits and things,
and then they get into whatever they're talking about.
It's hard to find the information you're looking for.
Like, if there's something specific you're looking for,
you can't skim like in a book to find a particular thing,
right?
It's not organized that way.
It's somebody talking for like,
like a podcast.
Nobody listened or pay attention to what I'm about to say,
but it's, it's, it's hard to find if you're looking for some specific piece of information you can find a video
on it but then within the video sometimes it's not well organized enough to kind of go oh okay
that's the thing i'm looking for so i tend to like the ones that are more kind of more like
lectures or it's like okay there's this and then the next one will have this and this person is teaching
something that they've thought about
at least long
enough to have a series.
So some of those are okay, but
I find
there's a little bit too much entertainment
even in the educational ones
to get much
out of it.
There was a Kalman Filter video
that kind of prompted this.
Oh, is this the one that Matt Godbold has been sharing?
Oh, I don't know.
It is...
Oh, I forgot to turn down my audio.
Sorry, it's a Kalman Filter video
using Pokemon as the example.
I don't think that's it.
And it's pretty amusing and it's pretty correct.
It's not, it definitely goes more for the entertainment side than...
If you're looking for an intro to something, a lot of the YouTube videos I think are great
for that.
But you're not going to take that video and use a Kalman filter, right?
Are you?
No, you're really not.
You might be able to talk to somebody about it.
And you aren't going to be able to take that video and read a book about Kalman filters.
Yeah.
I had that problem even taking the second term of the Audacity self-driving car that
what I was learning there
felt very deep and mathematically rigorous.
But then when I went to the book,
it was, I couldn't, I had no...
There was still a gap.
There was a huge gap.
And I hated it.
It made me very unhappy.
I still feel like someday
we're going to be able to make an education out of YouTube,
but I haven't figured it out yet.
I think there's stuff there.
You have to find people more than...
I mean, because if you just search for Kalman Filter, you get a lot of things.
What are other video sites?
I mean, it depends on your goal, right?
If your goal is to learn something in a way that you can apply it,
you're probably more likely to find one of the online course sites or Khan Academy or
something that's role is to teach you rather than kind of here's a cool thing I found,
or here's a cool thing I did. It's inspiring, but I don't find, even when I find very specific
videos, like there's one I watched about building analog synths.
And it was pretty good.
But the guy, you know, he walked through, he was schematic for the thing he was doing.
And I learned a bit.
But mostly what I learned was I need to go find something more deep before I could do anything with it.
And maybe that's just finding the right level of video.
Maybe that video was like, oh, you should already know this stuff.
That's one of the hard things about it, being on YouTube instead of in a class format.
It's a class format, it has prerequisites.
And YouTube doesn't, so you can end up in the deep end when you didn't intend it.
Yeah.
I was kind of hoping that I could trick myself into watching educational
videos instead of some of the novels that I read that aren't really very good.
Sometimes I'll be halfway through a novel and I'm like,
I don't care about any of these people,
but the completest in me needs to finish it.
Yeah.
And I was trying to get myself to watch more YouTube videos for that, but I haven't.
A lot of YouTube to me feels like adult Sesame Street.
Which was what I was looking for.
Yeah.
But no one comes away from Sesame Street knowing how to do math.
They learn maybe the basic numbers in the alphabet, but they don't learn maybe how to spell or grammar
so it's all very it's all very shallow surface the things that i've seen i people don't don't
don't email me i'm sure there's great videos on youtube i don't go there that often when i do i
don't have a great experience so but a lot of it's know, experiential kind of stuff. Like Ben Krausen has videos, they're great, and they're exciting.
And I feel like I learn things.
But it's more like, you know, it's more like watching nature programs or something,
where you learn some cool fact about science or nature, but it's your goal, right? Do you want to learn how to do something
or how to take in a subject at a deep level? Or do you want to be entertained? I still maintain
that most of that stuff is kind of science-y entertainment. That's true. And from Ben's videos,
which I do like, I get, you know, the factoids, a couple of
science factoids, which I like.
I think the thing that I take away most
is his fearlessness. I mean,
he's just willing to try
any freaking thing.
Yeah.
There's all sorts of positive stuff to get out of it. It's just
when I'm
going there, it's usually
an entertainment mindset. It's usually an entertainment mindset.
It's either an entertainment mindset or a no-nonsense,
please just give me the information mindset.
And both of them seem to have downsides for me.
Yeah, when I'm looking for information,
I still go straight to Google and look for pros.
Yeah, and pros is so much faster for me.
Okay, well, I just wondered what your thoughts were on that.
Speaking of prose, Usborne.
Do you remember the Usborne children's books?
The what?
They were in the 80s.
And they taught you how to program.
Yeah, I know.
I linked to these.
You did.
You linked to those.
Yeah.
Yeah.
So, they have modern books about scratch and all of that but they also have a number
of free books on robotics for uh let's see the commodore 64 and let's see uh vic 20 spectrum and
bbc keyboards and computer music uh you know it's not always really truly relevant to today, but they're free
and some of them, I mean, it's not like
building a group. Sorry, I have one favorite.
I have one favorite out of these. Okay, what is it?
Machine Code for Beginners.
The
Usborne introduction to Machine Code for
Beginners. I think I remember this book.
1983.
It's kind of a picture book
about machine code.
And it takes you all through it.
And it's great.
It tells you how a microprocessor works.
And you know it's directed at kids,
but I don't care.
It's got the information.
It's not lying to you.
And it's a great way to present it.
They're charming.
And it talks about the Z80,
which is still a fine chip to think about.
I maintain.
Anyway. Yeah, those were cool.
And there's a link, I assume.
I'll put a link in. Chris said
not to email him if you
had particular videos you wanted
him to watch. I, on the other hand,
don't mind if you email us. No, I don't
care about that. I just want people
yelling at me. Oh, it's the argument.
Okay, we'll take video suggestions we just don't want
to be argued at. That's usually true.
Yeah,
so show at embedded.fm
or there's a contact link on
embedded.fm. We should
always be easy to reach.
There's never the intention that you can't find us.
We're also on that awful thing.
Twitter?
Yeah.
Yeah, we're on Twitter.
And you can sometimes leave comments on Squarespace when the moon is full and the dogs are...
It works, you whiners.
Jesus.
It doesn't work for me.
Just log in.
We're not going to let you just post anonymously because we don't want spam all over the place.
So log in.
You can't always log in because they don't support Google Chrome or something.
No, give me a break.
I don't believe any of that.
I'll show you.
If you show me, I'll just disbelieve.
Yeah. Okay. Well, next on my list. Did I tell you about realizing that one of my worst, worst work experiences was something I could explain to someone else as something that made sense?
Oh, I thought it was going to be about crying.
Oh, no.
Not you crying.
No.
No.
Jeez.
Crying.
Don't cry at work or just cry in the bathroom, please.
Don't cry at me, please.
Anyway.
So, when I was at LeapFfrog I had a whole toy line had um
I had preschool like right before they went to kindergarten we had a whole bunch of toys that were about to come out and I worked really hard on a couple of things that I was pleased with. The fact that across my toy line,
there was a lot of shared code, and yet each toy had great personality and was well done, and
QA had passed them, and we were done with the code, and then they canceled my line.
They also canceled on my co-worker's line. She had all the musical instruments.
And we took the afternoon off when they did it. And we were talking to someone about choices in business and
she wanted to know what were the major decision points where you had to decide to go or no go.
And I said, you know, clearly once you start manufacturing, that is a go,
no go decision. Once you have 10 prototypes and you want to go to 10,000 or in this case,
hundreds of thousands, you can't start unless you're willing to put out big bucks. And I
realized at that point, my salary was so small compared to what they were about to kick off. That's why they canceled my line.
And for so long, that has been like one of those things that just bugged me.
Why did they cancel my line?
It was a good line.
And it was because I couldn't afford to tool it.
And they had to gamble.
And I, yeah, I was like a bit flipped in my head and it went from one of the worst experiences to something that I could articulate why it was the right decision for the company.
Still pissed me off as an engineer.
Getting stuff canceled is really hard, but yeah, it's hard to, it's hard to separate what's good for a company versus what's good for you.
And nobody wants to think of the good of the company most of the time
because companies are faceless organizations that, you know,
at least we've been trained to think of as heartless.
And sometimes that's true.
And sometimes, you know, the choice is actually you have a job or we cut this line.
Because if we do this and fail, then we're in much bigger trouble.
I don't know.
I wish somebody had sat me down and said,
this is the budget for this project.
This is how much each thing costs.
And this is why we waited so long.
It didn't matter that I was finished. It mattered that they had to start paying for tooling. And this is why we waited so long.
It didn't matter that I was finished.
It mattered that they had to start paying for tooling.
The development cost a million dollars, but the tooling cost 20.
And they're willing to say, okay, we gambled on the million and we're not going to do it.
They're not willing to say, let's gamble on the 20 at this point.
Yeah, but I do wish that decisions like that would be made sooner.
Of course. And up to then, I'd only that decisions like that would be made sooner. Of course.
And up to then, I'd only ever had one of my toys cancelled. And if you have
four, then one doesn't
bug you that much.
There's stuff too that's kind of...
I've seen things where
a big company will have two parallel
projects and
maybe each won't even be aware of it, the other.
And then at the end of it, they do a bake-off and kill one.
That's different and that's not cool.
I don't know that it's not cool.
I mean, I hate having my time.
That is a waste of resources
because if you're making two things that are basically the same,
what are you doing?
I guess I was thinking more
two teams making
a library
that he shares.
I mean, I was...
This was Cisco.
There were two big
switch router products. One came out of the switch
business unit and one came out of the routing
business unit. I don't even remember which one they ended up picking, but
they both
were very, very similar.
At the end of it, when it's done,
that's when they kill it.
Yeah.
Don't take it personally. That was
what I wish I could have told myself.
It's hard not to, right?
Yeah, I took it personally for years.
I remember Kim and I went out to get ice cream and we were both like shell-shocked.
It's like I could have spent the last six weeks on the beach and done nothing.
They weren't going to let you do that.
They'd make you do something else.
It didn't make any difference.
I mean, in the end, my work was gone.
Damn many things I've worked on that never shipped.
I know.
And it's so depressing.
I know. But, yeah. was gone how many things i've worked on that never shipped i know and it's so depressing and i know but yeah and it's not it's not always about shipping it's not always about being productive
i learned a lot in that time it just took me 15 years to realize
all right moving on uh embedded world is in nuremberg in Germany, that is. February 27th to March 1st, 2018. Malta is going and wondered if anybody wanted to meet up. I will be your coordinator, but I will not be attending. So if you are going and you want to say hello,
then send me an email or catch me on Twitter
and I will remotely do a meetup.
I don't know.
I have no idea what I'm proposing here.
But if more than a couple people want,
I'll send over a pack of stickers and you can all share them there.
Sure.
For the two people currently waiting for stickers, yeah, someday.
Oh, come on.
I'm sure.
Yeah.
You stick them in the envelope and you put them in the mail.
I like to, I don't know.
Maybe they're Patreon supporters.
Do you know? I don't think either one know. Maybe they're Patreon supporters. Do you know?
I don't think either one of them said they were Patreon supporters.
That only gets you to the first in the line,
but really it's once I have about five people, I'll send them out.
That's when the guilt level starts to really get to me.
I don't see.
People ask for stickers and they'll help out the other folks.
Great, thanks.
Adam sent me information about tone deafness
apparently I was a little cavalier about it
tone deafness is totally a thing
yes absolutely
were we talking about tone deafness?
no we talked about
me reading about
that you can
be trained in perfect pitch
that it's not as genetic
as people used to think.
It's still really hard
and it does
better if you start training at a young age
but even adults over a
six month period of like four hours
a week could get
there.
Unless you're tone deaf, in which case, no,
you can't. There is a genetic component.
It's like saying you can train to be not colorblind exactly and i didn't mean that i
just meant you could train to do the paint chips long enough you'll see the subtle difference
there's a color thing that came across twitter recently about lines and i couldn't
i don't know what
was wrong. I'm not colorblind, but I have no idea what the illusion was supposed to be.
Jesse asks if we have ever used formal methods in embedded and pointed me to the SEL4 kernel.
I have had brief flirtations with things like UML and Rational Rose at medical companies, but never followed that to anything useful.
I think that's what those were.
Well, this is a kernel, a micro-kerninal RTOS that is open source and formally verified.
Sure.
So, I mean, Rational is really expensive.
Yeah.
So, it's pretty cool.
I'm all for things that are more rigorous in development.
I'm all for it in theory, and I wish someone would maybe pay me to do it.
Oh, I see.
I don't, the slapdash things.
Well, nobody wants, that's the thing.
Most of the kind of work we're doing, nobody's going to bother to do that.
But things like operating systems, that's a good place to do it.
Yeah, I would look at it more the next time I have a medical client.
You know, when, at every place where we were looking at doing more rigorous development,
whether it was having full coverage unit tests or verification tests and all that kind of thing,
we always ended up with a choice at the end.
Okay, what are we actually going to test rigorously?
Because we can't do it all sometimes.
And it was always, you know, the stuff that gets called a lot,
the libraries, support libraries,
operating system stuff,
you know, the UI maybe would
not necessarily get fully tested
at the same level as maybe the RTOS.
So yeah, formal verification,
especially starting with the RTOS, seems like a good idea.
I don't know what else to say about it.
It exists.
That was all.
The SEL4 kernel.
Yes.
Okay.
There'll be a link.
Graham has notified me, thank you, Graham, that ST bought Atolik.
Atolik makes True Studio. And they have made the Atolik True Studio Pro free for STM32 parts.
That's actually really nice.
I mean, I still am quite happy with VS Code for most of my development in GCC.
But True Studio,
it wasn't bad.
Ever used it? Tell me about it.
It looks like it looks like IAR
and Kyle.
It has all the debugging.
Actually, it had some really nice debugging features.
Yeah, it was
just another IDE, but
a free, formally pretty expensive ide now
i don't know it's cool it's cool i'm telling you all right i'm fine for more tools
uh for a lot of things tonight more tools and fully verified art kernels, micro kernels. Thor says,
being a hobby
embedded tinkerer,
I've mostly honed
my craft alone
in some corner.
Listening to you
feels like having
a nice conversation
with friends over beer
next to the fireplace.
Is there a question in there?
No, I just really liked it.
It was nice.
All right. It was nice. All right.
It was just nice.
Thank you, Thor.
Jacob asks,
have we come across any interesting applications of USB Type-C yet?
It seems to have all the right features,
and yet lots of things still come out with micro USB. I have found it very good for sending Apple and what's this other company that makes things a lot?
Anker money.
Yeah.
So that I can have all of these connectors all over my desk to connect things that I could connect before without connectors. So mostly USB-C in support of your 2017 MacBook.
Uh-huh, yeah.
Also, the power cable's a lot longer,
but it doesn't have MagSafe, so I can kill my computer easily.
Oh, no, really?
Oh, yeah, it's just a USB-C port.
You can put it into any of them, so they couldn't do that.
Yeah, no, they killed MagSafe. Yeah, so, no, it's just a USB-C port. You can put it into any of them, so they couldn't do that. Yeah, no, they killed MagSafe.
Yeah, so, no, I have found no applications of USB-C other than to irritate me.
Abe Klein.
Do you think stuff is going to, I don't think small devices are going to switch for a long time,
because they'll just still have micro on one side and USB-C.
I mean, this is a ship of cable, right?
Yes, I'm not in any hurry to change.
I don't have any benefit to it.
I mean, the only actual nice thing is you always plug it in the right way.
You know that one second that I always do have to spend,
I mean, it is always the wrong way,
still is not enough reason for me to buy all new gear.
Yeah, I haven't seen USB-C making its way into embedded
in any way, shape, or form.
I'm not even sure.
Yeah, I mean, there's no host controllers for small micros or form. I'm not even sure. Yeah, I mean, there's no
host controllers for
small micros or anything.
I haven't seen any.
Not yet.
Question from
Abe Klein,
ruler of galaxies,
devourer of worlds.
I don't think we should be talking to this person.
It just goes to show that when you fill out the contact message and you say,
what do you want to be known as on the show?
That is usually what I say.
Abe Klein, ruler of galaxies, devourer of worlds,
thought we would appreciate the artistry of the programming in the first Pokemon games. I sent a link talking about how they had to just shove in all of this stuff.
Get really creative, like not using a piece of memory.
Repurpose it.
You just can't leave it lying around.
Only have a couple of registers?
Juggle them to keep track so we can restore them when needed. I mean, I think between that and the S-Borne machine
code book, you will totally have an idea of how microprocessors work. It was pretty cool.
Thank you, Abe Klein, ruler of galaxies, devourer of worlds.
Reminds me a lot of early computer games. They were all like that. Because you couldn't...
On an Apple II, you had BASIC or you had machine code.
So most of the games were kind of hand-tuned assembly
because BASIC was too slow or too big.
Yeah.
And now I'm like, why not use C++?
Most of the standard template library,
which is now part of the language,
exists in our compilers.
And why are you making a linked list?
It's already there.
Too big.
It's not.
Too big.
And you don't even have to, I mean...
You could use rust.
Well, that's the show for today.
No, really, I'm out of topics.
Do you have anything else?
No, there was more here, wasn't there?
I don't think so.
Some of the other ones that are on there were things we covered with Chris Gamble.
We could talk more about The Sunshine Show.
I loved that episode.
I had so much fun.
I think we should just leave it as its own thing.
I don't really want to...
Rehash it?
Rehash it, yeah.
Yeah, you're just afraid.
I am afraid.
All right, well, until I say thank you to the people still listening?
All right, so thank you to Christopher for... Whatever it is I do.
Co-hosting and producing and making us sound good and all of that.
Thank you for listening.
And now some Winnie the Pooh.
Well, it just happened that you had been to a party the day before at the house of your friend Piglet.
And you had balloons at the party.
And you had had a big green balloon.
And one of Rabbit's relations said it had a big blue balloon
and had left it behind, being really too young to go to a party at all.
And so you had brought the green one and the
blue one home with you. Which one would you like, you asked Pooh. He put his head between his paws
and thought very carefully. It's like this, he said, when you go after honey with a balloon,
the great thing is not to let the bees know you're coming. Now, if you have a green balloon, they might think
you were only part of the tree and not notice you. And if you have a blue balloon, they might think
you were only part of the sky and not notice you. The question is, which is most likely?
Wouldn't they notice you underneath the balloon, you asked? They might or they might
not, said Winnie the Pooh. You could never tell with bees. He thought for a moment and said,
I shall try to look like a small black cloud. That will deceive them.
Then you had better to have the blue balloon, you said, and so it was decided. Well, you both
went out with the blue balloon, and you took your gun with you, just in case, as you always did.
And Winnie the Pooh went to a very muddy place that he knew of, and rolled and rolled until he
was black all over. And then when the balloon was blown up as big as you and Pooh could make it,
you were both holding the string, you let go suddenly.
And Pooh Bear floated gracefully up into the sky and stayed there,
level with the top of the tree and about 20 feet away from it.
Embedded is an independently produced radio show that focuses on the many aspects of engineering.
It is a production of Logical Elegance, an embedded software consulting company in California.
If there are advertisements in the show, we did not put them there and do not receive money from them.
At this time, our sponsors are Logical Elegance and listeners like you.