You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 lines
1.1 KiB
C

#ifndef __OPENMV_OPT__
#define __OPENMV_OPT__
#include <ExtSRAMInterface.h>
2 years ago
#include "AccurateMotor.h"
#include "GlobalDatas.h"
#include <Command.h>
2 years ago
#include <BEEP.h>
namespace OpenMVOpt
{
extern uint8_t Data_OpenMVBuf[8];
2 years ago
extern uint8_t ROI_Query_CMD[8];
//bool TrackCallback();
//<2F><><EFBFBD><EFBFBD>false<73><65>ֹͣѭ<D6B9><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѭ<EFBFBD><D1AD>
typedef bool(*TrackCallback)();
struct ImageROIData
{
bool up;
bool down;
bool left;
bool right;
bool middle_up;
bool middle_down;
bool data_validate;
};
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD>
void AdjustCarPosition(uint8_t Car_Speed);
2 years ago
bool AdjustCarPoseInPlace();
2 years ago
//<2F><><EFBFBD><EFBFBD>ROI<4F><49><EFBFBD><EFBFBD>
ImageROIData GetROIData();
//<2F><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><CBB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
bool ROIFoundWhite(const ImageROIData& data);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶѭ<C6B5><D1AD>
void OpenMVTrack_Disc_StartUp();
//ֹͣ<CDA3><D6B9>Ƶѭ<C6B5><D1AD>
void OpenMVTrack_Disc_CloseUp();
//ѭ<><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ·<D2BB>ڣ<EFBFBD>
2 years ago
void OpenMV_Track(uint8_t Car_Speed, TrackCallback cb, bool enable_white_detect = true);
2 years ago
//ԭ<><D4AD>ѭ<EFBFBD><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD>н<EFBFBD><D0BD><EFBFBD>
void OpenMV_TrackInPlace();
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ά<EFBFBD><CEAC>ʶ<EFBFBD><CAB6>
void OpenMVQr_Disc_StartUp();
//ֹͣ<CDA3><D6B9>ά<EFBFBD><CEAC>ʶ<EFBFBD><CAB6>
void OpenMVQr_Disc_CloseUp();
//<2F><><EFBFBD><EFBFBD><EFBFBD>Ƕȿ<C7B6><C8BF><EFBFBD>
void Servo_Control(int8_t angle);
};
#endif