From 5df63c0bc7e3d6f1850d04f5bafbae2dd6fa619e Mon Sep 17 00:00:00 2001 From: Nikita Kostovsky Date: Fri, 14 Nov 2025 21:05:12 +0100 Subject: organize things a bit, populate ICamera --- src/camera/veye_i2c.h | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) (limited to 'src/camera/veye_i2c.h') diff --git a/src/camera/veye_i2c.h b/src/camera/veye_i2c.h index 001d483..24ef10b 100644 --- a/src/camera/veye_i2c.h +++ b/src/camera/veye_i2c.h @@ -1,6 +1,7 @@ #pragma once #include +#include #include namespace veye { @@ -12,20 +13,30 @@ public: ~i2c(); public: - bool read(uint16_t reg, uint32_t &value); - bool write(uint16_t reg, const uint32_t value); - -private: + /*! + * \brief open - open i2c device with `name` passed to constructor + * \return - true on success or if already open, false otherwise + */ bool open(); + std::optional read(uint16_t reg); + bool write(uint16_t reg, const uint32_t value); + private: int m_fd{-1}; std::string m_name; int m_address{-1}; }; -bool i2cRead(int fd, uint8_t i2c_addr, uint16_t reg, uint32_t &value); -bool i2cWrite(int fd, uint16_t reg, const uint32_t value); -bool test(uint32_t value); +/*! + * \brief i2c_read - read device registers using i2c + * \param fd - device file descriptor + * \param i2c_addr - i2c adderr + * \param reg - register + * \param value - value to set + * \return non-empty register value on success, empty value on failure + */ +std::optional i2c_read(int fd, uint8_t i2c_addr, uint16_t reg); +bool i2c_write(int fd, uint16_t reg, const uint32_t value); } // namespace imx287m } // namespace veye -- cgit v1.2.3-70-g09d2