DUCP.h 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. /*
  2. ****************************************************************************************************
  3. * DUCP
  4. * Displayer universal control protocal
  5. * Master Head File
  6. *
  7. * (c) Copyright 2016-2017, KF
  8. * All Rights Reserved
  9. *
  10. * File : DUCP.h
  11. * By : Lyon
  12. * Date : 2016-1-1
  13. * Email: yangzhonglai@163.com
  14. ****************************************************************************************************
  15. */
  16. #ifndef _DUCP_H_
  17. #define _DUCP_H_
  18. #define DUCP_PATH_LEN_MAX (125)
  19. #define DUCP_FM_READ (0X01)
  20. #define DUCP_FM_WRITE (0X02)
  21. #define DUCP_FM_OPEN_ALWAYS (0X10)
  22. #define DUCP_FM_FLLOW_PATH (0X80)
  23. #define SEND_MSG_OVERTIME_DEF (100)
  24. #define READ_MSG_OVERTIME_DEF (100)
  25. #define DUCP_TTS_PLAY_OPT_A (0x00) /*添加到语音队列但是不开始播放*/
  26. #define DUCP_TTS_PLAY_OPT_AS (0x01) /*添加到语音队列并且开始播放*/
  27. #define DUCP_TTS_PLAY_OPT_CAS (0x02) /*先清除队列,再添加新语音到队列,然后开始播放*/
  28. /*错误类型*/
  29. #define DUCP_ERR_NONE (0x00) /*无错误*/
  30. typedef uint8_t DUCP_ERR_T;
  31. /*-------------------------UDCP指令集----------------------------*/
  32. #define DUCP_CMD_SYS_BASE (0)
  33. #define DUCP_CMD_FM_BASE (0X20)
  34. #define DUCP_CMD_TTS_BASE (0X30)
  35. #define DUCP_CMD_2D_BASE (0X38)
  36. #define DUCP_CMD_WM_BASE (0X50)
  37. #define DUCP_CMD_TWIN_BASE (0X60)
  38. #define DUCP_CMD_PIC_BASE (0X80)
  39. typedef enum {
  40. /*--------------------系统管理------------------------------*/
  41. DUCP_CMD_SYS_CONNECT = DUCP_CMD_SYS_BASE, /*0登录并连接UDCP服务器 OK*/
  42. DUCP_CMD_SYS_SYN_PN, /*1同步包序列 OK*/
  43. DUCP_CMD_SYS_SET_PASSWAORD, /*2修改登录密码 NOTEST*/
  44. DUCP_CMD_SYS_GET_PASSWAORD, /*3获取登录密码 NOTEST*/
  45. DUCP_CMD_SYS_GET_FIRMWARE, /*4获取固件信息OK*/
  46. DUCP_CMD_SYS_UPTIME, /*5更新时间OK*/
  47. DUCP_CMD_SYS_RESET, /*6重启系统 OK*/
  48. DUCP_CMD_SYS_SET_ADDR, /*7设置485地址 OK*/
  49. DUCP_CMD_SYS_SET_IP, /*8设置IP地址 OK*/
  50. DUCP_CMD_SYS_SET_PORT, /*9设置端口 OK*/
  51. DUCP_CMD_SYS_SET_BAUD, /*10设置波特率OK*/
  52. DUCP_CMD_SYS_SET_SCAN_FRE, /*11设置扫描频率OK*/
  53. DUCP_CMD_SYS_SET_LIGHT, /*12调整亮度OK*/
  54. DUCP_CMD_SYS_SET_VOL, /*13设置音量OK*/
  55. DUCP_CMD_SYS_CFG_IO, /*14配置IO口功能OK*/
  56. DUCP_CMD_SYS_SET_IO, /*15设置IO口状态OK*/
  57. DUCP_CMD_SYS_READ_IO, /*16读取IO口状态OK*/
  58. DUCP_CMD_SYS_SET_DRV, /*17设置LED驱动OK*/
  59. DUCP_CMD_SYS_SET_OEP, /*18设置OE极性OK*/
  60. DUCP_CMD_SYS_SET_DP, /*19设置数据极性OK*/
  61. DUCP_CMD_SYS_SET_LE, /*20设置LE信号延时OK*/
  62. DUCP_CMD_SYS_SET_GW_AND_MASK, /*21设置网关和掩码OK*/
  63. DUCP_CMD_SYS_SET_SAF_MODE, /*22进入安全模式OK*/
  64. DUCP_CMD_SYS_CLIC, /*23Passport OK*/
  65. DUCP_CMD_SYS_SET_DIS_SIZE, /*24设置显示尺寸OK*/
  66. DUCP_CMD_SYS_SET_XYMIR, /*25设置显示镜像OK*/
  67. DUCP_CMD_SYS_SET_485MODE, /*26设置485工作模式OK*/
  68. DUCP_CMD_SYS_GET_ALL, /*27获取所有参数OK*/
  69. DUCP_CMD_SYS_SET_ALL, /*28设置所有参数OK*/
  70. DUCP_CMD_SYS_SET_TTSEN, /*29使能播报所有文本OK*/
  71. /*--------------------文件管理------------------------------*/
  72. DUCP_CMD_FM_MOUNT = DUCP_CMD_FM_BASE,/*挂载目录 INVOLID*/
  73. DUCP_CMD_FM_OPEN, /*打开或创建文件 INVOLID*/
  74. DUCP_CMD_FM_SEEK, /*设置文件读写位置 INVOLID*/
  75. DUCP_CMD_FM_WRITE, /*写文件 INVOLID*/
  76. DUCP_CMD_FM_READ, /*读文件 INVOLID*/
  77. DUCP_CMD_FM_SYNBUFF, /*同步文件缓存 INVOLID*/
  78. DUCP_CMD_FM_COLOSE, /*关闭文件 INVOLID*/
  79. DUCP_CMD_FM_DEL, /*删除文件 INVOLID*/
  80. DUCP_CMD_FM_COPY, /*复制文件 INVOLID*/
  81. DUCP_CMD_FM_FDISK, /*格式化磁盘 INVOLID*/
  82. DUCP_CMD_FM_WLIC, /*写授权文件*/
  83. DUCP_CMD_FM_RLIC, /*读授权文件*/
  84. DUCP_CMD_FM_CULIC, /*校验用户授权文件*/
  85. /*-------------------TTS语音接口----------------------------*/
  86. DUCP_CMD_TTS_PLAY = DUCP_CMD_TTS_BASE,/*播放语音OK*/
  87. DUCP_CMD_TTS_STOP, /*停止播放语音OK*/
  88. /*-------------------2D图形接口-----------------------------*/
  89. DUCP_CMD_2D_DRAW_POINT = DUCP_CMD_2D_BASE,/*画点 OK*/
  90. DUCP_CMD_2D_DRAW_LINE, /*画线 OK*/
  91. DUCP_CMD_2D_DRAW_RECT, /*画矩形 OK*/
  92. DUCP_CMD_2D_FILL_RECT, /*填充矩形 OK*/
  93. DUCP_CMD_2D_DRAW_CICLE, /*画圆 OK*/
  94. DUCP_CMD_2D_FILL_CICLE, /*填充圆 OK*/
  95. DUCP_CMD_2D_DRAW_BITMAP, /*绘制位图*/
  96. DUCP_CMD_2D_DIS_TEXT, /*显示文本 OK*/
  97. DUCP_CMD_2D_SET_TCOLOR, /*设置文本颜色 OK*/
  98. DUCP_CMD_2D_SET_BCOLOR, /*设置背景颜色 OK*/
  99. DUCP_CMD_2D_SET_FONT, /*设置字体 OK*/
  100. DUCP_CMD_2D_DRAW_SYSICON, /*绘制系统自带的图标OK*/
  101. /*----------------------窗口管理---------------------------*/
  102. DUCP_CMD_WIN_SHOW = DUCP_CMD_WM_BASE,/*显示窗口 OK*/
  103. DUCP_CMD_WIN_HIDLE, /*隐藏窗口 OK*/
  104. DUCP_CMD_WIN_DEL, /*删除窗口 OK*/
  105. DUCP_CMD_WIN_AUTO_SYN, /*自动同步窗口显示 OK*/
  106. /*----------------------文本控件---------------------------*/
  107. DUCP_CMD_TWIN_CREATE = DUCP_CMD_TWIN_BASE,/*创建文本窗口 OK*/
  108. DUCP_CMD_TWIN_DEL, /*删除文本窗口 OK*/
  109. DUCP_CMD_TWIN_DIS_TEXT, /*显示临时文本 OK*/
  110. DUCP_CMD_TWIN_SET_FONT, /*设置字体 OK*/
  111. DUCP_CMD_TWIN_SET_TCOLOR, /*设置文本颜色 OK*/
  112. DUCP_CMD_TWIN_SET_BCOLOR, /*设置背景颜色 OK*/
  113. DUCP_CMD_TWIN_STOP_DIS, /*停止显示 OK*/
  114. DUCP_CMD_TWIN_DOWN_TFILE, /*下载文本文件 OK*/
  115. DUCP_CMD_TWIN_DIS_TFILE, /*显示文本文件 OK*/
  116. DUCP_CMD_TWIN_OPEN_TFILE, /*打开文本文件 OK*/
  117. DUCP_CMD_TWIN_CLOSE_TFILE, /*关闭文本文件 OK*/
  118. DUCP_CMD_TWIN_DEL_TFILE, /*删除文本文件 OK*/
  119. DUCP_CMD_TWIN_SYN_DIS, /*同步显示多个文本控件*/
  120. DUCP_CMD_TWIN_SYN_DISEX, /*多行显示,同时播报语音*/
  121. /*----------------------图片控件---------------------------*/
  122. DUCP_CMD_PIC_CREATE = DUCP_CMD_PIC_BASE,/*创建图片窗口 OK*/
  123. DUCP_CMD_PIC_DEL,
  124. DUCP_CMD_PIC_ADD,
  125. DUCP_CMD_PIC_CLR,
  126. } DUCP_CMD_E;
  127. typedef struct {
  128. char DevName[8];/*设备名称*/
  129. char SVR[8]; /*软件版本X.YZ*/
  130. uint32_t XSize; /*X尺寸*/
  131. uint32_t YSize; /*Y尺寸*/
  132. uint32_t LstUpTime; /*最后更新时间*/
  133. uint8_t SN[12]; /*序列号*/
  134. }DEVICE_FRAMWARE_T;
  135. /*IO引脚标识*/
  136. typedef enum {
  137. IO_PIN_1 = 0,
  138. IO_PIN_2,
  139. IO_PIN_3,
  140. IO_PIN_4,
  141. IO_PIN_ALL = 0XF0, /*对所以IO口进行赋值操作*/
  142. IO_PIN_OR,/*对所有IO口进行 或 操作*/
  143. IO_PIN_AND,/*对所有IO口进行 与 操作*/
  144. IO_PIN_NOT/*对所有IO口进行 非 操作*/
  145. } IO_PIN_ID_E;
  146. /*IO 功能枚举*/
  147. typedef enum {
  148. IO_FUN_IN = 0, /*输入*/
  149. IO_FUN_PP, /*推挽输出*/
  150. IO_FUN_OD, /*开漏输出*/
  151. } IO_PIN_FUN_E;
  152. /*系统参数描述符*/
  153. typedef struct {
  154. uint32_t Baud; /*波特率 最高115200*/
  155. uint8_t _485Addr;/*485地址*/
  156. uint8_t _485CM;/*485工作模式 0:半双工 1:半工*/
  157. uint8_t IP[4];/*IP地址*/
  158. uint32_t Port;/*端口号*/
  159. uint8_t GW[4];/*网关地址*/
  160. uint8_t Mask[4];/*子网掩码*/
  161. uint16_t Fre;/*扫描频率 30Hz ~ 960Hz*/
  162. uint8_t LightLevel;/*亮度级别 10~100 对应10% ~ 100%*/
  163. uint8_t VoiceLevel;/*声音级别 10~100 对应10% ~ 100%*/
  164. uint8_t OEP;/*OE极性,0:正极性 1:负极性*/
  165. uint8_t DP;/*数据极性,0:正极性 1:负极性*/
  166. uint8_t LEDey;/*LE信号延时,0:关闭 1:打开*/
  167. uint8_t LEDDrv;/*LED驱动程序 0:08双色16分之一扫描 1:12双色4分之一扫描 2:12双色8分之一扫描*/
  168. uint16_t XSize;/*显示屏长度尺寸 像素*/
  169. uint16_t YSize;/*显示屏高度尺寸 像素*/
  170. uint8_t XYMir;/*XY镜像使能 0:原点坐标在左上角 1:原点坐标在右下角*/
  171. uint8_t TTSAEn;/*0:定制语音。1:可以播报所有文字(需要配置外部TTS解码模块)*/
  172. } SysSettings_t;
  173. #endif