]> git.kernelconcepts.de Git - metawatch.git/blobdiff - metawatch_protocol.h
Update to spec
[metawatch.git] / metawatch_protocol.h
index f0ad616f0684fe9eab7c708e4c9dc3df4596fdcd..a26950f2ac1e4937bcf8bd9a786314b646b3a719 100644 (file)
@@ -1,14 +1,47 @@
+/*
+ * (c) 2011 Siegen, Germany by Nils Faerber <nils.faerber@kernelconcepts.de>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
 #ifndef _MW_PROT_H
 #define _MW_PROT_H
 
 #define MW_SOF                         0x01
 
+/* general */
 #define MW_GET_DEVICE_TYPE             0x01
 #define MW_GET_DEVICE_TYPE_RSP         0x02
+
+#define MW_DEVICE_TYPE_RESERVED                0x00
+#define MW_DEVICE_TYPE_ANA_DIGI                0x01
+#define MW_DEVICE_TYPE_DIGITAL         0x02
+#define MW_DEVICE_TYPE_DEVB_DIGI       0x03
+#define MW_DEVICE_TYPE_DEVB_ANA_DIGI   0x04
+
 #define MW_GET_INFORMATION_STRING      0x03
 #define MW_GET_INFORMATION_STRING_RSP  0x04
 
+/* specific for ana-digi version */
+#define MW_UPDATE_OLED_DISPLAY_MSG     0x10
+#define MW_WRITE_OLED_IDLE_DISPLAY_MSG 0x11
+#define MW_WRITE_OLED_SCROLL_BUFFER_MSG        0x15
+#define MW_ENABLE_OLED_DISPLAY_MSG     0x16
 #define MW_ADVANCE_WATCH_HANDS         0x20
+
 #define MW_SET_VIBRATE_MODE            0x23
 
 #define MW_SET_REAL_TIME_CLOCK         0x26
 #define MW_RTC_DATE_MMDD               0x00
 #define MW_RTC_DATE_DDMM               0x01
 
+#define MW_NVAL_OPERATION              0x30
+#define MW_NVAL_OPERATION_RSP          0x31
+
+#define MW_NVAL_OPERATION_READ         0x01
+#define MW_NVAL_OPERATION_WRITE                0x02
+#define MW_NVAL_TIME_FORMAT            0x2009
+#define MW_NVAL_DATE_FORMAT            0x200a
+
+
 #define MW_RESERVED                    0x32
 #define MW_STATUS_CHANGE_EVENT         0x33
 #define MW_BUTTON_EVENT_MESSAGE                0x34
 
+/* specific for digital version */
 #define MW_WRITE_BUFFER                        0x40
 #define MW_CONFIGURE_MODE              0x41
 #define MW_CONFIGURE_IDLE_BUFFER_SIZE  0x42
@@ -32,6 +75,7 @@
 #define MW_RESERVED2                   0x45
 #define MW_ENABLE_BUTTON               0x46
 #define MW_DISABLE_BUTTON              0x47
+/* READ_BUTTON_* have been removed from the spec */
 #define MW_READ_BUTTON_CONFIG          0x48
 #define MW_READ_BUTTON_CONFIG_RSP      0x49
 #define MW_RESERVED3                   0x4a
 #define MW_LOW_BATTERY_BT_OFF_MSG      0x55
 #define MW_READ_BATTERY_VOLTAGE_MSG    0x56
 #define MW_READ_BATTERY_VOLTAGE_RSP    0x57
-
+#define MW_READ_LIGHT_SENSOR_MSG       0x58
+#define MW_READ_LIGHT_SENSOR_RSP       0x59
 #define MW_ACCELEROMETER               0xea
 
 
+/* screen modes */
 #define MW_SCREEN_MODE_IDLE            0x00
 #define MW_SCREEN_MODE_APPLICATION     0x01
 #define MW_SCREEN_MODE_NOTIFICATION    0x02
 #define MW_SCREEN_MODE_SCROLL          0x03
 
+
+/* button definitions */
+#define MW_BUTTON_A                    0x00
+#define MW_BUTTON_B                    0x01
+#define MW_BUTTON_C                    0x02
+#define MW_BUTTON_D                    0x03
+#define MW_BUTTON_RES4                 0x04
+#define MW_BUTTON_E                    0x05
+#define MW_BUTTON_F                    0x06
+#define MW_BUTTON_PULLSW               0x07
+
+/* button events */
+#define MW_BUTTON_IMMEDIATE            0x00
+#define MW_BUTTON_PRESS_AND_RELEASE    0x01
+#define MW_BUTTON_HOLD_RELEASE         0x02
+#define MW_BUTTON_LONG_HOLD_RELEASE    0x03
+
+/* OLEDs */
+
+#define MW_OLED_UPPER                  0x00
+#define MW_OLED_LOWER                  0x01
+
 #endif