修改串口摄像机下发命令宏定义

main
jxjajs 6 months ago
parent 813d9f6485
commit f91a65d280

@ -1130,7 +1130,7 @@ void testComm()
CameraPhotoCmd(time(NULL), 1, 0, 6, 1, "/dev/ttyS1",38400, 1); CameraPhotoCmd(time(NULL), 1, 0, 6, 1, "/dev/ttyS1",38400, 1);
sleep(5); sleep(5);
CameraPhotoCmd(time(NULL), 1, 10017, 0, 2, "/dev/ttyS1",38400, 1); CameraPhotoCmd(time(NULL), 1, MOVE_PRESETNO, 0, 2, "/dev/ttyS1",38400, 1);
sleep(5); sleep(5);
CameraPhotoCmd(0, 1, MOVE_LEFT, 0, 0, "/dev/ttyS1",38400, 1); CameraPhotoCmd(0, 1, MOVE_LEFT, 0, 0, "/dev/ttyS1",38400, 1);
@ -1141,7 +1141,7 @@ void testComm()
sleep(5); sleep(5);
CameraPhotoCmd(0, 1, MOVE_UP, 0, 0, "/dev/ttyS1",38400, 1); CameraPhotoCmd(0, 1, MOVE_UP, 0, 0, "/dev/ttyS1",38400, 1);
sleep(5); sleep(5);
CameraPhotoCmd(0, 1, 10017, 0, 1, "/dev/ttyS1",38400, 1); CameraPhotoCmd(0, 1, MOVE_PRESETNO, 0, 1, "/dev/ttyS1",38400, 1);
sleep(5); sleep(5);
sleep(5); sleep(5);
//CameraPhotoCmd(0, 1, ZOOM_WIDE, 0, 0); //CameraPhotoCmd(0, 1, ZOOM_WIDE, 0, 0);
@ -1306,16 +1306,16 @@ void GM_StartSerialComm()
for (i = 0; i < MAX_SERIAL_DEV_NUM; i++) for (i = 0; i < MAX_SERIAL_DEV_NUM; i++)
{ {
memset(srdt.ms_dev[i].aiValue, 0, sizeof(AI_DEF)*MAX_DEV_VALUE_NUM); memset(srdt.ms_dev[i].aiValue, 0, sizeof(AI_DEF)*MAX_DEV_VALUE_NUM);
memset(weatherpntmsg, 0, sizeof(AI_DEF)*WEATHER_DATA_NUM);
if (0 == devparam[i].IsNoInsta) if (0 == devparam[i].IsNoInsta)
{ {
srdt.ms_dev[i].IsNeedSerial = 0; srdt.ms_dev[i].IsNeedSerial = 0;
continue; continue;
} }
memset(szbuf, 0, sizeof(szbuf));
switch (devparam[i].ProtocolIdx) switch (devparam[i].ProtocolIdx)
{ {
case WEATHER_PROTOCOL: // 气象 case WEATHER_PROTOCOL: // 气象
memset(weatherpntmsg, 0, sizeof(AI_DEF)*WEATHER_DATA_NUM);
memset(szbuf, 0, sizeof(szbuf));
sprintf(szbuf, "%s", "气象"); sprintf(szbuf, "%s", "气象");
srdt.ms_dev[i].IsNeedSerial = 1; srdt.ms_dev[i].IsNeedSerial = 1;
srdt.ms_dev[i].FirstCmdTimeCnt = get_msec(); srdt.ms_dev[i].FirstCmdTimeCnt = get_msec();
@ -1324,6 +1324,8 @@ void GM_StartSerialComm()
{ {
srdt.ms_dev[i].aiValue[j].AiState = SER_STARTSAMPLE; srdt.ms_dev[i].aiValue[j].AiState = SER_STARTSAMPLE;
weatherpntmsg[j].AiState = SER_STARTSAMPLE; weatherpntmsg[j].AiState = SER_STARTSAMPLE;
sprintf(logbuf, "init weather_state%d=%d", j, weatherpntmsg[j].AiState);
DebugLog(8, logbuf, 'I');
} }
break; break;
case RALLY_PROTOCOL: /* 拉力*/ case RALLY_PROTOCOL: /* 拉力*/
@ -1335,6 +1337,8 @@ void GM_StartSerialComm()
srdt.ms_dev[i].aiValue[j].AiState = SER_STARTSAMPLE; srdt.ms_dev[i].aiValue[j].AiState = SER_STARTSAMPLE;
break; break;
case WIND_PROTOCOL: /* 风速风向*/ case WIND_PROTOCOL: /* 风速风向*/
memset(weatherpntmsg, 0, sizeof(AI_DEF)*WEATHER_DATA_NUM);
memset(szbuf, 0, sizeof(szbuf));
sprintf(szbuf, "%s", "风速风向"); sprintf(szbuf, "%s", "风速风向");
srdt.ms_dev[i].IsNeedSerial = 1; srdt.ms_dev[i].IsNeedSerial = 1;
srdt.ms_dev[i].FirstCmdTimeCnt = get_msec(); srdt.ms_dev[i].FirstCmdTimeCnt = get_msec();
@ -1342,6 +1346,8 @@ void GM_StartSerialComm()
{ {
srdt.ms_dev[i].aiValue[j].AiState = SER_STARTSAMPLE; srdt.ms_dev[i].aiValue[j].AiState = SER_STARTSAMPLE;
weatherpntmsg[j].AiState = SER_STARTSAMPLE; weatherpntmsg[j].AiState = SER_STARTSAMPLE;
sprintf(logbuf, "init weather_state%d=%d", j, weatherpntmsg[j].AiState);
DebugLog(8, logbuf, 'I');
} }
break; break;
case SLANT_PROTOCOL: /* 倾角*/ case SLANT_PROTOCOL: /* 倾角*/
@ -1535,12 +1541,17 @@ void GM_IsCloseSensors()
else if (SER_SAMPLE == srdt.ms_dev[i].aiValue[j].AiState) else if (SER_SAMPLE == srdt.ms_dev[i].aiValue[j].AiState)
srdt.ms_dev[i].aiValue[j].AiState = SAMPLINGSUCCESS; srdt.ms_dev[i].aiValue[j].AiState = SAMPLINGSUCCESS;
} }
if((devparam[i].ProtocolIdx == WIND_PROTOCOL) || (WEATHER_PROTOCOL == devparam[i].ProtocolIdx))
{
for (j = 0; j < WEATHER_DATA_NUM; j++) for (j = 0; j < WEATHER_DATA_NUM; j++)
{ {
if (SER_STARTSAMPLE == weatherpntmsg[j].AiState) if (SER_STARTSAMPLE == weatherpntmsg[j].AiState)
weatherpntmsg[j].AiState = SER_SAMPLEFAIL; weatherpntmsg[j].AiState = SER_SAMPLEFAIL;
else if (SER_SAMPLE == weatherpntmsg[j].AiState) else if (SER_SAMPLE == weatherpntmsg[j].AiState)
weatherpntmsg[j].AiState = SAMPLINGSUCCESS; weatherpntmsg[j].AiState = SAMPLINGSUCCESS;
sprintf(buf, "over weather_state%d=%d", j, weatherpntmsg[j].AiState);
DebugLog(8, buf, 'I');
}
} }
} }
break; break;
@ -2254,7 +2265,7 @@ int FindNextCameraPhotoCommand(SIO_PARAM_SERIAL_DEF *pPortParam)
} }
switch (cmdno) switch (cmdno)
{ {
case 0:/* 下发拍照指令*/ case Take_Photo:/* 下发拍照指令*/
if (lcurtime - pPortParam->FirstCmdTimeCnt < 3800) if (lcurtime - pPortParam->FirstCmdTimeCnt < 3800)
return -1; return -1;
if ((lcurtime - pPortParam->FirstCmdTimeCnt > 3 * 35 * 1000) || (lcurtime - pPortParam->FirstCmdTimeCnt < 0)) if ((lcurtime - pPortParam->FirstCmdTimeCnt > 3 * 35 * 1000) || (lcurtime - pPortParam->FirstCmdTimeCnt < 0))
@ -2281,7 +2292,7 @@ int FindNextCameraPhotoCommand(SIO_PARAM_SERIAL_DEF *pPortParam)
imagesize = srdt.bImageSize; imagesize = srdt.bImageSize;
break; break;
case 10000: /* 下发设置串口波特率命令*/ case SET_BAUD: /* 下发设置串口波特率命令*/
#if 0 #if 0
switch (devparam[devidx].baudrate) switch (devparam[devidx].baudrate)
{ {
@ -2329,7 +2340,7 @@ int FindNextCameraPhotoCommand(SIO_PARAM_SERIAL_DEF *pPortParam)
packetsize = (uint16_t)MAX_PHOTO_FRAME_LEN; packetsize = (uint16_t)MAX_PHOTO_FRAME_LEN;
break; break;
case 10005: /* 关闭功能*/ case STOP_CMD: /* 关闭功能*/
//Gm_CtrlPtzCmd(1, P_MOVE_LEFT); //Gm_CtrlPtzCmd(1, P_MOVE_LEFT);
//sleep(2); //sleep(2);
Gm_CtrlPtzCmd(pPortParam, Cmd_Cancel); Gm_CtrlPtzCmd(pPortParam, Cmd_Cancel);
@ -2338,25 +2349,25 @@ int FindNextCameraPhotoCommand(SIO_PARAM_SERIAL_DEF *pPortParam)
srdt.iLastGetPhotoNo = -1; srdt.iLastGetPhotoNo = -1;
//sleep(20); //sleep(20);
return 1; return 1;
case 10006: /* 自动扫描功能控制(1/0 打开/关闭该功能)*/ case AUTO_SCAN: /* 自动扫描功能控制(1/0 打开/关闭该功能)*/
Gm_CtrlPtzCmd(pPortParam, P_Auto_Scan); Gm_CtrlPtzCmd(pPortParam, P_Auto_Scan);
usleep(100000); usleep(100000);
pPortParam->SerialCmdidx = srdt.iLastGetPhotoNo; pPortParam->SerialCmdidx = srdt.iLastGetPhotoNo;
srdt.iLastGetPhotoNo = -1; srdt.iLastGetPhotoNo = -1;
return 1; return 1;
case 10007: /* 光圈缩小(1 有效)*/ case IRIS_CLOSE: /* 光圈缩小(1 有效)*/
Gm_CtrlPtzCmd(pPortParam, P_IRIS_CLOSE); Gm_CtrlPtzCmd(pPortParam, P_IRIS_CLOSE);
usleep(100000); usleep(100000);
pPortParam->SerialCmdidx = srdt.iLastGetPhotoNo; pPortParam->SerialCmdidx = srdt.iLastGetPhotoNo;
srdt.iLastGetPhotoNo = -1; srdt.iLastGetPhotoNo = -1;
return 1; return 1;
case 10008: /* 光圈放大(1 有效)*/ case IRIS_OPEN: /* 光圈放大(1 有效)*/
Gm_CtrlPtzCmd(pPortParam, P_IRIS_OPEN); Gm_CtrlPtzCmd(pPortParam, P_IRIS_OPEN);
usleep(100000); usleep(100000);
pPortParam->SerialCmdidx = srdt.iLastGetPhotoNo; pPortParam->SerialCmdidx = srdt.iLastGetPhotoNo;
srdt.iLastGetPhotoNo = -1; srdt.iLastGetPhotoNo = -1;
return 1; return 1;
case 10009: /* 近距离聚焦(1 有效)*/ case FOCUS_NEAR: /* 近距离聚焦(1 有效)*/
Gm_CtrlPtzCmd(pPortParam, P_FOCUS_NEAR); Gm_CtrlPtzCmd(pPortParam, P_FOCUS_NEAR);
usleep(500000); usleep(500000);
Gm_CtrlPtzCmd(pPortParam, Cmd_Cancel); Gm_CtrlPtzCmd(pPortParam, Cmd_Cancel);
@ -2364,7 +2375,7 @@ int FindNextCameraPhotoCommand(SIO_PARAM_SERIAL_DEF *pPortParam)
pPortParam->SerialCmdidx = srdt.iLastGetPhotoNo; pPortParam->SerialCmdidx = srdt.iLastGetPhotoNo;
srdt.iLastGetPhotoNo = -1; srdt.iLastGetPhotoNo = -1;
return 1; return 1;
case 10010: /* 远距离聚焦(1 有效)*/ case FOCUS_FAR: /* 远距离聚焦(1 有效)*/
Gm_CtrlPtzCmd(pPortParam, P_FOCUS_FAR); Gm_CtrlPtzCmd(pPortParam, P_FOCUS_FAR);
usleep(500000); usleep(500000);
Gm_CtrlPtzCmd(pPortParam, Cmd_Cancel); Gm_CtrlPtzCmd(pPortParam, Cmd_Cancel);
@ -2372,7 +2383,7 @@ int FindNextCameraPhotoCommand(SIO_PARAM_SERIAL_DEF *pPortParam)
pPortParam->SerialCmdidx = srdt.iLastGetPhotoNo; pPortParam->SerialCmdidx = srdt.iLastGetPhotoNo;
srdt.iLastGetPhotoNo = -1; srdt.iLastGetPhotoNo = -1;
return 1; return 1;
case 10011: /* 远离物体(1 有效)*/ case ZOOM_WIDE: /* 远离物体(1 有效)*/
Gm_CtrlPtzCmd(pPortParam, P_ZOOM_WIDE); Gm_CtrlPtzCmd(pPortParam, P_ZOOM_WIDE);
usleep(500000); usleep(500000);
Gm_CtrlPtzCmd(pPortParam, Cmd_Cancel); Gm_CtrlPtzCmd(pPortParam, Cmd_Cancel);
@ -2380,7 +2391,7 @@ int FindNextCameraPhotoCommand(SIO_PARAM_SERIAL_DEF *pPortParam)
pPortParam->SerialCmdidx = srdt.iLastGetPhotoNo; pPortParam->SerialCmdidx = srdt.iLastGetPhotoNo;
srdt.iLastGetPhotoNo = -1; srdt.iLastGetPhotoNo = -1;
return 1; return 1;
case 10012: /* 接近物体(1 有效)*/ case ZOOM_TELE: /* 接近物体(1 有效)*/
Gm_CtrlPtzCmd(pPortParam, P_ZOOM_TELE); Gm_CtrlPtzCmd(pPortParam, P_ZOOM_TELE);
usleep(500000); usleep(500000);
Gm_CtrlPtzCmd(pPortParam, Cmd_Cancel); Gm_CtrlPtzCmd(pPortParam, Cmd_Cancel);
@ -2388,7 +2399,7 @@ int FindNextCameraPhotoCommand(SIO_PARAM_SERIAL_DEF *pPortParam)
pPortParam->SerialCmdidx = srdt.iLastGetPhotoNo; pPortParam->SerialCmdidx = srdt.iLastGetPhotoNo;
srdt.iLastGetPhotoNo = -1; srdt.iLastGetPhotoNo = -1;
return 1; return 1;
case 10013: /* 向下移动镜头(1 有效)*/ case MOVE_DOWN: /* 向下移动镜头(1 有效)*/
Gm_CtrlPtzCmd(pPortParam, P_MOVE_DOWN); Gm_CtrlPtzCmd(pPortParam, P_MOVE_DOWN);
sleep(1); sleep(1);
Gm_CtrlPtzCmd(pPortParam, Cmd_Cancel); Gm_CtrlPtzCmd(pPortParam, Cmd_Cancel);
@ -2396,7 +2407,7 @@ int FindNextCameraPhotoCommand(SIO_PARAM_SERIAL_DEF *pPortParam)
pPortParam->SerialCmdidx = srdt.iLastGetPhotoNo; pPortParam->SerialCmdidx = srdt.iLastGetPhotoNo;
srdt.iLastGetPhotoNo = -1; srdt.iLastGetPhotoNo = -1;
return 1; return 1;
case 10014: /* 向上移动镜头(1 有效)*/ case MOVE_UP: /* 向上移动镜头(1 有效)*/
Gm_CtrlPtzCmd(pPortParam, P_MOVE_UP); Gm_CtrlPtzCmd(pPortParam, P_MOVE_UP);
sleep(1); sleep(1);
Gm_CtrlPtzCmd(pPortParam, Cmd_Cancel); Gm_CtrlPtzCmd(pPortParam, Cmd_Cancel);
@ -2404,7 +2415,7 @@ int FindNextCameraPhotoCommand(SIO_PARAM_SERIAL_DEF *pPortParam)
pPortParam->SerialCmdidx = srdt.iLastGetPhotoNo; pPortParam->SerialCmdidx = srdt.iLastGetPhotoNo;
srdt.iLastGetPhotoNo = -1; srdt.iLastGetPhotoNo = -1;
return 1; return 1;
case 10015: /* 向左移动镜头(1 有效)*/ case MOVE_LEFT: /* 向左移动镜头(1 有效)*/
Gm_CtrlPtzCmd(pPortParam, P_MOVE_LEFT); Gm_CtrlPtzCmd(pPortParam, P_MOVE_LEFT);
sleep(1); sleep(1);
Gm_CtrlPtzCmd(pPortParam, Cmd_Cancel); Gm_CtrlPtzCmd(pPortParam, Cmd_Cancel);
@ -2412,7 +2423,7 @@ int FindNextCameraPhotoCommand(SIO_PARAM_SERIAL_DEF *pPortParam)
pPortParam->SerialCmdidx = srdt.iLastGetPhotoNo; pPortParam->SerialCmdidx = srdt.iLastGetPhotoNo;
srdt.iLastGetPhotoNo = -1; srdt.iLastGetPhotoNo = -1;
return 1; return 1;
case 10016: /* 向右移动镜头(1 有效)*/ case MOVE_RIGHT: /* 向右移动镜头(1 有效)*/
Gm_CtrlPtzCmd(pPortParam, P_MOVE_RIGHT); Gm_CtrlPtzCmd(pPortParam, P_MOVE_RIGHT);
sleep(1); sleep(1);
Gm_CtrlPtzCmd(pPortParam, Cmd_Cancel); Gm_CtrlPtzCmd(pPortParam, Cmd_Cancel);
@ -2420,13 +2431,13 @@ int FindNextCameraPhotoCommand(SIO_PARAM_SERIAL_DEF *pPortParam)
pPortParam->SerialCmdidx = srdt.iLastGetPhotoNo; pPortParam->SerialCmdidx = srdt.iLastGetPhotoNo;
srdt.iLastGetPhotoNo = -1; srdt.iLastGetPhotoNo = -1;
return 1; return 1;
case 10017: /* 调用预置点*/ case MOVE_PRESETNO: /* 调用预置点*/
//srdt.presetno = 2; //srdt.presetno = 2;
Gm_CtrlPtzCmd(pPortParam, MOVE_TO_PRESETNO + srdt.presetno); Gm_CtrlPtzCmd(pPortParam, MOVE_TO_PRESETNO + srdt.presetno);
sleep(2); sleep(2);
if (0 == srdt.IsSleep) if (0 == srdt.IsSleep)
{ {
pPortParam->SerialCmdidx = 10017; pPortParam->SerialCmdidx = MOVE_PRESETNO;
srdt.IsSleep++; srdt.IsSleep++;
return 1; return 1;
} }
@ -2434,7 +2445,7 @@ int FindNextCameraPhotoCommand(SIO_PARAM_SERIAL_DEF *pPortParam)
srdt.iLastGetPhotoNo = -1; srdt.iLastGetPhotoNo = -1;
srdt.IsSleep = 0; srdt.IsSleep = 0;
return 1; return 1;
case 10018: /* 设置预置点*/ case SAVE_PRESETNO: /* 设置预置点*/
Gm_CtrlPtzCmd(pPortParam, SET_PRESETNO + srdt.presetno); Gm_CtrlPtzCmd(pPortParam, SET_PRESETNO + srdt.presetno);
usleep(100000); usleep(100000);
pPortParam->SerialCmdidx = srdt.iLastGetPhotoNo; pPortParam->SerialCmdidx = srdt.iLastGetPhotoNo;
@ -2769,7 +2780,7 @@ uint8_t Gm_Pelco_DCheck(uint8_t *msg, int len)
**********************************************************************************/ **********************************************************************************/
int FindNextShxyProtocolCommand(int devidx) int FindNextShxyProtocolCommand(int devidx)
{ {
int cmdno = 1; int cmdno = 0;
//如果命令缓冲区仍有命令,则退出本函数 //如果命令缓冲区仍有命令,则退出本函数
if ((devparam[devidx].commid + 1 < 1) || (devparam[devidx].commid + 1 > MAX_SERIAL_PORT_NUM)) if ((devparam[devidx].commid + 1 < 1) || (devparam[devidx].commid + 1 > MAX_SERIAL_PORT_NUM))
@ -3098,8 +3109,8 @@ void ShxyProtocolDataProcess(int devno)
} }
else else
{ {
pPortParam->aiValue[AirTempNo].EuValue = fvalue;/*pPortParam->aiValue[0].AiParam.fFactor + pPortParam->aiValue[0].AiParam.EuValueDelta;*/ pPortParam->aiValue[AirTempNo].EuValue = fvalue;
weatherpntmsg[AirTempNo].EuValue = fvalue;/*weatherpntmsg[AirTempNo].AiParam.fFactor + weatherpntmsg[AirTempNo].AiParam.EuValueDelta;*/ weatherpntmsg[AirTempNo].EuValue = fvalue;
} }
pPortParam->aiValue[AirTempNo].AiState = SER_SAMPLE; pPortParam->aiValue[AirTempNo].AiState = SER_SAMPLE;
weatherpntmsg[AirTempNo].AiState = SER_SAMPLE; weatherpntmsg[AirTempNo].AiState = SER_SAMPLE;
@ -3119,8 +3130,8 @@ void ShxyProtocolDataProcess(int devno)
} }
else else
{ {
pPortParam->aiValue[AtmosNo].EuValue = fvalue;/*pPortParam->aiValue[5].AiParam.fFactor + pPortParam->aiValue[5].AiParam.EuValueDelta;*/ pPortParam->aiValue[AtmosNo].EuValue = fvalue;
weatherpntmsg[AtmosNo].EuValue = fvalue;/*weatherpntmsg[AtmosNo].AiParam.fFactor + weatherpntmsg[AtmosNo].AiParam.EuValueDelta;*/ weatherpntmsg[AtmosNo].EuValue = fvalue;
} }
pPortParam->aiValue[AtmosNo].AiState = SER_SAMPLE; pPortParam->aiValue[AtmosNo].AiState = SER_SAMPLE;
weatherpntmsg[AtmosNo].AiState = SER_SAMPLE; weatherpntmsg[AtmosNo].AiState = SER_SAMPLE;
@ -3817,7 +3828,7 @@ int GetWeatherData(Data_DEF *data, int datano)
sprintf(szbuf, "大气压"); sprintf(szbuf, "大气压");
break; break;
case OpticalRadiationNo: case OpticalRadiationNo:
sprintf(szbuf, "大气压"); sprintf(szbuf, "日照");
break; break;
default: default:
sprintf(szbuf, "未知"); sprintf(szbuf, "未知");

@ -107,9 +107,9 @@
/* 摄像机下发命令宏定义*/ /* 摄像机下发命令宏定义*/
#define Take_Photo 0 /* 拍照*/ #define Take_Photo 0 /* 拍照*/
#define Stop_Baud 10000 /* 设置球机波特率*/ #define SET_BAUD 10000 /* 设置球机波特率*/
#define Stop_Cmd 10005 /* 取消或停止指令*/ #define STOP_CMD 10005 /* 取消或停止指令*/
#define Auto_Scan 10006 /* 自动扫描功能控制(1/0 打开/关闭该功能)*/ #define AUTO_SCAN 10006 /* 自动扫描功能控制(1/0 打开/关闭该功能)*/
#define IRIS_CLOSE 10007 /* 光圈缩小(1 有效)*/ #define IRIS_CLOSE 10007 /* 光圈缩小(1 有效)*/
#define IRIS_OPEN 10008 /* 光圈放大(1 有效)*/ #define IRIS_OPEN 10008 /* 光圈放大(1 有效)*/
#define FOCUS_NEAR 10009 /* 近距离聚焦(1 有效)*/ #define FOCUS_NEAR 10009 /* 近距离聚焦(1 有效)*/

@ -54,6 +54,10 @@ extern float weatherpntmsg[10];
#endif #endif
int istop=1; int istop=1;
char serialfile[] = "/dev/ttyS0";
int baud = 9600;
int cameraaddr = 1;
//set_port_attr (int fd, int baudrate, int databit, const char *stopbit, char parity, int vtime, int vmin ) //set_port_attr (int fd, int baudrate, int databit, const char *stopbit, char parity, int vtime, int vmin )
class NrsecSpiPort : public SpiPort { class NrsecSpiPort : public SpiPort {
public: public:
@ -221,7 +225,7 @@ void setInt(int cmd, int value)
// LOGE("set_int22 cmd=%d,value=%d,result=%d\r\n",param.cmd, param.value, param.result); // LOGE("set_int22 cmd=%d,value=%d,result=%d\r\n",param.cmd, param.value, param.result);
close(fd); close(fd);
} }
return;
} }
static void setRS485Enable(bool z) { static void setRS485Enable(bool z) {
setInt(CMD_SET_485_EN_STATE, z ? 1 : 0); setInt(CMD_SET_485_EN_STATE, z ? 1 : 0);
@ -332,7 +336,7 @@ static void InitPLZ()
#if 1 #if 1
//云台 //云台
sensorParam[0].SensorsType = PELCO_D_PROTOCOL; sensorParam[0].SensorsType = PELCO_D_PROTOCOL;
sensorParam[0].baudrate = 38400; sensorParam[0].baudrate = baud;
sensorParam[0].databit = 8; sensorParam[0].databit = 8;
sensorParam[0].stopbit = 1; sensorParam[0].stopbit = 1;
sensorParam[0].parity = '0'; sensorParam[0].parity = '0';
@ -344,7 +348,7 @@ static void InitPLZ()
sprintf(sensorParam[0].pathname, "/dev/ttyS0"); sprintf(sensorParam[0].pathname, "/dev/ttyS0");
#else //球基 #else //球基
sensorParam[0].SensorsType = PELCO_D_PROTOCOL; sensorParam[0].SensorsType = PELCO_D_PROTOCOL;
sensorParam[0].baudrate = 38400; sensorParam[0].baudrate = baud;
sensorParam[0].databit = 8; sensorParam[0].databit = 8;
sensorParam[0].stopbit = 1; sensorParam[0].stopbit = 1;
sensorParam[0].parity = 0; sensorParam[0].parity = 0;
@ -936,42 +940,42 @@ extern "C" JNIEXPORT void JNICALL
Java_com_xinyingpower_testcomm_MainActivity_turnLeft( Java_com_xinyingpower_testcomm_MainActivity_turnLeft(
JNIEnv* env, JNIEnv* env,
jobject /*this*/) { jobject /*this*/) {
CameraPhotoCmd(0, 1, MOVE_LEFT, 0, 0, "/dev/ttyS1", 38400, 0); CameraPhotoCmd(0, 1, MOVE_LEFT, 0, 0, serialfile, baud, cameraaddr);
} }
extern "C" JNIEXPORT void JNICALL extern "C" JNIEXPORT void JNICALL
Java_com_xinyingpower_testcomm_MainActivity_turnRight( Java_com_xinyingpower_testcomm_MainActivity_turnRight(
JNIEnv* env, JNIEnv* env,
jobject /*this*/) { jobject /*this*/) {
CameraPhotoCmd(0, 1, MOVE_RIGHT, 0, 0, "/dev/ttyS1", 38400, 0); CameraPhotoCmd(0, 1, MOVE_RIGHT, 0, 0, serialfile, baud, cameraaddr);
} }
extern "C" JNIEXPORT void JNICALL extern "C" JNIEXPORT void JNICALL
Java_com_xinyingpower_testcomm_MainActivity_turnUp( Java_com_xinyingpower_testcomm_MainActivity_turnUp(
JNIEnv* env, JNIEnv* env,
jobject /*this*/) { jobject /*this*/) {
CameraPhotoCmd(0, 1, MOVE_UP, 0, 0, "/dev/ttyS1", 38400, 0); CameraPhotoCmd(0, 1, MOVE_UP, 0, 0, serialfile, baud, cameraaddr);
} }
extern "C" JNIEXPORT void JNICALL extern "C" JNIEXPORT void JNICALL
Java_com_xinyingpower_testcomm_MainActivity_turnDown( Java_com_xinyingpower_testcomm_MainActivity_turnDown(
JNIEnv* env, JNIEnv* env,
jobject /*this*/) { jobject /*this*/) {
CameraPhotoCmd(0, 1, MOVE_DOWN, 0, 0, "/dev/ttyS1", 38400, 0); CameraPhotoCmd(0, 1, MOVE_DOWN, 0, 0, serialfile, baud, cameraaddr);
} }
extern "C" JNIEXPORT void JNICALL extern "C" JNIEXPORT void JNICALL
Java_com_xinyingpower_testcomm_MainActivity_zoomIn( Java_com_xinyingpower_testcomm_MainActivity_zoomIn(
JNIEnv* env, JNIEnv* env,
jobject /*this*/) { jobject /*this*/) {
CameraPhotoCmd(0, 1, ZOOM_TELE, 0, 0, "/dev/ttyS1", 38400, 0); CameraPhotoCmd(0, 1, ZOOM_TELE, 0, 0, serialfile, baud, cameraaddr);
} }
extern "C" JNIEXPORT void JNICALL extern "C" JNIEXPORT void JNICALL
Java_com_xinyingpower_testcomm_MainActivity_zoomOut( Java_com_xinyingpower_testcomm_MainActivity_zoomOut(
JNIEnv* env, JNIEnv* env,
jobject /*this*/) { jobject /*this*/) {
CameraPhotoCmd(0, 1, ZOOM_WIDE, 0, 0, "/dev/ttyS1", 38400, 0); CameraPhotoCmd(0, 1, ZOOM_WIDE, 0, 0, serialfile, baud, cameraaddr);
} }
extern "C" JNIEXPORT void JNICALL extern "C" JNIEXPORT void JNICALL
@ -980,11 +984,11 @@ Java_com_xinyingpower_testcomm_MainActivity_setSpeed(
jobject /*this*/, jint speed) { jobject /*this*/, jint speed) {
//CameraPhotoCmd(0, 1, ZOOM_WIDE, 0, 0); //CameraPhotoCmd(0, 1, ZOOM_WIDE, 0, 0);
CameraPhotoCmd(time(NULL), 1, 0, (u_char)(speed/10), speed%10, "/dev/ttyS1", 38400, 0); CameraPhotoCmd(time(NULL), 1, 0, (u_char)(speed/10), speed%10, serialfile, baud, cameraaddr);
//return; //return;
//CameraPhotoCmd(0, 1, OPEN_TOTAL, 0, 0, "/dev/ttyS0", 38400, 1); //CameraPhotoCmd(0, 1, OPEN_TOTAL, 0, 0, "/dev/ttyS0", baud, 1);
//usleep(200000); //usleep(200000);
//CameraPhotoCmd(0, 1, OPEN_MODULE_POWER, 0, 0, "/dev/ttyS0", 38400, 1); //CameraPhotoCmd(0, 1, OPEN_MODULE_POWER, 0, 0, "/dev/ttyS0", baud, 1);
} }
@ -992,14 +996,14 @@ extern "C" JNIEXPORT void JNICALL
Java_com_xinyingpower_testcomm_MainActivity_setPreset( Java_com_xinyingpower_testcomm_MainActivity_setPreset(
JNIEnv* env, JNIEnv* env,
jobject /*this*/, jint preset) { jobject /*this*/, jint preset) {
CameraPhotoCmd(0, 1, SAVE_PRESETNO, 0, preset, "/dev/ttyS1", 38400, 0); CameraPhotoCmd(0, 1, SAVE_PRESETNO, 0, preset, serialfile, baud, cameraaddr);
} }
extern "C" JNIEXPORT void JNICALL extern "C" JNIEXPORT void JNICALL
Java_com_xinyingpower_testcomm_MainActivity_gotoPreset( Java_com_xinyingpower_testcomm_MainActivity_gotoPreset(
JNIEnv* env, JNIEnv* env,
jobject /*this*/, jint preset) { jobject /*this*/, jint preset) {
CameraPhotoCmd(0, 1, MOVE_PRESETNO, 0, preset, "/dev/ttyS1", 38400, 0); CameraPhotoCmd(0, 1, MOVE_PRESETNO, 0, preset, serialfile, baud, cameraaddr);
} }
#if 1 #if 1
@ -1018,7 +1022,7 @@ void photo_function()
for(j=0; j<=8; j++) for(j=0; j<=8; j++)
{ {
t0 = get_msec(); t0 = get_msec();
CameraPhotoCmd(time(NULL), 1, 0, (u_char)(j), j%3+1, "/dev/ttyS1", 38400, 0); CameraPhotoCmd(time(NULL), 1, 0, (u_char)(j), j%3+1, serialfile, baud, cameraaddr);
GetImage(0, photo); GetImage(0, photo);
t1 = get_msec(); t1 = get_msec();
sprintf(logbuf, "拍照时长:%lld, 预置点:%d, pic_name:%s", t0-t1, photo->presetno, photo->photoname); sprintf(logbuf, "拍照时长:%lld, 预置点:%d, pic_name:%s", t0-t1, photo->presetno, photo->photoname);
@ -1036,7 +1040,7 @@ void photo_function()
void photo_function() void photo_function()
{ {
Collect_sensor_data(); Collect_sensor_data();
CameraPhotoCmd(time(NULL), 1, 0, 2, 3, "/dev/ttyS1", 38400, 0); CameraPhotoCmd(time(NULL), 1, 0, 2, 3, serialfile, baud, 0);
} }
#endif #endif
@ -1072,7 +1076,7 @@ void weather_function()
data = (Data_DEF*)malloc(sizeof(Data_DEF)); data = (Data_DEF*)malloc(sizeof(Data_DEF));
for(int i=0;i<3;i++)try-catch(); for(int i=0;i<3;i++)
{ {
Open_All_Power(); Open_All_Power();
usleep(200); usleep(200);

Loading…
Cancel
Save