#ifndef __POC_TASK_H_ #define __POC_TASK_H_ #define POC_USER_NAME_LEN 36//24 //用户名长度 #define POC_GROUP_NAME_LEN 36//24 //群组名长度 #define POC_ALL_USERS_NUM 5//只需要装与显示时一页的数LIST_ROW就够了,采用动态更新方式 #define POC_ALL_GROUPS_NUM 5//30 //本机所属的所有群组的个数 #define POC_CMD_UP "AT+POC=10000007\r\n" //选组上键 #define POC_CMD_DOWN "AT+POC=10000008\r\n" //选组下键 #define POC_USER_ID_LEN 9 //8+1 typedef struct{ unsigned long ID; char status;//0 离线 1--在线(不在此群组) 2--在线(在此群组) char name[POC_USER_NAME_LEN]; }SUT_POC_USER; typedef struct{ unsigned long ID; unsigned short usernum;//组内成员个数 char name[POC_GROUP_NAME_LEN]; unsigned char status; }SUT_POC_GROUP; typedef struct{ unsigned char Logined;//POC登陆状态 0--未登录 1--已登陆 unsigned char FirstLogined;//首次登陆标志 0--未登陆 1--第一次已登陆 unsigned char CardStatus; // 是否插卡 unsigned char Speaker; //远程说话标志 1有人说 0无人说 unsigned char TTS; //TTS播报标志 1有播报 0无播报 unsigned char Mic; //Mic 0--关闭 1--打开 unsigned char ModemPowerOn;//1--模块已上电 0--模块未上电 unsigned char PPTpress;//PPT unsigned char ModemInactiveCt;//当模块启动后,每秒加1,收到模块AT则清零,当加到一定数值仍不清零则重启模块及UART。 unsigned short PocLostCt;//当模块首次登陆系统后,如果再离线开始计数,每秒加1,直到模块再次登陆POC系统才清零,当加到一定数值仍不清零则重启模块及UART unsigned short UserOnLineNum;//组内在线成员个数 unsigned short UserOnLineIndex; // 成员进退下标 unsigned char QuickGroupUserCt; //快捷 群组成员状态倒计时 //以下用于存储本机用户ID和用户名,本机所处的群组ID和群组明 SUT_POC_USER LocalUser; SUT_POC_GROUP LocalGroup; //以下是当前群组所有成员 unsigned short handleIndex; unsigned char GetOneUserFlag; unsigned char FillUserIndex; unsigned char UserNum_Update; unsigned char GroupNum_Update; int GroupsNum; char Callname[POC_USER_NAME_LEN];//??+4 unsigned long CallID; SUT_POC_USER AllUsers[POC_ALL_USERS_NUM]; SUT_POC_GROUP AllGroups[POC_ALL_GROUPS_NUM]; char switchGroupID[8]; unsigned char danHunStatus;//0 未单呼状态,1 单呼状态 unsigned char statusChaned;//用来修复当低优先级用户一直在讲话,不释放,然后被抢麦, //只要抢麦者释放话语权后,低优先级用户显示出群组名字,再 //被抢麦,都会显示有问题。第二次以后都会。 unsigned char modemRstFlag; unsigned char loginResult;//登陆状态 0未登陆 1账号信息错误 2无网络连接 3 登陆成功 4 请插卡 unsigned char codeType;//编码器选择 unsigned char ExceptionReadNum; //期望读取个数 unsigned char ListFillIndex; unsigned int ListCurOnlineNum; unsigned char ListUpdate; unsigned char ListType; unsigned char ListGetOneFlag; unsigned char HeadSetPtt; unsigned char UserIdTemp[POC_USER_ID_LEN]; unsigned char GroupIdTemp[POC_USER_ID_LEN]; }SUT_POC_STATUS; extern SUT_POC_STATUS sutPocStatus; extern int g_iModemVer; extern unsigned char g_iPocVer[20]; extern unsigned long g_ulGroupID; char PocHandle(char *msg); void ExchangeHighLowByte(char *src,unsigned short lenth); char IndexReturnBySymbol(char *src,char Symbol,char num); void TTSdaxieguibi(char *src); #endif