asj_pe_pullup_warpper.h 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #ifndef ASJ_PE_PULLUP_WARPPER
  2. #define ASJ_PE_PULLUP_WARPPER
  3. #include "PEStatus.h"
  4. #include "pullup_dl_api.h"
  5. // #################################
  6. // ######### PullUp Struct #########
  7. // #################################
  8. typedef struct
  9. {
  10. sampleRunJoint_POINT_S asjPullUpLine[2]; // 杠的两端点
  11. int arm_bend_flag; // 手臂弯曲检测开关
  12. int hand_back_flag; // 正反手检测开关
  13. int body_straight_flag; // 身体摆动过大检测开关
  14. int hand_off_bar_flag; // 双手落杆检测开关
  15. int knee_bend_flag; // 膝盖弯曲检测开关
  16. int exam_interval_sencond; // 两次动作时间间隔超时秒数
  17. } PullUp_ST;
  18. typedef struct
  19. {
  20. int pullUpCount; // 引体向上成功/次数
  21. int pullUp_HandNotStraighten; // 引体向上动作违规->身体没有伸直/次数
  22. int pullUp_NotOverBar; // 引体向上动作违规->(头顶过杠的情况下)下颜没有过杠/次数
  23. int pullUp_BackHand; // 引体向上动作违规->反手/次数
  24. int pullUp_HandDropBar; // 引体向上动作违规->掉杆/次数
  25. int pullUp_BodyOverSwing; // 引体向上动作违规->身体摆动过大/次数
  26. int pullup_OverTime; // 引体向上动作违规->两次动作时间间隔超过10s/次数
  27. int pullup_illegal_flag; // 引体向上动作违规状态码
  28. } PullUpResult_ST;
  29. /**
  30. * 创建实例,单例模式.
  31. * @return 实例指针
  32. */
  33. void* pullup_create();
  34. /**
  35. * 对实例进行数据清零并赋值结构体中的参数
  36. * @param pullup 输入参数:实例指针
  37. * @param pullup_s 输入参数:页面设定的参数
  38. * @return 参考PEStatus.h中的StatusCode
  39. */
  40. int pullup_examInit(void* pullup, PullUp_ST pullup_s);
  41. /**
  42. * 输入推理数据进行准备状态检测
  43. * @param pullup 输入参数:实例指针
  44. * @param mResult 输入参数:页面设定的参数
  45. * @param prepareStatus 输出参数:根据PEStatus.h中的PullUpPrepareCode按位或运算后的返回值
  46. * @return 参考PEStatus.h中的StatusCode
  47. */
  48. int pullup_processPrepare(void* pullup, sampleRunJoint_RESULT_S *mResult, int *prepareStatus);
  49. /**
  50. * 输入推理数据进行考试状态检测
  51. * @param pullup 输入参数:实例指针
  52. * @param mResult 输入参数:页面设定的参数
  53. * @param result 输出参数:结果结构体(包含计数结果和PEStatus.h中的PullUpExamCode按位或运算后的返回值)
  54. * @return 参考PEStatus.h中的StatusCode
  55. */
  56. int pullup_processExam(void* pullup, sampleRunJoint_RESULT_S *mResult, PullUpResult_ST *result);
  57. /**
  58. * Prepare enum转换char*
  59. * @param code 输入参数:枚举变量
  60. * @return 枚举变量对应的字符串
  61. */
  62. const char *PullUpPrepareCode2String(enum PullUpPrepareCode code);
  63. /**
  64. * Exam enum转换char*
  65. * @param code 输入参数:枚举变量
  66. * @return 枚举变量对应的字符串
  67. */
  68. const char *PullUpExamCode2String(enum PullUpExamCode code);
  69. #endif