blob: d54b929b0e946debfe38ce0ba86100cfab7bd852 [file] [log] [blame]
#ifndef _SP_UTIL_H_
#define _SP_UTIL_H_
#include "string.h"
#include "stdlib.h"
#include "stdio.h"
#include "sp_config.h"
#define DELAY_TIME100ms 100
#define DELAY_TIME200ms 200
#define DELAY_TIME1s 1000
#define DELAY_TIME2s 2000
#define DELAY_TIME3s 3000
#define DELAY_TIME15s 15000
#define DELAY_TIME60s 60000
#define COMM_WAIT_TIME 5000
#define STR_COPY_N(x,y,z) do{snprintf(x,z+1,"%s",y);}while(0);
#define MEMCLEAR(x,z) memset(x,0,z)
#define MEMCMP(x,y,z) memcmp(x,y,z)
#define MEMCPY(x,y,z) memcpy(x,y,z)
#define IS_KEY(expect,val) (strncmp(expect,val,strlen(expect)) == 0)
#define Dec2BCD(x) (((x) / 10) * 16 + (x) % 10)
#define BCD2Dec(x) (((x) / 16) * 10 + (x) % 16)
void sp_get_bcdtime(uint8 ctime[6]);
void sp_set_bcdtime(uint8 ctime[6]);
uint8 sp_check_time_valid(uint8 ctime[6]);
uint8 sp_crc_sum(uint8 buf[],uint8 len);
uint32 sp_get_ticker(void);
void Delay_ms(uint32 ms);
void sp_valve_on(void);
void sp_valve_off(void);
uint8 sp_valve_state(void);
int16 get_2byte_int(uint8 value_str[2]);
int32 get_3byte_int(uint8 value_str[3]);
int32 get_4byte_int(uint8 value_str[4]);
void set_2byte_int(uint8 value_str[2], int num);
void set_3byte_int(uint8 value_str[3], int num);
void set_4byte_int(uint8 value_str[4], int num);
//»ñµÃµ¥×Ö½ÚÖÐijһλµÄÖµ
int32 Get1Bit(uint8 buf, int n);
int16 get_2byte_int_le(uint8 value_str[2]);
//С×Ö½ÚÐò
int32 get_3byte_int_le(uint8 value_str[3]);
//С×Ö½ÚÐò
int32 get_4byte_int_le(uint8 value_str[4]);
void set_2byte_int_le(uint8 value_str[2], int num);
void set_3byte_int_le(uint8 value_str[3], int num);
/*¼ÆËã´Óstarttime µ½ÏÖÔÚµÄÃëÊý*/
uint32 diff_time(uint8 starttime[6]);
void mycpy(void* dest, const void* src, uint32 len);
int32 sp_atoi(const char* src);
void sp_bcd2asc(const uint8 bcdbuf[], uint8 bcdlen, uint8* ascstr);
int format_time_covert_secs(uint8 ctime[6]);
void sp_protocol_crc(const uint8* buf, uint16 len, uint8 crc[2]);
void sp_protocol_crc_init(const uint8* buf, uint16 len,uint8 init[2], uint8 crc[2]);
uint8 sp_get_key(void);
uint8 sp_key_init(void);
void sp_key_calibrate(void);
void sp_reset(void);
void sp_bcd_to_str(const uint8* bcd, uint8 bcd_len, char* str);
void sp_str_to_bcd(const char* str, uint8 str_len, uint8* bcd);
void sp_str_to_hex(const char* str,const uint16 len,uint8* hex);
void sp_hex_to_str(const uint8* hex,const uint8 len,char* str);
uint8 sp_check_passwd(sp_pos_t* pos,const char* hint,uint8 passwd[6]);
int8 isFF(uint8 buf[],uint16 len);
#endif