Hello! The following document outlines the firmware written for the camera driver :)
Purpose: The camera driver acts as a way to facilitate communication between the CubeSat’s OBC, and the camera module. Though the current module (ArduCAM OV5642) can function with open-source Arduino code ( see Camera Drivers - Part 1), having a driver written with a real-time operating system kernel like FreeRTOS allows for higher level functionality to be added (notable for our Secondary Payload, where we essentially have to parse the image taken from the camera).
The camera driver interface written for the OBC so far, handles the command that is sent to the camera module to capture a photo. Though it is not fully implemented yet, we can lay out the general command-handling architecture as seen below, through the block diagram.