#ifndef __OPENMV_OPT__ #define __OPENMV_OPT__ #include #include "AccurateMotor.h" #include "GlobalDatas.h" #include #include namespace OpenMVOpt { extern uint8_t Data_OpenMVBuf[8]; extern uint8_t ROI_Query_CMD[8]; //bool TrackCallback(); //返回false则停止循迹,否则继续循迹 typedef bool(*TrackCallback)(); struct ImageROIData { bool up; bool down; bool left; bool right; bool middle_up; bool middle_down; bool data_validate; }; //车身姿态调整 void AdjustCarPosition(uint8_t Car_Speed); bool AdjustCarPoseInPlace(); //请求ROI数据 ImageROIData GetROIData(); //检查是否出现了大面积白色 bool ROIFoundWhite(const ImageROIData& data); //启动视频循迹 void OpenMVTrack_Disc_StartUp(); //停止视频循迹 void OpenMVTrack_Disc_CloseUp(); //循迹(到下一路口) void OpenMV_Track(uint8_t Car_Speed, TrackCallback cb, bool enable_white_detect = true); //原地循迹(仅矫正姿态,不行进) void OpenMV_TrackInPlace(); //启动二维码识别 void OpenMVQr_Disc_StartUp(); //停止二维码识别 void OpenMVQr_Disc_CloseUp(); //舵机角度控制 void Servo_Control(int8_t angle); }; #endif