JF from the CSA mentioned that we could so a "packet dump" of some sort in which we just downlink a bunch of packets and send a command up telling the obc which packets we missed and to downlink those. He mentioned that he would give us that code. The problem with this is that that means we will have two different communication protols. The ACKNACK and then this image one. Maybe that's too complicated
Another approach is to make a buffer with a cursor to tell use where in the buffer we are. For example, we make a buffer the size of 1MB and a cursor starting at index zero. The downlink function will then request 256 bits of data from the cursor (i.e if the cursor is at index zero then data bits from 0-255 will be passed). After downlinking that set of data, the ground station will send a command up saying it successful received that "packet" and will increment the cursor 256 times. So, in the case that the downlink was failure, we just downlink the data again, until we get it right. The upside with this approach is that this will integrate well with the ACKNACK system. The downside is that we might get stuck downlinking the same "packet" is we never do a successful downlink
JF from the CSA mentioned that we could so a "packet dump" of some sort in which we just downlink a bunch of packets and send a command up telling the obc which packets we missed and to downlink those. He mentioned that he would give us that code. The problem with this is that that means we will have two different communication protols. The ACKNACK and then this image one. Maybe that's too complicated
Another approach is to make a buffer with a cursor to tell use where in the buffer we are. For example, we make a buffer the size of 1MB and a cursor starting at index zero. The downlink function will then request 256 bits of data from the cursor (i.e if the cursor is at index zero then data bits from 0-255 will be passed). After downlinking that set of data, the ground station will send a command up saying it successful received that "packet" and will increment the cursor 256 times. So, in the case that the downlink was failure, we just downlink the data again, until we get it right. The upside with this approach is that this will integrate well with the ACKNACK system. The downside is that we might get stuck downlinking the same "packet" is we never do a successful downlink