asj_pe_base.h 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. #ifndef ASJ_PE_BASE
  2. #define ASJ_PE_BASE
  3. #include <stdio.h>
  4. #include "dl_api.h"
  5. #ifdef __cplusplus
  6. extern "C"
  7. {
  8. #endif
  9. // #################################
  10. // ######### PullUp Struct #########
  11. // #################################
  12. typedef struct
  13. {
  14. sampleRunJoint_POINT_S asjPullUpLine[2]; // 杠的两端点
  15. int arm_bend_flag; // 手臂弯曲检测开关
  16. int hand_back_flag; // 正反手检测开关
  17. int body_straight_flag; // 身体摆动过大检测开关
  18. int hand_off_bar_flag; // 双手落杆检测开关
  19. int knee_bend_flag; // 膝盖弯曲检测开关
  20. int exam_interval_sencond; // 两次动作时间间隔超时秒数
  21. } PullUp_ST;
  22. typedef struct
  23. {
  24. int pullUpCount; // 引体向上成功/次数
  25. int pullUp_HandNotStraighten; // 引体向上动作违规->身体没有伸直/次数
  26. // int pullup_KneeNotStarighten; // 引体向上动作违规->膝盖没有伸直/次数
  27. int pullUp_NotOverBar; // 引体向上动作违规->(头顶过杠的情况下)下颜没有过杠/次数
  28. int pullUp_BackHand; // 引体向上动作违规->反手/次数
  29. int pullUp_HandDropBar; // 引体向上动作违规->掉杆/次数
  30. int pullUp_BodyOverSwing; // 引体向上动作违规->身体摆动过大/次数
  31. int pullup_OverTime; // 引体向上动作违规->两次动作时间间隔超过10s/次数
  32. int pullup_illegal_flag; // 引体向上动作违规状态码
  33. } PullUpResult_ST;
  34. // #################################
  35. // ######### SitUp Struct #########
  36. // #################################
  37. typedef struct
  38. {
  39. float knee_angle_min, knee_angle_max; // 膝盖弯曲角度最小值、膝盖弯曲角度最大值
  40. float knee_elbow_distance; // 肘与膝盖距离阈值
  41. float knee_hip_shoulder_angle; // 膝臀肩角度阈值(用作臀部离垫检测)
  42. float hip_shoulder_angle; // 肩臀角度阈值(用于肩胛骨是否触垫检测)
  43. int leg_bend_flag; // 双腿弯曲检测开关
  44. int hands_on_head_flag; // 双手抱头检测开关
  45. int hip_lift_flag; // 臀部抬起检测开关
  46. int body_lying_flag; // 身体躺平检测开关
  47. int leave_pad_end_flag; // 离垫检测开关
  48. } SitUp_ST;
  49. typedef struct
  50. {
  51. int sitUpCount; // 仰卧起坐成功/次数
  52. int sitUp_NotLieFalt; // 仰卧起坐动作违规->仰卧时,两肩胛骨没有触垫(未躺平)/次数
  53. int sitUp_ElbowNotTouchKnee; // 仰卧起坐动作违规->起坐时,肘部没有触及两膝/次数
  54. int sitUp_HipLeavePad; // 仰卧起坐动作违规->臀部离垫/次数
  55. int sitUp_HandLeaveHead; // 仰卧起坐动作违规->没有抱头/次数
  56. int sitUp_KneeNotBend; // 仰卧起坐动作违规->膝盖没有弯曲/次数
  57. int situp_illegal_flag; // 仰卧起坐动作违规状态码
  58. } SitUpResult_ST;
  59. // #################################
  60. // ##### StandingJump Struct #####
  61. // #################################
  62. typedef struct
  63. {
  64. sampleRunJoint_POINT_S padPoint[4]; // 垫子的四个顶点(左上,右上,右下,左下)
  65. int padLength; // 垫子的长度(cm)
  66. int padWidth; // 垫子的宽度(cm)
  67. } StandingJump_ST;
  68. typedef struct
  69. {
  70. int score; // 跳远成绩(cm)
  71. int standingjump_illegal_flag; // 立定跳远违规状态码
  72. } StandingJumpResult_ST;
  73. #ifdef __cplusplus
  74. }
  75. #endif
  76. #endif