Fix compilation issues, change ProjectConfig into a shared_ptr with updated definitions

// todo implement the API and missing features
This commit is contained in:
Lorow
2024-11-23 21:00:05 +01:00
parent 60e2e7cc36
commit 6b603f5574
13 changed files with 61 additions and 50 deletions

View File

@@ -2,7 +2,7 @@
const char *CAMERA_MANAGER_TAG = "[CAMERA_MANAGER]";
CameraManager::CameraManager(ProjectConfig &projectConfig)
CameraManager::CameraManager(std::shared_ptr<ProjectConfig> projectConfig)
: projectConfig(projectConfig) {}
void CameraManager::setupCameraPinout()
@@ -225,7 +225,7 @@ bool CameraManager::setupCamera()
void CameraManager::loadConfigData()
{
ESP_LOGD(CAMERA_MANAGER_TAG, "Loading camera config data");
ProjectConfig::CameraConfig_t cameraConfig = projectConfig.getCameraConfig();
ProjectConfig::CameraConfig_t cameraConfig = projectConfig->getCameraConfig();
this->setHFlip(cameraConfig.href);
this->setVFlip(cameraConfig.vflip);
this->setCameraResolution((framesize_t)cameraConfig.framesize);

View File

@@ -20,11 +20,11 @@ class CameraManager
{
private:
sensor_t *camera_sensor;
ProjectConfig &projectConfig;
std::shared_ptr<ProjectConfig> projectConfig;
camera_config_t config;
public:
CameraManager(ProjectConfig &projectConfigl);
CameraManager(std::shared_ptr<ProjectConfig> projectConfigl);
int setCameraResolution(framesize_t frameSize);
bool setupCamera(); // todo, once we have observers, make it private