communication.h 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  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. UINON_CMD_TEMP_ADJ = 0x40, /*校准参数*/
  33. UINON_CMD_TEMP_PID = 0x41, /*PID参数*/
  34. UINON_CMD_TEMP_ADJ_GET = 0x42, /*校准参数*/
  35. UINON_CMD_TEMP_PID_GET = 0x43, /*PID参数*/
  36. UINON_CMD_TEMP_START = 0x44, /*开始加热*/
  37. UINON_CMD_TEMP_STOP = 0x45, /*停止加热*/
  38. UINON_CMD_MOTORMOVE = 0x48,
  39. UINON_CMD_MOTORTRETURN = 0x49,
  40. UINON_CMD_MOTORSTOP = 0x4a,
  41. UINON_CMD_MOTORGETPRAM = 0x4b,
  42. UINON_CMD_TEMP_DEBUG = 0x50,
  43. UINON_CMD_THEROM_GOAL = 0x51,
  44. UINON_CMD_THEROM_CHECK = 0x52,
  45. UINON_CMD_THEROM_OFFSET = 0x53,
  46. UINON_CMD_THEROM_PID = 0x54,
  47. UINON_CMD_THEROM_OVERHEAT = 0x55,
  48. UINON_CMD_THEROM_OVERCOOL = 0x56,
  49. UINON_CMD_THEROM_GET = 0x58,
  50. UINON_CMD_AMPLIF_GET = 0x59,
  51. UINON_CMD_AMPLIF_SET = 0x5a,
  52. }pc_cmd_type;
  53. typedef struct _sysinf
  54. {
  55. unsigned char SN[8];
  56. unsigned char amplifState;
  57. unsigned char lysisState;
  58. unsigned char updateSt;
  59. }stateinfDef;
  60. #define MSG_CMDFRAME_LEN (6)
  61. typedef struct
  62. {
  63. unsigned short head;
  64. unsigned char seq;
  65. unsigned char cmd;
  66. unsigned short len;
  67. char *data;
  68. unsigned char checksum;
  69. unsigned char tail;
  70. }CmdMessage, *pCmdMessage;
  71. struct PCActionPack
  72. {
  73. pc_cmd_type cmd;
  74. int (*action)(unsigned char cmd, unsigned char *parg);
  75. int (*response)(CmdMessage *pMsg, unsigned char result);
  76. int datalen;
  77. };
  78. /* host量配置参数 */
  79. typedef struct _pidParm {
  80. float kp; /* 预留参数2 */
  81. float ki; /* 预留参数1 */
  82. float kd; /* 预留参数3 */
  83. } pidParm;
  84. /* host量配置参数 */
  85. typedef struct _MotorParm {
  86. float time; /* 预留参数2 */
  87. float speed; /* 预留参数1 */
  88. float swingtime; /* 预留参数3 */
  89. } MotorParm;
  90. /* host量配置参数 */
  91. typedef struct _tempAdjCouple {
  92. float raw; /*原始值*/
  93. float offset; /*预留参数2 */
  94. } tempAdjCouple;
  95. typedef struct _tempAdjParm {
  96. unsigned int section; /* 段数 */
  97. tempAdjCouple *offsetlist; /* */
  98. } tempAdjParm;
  99. typedef struct _miniConfigPram {
  100. unsigned int partID;
  101. union {
  102. pidParm pid;
  103. tempAdjParm adj;
  104. MotorParm minf;
  105. }Pram;
  106. } miniConfigPram;
  107. void deal_mUnion_cmd(CmdMessage *pMsg);
  108. void query_pc_cmd(CmdMessage *pMsg);
  109. unsigned int check_to_pc_busy(void);
  110. int data_send_to_pc(pc_cmd_type cmd, char *data, unsigned short len);
  111. void update_work(void) ;
  112. void send_Devinf_pc(void);
  113. #endif