Allows WD to be reprogrammed via UART via RS422. Note, in default operation, this would require the lander harness to be demated since all data sent to Watchdog from the lander will necessarily be wrapped in UDP and then wrapped in SLIP. To work around this, we could customize the bootloader to expect UDP-SLIP packets and then use the checksums there as an extra safety. This would allow WD reprogramming as late as the Moon (if possible).
[ ] Also will likely require custom GSW program to process the binary, pass all data as commands to WD, and generally manage the programming as was the case in #152 (i.e. making sure all commands go through, in the right order, etc.).
[ ] Bonus points: Make the bootloader process all incoming messages as SLIP-wrapped UDP (and check the checksums)... and wrap all outgoing data in the same way. This would allow us to program by sending data through the lander (i.e. just pass the raw data to YAMCS), meaning we could program as late as the Moon and wouldn't have to demate in order to program.
NOTE: Looking at the memory allocation view of the WD code right now, it looks like memory is already allocated to the BSL (so maybe there's already something on there) - at minimum, this suggests we might not have to worry about the space this would take up.
Allows WD to be reprogrammed via UART via RS422. Note, in default operation, this would require the lander harness to be demated since all data sent to Watchdog from the lander will necessarily be wrapped in UDP and then wrapped in SLIP. To work around this, we could customize the bootloader to expect UDP-SLIP packets and then use the checksums there as an extra safety. This would allow WD reprogramming as late as the Moon (if possible).
Critical Resources:
Helpful Resources:
Highlevel Process:
[ ] Add Watchdog command to enter BSL mode.
[ ] Also will likely require custom GSW program to process the binary, pass all data as commands to WD, and generally manage the programming as was the case in #152 (i.e. making sure all commands go through, in the right order, etc.).
[ ] Bonus points: Make the bootloader process all incoming messages as SLIP-wrapped UDP (and check the checksums)... and wrap all outgoing data in the same way. This would allow us to program by sending data through the lander (i.e. just pass the raw data to YAMCS), meaning we could program as late as the Moon and wouldn't have to demate in order to program.
NOTE: Looking at the memory allocation view of the WD code right now, it looks like memory is already allocated to the BSL (so maybe there's already something on there) - at minimum, this suggests we might not have to worry about the space this would take up.