From e84e3f802c9b23e5935788caa7842a2a0a6f5381 Mon Sep 17 00:00:00 2001 From: jxjajs Date: Fri, 6 Dec 2024 00:00:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B3=A2=E7=89=B9=E7=8E=87?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/cpp/SensorsProtocol.cpp | 89 +++++++++------------------- app/src/main/cpp/native-lib.cpp | 18 +++--- 2 files changed, 37 insertions(+), 70 deletions(-) diff --git a/app/src/main/cpp/SensorsProtocol.cpp b/app/src/main/cpp/SensorsProtocol.cpp index 86b95bf..253b24f 100644 --- a/app/src/main/cpp/SensorsProtocol.cpp +++ b/app/src/main/cpp/SensorsProtocol.cpp @@ -3441,6 +3441,7 @@ int Gm_OpenCameraSerial(SIO_PARAM_SERIAL_DEF *pPortParam, char *serfile, unsigne { int fd = -1; char szbuf[512]; + unsigned int serbaud; memset(szbuf, 0, sizeof(szbuf)); if (pPortParam->fd <= 0) @@ -3455,7 +3456,8 @@ int Gm_OpenCameraSerial(SIO_PARAM_SERIAL_DEF *pPortParam, char *serfile, unsigne sprintf(szbuf, "摄像机打开串口%s成功!fd=%d", serfile, fd); DebugLog(0, szbuf, 'I'); pPortParam->fd = fd; - Gm_SetCameraSerialPortParam(fd, baud); + serbaud = getBaudrate(baud); + Gm_SetCameraSerialPortParam(fd, serbaud); return 0; } sprintf(szbuf, "摄像机串口%s已经打开!fd=%d", serfile, pPortParam->fd); @@ -3676,68 +3678,33 @@ int GM_StartSerialCameraPhoto(uint8_t channel, int cmdidx, u_char bImageSize, in cameraport.fd = -1; memset(cameraport.m_au8RecvBuf, 0, RECVDATA_MAXLENTH); // 接收数据缓存区 ClearCameraCmdFormPollCmdBuf(&cameraport); - + Gm_OpenSensorsPower(); flag = Gm_OpenCameraSerial(&cameraport, serfile, baud); -#if 0 - // 初始化串口使用状态 - for (i = 0; i < MAX_SERIAL_DEV_NUM; i++) - { - if (0 == devparam[i].IsNoInsta) - { - srdt.ms_dev[i].IsNeedSerial = 0; - continue; - } +#if 1 memset(szbuf, 0, sizeof(szbuf)); - switch (devparam[i].ProtocolIdx) - { - case SERIALCAMERA_PROTOCOL: /* 串口摄像机协议*/ - case PELCO_P_PROTOCOL: /* 摄像机协议*/ - case PELCO_D_PROTOCOL: /* 摄像机协议*/ - if ((1 > devparam[i].CameraChannel) || (devparam[i].CameraChannel > MAX_CHANNEL_NUM)) - { - srdt.ms_dev[i].IsNeedSerial = 0; - break; - } - if (channel == devparam[i].CameraChannel) - { - ; - } - else - break; - if (0 == srdt.ms_dev[i].IsNeedSerial) - srdt.iLastGetPhotoNo = -1; - else - srdt.iLastGetPhotoNo = srdt.ms_dev[i].SerialCmdidx; - srdt.ms_dev[i].IsNeedSerial = 1; - if (0 == cmdidx) - srdt.ms_dev[i].image.state = SER_STARTSAMPLE; - if ((0 == cmdidx) && (srdt.presetno > 0)) - { - srdt.ms_dev[i].SerialCmdidx = 10017; - srdt.iLastGetPhotoNo = cmdidx; - } - else - srdt.ms_dev[i].SerialCmdidx = cmdidx; - srdt.ms_dev[i].FirstCmdTimeCnt = get_msec(); - srdt.sendphotocmdcnt = 0; - sprintf(szbuf, "摄像机"); - flag = 1; - break; - default: - if (1 == srdt.ms_dev[i].IsNeedSerial) - break; - srdt.ms_dev[i].IsNeedSerial = 0; - break; - } - if (1 == srdt.ms_dev[i].IsNeedSerial) - { - sprintf(logbuf, "装置%d, IsNoInsta=%d, 类型:%s", i + 1, devparam[i].IsNoInsta, szbuf); - DebugLog(8, logbuf, 'I'); - Gm_OpenSensorsPower(); - Gm_OpenSerialPort(i); - } - } + srdt.iLastGetPhotoNo = -1; + if (0 == cmdidx) + cameraport.image.state = SER_STARTSAMPLE; + if ((0 == cmdidx) && (srdt.presetno > 0)) + { + cameraport.SerialCmdidx = 10017; + srdt.iLastGetPhotoNo = cmdidx; + } + else + cameraport.SerialCmdidx = cmdidx; + cameraport.FirstCmdTimeCnt = get_msec(); + srdt.sendphotocmdcnt = 0; + //sprintf(szbuf, "摄像机"); + //flag = 1; + //if (1 == srdt.ms_dev[i].IsNeedSerial) + //{ + //sprintf(logbuf, "装置%d, IsNoInsta=%d, 类型:%s", i + 1, devparam[i].IsNoInsta, szbuf); + //DebugLog(8, logbuf, 'I'); + //Gm_OpenSensorsPower(); + //Gm_OpenCameraSerial(&cameraport); + //} + #endif if(-1 == flag) return -1; @@ -3760,7 +3727,7 @@ int GM_StartSerialCameraPhoto(uint8_t channel, int cmdidx, u_char bImageSize, in } } } - //return; + return 0; } #endif diff --git a/app/src/main/cpp/native-lib.cpp b/app/src/main/cpp/native-lib.cpp index 5fabc6f..4a83cb8 100644 --- a/app/src/main/cpp/native-lib.cpp +++ b/app/src/main/cpp/native-lib.cpp @@ -900,42 +900,42 @@ extern "C" JNIEXPORT void JNICALL Java_com_xinyingpower_testcomm_MainActivity_turnLeft( JNIEnv* env, jobject /*this*/) { - CameraPhotoCmd(0, 1, MOVE_LEFT, 0, 0, "/dev/ttyS0", 38400, 1); + CameraPhotoCmd(0, 1, MOVE_LEFT, 0, 0, "/dev/ttyS0", 38400, 0); } extern "C" JNIEXPORT void JNICALL Java_com_xinyingpower_testcomm_MainActivity_turnRight( JNIEnv* env, jobject /*this*/) { - CameraPhotoCmd(0, 1, MOVE_RIGHT, 0, 0, "/dev/ttyS0", 38400, 1); + CameraPhotoCmd(0, 1, MOVE_RIGHT, 0, 0, "/dev/ttyS0", 38400, 0); } extern "C" JNIEXPORT void JNICALL Java_com_xinyingpower_testcomm_MainActivity_turnUp( JNIEnv* env, jobject /*this*/) { - CameraPhotoCmd(0, 1, MOVE_UP, 0, 0, "/dev/ttyS0", 38400, 1); + CameraPhotoCmd(0, 1, MOVE_UP, 0, 0, "/dev/ttyS0", 38400, 0); } extern "C" JNIEXPORT void JNICALL Java_com_xinyingpower_testcomm_MainActivity_turnDown( JNIEnv* env, jobject /*this*/) { - CameraPhotoCmd(0, 1, MOVE_DOWN, 0, 0, "/dev/ttyS0", 38400, 1); + CameraPhotoCmd(0, 1, MOVE_DOWN, 0, 0, "/dev/ttyS0", 38400, 0); } extern "C" JNIEXPORT void JNICALL Java_com_xinyingpower_testcomm_MainActivity_zoomIn( JNIEnv* env, jobject /*this*/) { - CameraPhotoCmd(0, 1, ZOOM_TELE, 0, 0, "/dev/ttyS0", 38400, 1); + CameraPhotoCmd(0, 1, ZOOM_TELE, 0, 0, "/dev/ttyS0", 38400, 0); } extern "C" JNIEXPORT void JNICALL Java_com_xinyingpower_testcomm_MainActivity_zoomOut( JNIEnv* env, jobject /*this*/) { - CameraPhotoCmd(0, 1, ZOOM_WIDE, 0, 0, "/dev/ttyS0", 38400, 1); + CameraPhotoCmd(0, 1, ZOOM_WIDE, 0, 0, "/dev/ttyS0", 38400, 0); } extern "C" JNIEXPORT void JNICALL @@ -944,7 +944,7 @@ Java_com_xinyingpower_testcomm_MainActivity_setSpeed( jobject /*this*/, jint speed) { //CameraPhotoCmd(0, 1, ZOOM_WIDE, 0, 0); - CameraPhotoCmd(time(NULL), 1, 0, (u_char)(speed/10), speed%10, "/dev/ttyS0", 38400, 1); + CameraPhotoCmd(time(NULL), 1, 0, (u_char)(speed/10), speed%10, "/dev/ttyS0", 38400, 0); return; CameraPhotoCmd(0, 1, OPEN_TOTAL, 0, 0, "/dev/ttyS0", 38400, 1); usleep(200000); @@ -956,14 +956,14 @@ extern "C" JNIEXPORT void JNICALL Java_com_xinyingpower_testcomm_MainActivity_setPreset( JNIEnv* env, jobject /*this*/, jint preset) { - CameraPhotoCmd(0, 1, SAVE_PRESETNO, 0, preset, "/dev/ttyS0", 38400, 1); + CameraPhotoCmd(0, 1, SAVE_PRESETNO, 0, preset, "/dev/ttyS0", 38400, 0); } extern "C" JNIEXPORT void JNICALL Java_com_xinyingpower_testcomm_MainActivity_gotoPreset( JNIEnv* env, jobject /*this*/, jint preset) { - CameraPhotoCmd(0, 1, MOVE_PRESETNO, 0, preset, "/dev/ttyS0", 38400, 1); + CameraPhotoCmd(0, 1, MOVE_PRESETNO, 0, preset, "/dev/ttyS0", 38400, 0); } extern "C" JNIEXPORT void JNICALL