Autonomy Software C++ 24.5.1
Welcome to the Autonomy Software repository of the Mars Rover Design Team (MRDT) at Missouri University of Science and Technology (Missouri S&T)! API reference contains the source code and other resources for the development of the autonomy software for our Mars rover. The Autonomy Software project aims to compete in the University Rover Challenge (URC) by demonstrating advanced autonomous capabilities and robust navigation algorithms.
Loading...
Searching...
No Matches
drivers Directory Reference
Directory dependency graph for drivers:
src/drivers

Files

 DriveBoard.cpp
 Implements the interface for sending commands to the drive board on the Rover.
 
 DriveBoard.h
 Defines the driver for sending commands to the drive board on the Rover.
 
 MultimediaBoard.cpp
 Implements the MultimediaBoard class.
 
 MultimediaBoard.h
 Defines the MultimediaBoard class.
 
 NavigationBoard.cpp
 Implements NavigationBoard class.
 
 NavigationBoard.h
 Defines the NavigationBoard class.
 

Detailed Description

Drivers Directory

The drivers directory is intended to store C++ files related to the physical systems, boards, microcontrollers, or sensors used in the rover project. This directory focuses on the communication and interaction with these external drivers.

Guidelines

The following are the guidelines for organizing files within the drivers directory:

  1. Each C++ file should represent a specific interface or device used in the rover project.
  2. Use descriptive names for the files that reflect the purpose or functionality of the interface.
  3. Ensure that the files are properly documented with comments explaining the interface's usage, input/output specifications, and any relevant details.
  4. Include a README file in any subdirectories within the drivers directory to provide additional information if necessary.

Usage

Here are some common types of files you might find in the drivers directory:

  1. Motor control: Files that interface with motor controllers or drivers, providing control signals to the rover's motors.
  2. Sensors: Files that handle interactions with various sensors like proximity sensors, temperature sensors, or GPS modules.
  3. Microcontrollers: Files that communicate with microcontrollers on the rover, such as Arduino or Raspberry Pi boards, to exchange data or control signals.
  4. Communication protocols: Files that implement communication protocols like UART, I2C, SPI, or CAN bus to interface with external devices or modules.
  5. Camera drivers: Files that manage image acquisition, processing, or streaming from cameras or vision systems used in the rover project. (Other than USB cameras)
  6. Power management: Files that control power distribution, battery monitoring, or charging systems on the rover.

Feel free to create subdirectories within the drivers directory to further categorize the files based on the type of interface or functionality.

Remember to update this README file whenever new drivers or devices are added to the directory, providing a brief summary of each file's purpose and functionality.

Ensure that the interface files are properly integrated with other components of the project to ensure seamless communication and control between the rover and its physical systems.

Happy coding and hardware interfacing!