From 24219a570494985a89211ffac8fd2a563fa2a8ee Mon Sep 17 00:00:00 2001 From: "XI.CHEN" Date: Mon, 12 Aug 2024 13:26:33 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BC=A0=E6=84=9F?= =?UTF-8?q?=E5=99=A8=E5=BC=80=E5=85=B3=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/cpp/CMakeLists.txt | 5 ++- app/src/main/cpp/PhoneDevice.cpp | 67 ++++++++++++++++++++++++++++++++ app/src/main/cpp/PhoneDevice.h | 2 + 3 files changed, 72 insertions(+), 2 deletions(-) diff --git a/app/src/main/cpp/CMakeLists.txt b/app/src/main/cpp/CMakeLists.txt index f5a6a16a..5959290f 100644 --- a/app/src/main/cpp/CMakeLists.txt +++ b/app/src/main/cpp/CMakeLists.txt @@ -36,7 +36,7 @@ add_definitions(-DHAVE_STRING_H) # for memcpy in md5.c add_definitions(-DOUTPUT_CAMERA_DBG_INFO) add_definitions(-DALIGN_HB_TIMER_TO_PHOTO) -# add_definitions(-DUSING_N938) +add_definitions(-DUSING_N938) # include_directories(${OpenCV_DIR}/include) # add_library( lib_opencv SHARED IMPORTED ) @@ -276,7 +276,7 @@ add_library( # Sets the name of the library. SerialPort.cpp #WeatherComm.cpp SensorsProtocol.cpp - serialComm.cpp + SerialComm.cpp ncnn/yolov5ncnn.cpp @@ -322,6 +322,7 @@ add_library( # Sets the name of the library. ${TERM_CORE_ROOT}/Client/Terminal_NW.cpp ${TERM_CORE_ROOT}/Client/UpgradeReceiver.cpp ${TERM_CORE_ROOT}/Client/Database.cpp + ${TERM_CORE_ROOT}/Client/SimulatorDevice.cpp ) diff --git a/app/src/main/cpp/PhoneDevice.cpp b/app/src/main/cpp/PhoneDevice.cpp index b918767f..94a6d133 100644 --- a/app/src/main/cpp/PhoneDevice.cpp +++ b/app/src/main/cpp/PhoneDevice.cpp @@ -1869,4 +1869,71 @@ int CPhoneDevice::GetWData(IDevice::WEATHER_INFO *weatherInfo) return true; } +bool CPhoneDevice::OpenSensors() +{ + GpioControl::setInt(CMD_SET_CAM_3V3_EN_STATE, true ? 1 : 0); + GpioControl::setInt(CMD_SET_485_EN_STATE, true ? 1 : 0); + int igpio; + GpioControl::setInt(CMD_SET_WTH_POWER, 1); + GpioControl::setInt(CMD_SET_PULL_POWER, 1); + GpioControl::setInt(CMD_SET_ANGLE_POWER, 1); + GpioControl::setInt(CMD_SET_OTHER_POWER, 1); + GpioControl::setInt(CMD_SET_PIC1_POWER, 1); + + igpio = GpioControl::getInt(CMD_SET_WTH_POWER); + igpio = GpioControl::getInt(CMD_SET_PULL_POWER); + igpio = GpioControl::getInt(CMD_SET_ANGLE_POWER); + igpio = GpioControl::getInt(CMD_SET_OTHER_POWER); + igpio = GpioControl::getInt(CMD_SET_PIC1_POWER); + + GpioControl::setInt(CMD_SET_SPI_POWER, 1); + GpioControl::setInt(CMD_SET_485_en0, 1); + GpioControl::setInt(CMD_SET_485_en1, 1); + GpioControl::setInt(CMD_SET_485_en2, 1); + GpioControl::setInt(CMD_SET_485_en3, 1); + GpioControl::setInt(CMD_SET_485_en4, 1); + + igpio = GpioControl::getInt(CMD_SET_SPI_POWER); + igpio = GpioControl::getInt(CMD_SET_485_en0); + igpio = GpioControl::getInt(CMD_SET_485_en1); + igpio = GpioControl::getInt(CMD_SET_485_en2); + igpio = GpioControl::getInt(CMD_SET_485_en3); + igpio = GpioControl::getInt(CMD_SET_485_en4); + return 0; + +} +bool CPhoneDevice::CloseSensors() +{ + GpioControl::setInt(CMD_SET_12V_EN_STATE, false ? 1 : 0); + GpioControl::setInt(CMD_SET_CAM_3V3_EN_STATE, false ? 1 : 0); + GpioControl::setInt(CMD_SET_485_EN_STATE, false ? 1 : 0); + int igpio; + GpioControl::setInt(CMD_SET_WTH_POWER, 0); + GpioControl::setInt(CMD_SET_PULL_POWER, 0); + GpioControl::setInt(CMD_SET_ANGLE_POWER, 0); + GpioControl::setInt(CMD_SET_OTHER_POWER, 0); + GpioControl::setInt(CMD_SET_PIC1_POWER, 0); + + igpio = GpioControl::getInt(CMD_SET_WTH_POWER); + igpio = GpioControl::getInt(CMD_SET_PULL_POWER); + igpio = GpioControl::getInt(CMD_SET_ANGLE_POWER); + igpio = GpioControl::getInt(CMD_SET_OTHER_POWER); + igpio = GpioControl::getInt(CMD_SET_PIC1_POWER); + + GpioControl::setInt(CMD_SET_SPI_POWER, 0); + GpioControl::setInt(CMD_SET_485_en0, 0); + GpioControl::setInt(CMD_SET_485_en1, 0); + GpioControl::setInt(CMD_SET_485_en2, 0); + GpioControl::setInt(CMD_SET_485_en3, 0); + GpioControl::setInt(CMD_SET_485_en4, 0); + + //sleep(3); + igpio = GpioControl::getInt(CMD_SET_SPI_POWER); + igpio = GpioControl::getInt(CMD_SET_485_en0); + igpio = GpioControl::getInt(CMD_SET_485_en1); + igpio = GpioControl::getInt(CMD_SET_485_en2); + igpio = GpioControl::getInt(CMD_SET_485_en3); + igpio = GpioControl::getInt(CMD_SET_485_en4); + return 0; +} diff --git a/app/src/main/cpp/PhoneDevice.h b/app/src/main/cpp/PhoneDevice.h index 73696c69..0a338a68 100644 --- a/app/src/main/cpp/PhoneDevice.h +++ b/app/src/main/cpp/PhoneDevice.h @@ -200,6 +200,8 @@ public: virtual int GetWData(WEATHER_INFO *weatherInfo); virtual int GetIceData(ICE_INFO *iceInfo, ICE_TAIL *icetail, SENSOR_PARAM sensorParam); + virtual bool OpenSensors(); + virtual bool CloseSensors(); bool GetNextScheduleItem(uint32_t tsBasedZero, uint32_t scheduleTime, vector& items); From e4ac2a2fc2d5274b10c463c653ecc8b16f82be21 Mon Sep 17 00:00:00 2001 From: "XI.CHEN" Date: Mon, 12 Aug 2024 13:32:10 +0800 Subject: [PATCH 2/3] Update CMakeLists.txt --- app/src/main/cpp/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/cpp/CMakeLists.txt b/app/src/main/cpp/CMakeLists.txt index 5959290f..6d5a415b 100644 --- a/app/src/main/cpp/CMakeLists.txt +++ b/app/src/main/cpp/CMakeLists.txt @@ -36,7 +36,7 @@ add_definitions(-DHAVE_STRING_H) # for memcpy in md5.c add_definitions(-DOUTPUT_CAMERA_DBG_INFO) add_definitions(-DALIGN_HB_TIMER_TO_PHOTO) -add_definitions(-DUSING_N938) +#add_definitions(-DUSING_N938) # include_directories(${OpenCV_DIR}/include) # add_library( lib_opencv SHARED IMPORTED ) From 9e4690e5f4fe40687358a5d272c25581f1694006 Mon Sep 17 00:00:00 2001 From: "XI.CHEN" Date: Tue, 3 Sep 2024 09:44:56 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E8=A6=86=E5=86=B0=E6=95=B0=E6=8D=AE=EF=BC=88=E9=80=9A=E7=94=A8?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/cpp/PhoneDevice.cpp | 40 +++++++++---------- app/src/main/cpp/PhoneDevice.h | 2 +- .../cpp/{serialComm.cpp => SerialComm.cpp} | 0 .../main/cpp/{serialComm.h => SerialComm.h} | 0 4 files changed, 20 insertions(+), 22 deletions(-) rename app/src/main/cpp/{serialComm.cpp => SerialComm.cpp} (100%) rename app/src/main/cpp/{serialComm.h => SerialComm.h} (100%) diff --git a/app/src/main/cpp/PhoneDevice.cpp b/app/src/main/cpp/PhoneDevice.cpp index 94a6d133..07152646 100644 --- a/app/src/main/cpp/PhoneDevice.cpp +++ b/app/src/main/cpp/PhoneDevice.cpp @@ -1798,7 +1798,7 @@ void CPhoneDevice::UpdateSimcard(const std::string& simcard) } -int CPhoneDevice::GetIceData(IDevice::ICE_INFO *iceInfo, IDevice::ICE_TAIL *iceTail, SENSOR_PARAM sensorParam) +int CPhoneDevice::GetIceData(IDevice::ICE_INFO *iceInfo, IDevice::ICE_TAIL *iceTail, SENSOR_PARAM *sensorParam) { Collect_sensor_data(); //15s Data_DEF airt; @@ -1807,26 +1807,24 @@ int CPhoneDevice::GetIceData(IDevice::ICE_INFO *iceInfo, IDevice::ICE_TAIL *iceT iceInfo->tension = 0; iceInfo->tension_difference = 0; - GetPullValue(2, &airt); - iceInfo->t_sensor_data[0].original_tension = airt.EuValue; - GetPullValue(4, &airt); - iceInfo->t_sensor_data[1].original_tension = airt.EuValue; - GetPullValue(5, &airt); - iceInfo->t_sensor_data[2].original_tension = airt.EuValue; - - - GetAngleValue(6, &airt, 0); - iceInfo->t_sensor_data[0].deflection_angle = airt.EuValue; - GetAngleValue(6, &airt, 1); - iceInfo->t_sensor_data[0].windage_yaw_angle = airt.EuValue; - GetAngleValue(7, &airt, 0); - iceInfo->t_sensor_data[1].deflection_angle = airt.EuValue; - GetAngleValue(7, &airt, 1); - iceInfo->t_sensor_data[1].windage_yaw_angle = airt.EuValue; - GetAngleValue(13, &airt, 0); - iceInfo->t_sensor_data[2].deflection_angle = airt.EuValue; - GetAngleValue(13, &airt, 1); - iceInfo->t_sensor_data[2].windage_yaw_angle = airt.EuValue; + int pullno = 0; + int angleno = 0; + for(int num = 0; num < MAX_SERIAL_DEV_NUM; num++) + { + if(sensorParam[num].SensorsType == RALLY_PROTOCOL) + { + GetPullValue(num, &airt); + iceInfo->t_sensor_data[pullno].original_tension = airt.EuValue; + pullno++; + } else if(sensorParam[num].SensorsType == SLANT_PROTOCOL) + { + GetAngleValue(num, &airt, 0); + iceInfo->t_sensor_data[angleno].deflection_angle = airt.EuValue; + GetAngleValue(num, &airt, 1); + iceInfo->t_sensor_data[angleno].windage_yaw_angle = airt.EuValue; + angleno++; + } + } GetWindSpeedData(&airt); iceTail->instantaneous_windspeed = airt.EuValue; diff --git a/app/src/main/cpp/PhoneDevice.h b/app/src/main/cpp/PhoneDevice.h index 0a338a68..61ada62a 100644 --- a/app/src/main/cpp/PhoneDevice.h +++ b/app/src/main/cpp/PhoneDevice.h @@ -199,7 +199,7 @@ public: virtual bool ReleaseWakelock(unsigned long wakelock); virtual int GetWData(WEATHER_INFO *weatherInfo); - virtual int GetIceData(ICE_INFO *iceInfo, ICE_TAIL *icetail, SENSOR_PARAM sensorParam); + virtual int GetIceData(ICE_INFO *iceInfo, ICE_TAIL *icetail, SENSOR_PARAM *sensorParam); virtual bool OpenSensors(); virtual bool CloseSensors(); diff --git a/app/src/main/cpp/serialComm.cpp b/app/src/main/cpp/SerialComm.cpp similarity index 100% rename from app/src/main/cpp/serialComm.cpp rename to app/src/main/cpp/SerialComm.cpp diff --git a/app/src/main/cpp/serialComm.h b/app/src/main/cpp/SerialComm.h similarity index 100% rename from app/src/main/cpp/serialComm.h rename to app/src/main/cpp/SerialComm.h