X-Git-Url: https://git.kernelconcepts.de/?p=metawatch.git;a=blobdiff_plain;f=metawatch_protocol.h;h=65b991bda7a403e9b70d8df31f2cc02eee7e7b3b;hp=cae11c95d3d5384397bae192d95b0db8947345e8;hb=7e4f91bc02884c03f70adf5cef9fe750a2083b4f;hpb=5c3d6461a1e52a6741efe989f8f1170edd6111a5;ds=sidebyside diff --git a/metawatch_protocol.h b/metawatch_protocol.h index cae11c9..65b991b 100644 --- a/metawatch_protocol.h +++ b/metawatch_protocol.h @@ -1,24 +1,63 @@ +/* + * (c) 2011 Siegen, Germany by Nils Faerber + * + * 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 +#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_GET_REAL_TIME_CLOCK 0x27 #define MW_GET_REAL_TIME_CLOCK_RSP 0x28 +#define MW_RTC_CLOCK_12HR 0x00 +#define MW_RTC_CLOCK_24HR 0x01 +#define MW_RTC_DATE_MMDD 0x00 +#define MW_RTC_DATE_DDMM 0x01 + #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 @@ -36,8 +75,38 @@ #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 +