12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- #ifndef ASJ_PE_SITUP_WARPPER
- #define ASJ_PE_SITUP_WARPPER
- #include "PEStatus.h"
- #include "situp_dl_api.h"
- // #################################
- // ######### 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;
- /**
- * 创建实例,单例模式.
- * @return 实例指针
- */
- void* situp_create();
- /**
- * 对实例进行数据清零并赋值结构体中的参数
- * @param situp 输入参数:实例指针
- * @param situp_s 输入参数:页面设定的参数
- * @return 参考PEStatus.h中的StatusCode
- */
- int situp_examInit(void* situp, SitUp_ST situp_s);
- /**
- * 输入推理数据进行准备状态检测
- * @param situp 输入参数:实例指针
- * @param mResult 输入参数:页面设定的参数
- * @param prepareStatus 输出参数:根据PEStatus.h中的SitUpPrepareCode按位或运算后的返回值
- * @return 参考PEStatus.h中的StatusCode
- */
- int situp_processPrepare(void* situp, sampleRunJoint_RESULT_S *mResult, int *prepareStatus);
- /**
- * 输入推理数据进行考试状态检测
- * @param situp 输入参数:实例指针
- * @param mResult 输入参数:页面设定的参数
- * @param result 输出参数:结果结构体(包含计数结果和PEStatus.h中的SitUpExamCode按位或运算后的返回值)
- * @return 参考PEStatus.h中的StatusCode
- */
- int situp_processExam(void* situp, sampleRunJoint_RESULT_S *mResult, SitUpResult_ST *result);
- /**
- * Prepare enum转换char*
- * @param code 输入参数:枚举变量
- * @return 枚举变量对应的字符串
- */
- const char *SitUpPrepareCode2String(enum SitUpPrepareCode code);
- /**
- * Exam enum转换char*
- * @param code 输入参数:枚举变量
- * @return 枚举变量对应的字符串
- */
- const char *SitUpExamCode2String(enum SitUpExamCode code);
- #endif
|