22#include "stm32f4xx_hal.h"
26#define BLUE_THRESHOLD 200
29#define SAMPLE_WIDTH (ROW_WIDTH / 2)
46 OV2640Camera(I2C_HandleTypeDef* i2c, SPI_HandleTypeDef* spi, GPIO_TypeDef* cs_port, uint16_t cs_pin);
DominantColor
Enumeration for Color Detection.
Definition camera.h:34
@ COLOR_BLUE
Definition camera.h:38
@ COLOR_RED
Definition camera.h:36
@ COLOR_UNKNOWN
Definition camera.h:35
@ COLOR_GREEN
Definition camera.h:37
SPI_HandleTypeDef * spi_
Definition camera.h:64
static constexpr size_t FRAME_SIZE
Definition camera.h:79
bool captureFrame()
Function captures a single frame from the camera storing the RGB and data from the photo for parsing ...
Definition camera.cpp:81
bool initialize()
Function initializes the camera for photo capturing by using the OV2640 register and values list in t...
Definition camera.cpp:66
void csHigh()
Function sets the Chip Select GPIO pin high for SPI Communication.
Definition camera.cpp:38
DominantColor analyzeColor()
Function is the analysis/parsing function to analyze the colors in frame by pixels.
Definition camera.cpp:172
DominantColor analyzeColorCenter()
Function is the analysis/parsing function focusing solely on the pixels closer to the center of the C...
Definition camera.cpp:210
uint16_t cs_pin_
Definition camera.h:74
I2C_HandleTypeDef * i2c_
Definition camera.h:59
void printCaptureReport(UART_HandleTypeDef *huart)
Function is designed to parse the photo data captured by the camera. The data is the transmitted via ...
Definition camera.cpp:114
OV2640Camera(I2C_HandleTypeDef *i2c, SPI_HandleTypeDef *spi, GPIO_TypeDef *cs_port, uint16_t cs_pin)
Constructor function for the Camera Class.
Definition camera.cpp:29
void printBlueDetectionMap(UART_HandleTypeDef *huart)
Function is designed to parse the photo data captured by the camera focusing on blue color pixels and...
Definition camera.cpp:258
void csLow()
Function sets the Chip Select GPIO pin low for SPI Communication.
Definition camera.cpp:46
uint8_t frame_buffer_[FRAME_SIZE]
Definition camera.h:84
void writeRegister(uint8_t reg, uint8_t val)
Function takes in a register and value utilizing I2C to write to the desired register.
Definition camera.cpp:57
GPIO_TypeDef * cs_port_
Definition camera.h:69