I agree with you entirely. I can not think of a single piece of tech with the complexity of Voyager that has been battle hardened and resilient to last that long, keep doing what it was designed to do without a major on-site overhaul, upgrade or tech refresh. Certainly not any of our current satellites or anything created since Voyager. I think I know why this will never occur again but that's a much bigger topic.
I'd read that blog post
I appreciate the sentiment, but perhaps it is the car key which is impressive here...
You also have a command processor on the spacecraft side. It will have some of these characterizations present as limits on command authority. Commands sent without override that exceed these limits will be ignored, possibly cancelling the entire sequence of dependent commands. You can demand that these limits be ignored but this obviously requires you to specify it redundantly in the message set.
Should anything happen your flight software is generally going to go into a recovery mode. Voyager will try this 4 times after a period of no commands triggers a watchdog. This will switch on different radios while keeping them oriented towards the Earth in a constant effort to reacquire the command signals.
Should this process fail a backup flight software mode will then activate which performs basic mission functions on a continuous loop so whatever continues to operate on the spacecraft will transmit it's data automatically back to the Earth at it's highest power setting.
Voyager was a continuation of some of the Viking hardware and flight systems.
This is not true of the Voyager probes:
> Newer NASA missions have hardware and software simulators on the ground, where engineers can test new procedures to make sure they do no harm when they uplink commands to the real spacecraft. Due to its age, Voyager doesn't have any ground simulators, and much of the mission's original design documentation remains in paper form and hasn't been digitized.
https://www.wired.com/story/nasa-repair-voyager-1-spacecraft...
> ufw reset | at now +5 minutes
When doing "dangerous" things like updating firewall rules.
I wonder if they have a way to send commands saying something like:
Switch to thruster set 1, wriggle the antenna aim away and back to earth, wait 46 hours, if you do not receive "all clear" from earth switch back to thruster set 3 and re aim the antenna at earth.
Fortunately we have ILO / RAS cards in everything.
Voyager has a 23 watt radio and a 14 foot parabolic dish antenna, pointed directly at Earth which is presently 15 billion miles away.
The corresponding earth ground station has a 100 foot dish and transmits at thousands of watts.
It's astonishing to me that Voyager knows where Earth is at all. I imagine it uses Sol as a reference? Or maybe the high powered control signal carrier?
Amazing stuff.
Wikipedia says that the high-gain antenna has a beamwidth of 0.5° for X-band, and 2.3° for S-band.
You have: tan(0.5deg/2)*2*164astronomicalunit
You want: astronomicalunit
* 1.4311791
So it's so far that you could almost point it straight at the sun, and have the entire orbit of the Earth in the beam.23 watts, spread out in a cone the size of a planetary orbit.
https://en.wikipedia.org/wiki/Voyager_program#Communications
It's not that astonishing when you realize astral navigation is what sailors hundreds of years ago did to navigate the seas. Just look at the stars with a sextant and with some basic trigonometry you'll know where you are exactly. The Apollo space crew had to do that by hand and eyes using a sextant too when the astral navigation computer failed.
Indeed. We used to do this all the time. Cars without OTA updates, games and software shipped on disk or floppy or cd, all very make or break.
They had all the issues sorted out before release, very rare nowadays.
Would've expected the generation raised on punch cards to be ideally suited for this kind of stunt, having learnt the hard way about the turnaround time for a bug (Donald Knuth quote about proving programs correct comes to mind), so I'd expect mission control, operators, and coders to be well in their 70s at least? Whereas tiday we hardly can write a single line if code without our AI overloads introducibg typos and not-fo-subtlr bugs.
https://news.ycombinator.com/item?id=41517272 ("NASA Pulls Off Delicate Thruster Swap, Keeping Voyager 1 Mission Alive", 74 comments)
This might be an apples-to-oranges comparison, but I've noticed that writing vanilla PHP or JavaScript code, while harder at first, results in more robust and easier-to-debug applications. On the other hand, using frameworks, ORMs, and other abstractions can make the codebase feel brittle and harder to maintain.
Frameworks encourage learning stuff on "as-needed" basis, and you often don't know what you should know. So you do stuff on layer 3 because you can (and you already worked nearby), when it's already handled by layer 1 and reprocessed in layer 5. So you debug to see why you can't see changes and "fix" it on layer 7. And it seems to work.
Repeat this over 100 changes and you create crazy mess.
I've seen code that gets a list from the framework (already can't be null), checks if it's null, checks if it's empty. Makes it null if it's empty, then passes it through several more layers with null and emptiness checks on some of them, and then fails with NPE because there was no null check at n-th layer :)
The person writting this code was in the proccess of adding another null check at the NPE line to "fix the problem" :) The solution was to remove all the custom code except for the final destination of that list :)
I've written similarly bad code in some more complicated scenarios without realizing.
When I started the article I figured they'd correct for orientation once every 2 weeks or so.
I clearly have no idea what I'm talking about.
>When Voyager 1 lifted off to space on September 5, 1977, no one expected that the probe would still be operating today.
This is kind of an odd statement :) When launched, I remember brief news broadcasts and articles in the local newspaper stating the engineers added abilities that were not approved hoping for a much longer life time. It never stated if they got in trouble. But lasting this long is quite an achievement.
http://undeadly.org/cgi?action=article&sid=20160309192510
Also, they are the upstream project for OpenSSH, which is among the most ubiquitous pieces of software on the planet. (Consider supporting them: https://openbsd.org/donations.html)
- "In flight, the device found and locked on to the star Canopus, providing a reference for guidance and navigation."
https://airandspace.si.edu/collection-objects/star-tracker-a... ("Star Tracker and Hood Assembly Support Equipment, Voyager Spacecraft")
https://airandspace.si.edu/collection-objects/sun-sensor-and... ("Sun Sensor and Hood Assembly Support Equipment, Voyager Spacecraft")
edit: In more detail,
https://space.stackexchange.com/questions/43803/how-did-the-...