-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathDefines.h
More file actions
112 lines (88 loc) · 2.78 KB
/
Defines.h
File metadata and controls
112 lines (88 loc) · 2.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
/*
* Copyright (c) 2012 Yeelink.net by dapingliu <dapingliu@yeelink.net>
*/
#ifndef DEFINES_H_
#define DEFINES_H_
#include "Arduino.h"
//add your function definitions for the project YeeboxEZ here
#define MAX_SUPPORTED_LAMPS 8
#define MOBILEINTPORT 10003
#define DEVICE_MAC_LEN 16
#define DEVICE_IP_LEN 4
#define BOX_COM_BAUD 38400
#define MAX_EEPROM_SIZE 1024
//Used for button pin check
#define BUTTON_PIN A7
#define BUTTON_LOW_RANGE_VALUE 200
#define MAX_WHITE_LIST_NUM 10
#define APP_AUTH_MAC "FROM_YEEBOX_AUTH_MAC:"
#define YBOX_LOCAL_MAC "FROM_YEEBOX_LOCAL_MAC:"
typedef enum eeprom_data_len {
E2DA_LOGO_LEN = 10,
E2DA_VERSION_LEN = 10,
E2DA_BOX_MAC_LEN = 6,
E2DA_BOX_ID_LEN = 6,
E2DA_BOX_KEY_LEN = 6,
E2DA_FACEBOOK_KEY_PRES_LEN = 1,
E2DA_FACEBOOK_STATUS_LEN = 1,
E2DA_FACEBOOK_LEN = (128-E2DA_BOX_ID_LEN-E2DA_BOX_KEY_LEN),
E2DA_DEV_NUM_LEN = 2,
E2DA_DEV_TYPE_LEN = 2,
E2DA_WHITE_LIST_NUM_LEN = 1,
E2DA_WHITE_LIST_MAX_LEN = 120,
E2DA_WHITE_LIST_MAC_LEN = 12,
E2DA_ZIGBEE_MAC_LEN = 4 // zigbee mac length
} eeprom_data_len_t;
typedef enum eeprom_data_addr {
//box identifier
E2DA_START_ADDR = 0, //0
E2DA_LOGO_ADDR = E2DA_START_ADDR + 0, //0x000
E2DA_VERSION_ADDR = E2DA_LOGO_ADDR + E2DA_LOGO_LEN, //0x00A
E2DA_MAC_ADDR = E2DA_VERSION_ADDR + E2DA_VERSION_LEN, //0x014
E2DA_BOX_ID_ADDR = E2DA_MAC_ADDR + E2DA_BOX_MAC_LEN, //0x01A
E2DA_BOX_KEY_ADDR = E2DA_BOX_ID_ADDR + E2DA_BOX_ID_LEN, //0x020
//face book key
E2DA_FACEBOOK_KEY_PRES_ADDR = E2DA_MAC_ADDR + E2DA_BOX_KEY_LEN, //0x036
E2DA_FACEBOOK_STATUS = E2DA_FACEBOOK_KEY_PRES_ADDR + E2DA_FACEBOOK_KEY_PRES_LEN, //0x01B
E2DA_FACEBOOK_ADDR = E2DA_FACEBOOK_STATUS + E2DA_FACEBOOK_STATUS_LEN, //0x01C
//phone white list
E2DA_WHITE_LIST_LEN_ADDR = E2DA_FACEBOOK_ADDR + E2DA_FACEBOOK_LEN,//0x09C
E2DA_WHITE_LIST_ADDR = E2DA_WHITE_LIST_LEN_ADDR + E2DA_WHITE_LIST_NUM_LEN, //0x09D
//device list
E2DA_DEV_NUM_ADDR = E2DA_WHITE_LIST_ADDR + E2DA_WHITE_LIST_MAX_LEN, //0x115
E2DA_DEV_DATA_ADDR = E2DA_DEV_NUM_ADDR + E2DA_DEV_NUM_LEN //0x117
// Left 745 byte
} eeprom_data_addr_t;
typedef struct eeprom_device_list{
unsigned char mac[E2DA_ZIGBEE_MAC_LEN];
unsigned short type;
}eeprom_device_list_t;
typedef struct device_node {
uint8_t type;
uint8_t R;
uint8_t G;
uint8_t B;
uint8_t L;
uint8_t effect;
bool online;
bool powerStatus;
char MAC[DEVICE_IP_LEN];
uint8_t LQI; //zigbee link quality indicator
} device_node_t;
typedef enum boxMode {
BOXMODE_INIT = 0,
BOXMODE_INIT_WAIT,
BOXMODE_NORMAL,
BOXMODE_REFRESH
} boxMode_t;
typedef enum ledStatus {
LED_OFF = 0, //always off
LED_ON = 1, //always on
LED_FAST_FLASH, //fast flash
LED_MIDDLE_FLASH, //middle flash
LED_SLOW_FLASH //slow flash
} ledStatus_t;
#define HARDWARE_BRIDGE 0
#define HARDWARE_RGBLED 1
#define HARDWARE_POWERSOCKET 2
#endif /* DEFINES_H_ */