File CameraManager.hpp¶
File List > CameraManager > CameraManager.hpp
Go to the documentation of this file
#ifndef ORION_CAMERA_MANAGER_HPP
#define ORION_CAMERA_MANAGER_HPP
#include "Orion/Components/CameraManager/CameraManagerComponentAc.hpp"
namespace Orion {
class CameraManager final : public CameraManagerComponentBase {
public:
explicit CameraManager(const char* compName);
~CameraManager();
private:
// -----------------------------------------------------------------------
// Command handlers
// -----------------------------------------------------------------------
void TRIGGER_CAPTURE_cmdHandler(FwOpcodeType opCode, U32 cmdSeq) override;
void ENABLE_AUTO_CAPTURE_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, U32 interval) override;
void DISABLE_AUTO_CAPTURE_cmdHandler(FwOpcodeType opCode, U32 cmdSeq) override;
// -----------------------------------------------------------------------
// Port handlers
// -----------------------------------------------------------------------
void schedIn_handler(FwIndexType portNum, U32 context) override;
void modeChangeIn_handler(FwIndexType portNum, const Orion::MissionMode& mode) override;
// -----------------------------------------------------------------------
// Helpers
// -----------------------------------------------------------------------
bool captureIntoBuffer(Fw::Buffer& buf);
void doCapture();
// -----------------------------------------------------------------------
// State
// -----------------------------------------------------------------------
U32 m_imagesCaptured;
U32 m_capturesFailed;
bool m_autoCaptureEnabled;
U32 m_autoCaptureInterval;
U32 m_schedCounter;
MissionMode m_currentMode;
};
} // namespace Orion
#endif // ORION_CAMERA_MANAGER_HPP