| | |
| | | |
| | | const double EPSILON = 1e-3; |
| | | |
| | | static bool SASTesting = false; |
| | | static bool testing = false; |
| | | |
| | | static double slideDistance; |
| | | static PointF stopPoint; |
| | |
| | | void StartSAS(int moveDirect, const struct RtkTime *rtkTime) |
| | | { |
| | | DEBUG("进入坡起项目"); |
| | | SASTesting = true; |
| | | testing = true; |
| | | slideDistance = 0.0; |
| | | |
| | | prevMoveDirect = moveDirect; |
| | |
| | | |
| | | int TestSAS(const Polygon *map, const car_model *car, const car_model *carPrev, double speed, int moveDirect, const struct RtkTime *rtkTime) |
| | | { |
| | | int status = 0; |
| | | |
| | | if (CrashRedLine(map, car)) { |
| | | // 车轮压线,不合格 |
| | | if (!occurCrashRedLine) { |
| | |
| | | |
| | | if (ExitTestArea(map, car)) { |
| | | // 驶离测试区 |
| | | status = 1; |
| | | testing = false; |
| | | } |
| | | |
| | | if (prevMoveDirect != moveDirect) { |
| | |
| | | } |
| | | } |
| | | |
| | | return status; |
| | | return testing ? 0 : 1; |
| | | } |
| | | |
| | | // 车轮是否压边线 |