Earlier quoted context omitted.
Not Voyager but here’s code from the Apollo program: https://github.com/chrislgarry/Apollo-11/
Highly recommend 'Sunburst and Luminary: An Apollo Memoir' by Don Eyles who gives a programmer's perspective on the software aspects of Apollo. Some of which were fairly nail-biting, especially when they occurred in-flight.
NASA's Voyager Team Focuses on Software Patch, Thrusters
31–40 of 53 posts
Re: NASA's Voyager Team Focuses on Software Patch, Thrusters
#32There's a great ROI on these, I don't know why we're not sending more just like it with updated packages.
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 look…
- The Jupiter Icy Moons Explorer is a European probe that was launched earlier this year, it'll be studying the moons Europa, Callisto, and Ganymede.
- NASA has Europa Clipper scheduled for launch next year, that'll be taking a close look at Europa.
- NASA also has the Dragonfly mission in the works to explore Saturn's moon Titan using an octocopter, currently planned for launch in 2027.
Re: NASA's Voyager Team Focuses on Software Patch, Thrusters
#33Is 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?
That has been done before. You can't get it as FOIA as it's not a government record. 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, N…
It is crazy that the government can pay for something and yet the People do not own it.
Under Illinois FOIA, anything done under a contract to the State is FOIA-able as a record of the government body that ordered the work.
Re: NASA's Voyager Team Focuses on Software Patch, Thrusters
#34I'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?
Re: NASA's Voyager Team Focuses on Software Patch, Thrusters
#35Pioneer 10 is technically further away, just dead as a rock without power (no comm for 20 years) 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
Re: NASA's Voyager Team Focuses on Software Patch, Thrusters
#36Earlier quoted context omitted.
New Horizons, like many other spacecraft, used gravity assists from planets (Jupiter in its case) but the specific combo of assists available to Voyager will not in fact occur again until the year 2224 [0]. [0] http://www.gravityassist.com/IAF3-2/Ref.%203-143.pdf , section 3.4
Sure, I mean we won't get to do a Grand Tour again anytime soon but we can and did send things either to planets or heliopause and beyond. As a nearby comment mentions, Voyager were flybys so now that it's done and even if we could ROI may very well be lower than sending more focused orbiters (for planets and moons) or deep space crafts (for peristellar/interstellar)
My point was that we can't send more "just like" the Voyager trips. But we can send other things on trips that resemble it in some way.
Re: NASA's Voyager Team Focuses on Software Patch, Thrusters
#37Is 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?
That has been done before. You can't get it as FOIA as it's not a government record. 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, N…
The 2013 article was based on an interview with the current (2013) Voyager project manager, who began working on the Voyager project in 1984, a few years after the 1977 launches.
First off, I'm guessing that project manager said "Fortran Five" (while thinking "Fortran V") and the writer wrote down "Fortran 5". The Wikipedia article for Fortran (which also references this Wired article, erroneously I think) says there was only one Fortran 5, introduced by Data General in the late 1970s. Other companies offered Fortran V.
Second, I think the key phrase in the quote is "control and analysis software". To me, this connotes the ground system: mission control and science data analysis. And Fortran was commonly used in ground processing and such code could be ported to Fortran 77 and later C.
The on-board spacecraft flight software would be another matter. Voyagers 1 and 2 were launched in 1977. I can't imagine trusting the flight software to newly introduced Fortran V compilers (or even a pre-release DG Fortran 5 compiler). And then switching compilers to Fortran 77 and then C. Possible, but IMHO, not likely.
I am open to being corrected. Regarding FOIAs, I had not thought of going to that extreme and, as your link to the muckrock request verifies, I had also learned that the papers were the property of Caltech, not NASA. Which is unfortunate as the documents and communications mentioned in the link below promise some fascinating reading just begging to be made available online!
I highly recommend reading "Computers in Spaceflight: The NASA Experience" at https://history.nasa.gov/computers/contents.html . (The author of the history did visit the JPL archives and was able to read a fascinating assortment of documents in hardcopy form.)
Chapter 6, "Distributed Computing On Board Voyager and Galileo" ( https://history.nasa.gov/computers/Ch6-2.html ), describes the Voyager computers in some detail. There were 3 computers:
(1) Command Computer Subsystem (CCS) - command processing/sequencing, etc. This computer was carried over from the Viking missions.
(2) Attitude Control System - used a revamped, beefed up CCS computer.
(3) Flight Data System - telemetry and science data handling/transmission. Because of the high data rates, a new computer was needed. A hardware engineer and a software developer collaborated on the design of the computer. Knowing the timing requirements, they developed the CPU's hardware and instruction set on the fly until the software (a changing mock-up I assume) could meet the requirements. (Some of this I might have read elsewhere.)
As I noted, what a treasure trove their memos and communications from this time would be if they were online!
Re: NASA's Voyager Team Focuses on Software Patch, Thrusters
#38I'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?
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.
Re: NASA's Voyager Team Focuses on Software Patch, Thrusters
#39Re: NASA's Voyager Team Focuses on Software Patch, Thrusters
#40Anyone 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?