SkyPulse UAV V0.1
Loading...
Searching...
No Matches
i2c_device.h
Go to the documentation of this file.
1#ifndef I2C_DEVICE_H
2#define I2C_DEVICE_H
3
4#include <QObject>
5#include <QMutex>
6
7class I2C_Device : public QObject
8{
9 Q_OBJECT
10
11public:
12 explicit I2C_Device(int deviceAddress, QObject *parent = nullptr);
14
15 bool initialize();
16 QByteArray readBytes(quint8 registerAddress, quint8 count);
17 bool readByte(quint8 reg, quint8 &value);
18 bool writeBytes(quint8 registerAddress, const QByteArray &data);
19 bool writeByte(quint8 reg, quint8 value);
20
21private:
22 int deviceAddress;
23 int handle;
24 static QMutex mutex; // Mutex locks for synchronized access
25
26signals:
27 void errorOccurred(const QString &message);
28
29};
30
31#endif // I2C_DEVICE_H
Definition i2c_device.h:8
void errorOccurred(const QString &message)
QByteArray readBytes(quint8 registerAddress, quint8 count)
Definition i2c_device.cpp:36
~I2C_Device()
Definition i2c_device.cpp:17
bool readByte(quint8 reg, quint8 &value)
Definition i2c_device.cpp:76
I2C_Device(int deviceAddress, QObject *parent=nullptr)
Definition i2c_device.cpp:9
bool writeByte(quint8 reg, quint8 value)
Definition i2c_device.cpp:66
bool writeBytes(quint8 registerAddress, const QByteArray &data)
Definition i2c_device.cpp:53
bool initialize()
Definition i2c_device.cpp:24