summaryrefslogtreecommitdiff
path: root/libsowatch/metawatch.h
diff options
context:
space:
mode:
Diffstat (limited to 'libsowatch/metawatch.h')
-rw-r--r--libsowatch/metawatch.h122
1 files changed, 0 insertions, 122 deletions
diff --git a/libsowatch/metawatch.h b/libsowatch/metawatch.h
deleted file mode 100644
index 80a1894..0000000
--- a/libsowatch/metawatch.h
+++ /dev/null
@@ -1,122 +0,0 @@
-#ifndef METAWATCH_H
-#define METAWATCH_H
-
-#include <QtConnectivity/QBluetoothAddress>
-#include <QtConnectivity/QBluetoothSocket>
-#include <QtCore/QQueue>
-#include <QtCore/QTimer>
-#include "watch.h"
-
-using QTM_PREPEND_NAMESPACE(QBluetoothSocket);
-using QTM_PREPEND_NAMESPACE(QBluetoothAddress);
-
-namespace sowatch
-{
-
-class MetaWatch : public Watch
-{
- Q_OBJECT
- Q_ENUMS(MessageType Mode)
-
-public:
- explicit MetaWatch(const QBluetoothAddress& address, QObject *parent = 0);
-
- QPaintEngine* paintEngine() const;
-
- QString model() const;
- bool isConnected() const;
- bool busy() const;
- void update(const QList<QRect>& rects);
- void clear(bool white = false);
- void vibrate(bool on);
-
- void setDateTime(const QDateTime& dateTime);
-
- enum MessageType {
- NoMessage = 0,
- GetDeviceType = 0x01,
- GetDeviceTypeResponse = 0x02,
- GetInformationString = 0x03,
- GetInformationStringResponse = 0x04,
- AdvanceWatchHands = 0x20,
- SetVibrateMode = 0x23,
- SetRealTimeClock = 0x26,
- GetRealTimeClock = 0x27,
- GetRealTimeClockResponse = 0x28,
- StatusChangeEvent = 0x33,
- ButtonEvent = 0x34,
- WriteBuffer = 0x40,
- ConfigureMode = 0x41,
- ConfigureIdleBufferSize = 0x42,
- UpdateDisplay = 0x43,
- LoadTemplate = 0x44,
- EnableButton = 0x46,
- DisableButton = 0x47,
- ReadButtonConfiguration = 0x48,
- ReadButtonConfigurationResponse = 0x49,
- BatteryConfiguration = 0x53,
- LowBatteryWarning = 0x54,
- LowBatteryBluetoothOff = 0x55,
- ReadBatteryVoltage = 0x56,
- ReadBatteryVoltageResponse = 0x57,
- Accelerometer = 0xea
- };
-
- enum Mode {
- IdleMode = 0,
- ApplicationMode = 1
- };
-
-protected:
- QBluetoothSocket* _socket;
-
- struct Message {
- MessageType type;
- quint8 options;
- QByteArray data;
- Message(MessageType ntype = NoMessage, QByteArray ndata = QByteArray(), quint8 noptions = 0) :
- type(ntype), options(noptions), data(ndata)
- {
-
- }
- };
-
- QQueue<Message> _toSend;
- QTimer* _sendTimer;
- Message _partialReceived;
-
- quint8 _buttonState;
-
- static const quint8 bitRevTable[16];
- static const quint16 crcTable[256];
- quint16 calcCrc(const QByteArray& data, int size);
- quint16 calcCrc(const Message& msg);
-
- void send(const Message& msg);
- void handleMessage(const Message& msg);
-
- void updateLine(Mode mode, const QImage& image, int line);
- void updateLines(Mode mode, const QImage& image, int lineA, int lineB);
- void updateLines(Mode mode, const QImage& image, const QVector<bool>& lines);
- void configureWatchMode(Mode mode, int timeout = 10, bool invert = false);
- void updateDisplay(Mode mode, bool copy = true);
- void loadTemplate(Mode mode, int templ);
-
- void handleStatusChange(const Message& msg);
- void handleButtonEvent(const Message& msg);
-
-protected slots:
- void socketConnected();
- void socketDisconnected();
- void socketData();
- void socketError(QBluetoothSocket::SocketError error);
- void socketState(QBluetoothSocket::SocketState error);
- void timedSend();
-
-private:
- void realSend(const Message& msg);
-};
-
-}
-
-#endif // METAWATCH_H