Sebastian Scholz
๐ค SpeakerAppearances Over Time
Podcast Appearances
So not a lot of space and some of the space you need for data as well.
Because, yeah, you talked about this in a previous episode.
You talked with, I think, KSAT, a provider of ground stations.
So you might be familiar already, but a satellite doesn't have a direct communication to the ground all of the time.
We also need to store data on the satellite itself before we can pass it down to the ground stations.
Yes, as much as possible.
So whenever we can use it, we try to avoid the allocations and just use stack variables.
Or we have our own stack allocated statically and use elements out of that.
But sometimes it's just not possible to know at compile time how much memory you need to use.
For example, think about the telecommand stack.
For the Alpha satellite, we were able to send telecommands to it.
And on the satellite itself, you don't know how many telecommands will come in at a given time and how long it takes for each telecommand to be worked on.
And so we had a queue of telecommands.
And this queue, of course, has an upper limit.
But the memory out of it was kind of heap allocated, you know, because it had an upper limit, but it was taken out of a big slab.
But in all other cases where we can, we really try to avoid using the heap.
I mean, that's the no-STD environment for you.
You don't get heap for free.