DUCP_Host.h 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476
  1. /*
  2. ****************************************************************************************************
  3. * DUCP HOST
  4. * Displayer universal control protocal for host
  5. * Master Head File
  6. *
  7. * (c) Copyright 2016-2017, KF
  8. * All Rights Reserved
  9. *
  10. * File : DUCP_Host.h
  11. * By : Lyon
  12. * Date : 2016-1-1
  13. * Email: yangzhonglai@163.com
  14. ****************************************************************************************************
  15. */
  16. #ifndef _DUCP_DEVICE_H_
  17. #define _DUCP_DEVICE_H_
  18. #include "MBmsg.h"
  19. #include "DUCP.H"
  20. // 下列 ifdef 块是创建使从 DLL 导出更简单的
  21. // 宏的标准方法。此 DLL 中的所有文件都是用命令行上定义的 DUCP_EXPORTS
  22. // 符号编译的。在使用此 DLL 的
  23. // 任何其他项目上不应定义此符号。这样,源文件中包含此文件的任何其他项目都会将
  24. // DUCP_API 函数视为是从 DLL 导入的,而此 DLL 则将用此宏定义的
  25. // 符号视为是被导出的。
  26. #ifdef DUCP_EXPORTS
  27. #define DUCP_API __declspec(dllexport)
  28. #else
  29. #define DUCP_API __declspec(dllimport)
  30. #endif
  31. #if defined(__cplusplus)
  32. extern "C" { /* Make sure we have C-declarations in C++ programs */
  33. #endif
  34. /*
  35. 登录和连接DUCP服务器
  36. */
  37. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_SYS_Connet(const char * Password);
  38. /*
  39. 同步包序列
  40. */
  41. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_SYS_SYNPN(int PN);
  42. /*
  43. 更改登录密码
  44. */
  45. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_SYS_SetPassword(const char * Password);
  46. /*
  47. 获取登录密码
  48. */
  49. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_SYS_GetPassword(char * Password);
  50. /*
  51. 获取固件信息
  52. */
  53. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_SYS_GetFirmware(DEVICE_FRAMWARE_T * pFirmware);
  54. /*
  55. 更新本地时间
  56. */
  57. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_SYS_UpdateTime(uint16_t Year,
  58. uint8_t Month,
  59. uint8_t Day,
  60. uint8_t Week,
  61. uint8_t Hour,
  62. uint8_t Minute,
  63. uint8_t Second);
  64. /*
  65. 设置地址
  66. */
  67. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_SYS_SetAddr(uint8_t Addr);
  68. /*
  69. 设置IP地址
  70. */
  71. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_SYS_SetIP(const char * IP);
  72. /*
  73. 设置端口
  74. */
  75. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_SYS_SetPort(uint32_t Port);
  76. /*
  77. 设置波特率
  78. */
  79. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_SYS_SetBaud(uint32_t Baud);
  80. /*
  81. 设置扫描频率
  82. */
  83. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_SYS_SetScanFre(uint16_t Fre);
  84. /*
  85. 设置亮度
  86. */
  87. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_SYS_SetLight(uint8_t Light);
  88. /*
  89. 设置音量
  90. */
  91. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_SYS_SetVol(uint8_t Vol);
  92. /*
  93. 重启系统
  94. */
  95. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_SYS_Reset(void);
  96. /*
  97. 配置IO口功能
  98. */
  99. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_SYS_CfgIO(IO_PIN_ID_E Pin,IO_PIN_FUN_E Fun);
  100. /*
  101. 设置IO口输出状态
  102. */
  103. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_SYS_SetOutState(IO_PIN_ID_E Pin,int OnOff);
  104. /*
  105. 读取IO口输入状态
  106. */
  107. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_SYS_ReadInputState(IO_PIN_ID_E Pin,int * pRetState);
  108. /*
  109. 设置LED驱动程序
  110. */
  111. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_SYS_SetDrv(int v);
  112. /*
  113. 设置OE极性
  114. */
  115. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_SYS_SetOEPolarity(int v);
  116. /*
  117. 设置数据极性
  118. */
  119. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_SYS_SetDataPolarity(int v);
  120. /*
  121. 设置LE信号延时
  122. */
  123. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_SYS_SetLEDelay(int En);
  124. /*
  125. 设置网关和掩码
  126. */
  127. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_SYS_SetGWAndMask(const char * GW,const char * Mask);
  128. /*
  129. 进入安全模式
  130. */
  131. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_SYS_EnterSafMode(const char * pswd);
  132. /*
  133. 计算验证码
  134. Msg: 消息地址
  135. MsgLen: 消息长度,最多255个字节,如果大于255,只会计算前255个字节。
  136. pOutResult:返回的32位结果
  137. */
  138. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_SYS_Clic(const char * Msg,int MsgLen,int * pOutResult);
  139. /*
  140. 设置显示尺寸
  141. */
  142. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_SYS_SetDisSize(int XSize,int YSize);
  143. /*
  144. 设置显示镜像
  145. */
  146. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_SYS_SetXYMIR(int Flag);
  147. /*
  148. 设置485工作模式
  149. */
  150. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_SYS_Set485Mode(int ModeIndex);
  151. /*
  152. 获取所有参数
  153. */
  154. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_SYS_GetAll(SysSettings_t * pSet);
  155. /*
  156. 设置所有参数
  157. */
  158. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_SYS_SetAll(SysSettings_t * pSet);
  159. /*
  160. 使能TTS播放所有文字(需要配置外部TTS硬件解码模块)
  161. */
  162. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_SYS_TTSEn(int Enable);
  163. /*
  164. 挂载目录
  165. */
  166. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_FM_Mount(const char * Path);
  167. /*
  168. 打开文件
  169. */
  170. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_FM_Open(const char * Path,int Opt);
  171. /*
  172. 设置文件的读写位置
  173. */
  174. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_FM_Seek(int Offset);
  175. /*
  176. 写文件
  177. */
  178. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_FM_Write(const uint8_t * pData,uint32_t Size);
  179. /*
  180. 读文件
  181. */
  182. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_FM_Read(uint8_t * pData,uint32_t Size,uint32_t * pRetSize);
  183. /*
  184. 同步文件缓存数据
  185. */
  186. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_FM_SynBuff(void);
  187. /*
  188. 关闭当前文件
  189. */
  190. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_FM_Close(void);
  191. /*
  192. 删除当前文件
  193. */
  194. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_FM_Del(const char * Path);
  195. /*
  196. 复制文件
  197. */
  198. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_FM_Copy(const char * DesPath,const char * SrcPath,int Opt);
  199. /*
  200. 格式化磁盘
  201. */
  202. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_FM_FDisk(void);
  203. /*
  204. 播放语音
  205. */
  206. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_TTS_Play(const char * pText, uint8_t Opt);
  207. /*
  208. 停止播放语音
  209. */
  210. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_TTS_Stop(void);
  211. /*
  212. 绘制点
  213. */
  214. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_2D_DrawPoint(int x0, int y0);
  215. /*
  216. 绘制线
  217. */
  218. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_2D_DrawLine(int x0, int y0, int x1, int y1);
  219. /*
  220. 绘制矩形
  221. */
  222. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_2D_DrawRect(int x0, int y0, int x1, int y1);
  223. /*
  224. 填充矩形
  225. */
  226. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_2D_FillRect(int x0, int y0, int x1, int y1);
  227. /*
  228. 绘制圆
  229. */
  230. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_2D_DrawCircle(int x0, int y0, int r);
  231. /*
  232. 填充圆
  233. */
  234. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_2D_FillCircle(int x0, int y0, int r);
  235. /*
  236. 绘制位图
  237. */
  238. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_2D_DrawBitmap(int x0, int y0, int xSize, int ySize,
  239. int BitsPerPixle, int BytesPerLine,
  240. int DataSize, int ColorTabelSize,
  241. const uint8_t * pData);
  242. /*
  243. 显示文本
  244. */
  245. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_2D_DisText(int x0, int y0, const char * pText);
  246. /*
  247. 设置绘图颜色
  248. */
  249. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_2D_SetColor(int Color);
  250. /*
  251. 设置背景颜色
  252. */
  253. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_2D_SetBkColor(int Color);
  254. /*
  255. 设置字体
  256. */
  257. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_2D_SetFont(int FontIndex);
  258. /*
  259. 绘制系统自带的位图
  260. */
  261. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_2D_DrawSysIcon(int x0, int y0, int Num,int Denom,int IconIndex);
  262. /*
  263. 显示所有窗口
  264. */
  265. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_WM_ShowWindow(int WinID);
  266. /*
  267. 隐藏所有窗口
  268. */
  269. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_WM_HideWindow(int WinID);
  270. /*
  271. 删除所有窗口
  272. */
  273. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_WM_DelWindow(int WinID);
  274. /*
  275. 设置窗口自动同步显示
  276. */
  277. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_WM_AutoSyn(int En);
  278. /*
  279. 创建文本控件
  280. */
  281. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_TWIN_Create(int WinID, int Stile, int x0, int y0, int xSize, int ySize);
  282. /*
  283. 删除文本控件
  284. */
  285. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_TWIN_Del(int WinID);
  286. /*
  287. 在文本控件上显示文本。这个接口下载的文字掉电后不能保存。推荐使用这个接口显示经常更改的内容。
  288. */
  289. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_TWIN_DisText( int WinID,
  290. const char * pText,
  291. int EnterMode,
  292. int EnterSpeed,
  293. int DelayMode,
  294. int DelayTime,
  295. int EixtMode,
  296. int EixtSpeed,
  297. int FontIndex,
  298. int TextColor,
  299. int BkColor,
  300. int DisTimes);
  301. /*
  302. 设置文本控件的字体
  303. */
  304. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_TWIN_SetFont(int WinID, int FontIndex);
  305. /*
  306. 设置文本控件的文本颜色
  307. */
  308. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_TWIN_SetTextColor(int WinID, int Color);
  309. /*
  310. 设置文本控件的背景颜色
  311. */
  312. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_TWIN_SetBkColor(int WinID, int Color);
  313. /*
  314. 停止显示文本控件
  315. */
  316. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_TWIN_StopDis(int WinID);
  317. /*
  318. 下载文本文件与文本控件关联。这个接口下载的文字会保存在磁盘中,掉电会保存。
  319. 不建议频繁使用这个接口,这样会对降低FLASH的使用寿命。
  320. 建议对不经常更改的内容下载到磁盘中。例如 广告语等。
  321. */
  322. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_TWIN_DownTextFile( int WinID,
  323. int FileID,
  324. const char * pText,
  325. int EnterMode,
  326. int EnterSpeed,
  327. int DelayMode,
  328. int DelayTime,
  329. int EixtMode,
  330. int EixtSpeed,
  331. int FontIndex,
  332. int TextColor,
  333. int BkColor);
  334. /*
  335. 显示文本控件的文本文件
  336. */
  337. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_TWIN_DisFile(int WinID, int FileID);
  338. /*
  339. 打开文本控件的文本文件
  340. */
  341. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_TWIN_OpenFile(int WinID, int FileID);
  342. /*
  343. 关闭文本控件的文本文件
  344. */
  345. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_TWIN_CloseFile(int WinID, int FileID);
  346. /*
  347. 删除文本控件的文本文件
  348. */
  349. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_TWIN_DelFile(int WinID, int FileID);
  350. /*
  351. 同步显示多个文本控件
  352. */
  353. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_TWIN_SynDis(char * pList,int NumBytes);
  354. /*
  355. 多行显示并且播报语音
  356. */
  357. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_TWIN_SYN_DisEx( int StartWinID,
  358. const char * pText,
  359. int EnterMode,
  360. int EnterSpeed,
  361. int DelayMode,
  362. int DelayTime,
  363. int EixtMode,
  364. int EixtSpeed,
  365. int FontIndex,
  366. int TextColor,
  367. int BkColor,
  368. int DisTimes,
  369. const char * pVoice);
  370. /*
  371. 创建图片控件
  372. */
  373. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_PIC_Create(int WinID,int x0, int y0, int xSize, int ySize);
  374. /*
  375. 删除图片控件
  376. */
  377. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_PIC_Del(int WinID);
  378. /*
  379. 向图片控件追加图片
  380. */
  381. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_PIC_Add(int WinID,int FID,uint8_t EnterMode,uint8_t EnterSpeed,
  382. uint8_t StopMode,uint8_t StopTime,uint8_t ExitMode,uint8_t ExitSpeed);
  383. /*
  384. 删除所有图片
  385. */
  386. EXTERN_C DUCP_API DUCP_ERR_T DUCP_HOST_PIC_Clr(int WinID);
  387. #if defined(__cplusplus)
  388. }
  389. #endif
  390. #endif