#ifndef ASJ_PE_BASE #define ASJ_PE_BASE #include #include "dl_api.h" #ifdef __cplusplus extern "C" { #endif // ################################# // ######### PullUp Struct ######### // ################################# typedef struct { sampleRunJoint_POINT_S asjPullUpLine[2]; // 杠的两端点 int arm_bend_flag; // 手臂弯曲检测开关 int hand_back_flag; // 正反手检测开关 int body_straight_flag; // 身体摆动过大检测开关 int hand_off_bar_flag; // 双手落杆检测开关 int knee_bend_flag; // 膝盖弯曲检测开关 int exam_interval_sencond; // 两次动作时间间隔超时秒数 } PullUp_ST; typedef struct { int pullUpCount; // 引体向上成功/次数 int pullUp_HandNotStraighten; // 引体向上动作违规->身体没有伸直/次数 // int pullup_KneeNotStarighten; // 引体向上动作违规->膝盖没有伸直/次数 int pullUp_NotOverBar; // 引体向上动作违规->(头顶过杠的情况下)下颜没有过杠/次数 int pullUp_BackHand; // 引体向上动作违规->反手/次数 int pullUp_HandDropBar; // 引体向上动作违规->掉杆/次数 int pullUp_BodyOverSwing; // 引体向上动作违规->身体摆动过大/次数 int pullup_OverTime; // 引体向上动作违规->两次动作时间间隔超过10s/次数 int pullup_illegal_flag; // 引体向上动作违规状态码 } PullUpResult_ST; // ################################# // ######### SitUp Struct ######### // ################################# typedef struct { float knee_angle_min, knee_angle_max; // 膝盖弯曲角度最小值、膝盖弯曲角度最大值 float knee_elbow_distance; // 肘与膝盖距离阈值 float knee_hip_shoulder_angle; // 膝臀肩角度阈值(用作臀部离垫检测) float hip_shoulder_angle; // 肩臀角度阈值(用于肩胛骨是否触垫检测) int leg_bend_flag; // 双腿弯曲检测开关 int hands_on_head_flag; // 双手抱头检测开关 int hip_lift_flag; // 臀部抬起检测开关 int body_lying_flag; // 身体躺平检测开关 int leave_pad_end_flag; // 离垫检测开关 } SitUp_ST; typedef struct { int sitUpCount; // 仰卧起坐成功/次数 int sitUp_NotLieFalt; // 仰卧起坐动作违规->仰卧时,两肩胛骨没有触垫(未躺平)/次数 int sitUp_ElbowNotTouchKnee; // 仰卧起坐动作违规->起坐时,肘部没有触及两膝/次数 int sitUp_HipLeavePad; // 仰卧起坐动作违规->臀部离垫/次数 int sitUp_HandLeaveHead; // 仰卧起坐动作违规->没有抱头/次数 int sitUp_KneeNotBend; // 仰卧起坐动作违规->膝盖没有弯曲/次数 int situp_illegal_flag; // 仰卧起坐动作违规状态码 } SitUpResult_ST; // ################################# // ##### StandingJump Struct ##### // ################################# typedef struct { sampleRunJoint_POINT_S padPoint[4]; // 垫子的四个顶点(左上,右上,右下,左下) int padLength; // 垫子的长度(cm) int padWidth; // 垫子的宽度(cm) } StandingJump_ST; typedef struct { int score; // 跳远成绩(cm) int standingjump_illegal_flag; // 立定跳远违规状态码 } StandingJumpResult_ST; #ifdef __cplusplus } #endif #endif