communication.h 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. #ifndef __COMMUNITION_MINI_H
  2. #define __COMMUNITION_MINI_H
  3. typedef enum
  4. {
  5. PC_CONNECT_TYPE_NULL = 0x00,
  6. PC_CONNECT_TYPE_WIFI = 0x01,
  7. PC_CONNECT_TYPE_UART = 0x02,
  8. }PC_CONNECT_TYPE_TYPE;
  9. enum cmd_frame_type
  10. {
  11. CDM_FRAME_TYPE_REQ,
  12. CDM_FRAME_TYPE_RESP
  13. };
  14. typedef enum
  15. {
  16. PC_CMD_HANDSHAKE = 0x01,
  17. PC_CMD_SETWIFI,
  18. PC_CMD_QRCODE,
  19. PC_CMD_REPORT_RESULT,
  20. PC_CMD_DATA_UPLOAD,
  21. PC_CMD_REPORT_REEOR = 0x06,
  22. PC_CMD_DATASCOPE,
  23. PC_CMD_SETSN,
  24. PC_CMD_INFO,
  25. PC_CMD_SNANDCARD,
  26. PC_CMD_SETIP = 0x0B,
  27. PC_CMD_SETRUNTEMP = 0x10,
  28. PC_CMD_UPDATESTATE = 0x11,
  29. PC_CMD_ASKSTATE = 0x12,
  30. PC_CMD_SETSTATE = 0x13,/*设置强制改变模块状态*/
  31. PC_CMD_UPDATETEMP = 0x14,/*设置强制改变模块状态*/
  32. PC_CMD_STARTUPDATE = 0x20,/*开始升级*/
  33. PC_CMD_UPDATEINFO = 0x21,/*升级包信息*/
  34. PC_CMD_UPDATEDATA = 0x22,/*升级数据*/
  35. PC_CMD_SWITCHWIFI = 0x28,/*通信走wifi*/
  36. UINON_CMD_TEMP_ADJ = 0x40, /*校准参数*/
  37. UINON_CMD_TEMP_PID = 0x41, /*PID参数*/
  38. UINON_CMD_TEMP_ADJ_GET = 0x42, /*校准参数*/
  39. UINON_CMD_TEMP_PID_GET = 0x43, /*PID参数*/
  40. UINON_CMD_TEMP_START = 0x44, /*开始加热*/
  41. UINON_CMD_TEMP_STOP = 0x45, /*停止加热*/
  42. UINON_CMD_MOTORMOVE = 0x48,
  43. UINON_CMD_MOTORTRETURN = 0x49,
  44. UINON_CMD_MOTORSTOP = 0x4a,
  45. UINON_CMD_MOTORGETPRAM = 0x4b,
  46. UINON_CMD_SET_DEBUG = 0x4c,
  47. UINON_CMD_SET_LOG = 0x4d,
  48. UINON_CMD_TEMP_DEBUG = 0x50,
  49. UINON_CMD_THEROM_GOAL = 0x51,
  50. UINON_CMD_THEROM_CHECK = 0x52,
  51. UINON_CMD_THEROM_OFFSET = 0x53,
  52. UINON_CMD_THEROM_PID = 0x54,
  53. UINON_CMD_THEROM_OVERHEAT = 0x55,
  54. UINON_CMD_THEROM_OVERCOOL = 0x56,
  55. UINON_CMD_THEROM_GET = 0x58,
  56. UINON_CMD_AMPLIF_GET = 0x59,
  57. UINON_CMD_AMPLIF_SET = 0x5a,
  58. }pc_cmd_type;
  59. typedef struct _sysinf
  60. {
  61. unsigned char SN[8];
  62. unsigned char amplifState;
  63. unsigned char lysisState;
  64. unsigned char updateSt;
  65. }stateinfDef;
  66. #define MSG_CMDFRAME_LEN (6)
  67. typedef struct
  68. {
  69. unsigned short head;
  70. unsigned char seq;
  71. unsigned char cmd;
  72. unsigned short len;
  73. char *data;
  74. unsigned char checksum;
  75. unsigned char tail;
  76. }CmdMessage, *pCmdMessage;
  77. struct PCActionPack
  78. {
  79. pc_cmd_type cmd;
  80. int (*action)(unsigned char cmd, unsigned char *parg);
  81. int (*response)(CmdMessage *pMsg, unsigned char result);
  82. int datalen;
  83. };
  84. /* host量配置参数 */
  85. typedef struct _pidParm {
  86. float kp; /* 预留参数2 */
  87. float ki; /* 预留参数1 */
  88. float kd; /* 预留参数3 */
  89. } pidParm;
  90. /* host量配置参数 */
  91. typedef struct _MotorParm {
  92. float time; /* 预留参数2 */
  93. float speed; /* 预留参数1 */
  94. float swingtime; /* 预留参数3 */
  95. } MotorParm;
  96. /* host量配置参数 */
  97. typedef struct _tempAdjCouple {
  98. float raw; /*原始值*/
  99. float offset; /*预留参数2 */
  100. } tempAdjCouple;
  101. typedef struct _tempAdjParm {
  102. unsigned int section; /* 段数 */
  103. tempAdjCouple *offsetlist; /* */
  104. } tempAdjParm;
  105. typedef struct _miniConfigPram {
  106. unsigned int partID;
  107. union {
  108. pidParm pid;
  109. tempAdjParm adj;
  110. MotorParm minf;
  111. }Pram;
  112. } miniConfigPram;
  113. void deal_mUnion_cmd(CmdMessage *pMsg);
  114. void query_pc_cmd(CmdMessage *pMsg);
  115. unsigned int check_to_pc_busy(void);
  116. int data_send_to_pc(pc_cmd_type cmd, char *data, unsigned short len);
  117. void update_work(void) ;
  118. void send_Devinf_pc(void);
  119. #endif