Voyager 1 contact restored

  • @[email protected]
    link
    fedilink
    English
    1047 months ago

    The actual news release has a bit more information.

    The team discovered that a single chip responsible for storing a portion of the FDS memory — including some of the FDS computer’s software code — isn’t working. The loss of that code rendered the science and engineering data unusable. Unable to repair the chip, the team decided to place the affected code elsewhere in the FDS memory. But no single location is large enough to hold the section of code in its entirety.

    So they devised a plan to divide the affected code into sections and store those sections in different places in the FDS. To make this plan work, they also needed to adjust those code sections to ensure, for example, that they all still function as a whole. Any references to the location of that code in other parts of the FDS memory needed to be updated as well.

    Source: https://www.jpl.nasa.gov/news/nasas-voyager-1-resumes-sending-engineering-updates-to-earth

    • @[email protected]
      link
      fedilink
      English
      237 months ago

      That’s incredible. It also reminds me of the episode of Star Trek Deep Space 9 where they need to find space to store a bunch of people’s transporter patterns, so they just dump them into the stations computer, replacing everything that used to be there lol

      • @[email protected]
        link
        fedilink
        English
        57 months ago

        It interesting that the memory is so discrete that it can be reprogrammed when a single ROM fails. And it’s really neat that they made the whole thing accessible to a radio controlled boot loader. The planning that went into building and maintaining Voyager is really incredible.

        I wonder if we could still build one as robust these days?

    • @lledrtx
      link
      147 months ago

      Wait how did they do all that WITHOUT contact?

      • Karyoplasma
        link
        fedilink
        347 months ago

        The problem was that Voyager sent junk data back to us due to a memory fault. It was still responsive to receive updates from Earth and to pings.

        Pinging Voyager 1 takes about 2 days, so testing updates is naturally quite slow.

        • @halcyoncmdr
          link
          English
          207 months ago

          Not only round trip time, the hardware only supports bandwidth of 160bps at this range. Down from the 21.6kbps at launch.

      • @[email protected]
        link
        fedilink
        English
        15
        edit-2
        7 months ago

        Im guessing it could still listen just not talk back

        Edit read the article

        Although the radio signal from the spacecraft had never ceased its connection to ground control operators on Earth during the computer problem, that signal had not carried any usable data since

      • @lorkano
        link
        17 months ago

        This Satelite must offer option to install software updates over the air, so they modified software and slowly uploaded it to the satelite.

    • @force
      link
      117 months ago

      rust programmers couldn’t imagine the memory hacks smh

      • @ricdeh
        link
        English
        117 months ago

        I know that this is supposed to be a joke, and I do find it funny, but I also find it sad that it carries a large dose of truth. C is such a “low-level” high-level language that it makes you deal directly with memory allocation and management as well as pointer arithmetic to advance addresses in the stack, which in my opinion is very important for programmers to gain an understanding of the actual hardware and architecture their programs are running on, because I feel that many don’t have that understanding. Should Rust replace C in many applications, especially low-level, I fear that we will ultimately end up with worse code because of that. (BTW I know that Voyager’s program is not written in C, this is just purely about your statement on Rust.)

        • @[email protected]
          link
          fedilink
          87 months ago

          C will never fully go away.

          Constrained environments will always remain in C.

          But RUST offers the best trade off today. It is way better than C++.

          C IMO is not comparable to RUST.

    • @lorkano
      link
      7
      edit-2
      7 months ago

      Can we appreciate how they can basically change software of this 45y/o satelite over the air? Original designers thought everything through