>NASA engineers are working on a software patch that will order the Voyagers to fire their thrusters less often but for longer periods to maintain their attitude
Anyone got any detailed info on what CPU, software and programming language is used on the Voyager that can support something as "advanced" as OTA software patches?
It was launched in 1977 and since aerospace uses tech older than consumer tech, it probably isn't running anything remotely as advanced as a Z80, 6800 or 6502 which came out only a few years before Voyager was launched.
Any info I found point to a custom 18 bit CPU built out of discrete TTL 7400 series parts which would be period correct, but not much details on how the SW, programming and OTA updates work.
I assume NASA has the full HW-SW stack, compiler, toolchain, version control, plus HW and SW simulators for it so making some of them public would be really cool considering the source code of the moon lander is already public. What do they have to loose?
The main CCS computers are a custom 18-bit (not all registers are 18 bit) design from General Electric, used on both the Viking and Voyager missions. The onboard software is mostly in assembly.
There's two of them.
They send software updates fairly regularly (including a nearly full rewrite in 1990) and this is a common question. You can find some statements in older reporting on other updates..
It's in some sense not very exciting. Basically, it's an interrupt-driven system and you can, by radio command, invoke handlers that will rewrite some memory holding the program with new contents and hand control back to other routines. Of course with the expected error handling and failover protections in place. NASA got quite good at it during the Mariner missions, which saw the first remote updates for their programmable sequencers, and by the time of Viking and the CCS, it was a routine part of the requirements.
There's tooling written in Fortran (and later partially ported with C) that supports the Earth-based team in preparing the updates.
The patches discussed in the article are actually for a different type of computer in the system, the AACS (Attitude and Articulation Control Subsystem). But it's similar there: There's redundancy (there's two) and you patch memory contents, do a memory read-out to double check and kick things into gear.
Is it just me that really wants to FOIA the firmware code to read it?
What is it written in? Assembler, surely?
What is the development toolchain like in 2023 for a 70s computer? Do they have an emulator? What happened to the spare development Voyager they had lying around?
"The spacecrafts’ original control and analysis software was written in Fortran 5 (later ported to Fortran 77). Some of the software is still in Fortran, though other pieces have now been ported to the somewhat more modern C."
You probably don't need a FOIA, you can try to just email them. They're scientists and engineers, the best thing in their day would be someone showing an unbidden interest.
This is a pretty cool article but calling the Voyagers “obsolete” is killer comedy. Ok yes and what non-obsolete technology has passed the heliopause and can be patched from 130/160 AU away.
Now this is hackernews. Imagining working on spacecraft where no human made thing has gone before.
Also is this correct?
>NASA extended the mission so that Voyager 2 could visit Uranus and Neptune; it is still the only spacecraft ever to have encountered the >ice giants<.
Aren’t they gas giants? I mean they are probably very cold, but usually they are called gas giants.
> Aren’t they gas giants? I mean they are probably very cold, but usually they are called gas giants.
"Ice giant" seems to be the more modern terminology:
An ice giant is a giant planet composed mainly of elements heavier than hydrogen and helium, such as oxygen, carbon, nitrogen, and sulfur. There are two ice giants in the Solar System: Uranus and Neptune.
In astrophysics and planetary science the term "ice" refers to volatile chemical compounds with freezing points above about 100 K, such as water, ammonia, or methane, with freezing points of 273 K (0°C), 195 K (−78°C), and 91 K (−182°C), respectively (see Volatiles). In the 1990s, it was determined that Uranus and Neptune were a distinct class of giant planet, separate from the other giant planets, Jupiter and Saturn, which are gas giants predominantly composed of hydrogen and helium.
As such, Neptune and Uranus are now referred to as ice giants.
I'm curious about how the upload to these spacecrafts is secured. We're talking about 1977 technology. What prevents an antisocial troll or adversial state to upload broken firmware?
They are so far away now that you need a massive amount of radio power and a properly large dish to communicate with a SNR good enough for the onboard system to receive your transmission.
Right now I think the only dish in the world setup with the correct equipment to signal the Voyagers that is large enough is the Deep Space Network dish in Canberra, Australia.
We are probably doing even better than that. The Voyagers were flybys, which naturally limited the amount of time they could spend observing each planet up close. This is why we only know what one side of Triton looks like.
Voyager’s follow-ups have been missions like Galileo and Cassini, which stayed in orbit around Jupiter and Saturn respectively, allowing more detailed observations with better instruments. It looks like the next priority is Uranus:
Its just incalculable what the ROI on this kind of a mission is. It is amazing that US and tech was in the state it was in when the planets aligning themselves happened and we were able to send these out there. A decade here or there and the opportunity would be lost.
FirmwareBurner|2 years ago
Anyone got any detailed info on what CPU, software and programming language is used on the Voyager that can support something as "advanced" as OTA software patches?
It was launched in 1977 and since aerospace uses tech older than consumer tech, it probably isn't running anything remotely as advanced as a Z80, 6800 or 6502 which came out only a few years before Voyager was launched.
Any info I found point to a custom 18 bit CPU built out of discrete TTL 7400 series parts which would be period correct, but not much details on how the SW, programming and OTA updates work.
I assume NASA has the full HW-SW stack, compiler, toolchain, version control, plus HW and SW simulators for it so making some of them public would be really cool considering the source code of the moon lander is already public. What do they have to loose?
sho_hn|2 years ago
There's two of them.
They send software updates fairly regularly (including a nearly full rewrite in 1990) and this is a common question. You can find some statements in older reporting on other updates..
It's in some sense not very exciting. Basically, it's an interrupt-driven system and you can, by radio command, invoke handlers that will rewrite some memory holding the program with new contents and hand control back to other routines. Of course with the expected error handling and failover protections in place. NASA got quite good at it during the Mariner missions, which saw the first remote updates for their programmable sequencers, and by the time of Viking and the CCS, it was a routine part of the requirements.
There's tooling written in Fortran (and later partially ported with C) that supports the Earth-based team in preparing the updates.
The patches discussed in the article are actually for a different type of computer in the system, the AACS (Attitude and Articulation Control Subsystem). But it's similar there: There's redundancy (there's two) and you patch memory contents, do a memory read-out to double check and kick things into gear.
phlipski|2 years ago
Technically it's like 0.0001% OTA and 99.9999% OTVoS (Over The Void of Space).
unknown|2 years ago
[deleted]
vineyardlabs|2 years ago
[deleted]
ck2|2 years ago
Voyager website is awesome
https://voyager.jpl.nasa.gov/mission/timeline/
A very different time, thank goodness for DEI now
https://voyager.jpl.nasa.gov/assets/images/timeline/0003.jpg
psunavy03|2 years ago
http://www.sbnation.com/a/17776-football
schoen|2 years ago
jgalt212|2 years ago
or a picture of senior leadership at Google.
plus ça change, plus c’est la même chose
networkchad|2 years ago
[deleted]
qingcharles|2 years ago
What is it written in? Assembler, surely?
What is the development toolchain like in 2023 for a 70s computer? Do they have an emulator? What happened to the spare development Voyager they had lying around?
belter|2 years ago
https://www.muckrock.com/foi/united-states-of-america-10/voy...
"The spacecrafts’ original control and analysis software was written in Fortran 5 (later ported to Fortran 77). Some of the software is still in Fortran, though other pieces have now been ported to the somewhat more modern C."
"To keep the Voyager 1 and 2 crafts going, NASA's new hire has to know FORTRAN and assembly languages." - https://www.popularmechanics.com/space/a17991/voyager-1-voya...
adhesive_wombat|2 years ago
TaylorAlexander|2 years ago
Shawnj2|2 years ago
nycdotnet|2 years ago
prox|2 years ago
Also is this correct?
>NASA extended the mission so that Voyager 2 could visit Uranus and Neptune; it is still the only spacecraft ever to have encountered the >ice giants<.
Aren’t they gas giants? I mean they are probably very cold, but usually they are called gas giants.
greenyoda|2 years ago
"Ice giant" seems to be the more modern terminology:
An ice giant is a giant planet composed mainly of elements heavier than hydrogen and helium, such as oxygen, carbon, nitrogen, and sulfur. There are two ice giants in the Solar System: Uranus and Neptune.
In astrophysics and planetary science the term "ice" refers to volatile chemical compounds with freezing points above about 100 K, such as water, ammonia, or methane, with freezing points of 273 K (0°C), 195 K (−78°C), and 91 K (−182°C), respectively (see Volatiles). In the 1990s, it was determined that Uranus and Neptune were a distinct class of giant planet, separate from the other giant planets, Jupiter and Saturn, which are gas giants predominantly composed of hydrogen and helium.
As such, Neptune and Uranus are now referred to as ice giants.
https://en.wikipedia.org/wiki/Ice_giant
Shadowmist|2 years ago
Uranus is for sure.
protoman3000|2 years ago
qingcharles|2 years ago
https://news.ycombinator.com/item?id=37093344
mk_stjames|2 years ago
Right now I think the only dish in the world setup with the correct equipment to signal the Voyagers that is large enough is the Deep Space Network dish in Canberra, Australia.
cjreyes|2 years ago
gonzo41|2 years ago
btilly|2 years ago
https://en.m.wikipedia.org/wiki/Grand_Tour_program
jl6|2 years ago
Voyager’s follow-ups have been missions like Galileo and Cassini, which stayed in orbit around Jupiter and Saturn respectively, allowing more detailed observations with better instruments. It looks like the next priority is Uranus:
https://en.wikipedia.org/wiki/Uranus_Orbiter_and_Probe
unknown|2 years ago
[deleted]
perihelions|2 years ago
miohtama|2 years ago
bullen|2 years ago
bongoman37|2 years ago
doublerabbit|2 years ago
6th|2 years ago