yy1717
2020-01-15 eced3d013f06b623a49cb9deaba42218c4e37bb8
lib/src/main/cpp/driver_test.h
@@ -8,8 +8,31 @@
#include "Geometry.h"
#include "rtk_module/rtk.h"
#include <vector>
#define TIRE_OUTSIDE    0
#define TIRE_INSIDE     1
using namespace std;
struct car_desc_ {
    double distance;            // 距离主天线的距离
    double angle;               // 从中轴线逆时针形成的角度
};
typedef struct {
    PointF basePoint;               // 现场测量的主天线坐标
    int axial[2];
    int left_front_tire[2];
    int right_front_tire[2];
    int left_rear_tire[2];
    int right_rear_tire[2];
    int bodyNum;
    int *body;
    int pointNum;
    struct car_desc_ *carDesc;      // 经现场测量点计算后的值
    PointF *carXY;                  // 计算后的车身各点坐标
} car_model;
// 总数
// 中轴线前点,id 0,中轴线后点id
@@ -31,17 +54,26 @@
    carModelDesc_t *desc;
} car_model_cache_t;
struct ExamFault {
    int sn;
    char utc[32];
    int wrong_id;
};
//vector<ExamFault> ExamFaultList;
void DriverTestInit(void);
void ReadDriverExamPrimer(void);
void ClearMap(void);
void AddMap(int id, int type, const double (*map)[2], int pointNum, const double (*map2)[2], int pointNum2);
void SetCarMeasurePoint(double *basePoint, int *axial, int *left_front_tire,
                        int *right_front_tire, int *left_rear_tire, int *right_rear_tire,
                        double (*point)[2], int pointNum);
                        int *body, int bodyNum, double (*point)[2], int pointNum);
void SetSensorCfg(int (*sensor)[2], int sensorNum);
void StartDriverExam(int start);
void UpdateRTKInfo(const rtk_info *s);
void AddExamFault(int wrong, const char *utc);
car_model_cache_t *GetCarModelCache(int node);
#endif //RTKDRIVERTEST_DRIVER_TEST_H