USST-RADSAT-SK / software-and-command

Code and Documentation for USST’s RADSAT-SK in their first Canadian CubeSat Project
8 stars 0 forks source link

Operation/end to end camera controls #216

Closed w-moretti closed 1 year ago

w-moretti commented 1 year ago

Description of Changes The bulk of the changes in this Pull Request are focused around the new RCameraService.c. This file bridges the low-level functions used to interact with the CubeSense board, and the system tasks executing the normal satellite operations. RCameraService.c contains functions for both ADCS detection and image capture.

Implementation has been done in RAdcsCaptureTask.c and RImageCaptureTask.c for the automatic capture of ADCS measurements and the automatic capture and download of an image, respectively. Each are using settings (ex: task delay) that can be customized via a telecommand. More details are available on a flow diagram provided by email.

Communication with the Ground Station: Implementation of telecommands or downlink/uplink is not part of this Pull Request. A list of telecommands needed to control the cameras has been sent by email and will need to be implemented.

Once downlink is considered complete and the stored ADCS results are no longer needed, the function setADCSReadyForNewBurst() needs to be called to restart the automatic ADCS capture.

If the downlink of an image frame fails, or there is not enough time to downlink all frames during a single pass, then the following RCameraService functions are also available to manage the image frame transfer:

Once downlink is considered complete and the stored image is no longer needed, the function setImageReadyForNewCapture() needs to be called to restart the automatic image capture.

Note on Telecommands: Comments have been left inside RTelecommandService.c to help with the upcoming implementation of some of the function calls to RCameraService.