user_server.h 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. #ifndef _USER_SERVER_H__
  2. #define _USER_SERVER_H__
  3. #include <stdint.h>
  4. #include <stdbool.h>
  5. #include "define.h"
  6. #include "user_can.h"
  7. #ifdef __cplusplus
  8. extern "C" {
  9. #endif
  10. #define USER_SERVER_INTERVAL 10
  11. #define LOCK_COUNT 5
  12. #define S_INS_WR_BYTE 0x2F //写操作发送命令字1个字节
  13. #define S_INS_WR_WORD 0x2B //写操作发送命令字2个字节
  14. #define S_INS_WR_DWORD 0x23 //写操作发送命令字4个字节
  15. #define R_INS_WR_SUCC 0x60 //写操作成功接收命令字
  16. #define R_INS_WR_FAIL 0x80 //写操作失败接收命令字
  17. #define S_INS_RD 0x40 //读操作发送命令字
  18. #define R_INS_RD_BYTE 0x4F //读操作接收命令字1个字节
  19. #define R_INS_RD_WORD 0x4B //读操作接收命令字2个字节
  20. #define R_INS_RD_DWORD 0x43 //读操作接收命令字4个字节
  21. #define R_INS_RD_FAIL 0x80 //读错误接收命令字
  22. #define DEV_TYPE 0x0001
  23. #define REG_DEV_TYPE_IDX 0x6000
  24. #define REG_DEV_TYPE_SUBIDX 0x00
  25. #define REG_VERSION_IDX 0x6003
  26. #define REG_VERSION_SUBIDX 0x00
  27. #define REG_LOCK_STAT_IDX 0x6010
  28. #define REG_LOCK_STAT_SUBIDX 0x00
  29. #define REG_ELECT_STAT_IDX 0x6011
  30. #define REG_ELECT_STAT_SUBIDX 0x00
  31. #define REG_LOCK_ID_IDX 0x6020
  32. #define REG_LOCK_01_ID_SUBIDX 0x00
  33. #define REG_LOCK_02_ID_SUBIDX 0x01
  34. #define REG_LOCK_03_ID_SUBIDX 0x02
  35. #define REG_LOCK_04_ID_SUBIDX 0x03
  36. #define REG_LOCK_05_ID_SUBIDX 0x04
  37. typedef struct{
  38. uint8_t lock_stat;
  39. uint16_t elect_act;
  40. uint16_t elect_stat;
  41. uint8_t lock_id[LOCK_COUNT][4];
  42. }__attribute__((packed))lock_data_s;
  43. typedef struct{
  44. uint8_t ins;
  45. uint16_t idx;
  46. uint8_t subidx;
  47. uint8_t data[4];
  48. }__attribute__((packed))can_open_data_s;
  49. typedef enum
  50. {
  51. SERVER_QUEUE_TIME = 0,
  52. SERVER_QUEUE_CAN = 1,
  53. SERVER_BLE_RST = 2,
  54. }USER_SERVER_QUEUE_TYPE;
  55. void vUser_server_init(void);
  56. void vUser_server_task_start(void);
  57. lock_data_s *vUser_server_get_lock_data(void);
  58. extern tmosTaskID user_server_task_id;
  59. #ifdef __cplusplus
  60. }
  61. #endif
  62. #endif // ACTION_MOTOR_H__
  63. /** @} */