
#ifndef SYSDEF_H
#define SYSDEF_H

#pragma pack(1) // 结构体1字节对齐

#ifndef TRUE
#define TRUE 1
#endif

#ifndef FALSE
#define FALSE 0
#endif

#define ON 1
#define OFF 0

#define HIGH 1
#define LOW 0

typedef char CHAR;
typedef signed char int8, SBYTE;
typedef unsigned char uint8, BYTE, BOOL;

typedef short int16, SWORD;
typedef unsigned short uint16, WORD;

typedef int int32, SDWORD;
typedef unsigned int uint32, DWORD;

typedef float FLOAT, flt32;
typedef double DOUBLE, flt64;

typedef long long int64;
typedef unsigned long long uint64;

#define STATIC static

#define SYS_MEMSET memset
#define SYS_MEMCPY memcpy
#define SYS_MEMCMP memcmp
#define SYS_MEMMOVE memmove

#define SYS_STRCAT strcat
#define SYS_STRNCAT strncat
#define SYS_STRSTR strstr
#define SYS_STRCPY strcpy
#define SYS_STRCMP strcmp
#define SYS_STRLEN strlen

#define ntohs(x) (x)
#define ntohl(x) (x)
#define htons(x) (x)
#define htonl(x) (x)

#define BIT0 0x0001
#define BIT1 0x0002
#define BIT2 0x0004
#define BIT3 0x0008
#define BIT4 0x0010
#define BIT5 0x0020
#define BIT6 0x0040
#define BIT7 0x0080
#define BIT8 0x0100
#define BIT9 0x0200
#define BIT10 0x0400
#define BIT11 0x0800
#define BIT12 0x1000
#define BIT13 0x2000
#define BIT14 0x4000
#define BIT15 0x8000
#define BIT16 0x10000

#define SYS_RET_OK 0
#define SYS_RET_FAIL 1

#define APP_WMM_STORE_FLAG 0xBBCCDDEE  // 参数保存标识符
#define APP_WMM_STORE_VERSION 0x020100 // 软件版本

#define DEVICE_TYPE 2             // 设备类型，1：声波基站，2：同步基站
#define DEVICE_MODE "IPS8000SYNC" // 设备型号

// V2.00.1，增加本地网管和集中网管
// V2.00.2，增加本地升级功能
// V2.00.3，增加发射机频率和发射功率可配置功能
// V2.0.04，根据网管协议，修改监控命令标号，修改串口接收模块（接收时不管理中断） zt(2024-10-22)
// V2.0.05，解决升级经常失败的问题，包括本地网管和集中网管(by zt 2024/10/28)
// V2.0.06，配合远程升级做部分修改(by zt 2024/11/13)
// V2.1.00，增加重置参数功能，发布正式版本(by zt 2024/12/21)
// V2.1.01，增加rtc功能(by zt 2025/3/13)
// V2.1.02，增加北斗GPS信号跟踪使能功能(by zt 2025/5/8)
#define SOFTWARE_VERSION "V2.1.02"

#endif
