summaryrefslogtreecommitdiff
path: root/src/camera/veye_i2c.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/camera/veye_i2c.h')
-rw-r--r--src/camera/veye_i2c.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/camera/veye_i2c.h b/src/camera/veye_i2c.h
index 1638976..001d483 100644
--- a/src/camera/veye_i2c.h
+++ b/src/camera/veye_i2c.h
@@ -1,9 +1,28 @@
#pragma once
#include <cstdint>
+#include <string>
namespace veye {
namespace imx287m {
+class i2c
+{
+public:
+ i2c(const std::string &name = "/dev/i2c-2", const int address = 0x3b);
+ ~i2c();
+
+public:
+ bool read(uint16_t reg, uint32_t &value);
+ bool write(uint16_t reg, const uint32_t value);
+
+private:
+ bool open();
+
+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);