forked from floratest1/SpireCV
add setDownwardShootingMode
This commit is contained in:
parent
2bd20331d5
commit
a63faacdbe
|
@ -58,6 +58,7 @@ public:
|
||||||
void *extenData);
|
void *extenData);
|
||||||
|
|
||||||
uint32_t setGNSSInfo(float lng, float lat, float alt, uint32_t nState, float relAlt);
|
uint32_t setGNSSInfo(float lng, float lat, float alt, uint32_t nState, float relAlt);
|
||||||
|
uint32_t setDownwardShootingMode();
|
||||||
uint32_t extensionFuntions(void *cmd);
|
uint32_t extensionFuntions(void *cmd);
|
||||||
static amovGimbal::amovGimbalBase *creat(amovGimbal::IOStreamBase *_IO)
|
static amovGimbal::amovGimbalBase *creat(amovGimbal::IOStreamBase *_IO)
|
||||||
{
|
{
|
||||||
|
|
|
@ -249,3 +249,8 @@ uint32_t GX40GimbalDriver::setGNSSInfo(float lng, float lat, float alt, uint32_t
|
||||||
carrierStateMutex.unlock();
|
carrierStateMutex.unlock();
|
||||||
return sizeof(GX40::GIMBAL_SECONDARY_MASTER_FRAME_T);
|
return sizeof(GX40::GIMBAL_SECONDARY_MASTER_FRAME_T);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint32_t GX40GimbalDriver::setDownwardShootingMode()
|
||||||
|
{
|
||||||
|
return pack(GX40::GIMBAL_CMD_MODE_OVERLOCK,nullptr,0);
|
||||||
|
}
|
|
@ -87,6 +87,7 @@ namespace amovGimbal
|
||||||
const AMOV_GIMBAL_VELOCITY_T &seppd,
|
const AMOV_GIMBAL_VELOCITY_T &seppd,
|
||||||
const AMOV_GIMBAL_VELOCITY_T &acc, void *extenData);
|
const AMOV_GIMBAL_VELOCITY_T &acc, void *extenData);
|
||||||
uint32_t setGNSSInfo(float lng, float lat, float alt, uint32_t nState, float relAlt);
|
uint32_t setGNSSInfo(float lng, float lat, float alt, uint32_t nState, float relAlt);
|
||||||
|
uint32_t setDownwardShootingMode();
|
||||||
uint32_t extensionFuntions(void *cmd);
|
uint32_t extensionFuntions(void *cmd);
|
||||||
|
|
||||||
// block functions
|
// block functions
|
||||||
|
|
|
@ -40,6 +40,7 @@ extern "C"
|
||||||
AMOV_GIMBAL_VELOCITY_T *speed,
|
AMOV_GIMBAL_VELOCITY_T *speed,
|
||||||
AMOV_GIMBAL_VELOCITY_T *acc, void *extenData, void *handle);
|
AMOV_GIMBAL_VELOCITY_T *acc, void *extenData, void *handle);
|
||||||
uint32_t amovGimbalSetGNSSInfo(float lng, float lat, float alt, uint32_t nState, float relAlt, void *handle);
|
uint32_t amovGimbalSetGNSSInfo(float lng, float lat, float alt, uint32_t nState, float relAlt, void *handle);
|
||||||
|
uint32_t amovGimbalSetDownwardShootingMode(void* handle);
|
||||||
uint32_t amovGimbalExtensionFuntions(void *cmd, void *handle);
|
uint32_t amovGimbalExtensionFuntions(void *cmd, void *handle);
|
||||||
void getGimabalState(AMOV_GIMBAL_STATE_T *state, void *handle);
|
void getGimabalState(AMOV_GIMBAL_STATE_T *state, void *handle);
|
||||||
void getGimbalType(char *type, void *handle);
|
void getGimbalType(char *type, void *handle);
|
||||||
|
|
|
@ -168,6 +168,17 @@ uint32_t amovGimbal::IamovGimbalBase::setGNSSInfo(float lng, float lat, float al
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint32_t amovGimbal::gimbal::setDownwardShootingMode()
|
||||||
|
{
|
||||||
|
return ((amovGimbalBase*)(this->devHandle))->setDownwardShootingMode();
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32_t amovGimbal::IamovGimbalBase::setDownwardShootingMode()
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uint32_t amovGimbal::gimbal::extensionFuntions(void *cmd)
|
uint32_t amovGimbal::gimbal::extensionFuntions(void *cmd)
|
||||||
{
|
{
|
||||||
return ((amovGimbalBase *)(this->devHandle))->extensionFuntions(cmd);
|
return ((amovGimbalBase *)(this->devHandle))->extensionFuntions(cmd);
|
||||||
|
|
|
@ -110,6 +110,12 @@ uint32_t amovGimbalSetGNSSInfo(float lng, float lat, float alt, uint32_t nState,
|
||||||
return ((amovGimbal::gimbal *)handle)->setGNSSInfo(lng, lat, alt, nState, relAlt);
|
return ((amovGimbal::gimbal *)handle)->setGNSSInfo(lng, lat, alt, nState, relAlt);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint32_t amovGimbalSetDownwardShootingMode(void* handle)
|
||||||
|
{
|
||||||
|
return ((amovGimbal::gimbal*)handle)->setDownwardShootingMode();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
uint32_t amovGimbalExtensionFuntions(void *cmd, void *handle)
|
uint32_t amovGimbalExtensionFuntions(void *cmd, void *handle)
|
||||||
{
|
{
|
||||||
return ((amovGimbal::gimbal *)handle)->extensionFuntions(cmd);
|
return ((amovGimbal::gimbal *)handle)->extensionFuntions(cmd);
|
||||||
|
|
|
@ -92,8 +92,10 @@ namespace amovGimbal
|
||||||
virtual uint32_t attitudeCorrection(const AMOV_GIMBAL_QUATERNION_T &quaterion, const AMOV_GIMBAL_VELOCITY_T &speed, const AMOV_GIMBAL_VELOCITY_T &acc, void *extenData);
|
virtual uint32_t attitudeCorrection(const AMOV_GIMBAL_QUATERNION_T &quaterion, const AMOV_GIMBAL_VELOCITY_T &speed, const AMOV_GIMBAL_VELOCITY_T &acc, void *extenData);
|
||||||
virtual uint32_t attitudeCorrection(const AMOV_GIMBAL_POS_T &pos, const AMOV_GIMBAL_VELOCITY_T &seppd, const AMOV_GIMBAL_VELOCITY_T &acc, void *extenData);
|
virtual uint32_t attitudeCorrection(const AMOV_GIMBAL_POS_T &pos, const AMOV_GIMBAL_VELOCITY_T &seppd, const AMOV_GIMBAL_VELOCITY_T &acc, void *extenData);
|
||||||
virtual uint32_t setGNSSInfo(float lng, float lat, float alt, uint32_t nState, float relAlt);
|
virtual uint32_t setGNSSInfo(float lng, float lat, float alt, uint32_t nState, float relAlt);
|
||||||
|
virtual uint32_t setDownwardShootingMode();
|
||||||
virtual uint32_t extensionFuntions(void *cmd);
|
virtual uint32_t extensionFuntions(void *cmd);
|
||||||
|
|
||||||
|
|
||||||
// block functions
|
// block functions
|
||||||
virtual bool setGimbalPosBlock(const AMOV_GIMBAL_POS_T &pos);
|
virtual bool setGimbalPosBlock(const AMOV_GIMBAL_POS_T &pos);
|
||||||
virtual bool setGimabalHomeBlock(void);
|
virtual bool setGimabalHomeBlock(void);
|
||||||
|
|
|
@ -554,6 +554,13 @@ void sv::Gimbal::attitudeCorrection(const GimbalPosT &pos,
|
||||||
pdevTemp->attitudeCorrection(temp_p, temp_v1, temp_v2, extenData);
|
pdevTemp->attitudeCorrection(temp_p, temp_v1, temp_v2, extenData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void sv::Gimbal::setDownwardShootingMode()
|
||||||
|
{
|
||||||
|
amovGimbal::gimbal* pdevTemp = (amovGimbal::gimbal*)this->dev;
|
||||||
|
pdevTemp->setDownwardShootingMode();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
sv::Gimbal::~Gimbal()
|
sv::Gimbal::~Gimbal()
|
||||||
{
|
{
|
||||||
removeIO(this);
|
removeIO(this);
|
||||||
|
|
|
@ -194,6 +194,8 @@ namespace sv
|
||||||
const GimbalVelocityT &speed,
|
const GimbalVelocityT &speed,
|
||||||
const GimbalVelocityT &acc, void *extenData);
|
const GimbalVelocityT &acc, void *extenData);
|
||||||
|
|
||||||
|
void setDownwardShootingMode();
|
||||||
|
|
||||||
//! Set gimbal angles
|
//! Set gimbal angles
|
||||||
/*!
|
/*!
|
||||||
\param roll: eular roll angle (-60, 60) degree
|
\param roll: eular roll angle (-60, 60) degree
|
||||||
|
|
|
@ -35,21 +35,24 @@ void gimbalNoTrack(void)
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
// 实例化吊舱
|
// 实例化吊舱
|
||||||
gimbal = new sv::Gimbal(sv::GimbalType::G1, sv::GimbalLink::SERIAL);
|
gimbal = new sv::Gimbal(sv::GimbalType::GX40, sv::GimbalLink::SERIAL);
|
||||||
// 使用 /dev/ttyUSB0 作为控制串口
|
// 使用 /dev/ttyUSB0 作为控制串口
|
||||||
gimbal->setSerialPort("/dev/ttyUSB0");
|
gimbal->setSerialPort("/dev/ttyUSB0");
|
||||||
// 以GimableCallback作为状态回调函数启用吊舱控制
|
// 以GimableCallback作为状态回调函数启用吊舱控制
|
||||||
gimbal->open(GimableCallback);
|
gimbal->open(GimableCallback);
|
||||||
|
|
||||||
|
gimbal->setDownwardShootingMode();
|
||||||
|
|
||||||
// 定义相机
|
// 定义相机
|
||||||
sv::Camera cap;
|
sv::Camera cap;
|
||||||
// 设置相机流媒体地址为 192.168.2.64
|
// 设置相机流媒体地址为 192.168.2.64
|
||||||
cap.setIp("192.168.2.64");
|
cap.setIp("192.168.144.108");
|
||||||
// 设置获取画面分辨率为720P
|
// 设置获取画面分辨率为720P
|
||||||
cap.setWH(1280, 720);
|
cap.setWH(1280, 720);
|
||||||
// 设置视频帧率为30帧
|
// 设置视频帧率为30帧
|
||||||
cap.setFps(30);
|
cap.setFps(30);
|
||||||
// 开启相机
|
// 开启相机
|
||||||
cap.open(sv::CameraType::G1);
|
cap.open(sv::CameraType::GX40);
|
||||||
|
|
||||||
// 定义一个新的窗口,可在上面进行框选操作
|
// 定义一个新的窗口,可在上面进行框选操作
|
||||||
cv::namedWindow(RGB_WINDOW);
|
cv::namedWindow(RGB_WINDOW);
|
||||||
|
|
Loading…
Reference in New Issue