123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- #ifndef __LIGHT_H__
- #define __LIGHT_H__
- #include "types.h"
- #define LIGHT_EVT_DEFAULT_MODE 0x0008
- #define LIGHT_EVT_SAVE_DATA 0x0010
- #define SAVE_DATA_WAIT_TIME 5
- #define GPIO_WARM P18
- #define GPIO_WARM2 P15
- #define WARM_CH 0
- #define GPIO_COLD P20
- #define GPIO_COLD2 P31
- #define COLD_CH 1
- #define GPIO_FAN P23
- #define TOTAl_LEVEL 100
- #define LIGHT_STEP 5
- #define TEMP_MIN 2700
- #define TEMP_MAX 6500
- #define TEMP_STEP 50
- #define GPIO_POWER P28
- #define LIGHT_MODE_DEFAULT 0
- #define LIGHT_MODE_FULL 1
- #define FULL_MODE_WAIT_TIME 60
- typedef enum {
-
- START_CODE_CMD = 0x6c,
-
- START_CODE_RES = 0xc6,
-
- START_CODE_NOTIFY = 0x66
- }light_cmd_start_code;
- typedef enum{
- CMD_OPEN = 0x01,
- CMD_CLOSE = 0x02,
- CMD_QUERY = 0x03,
- CMD_LIGTH = 0x04,
- CMD_TEMP = 0x05,
- CMD_FAN = 0x06,
- CMD_MODE = 0x07,
- CMD_CH = 0x08,
- CMD_HZ = 0x09,
- }light_cmd_code;
- typedef struct {
- bool open;
- uint16 temp;
- int light;
- int mode;
- int fan;
- } light_data_t;
- #define SAVE_FILE_ID 1
- #define CMD_HEADER_LEN 4
- #define CMD_LEN_LEN 2
- #define CMD_MAX_LEN 128
- typedef struct {
- light_cmd_start_code startCode;
- uint8_t len;
- light_cmd_code cmd;
- uint8_t sn;
- uint8 *data;
- } light_cmd_t;
- extern light_data_t light_data;
- typedef void (*LightCallbackFunc) (uint8 *res, uint16 len);
- extern void light_init(uint8 taskId);
- extern int light_ch_set(uint8_t ch, uint16_t val);
- uint8_t comLightVal();
- uint16 comCmdResCode(uint8_t cmd, uint8_t sn, uint8* data, uint16 len, uint8_t *res);
- extern uint16 light_set(uint8_t val, uint8 sn, uint8 *res);
- extern uint16 temp_set(int temp, uint8_t sn, uint8 *res);
- extern uint16 open_light(uint8_t sn, uint8 *res);
- extern uint16 close_light(uint8_t sn, uint8 *res);
- extern uint16 change_light_mode (int mode, uint8_t sn, uint8 *res);
- extern uint16 parse_light_code(const uint8* data, uint16 len, uint8 *res);
- extern void light_register_notify_callback(LightCallbackFunc callback);
- uint16 Light_ProcessEvent( uint8 task_id, uint16 events );
- #endif
|