blob: d54b929b0e946debfe38ce0ba86100cfab7bd852 [file] [log] [blame]
zongqiang.zhang0c6a0882019-08-07 14:48:21 +08001#ifndef _SP_UTIL_H_
2#define _SP_UTIL_H_
3
4#include "string.h"
5#include "stdlib.h"
6#include "stdio.h"
7#include "sp_config.h"
8
9#define DELAY_TIME100ms 100
10#define DELAY_TIME200ms 200
11#define DELAY_TIME1s 1000
12#define DELAY_TIME2s 2000
13#define DELAY_TIME3s 3000
14#define DELAY_TIME15s 15000
15#define DELAY_TIME60s 60000
16#define COMM_WAIT_TIME 5000
17
18#define STR_COPY_N(x,y,z) do{snprintf(x,z+1,"%s",y);}while(0);
19#define MEMCLEAR(x,z) memset(x,0,z)
20#define MEMCMP(x,y,z) memcmp(x,y,z)
21#define MEMCPY(x,y,z) memcpy(x,y,z)
22#define IS_KEY(expect,val) (strncmp(expect,val,strlen(expect)) == 0)
23
24#define Dec2BCD(x) (((x) / 10) * 16 + (x) % 10)
25#define BCD2Dec(x) (((x) / 16) * 10 + (x) % 16)
26
27void sp_get_bcdtime(uint8 ctime[6]);
28void sp_set_bcdtime(uint8 ctime[6]);
29uint8 sp_check_time_valid(uint8 ctime[6]);
30uint8 sp_crc_sum(uint8 buf[],uint8 len);
31uint32 sp_get_ticker(void);
32void Delay_ms(uint32 ms);
33void sp_valve_on(void);
34void sp_valve_off(void);
35uint8 sp_valve_state(void);
36int16 get_2byte_int(uint8 value_str[2]);
37int32 get_3byte_int(uint8 value_str[3]);
38int32 get_4byte_int(uint8 value_str[4]);
39void set_2byte_int(uint8 value_str[2], int num);
40void set_3byte_int(uint8 value_str[3], int num);
41void set_4byte_int(uint8 value_str[4], int num);
42//»ñµÃµ¥×Ö½ÚÖÐijһλµÄÖµ
43int32 Get1Bit(uint8 buf, int n);
44int16 get_2byte_int_le(uint8 value_str[2]);
45//С×Ö½ÚÐò
46int32 get_3byte_int_le(uint8 value_str[3]);
47//С×Ö½ÚÐò
48int32 get_4byte_int_le(uint8 value_str[4]);
49void set_2byte_int_le(uint8 value_str[2], int num);
50void set_3byte_int_le(uint8 value_str[3], int num);
51/*¼ÆËã´Óstarttime µ½ÏÖÔÚµÄÃëÊý*/
52uint32 diff_time(uint8 starttime[6]);
53void mycpy(void* dest, const void* src, uint32 len);
54int32 sp_atoi(const char* src);
55void sp_bcd2asc(const uint8 bcdbuf[], uint8 bcdlen, uint8* ascstr);
56int format_time_covert_secs(uint8 ctime[6]);
57void sp_protocol_crc(const uint8* buf, uint16 len, uint8 crc[2]);
58void sp_protocol_crc_init(const uint8* buf, uint16 len,uint8 init[2], uint8 crc[2]);
59uint8 sp_get_key(void);
60uint8 sp_key_init(void);
61void sp_key_calibrate(void);
62void sp_reset(void);
63void sp_bcd_to_str(const uint8* bcd, uint8 bcd_len, char* str);
64void sp_str_to_bcd(const char* str, uint8 str_len, uint8* bcd);
65void sp_str_to_hex(const char* str,const uint16 len,uint8* hex);
66void sp_hex_to_str(const uint8* hex,const uint8 len,char* str);
67uint8 sp_check_passwd(sp_pos_t* pos,const char* hint,uint8 passwd[6]);
68int8 isFF(uint8 buf[],uint16 len);
69
70#endif