Skip to content

Conversation

@RobertPendergrast
Copy link

@RobertPendergrast RobertPendergrast commented Nov 2, 2025

Camera Manager + UART Configuration

Description

This PR introduces the UART configuration that allows the FC to communicate with the payload.

The Columbia team is looking to communicate with the Arduino Nicla Vision Camera. This PR also adds the CameraManager Component to do so. Finishing this component is blocked by File Manager.

TODO:

  • Do we want to abstract CameraManager to be PayloadManager instead?
  • Add support for receieving UART, not just sending.

Related Issues/Tickets

How Has This Been Tested?

  • Unit tests
  • Integration tests
  • Z Tests
  • Manual testing (describe steps)

So far this has just been manually tested by sending the TAKE_IMAGE command to the flight computer, and manually verifying that the Nicla Vision takes a picture.

Checklist

  • Written detailed sdd with requirements, channels, ports, commands, telemetry defined and correctly formatted and spelled
  • Have written relevant integration tests and have documented them in the sdd
  • Have done a code review with
  • Have tested this PR on every supported board with correct board definitions

Further Notes / Considerations

void CameraManager ::TAKE_IMAGE_cmdHandler(FwOpcodeType opCode, U32 cmdSeq) {

// Prepare the "snap" command to send over UART via out_port
const U8 size = sizeof(this->snapArray);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rather than sending a custom snap bytearray to the camera to command a picture, consider just writing the F Prime opCode. This brings the functionality closer to the Hub Pattern that we would one day want between the Flight Controller and downstream payloads.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah the snap bytearray was just for first pass testing. We can pass an argument through the command for custom command handling that get's handled whatever's on the other side of the uart.

@ineskhou ineskhou moved this to V0.2 | Flight Ready Core Features in v0.1-v0.3 Nov 3, 2025
@ineskhou ineskhou moved this from V0.2 | Flight Ready Core Features to In progress in v0.1-v0.3 Nov 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In progress

Development

Successfully merging this pull request may close these issues.

3 participants