Backup key hal code.
This commit is contained in:
parent
70042cc449
commit
353aa7d63e
|
@ -11,6 +11,7 @@ include_directories(
|
||||||
${UTILS_SOURCE_PATH}/StatusCode/include
|
${UTILS_SOURCE_PATH}/StatusCode/include
|
||||||
${UTILS_SOURCE_PATH}/Log/include
|
${UTILS_SOURCE_PATH}/Log/include
|
||||||
${UTILS_SOURCE_PATH}/LinuxApi/include
|
${UTILS_SOURCE_PATH}/LinuxApi/include
|
||||||
|
${UTILS_SOURCE_PATH}/KeyControl/include
|
||||||
)
|
)
|
||||||
#do not rely on any other library
|
#do not rely on any other library
|
||||||
# link_directories(
|
# link_directories(
|
||||||
|
@ -23,7 +24,7 @@ aux_source_directory(./src IMPL_SRC_FILES)
|
||||||
set(ABSTRACT_TARGET HalAbstract)
|
set(ABSTRACT_TARGET HalAbstract)
|
||||||
set(IMPL_TARGET Hal)
|
set(IMPL_TARGET Hal)
|
||||||
add_library(${ABSTRACT_TARGET} STATIC ${ABSTRACT_SRC_FILES})
|
add_library(${ABSTRACT_TARGET} STATIC ${ABSTRACT_SRC_FILES})
|
||||||
target_link_libraries(${ABSTRACT_TARGET} LinuxApi StatusCode Log)
|
target_link_libraries(${ABSTRACT_TARGET} LinuxApi KeyControl StatusCode Log)
|
||||||
add_library(${IMPL_TARGET} STATIC ${IMPL_SRC_FILES})
|
add_library(${IMPL_TARGET} STATIC ${IMPL_SRC_FILES})
|
||||||
target_link_libraries(${IMPL_TARGET} ${ABSTRACT_TARGET})
|
target_link_libraries(${IMPL_TARGET} ${ABSTRACT_TARGET})
|
||||||
|
|
||||||
|
|
|
@ -19,8 +19,7 @@ camera_report_event::camera_report_event(const std::string &fileName, const Came
|
||||||
: mFileName(fileName), mCameraType(cameraType)
|
: mFileName(fileName), mCameraType(cameraType)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
void VKeyHalMonitor::KeyEventHappened(const std::string &keyName, const VirtualKeyEvent &event,
|
void VKeyHalMonitor::KeyEventHappened(const std::string &keyName, const VirtualKeyEvent &event)
|
||||||
const unsigned int &timeMs)
|
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
void VKeyHal::CheckKeyStatus(void)
|
void VKeyHal::CheckKeyStatus(void)
|
||||||
|
@ -73,7 +72,8 @@ SdCardHalStatus VSdCardHal::GetSdCardStatus(void)
|
||||||
LogWarning("STATUS_CODE_VIRTUAL_FUNCTION.\n");
|
LogWarning("STATUS_CODE_VIRTUAL_FUNCTION.\n");
|
||||||
return SdCardHalStatus::END;
|
return SdCardHalStatus::END;
|
||||||
}
|
}
|
||||||
StatusCode VSdCardHal::GetCapacity(unsigned long long &totalSizeMB, unsigned long long &freeSizeMB, unsigned long long &usedSizeMB)
|
StatusCode VSdCardHal::GetCapacity(unsigned long long &totalSizeMB, unsigned long long &freeSizeMB,
|
||||||
|
unsigned long long &usedSizeMB)
|
||||||
{
|
{
|
||||||
return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION);
|
return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION);
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,7 +53,7 @@ class VKeyHalMonitor
|
||||||
public:
|
public:
|
||||||
VKeyHalMonitor() = default;
|
VKeyHalMonitor() = default;
|
||||||
virtual ~VKeyHalMonitor() = default;
|
virtual ~VKeyHalMonitor() = default;
|
||||||
virtual void KeyEventHappened(const std::string &keyName, const VirtualKeyEvent &event, const unsigned int &timeMs);
|
virtual void KeyEventHappened(const std::string &keyName, const VirtualKeyEvent &event);
|
||||||
};
|
};
|
||||||
class VKeyHal
|
class VKeyHal
|
||||||
{
|
{
|
||||||
|
@ -106,7 +106,8 @@ public:
|
||||||
virtual ~VSdCardHal() = default;
|
virtual ~VSdCardHal() = default;
|
||||||
virtual void SetSdCardMonitor(std::shared_ptr<VSdCardHalMonitor> &monitor);
|
virtual void SetSdCardMonitor(std::shared_ptr<VSdCardHalMonitor> &monitor);
|
||||||
virtual SdCardHalStatus GetSdCardStatus(void);
|
virtual SdCardHalStatus GetSdCardStatus(void);
|
||||||
virtual StatusCode GetCapacity(unsigned long long &totalSizeMB, unsigned long long &freeSizeMB, unsigned long long &usedSizeMB);
|
virtual StatusCode GetCapacity(unsigned long long &totalSizeMB, unsigned long long &freeSizeMB,
|
||||||
|
unsigned long long &usedSizeMB);
|
||||||
};
|
};
|
||||||
class IHalCpp
|
class IHalCpp
|
||||||
{
|
{
|
||||||
|
|
|
@ -25,6 +25,12 @@ StatusCode HalCpp::Init(void)
|
||||||
if (nullptr != sdCardImpl) {
|
if (nullptr != sdCardImpl) {
|
||||||
sdCardImpl->Init();
|
sdCardImpl->Init();
|
||||||
}
|
}
|
||||||
|
HalMakePtr::GetInstance()->CreateAllKeyHal(mKeys);
|
||||||
|
auto checkPinValue = [](std::shared_ptr<HalCpp> impl) {
|
||||||
|
LogInfo("HalCpp::CheckAllPinVauleThread start\n");
|
||||||
|
impl->CheckAllPinVauleThread();
|
||||||
|
};
|
||||||
|
mCheckPinThread = std::thread(checkPinValue, shared_from_this());
|
||||||
return CreateStatusCode(STATUS_CODE_OK);
|
return CreateStatusCode(STATUS_CODE_OK);
|
||||||
}
|
}
|
||||||
StatusCode HalCpp::UnInit(void)
|
StatusCode HalCpp::UnInit(void)
|
||||||
|
@ -34,6 +40,10 @@ StatusCode HalCpp::UnInit(void)
|
||||||
if (nullptr != sdCardImpl) {
|
if (nullptr != sdCardImpl) {
|
||||||
sdCardImpl->UnInit();
|
sdCardImpl->UnInit();
|
||||||
}
|
}
|
||||||
|
mThreadRuning = false;
|
||||||
|
if (mCheckPinThread.joinable()) {
|
||||||
|
mCheckPinThread.join();
|
||||||
|
}
|
||||||
mWifiHal.reset();
|
mWifiHal.reset();
|
||||||
mSdCardHal.reset();
|
mSdCardHal.reset();
|
||||||
return CreateStatusCode(STATUS_CODE_OK);
|
return CreateStatusCode(STATUS_CODE_OK);
|
||||||
|
@ -48,3 +58,12 @@ StatusCode HalCpp::GetSdCardHal(std::shared_ptr<VSdCardHal> &sdCard)
|
||||||
sdCard = mSdCardHal;
|
sdCard = mSdCardHal;
|
||||||
return CreateStatusCode(STATUS_CODE_OK);
|
return CreateStatusCode(STATUS_CODE_OK);
|
||||||
}
|
}
|
||||||
|
void HalCpp::CheckAllPinVauleThread(void)
|
||||||
|
{
|
||||||
|
// mThreadRuning = true;
|
||||||
|
// while (mThreadRuning) {
|
||||||
|
// for (auto &keyHalImpl : mKeys) {
|
||||||
|
// }
|
||||||
|
// std::this_thread::sleep_for(std::chrono::milliseconds(PERIPHERAL_CHECK_PERIOD_MS));
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
|
@ -15,8 +15,10 @@
|
||||||
#ifndef HALCPP_H
|
#ifndef HALCPP_H
|
||||||
#define HALCPP_H
|
#define HALCPP_H
|
||||||
#include "IHalCpp.h"
|
#include "IHalCpp.h"
|
||||||
|
#include "KeyControl.h"
|
||||||
#include <memory>
|
#include <memory>
|
||||||
class HalCpp : public IHalCpp
|
#include <thread>
|
||||||
|
class HalCpp : public IHalCpp, public std::enable_shared_from_this<HalCpp>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
HalCpp() = default;
|
HalCpp() = default;
|
||||||
|
@ -26,9 +28,15 @@ public:
|
||||||
StatusCode GetWifiHal(std::shared_ptr<VWifiHal> &wifi) override;
|
StatusCode GetWifiHal(std::shared_ptr<VWifiHal> &wifi) override;
|
||||||
StatusCode GetSdCardHal(std::shared_ptr<VSdCardHal> &sdCard) override;
|
StatusCode GetSdCardHal(std::shared_ptr<VSdCardHal> &sdCard) override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
void CheckAllPinVauleThread(void);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::vector<std::shared_ptr<VLedHal>> mLedHals;
|
std::vector<std::shared_ptr<VLedHal>> mLedHals;
|
||||||
std::shared_ptr<VWifiHal> mWifiHal;
|
std::shared_ptr<VWifiHal> mWifiHal;
|
||||||
std::shared_ptr<VSdCardHal> mSdCardHal;
|
std::shared_ptr<VSdCardHal> mSdCardHal;
|
||||||
|
std::vector<std::shared_ptr<VKeyControl>> mKeys;
|
||||||
|
bool mThreadRuning = false;
|
||||||
|
std::thread mCheckPinThread;
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
|
@ -93,3 +93,7 @@ StatusCode HalMakePtr::CreateSdCardHal(std::shared_ptr<VSdCardHal> &impl)
|
||||||
impl = std::make_shared<SdCardHal>();
|
impl = std::make_shared<SdCardHal>();
|
||||||
return CreateStatusCode(STATUS_CODE_OK);
|
return CreateStatusCode(STATUS_CODE_OK);
|
||||||
}
|
}
|
||||||
|
StatusCode HalMakePtr::CreateAllKeyHal(std::vector<std::shared_ptr<VKeyControl>> &keys)
|
||||||
|
{
|
||||||
|
return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION);
|
||||||
|
}
|
|
@ -17,6 +17,7 @@
|
||||||
#include "IHal.h"
|
#include "IHal.h"
|
||||||
#include "IHalCpp.h"
|
#include "IHalCpp.h"
|
||||||
#include "StatusCode.h"
|
#include "StatusCode.h"
|
||||||
|
#include "KeyControl.h"
|
||||||
#include <memory>
|
#include <memory>
|
||||||
class HalMakePtr
|
class HalMakePtr
|
||||||
{
|
{
|
||||||
|
@ -37,5 +38,6 @@ public:
|
||||||
virtual StatusCode CreateWifiHal(std::shared_ptr<VWifiHal> &impl);
|
virtual StatusCode CreateWifiHal(std::shared_ptr<VWifiHal> &impl);
|
||||||
virtual StatusCode CreateCameraHal(std::shared_ptr<VCameraHal> &impl);
|
virtual StatusCode CreateCameraHal(std::shared_ptr<VCameraHal> &impl);
|
||||||
virtual StatusCode CreateSdCardHal(std::shared_ptr<VSdCardHal> &impl);
|
virtual StatusCode CreateSdCardHal(std::shared_ptr<VSdCardHal> &impl);
|
||||||
|
virtual StatusCode CreateAllKeyHal(std::vector<std::shared_ptr<VKeyControl>> &keys);
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
|
@ -4,6 +4,7 @@
|
||||||
| ---- | ---- | ---- |
|
| ---- | ---- | ---- |
|
||||||
| V1.0 | 2024-5-21 | 首次评审。 |
|
| V1.0 | 2024-5-21 | 首次评审。 |
|
||||||
| V1.1 | 2024-5-25 | 增加标准设置项和动态设置参数协议。 |
|
| V1.1 | 2024-5-25 | 增加标准设置项和动态设置参数协议。 |
|
||||||
|
| V1.2 | 2024-5-27 | 完善自定义协议描述。 |
|
||||||
|
|
||||||
## 1.1. 概述
|
## 1.1. 概述
|
||||||
|
|
||||||
|
@ -110,6 +111,8 @@
|
||||||
|
|
||||||
**打猎机参数需求列表:**
|
**打猎机参数需求列表:**
|
||||||
|
|
||||||
|
  **下述列表中,未支持的设置项作为标准设置项需求,APP在切换语言时需要做对应的翻译。**
|
||||||
|
|
||||||
| 参数名称 | 数据类型 | 取值说明 | 公版支持 | 备注 |
|
| 参数名称 | 数据类型 | 取值说明 | 公版支持 | 备注 |
|
||||||
| ---- | ---- | ---- | ---- | ---- |
|
| ---- | ---- | ---- | ---- | ---- |
|
||||||
| 记录仪WiFi名称 | ---- | ---- | 支持 | ---- |
|
| 记录仪WiFi名称 | ---- | ---- | 支持 | ---- |
|
||||||
|
|
|
@ -30,16 +30,13 @@ std::shared_ptr<KeyManager> &KeyManager::GetInstance(std::shared_ptr<KeyManager>
|
||||||
}
|
}
|
||||||
KeyManager::KeyManager()
|
KeyManager::KeyManager()
|
||||||
{
|
{
|
||||||
//
|
|
||||||
}
|
}
|
||||||
void KeyManager::Init(void)
|
void KeyManager::Init(void)
|
||||||
{
|
{
|
||||||
//
|
|
||||||
IHalCpp::GetInstance()->GetAllKeys(mAllKeyHal);
|
IHalCpp::GetInstance()->GetAllKeys(mAllKeyHal);
|
||||||
}
|
}
|
||||||
void KeyManager::UnInit(void)
|
void KeyManager::UnInit(void)
|
||||||
{
|
{
|
||||||
//
|
|
||||||
StopTimer();
|
StopTimer();
|
||||||
mAllKeyHal.clear();
|
mAllKeyHal.clear();
|
||||||
}
|
}
|
||||||
|
@ -101,13 +98,13 @@ void KeyManager::SetKeyHalMonitor(void)
|
||||||
keyHal->SetKeyMonitor(monitor);
|
keyHal->SetKeyMonitor(monitor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
void KeyManager::KeyEventHappened(const std::string &keyName, const VirtualKeyEvent &event, const unsigned int &timeMs)
|
void KeyManager::KeyEventHappened(const std::string &keyName, const VirtualKeyEvent &event)
|
||||||
{
|
{
|
||||||
auto monitor = mKeyMonitor.lock();
|
auto monitor = mKeyMonitor.lock();
|
||||||
if (mKeyMonitor.expired()) {
|
if (mKeyMonitor.expired()) {
|
||||||
LogError("monitor is nullptr.\n");
|
LogError("monitor is nullptr.\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
LogInfo("KeyManager::KeyEventHappened: key = %s, event = %d, time = %u\n", keyName.c_str(), event, timeMs);
|
LogInfo("KeyManager::KeyEventHappened: key = %s, event = %d, time = %u\n", keyName.c_str(), event);
|
||||||
monitor->KeyEventReport(keyName, static_cast<VirtualKeyEvent>(event), timeMs);
|
monitor->KeyEventReport(keyName, static_cast<VirtualKeyEvent>(event), 99999);
|
||||||
}
|
}
|
|
@ -38,8 +38,7 @@ private:
|
||||||
void SetKeyHalMonitor(void);
|
void SetKeyHalMonitor(void);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void KeyEventHappened(const std::string &keyName, const VirtualKeyEvent &event,
|
void KeyEventHappened(const std::string &keyName, const VirtualKeyEvent &event) override;
|
||||||
const unsigned int &timeMs) override;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::mutex mMutex;
|
std::mutex mMutex;
|
||||||
|
|
|
@ -38,7 +38,7 @@ void KeyControlTest::KeyEventTrigger(const std::string &keyName, const KeyEvent
|
||||||
LogError("monitor is nullptr.\n");
|
LogError("monitor is nullptr.\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
monitor->KeyEventHappened(keyName, static_cast<VirtualKeyEvent>(event), timeMs);
|
monitor->KeyEventHappened(keyName, static_cast<VirtualKeyEvent>(event));
|
||||||
}
|
}
|
||||||
const std::string KeyControlTest::GetKeyName(void)
|
const std::string KeyControlTest::GetKeyName(void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -38,25 +38,17 @@ class VKeyControl
|
||||||
public:
|
public:
|
||||||
VKeyControl() = default;
|
VKeyControl() = default;
|
||||||
virtual ~VKeyControl() = default;
|
virtual ~VKeyControl() = default;
|
||||||
virtual const std::string GetKeyName(void)
|
virtual const std::string GetKeyName(void);
|
||||||
{
|
virtual unsigned int GetStatusCheckPeriodMs(void);
|
||||||
return "undefine";
|
virtual void KeyEventTrigger(const std::string &keyName, const KeyEvent &event, const unsigned int &timeMs);
|
||||||
}
|
|
||||||
virtual unsigned int GetStatusCheckPeriodMs(void)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
virtual void KeyEventTrigger(const std::string &keyName, const KeyEvent &event, const unsigned int &timeMs)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
class KeyControl : public VKeyControl, public std::enable_shared_from_this<KeyControl>
|
class KeyControl : public VKeyControl, public std::enable_shared_from_this<KeyControl>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
KeyControl();
|
KeyControl();
|
||||||
virtual ~KeyControl();
|
virtual ~KeyControl();
|
||||||
void Init(void);
|
virtual void Init(void);
|
||||||
void UnInit(void);
|
virtual void UnInit(void);
|
||||||
void KeyHalEventHandle(const std::string &key, const KeyHalEvent &keyEvent);
|
void KeyHalEventHandle(const std::string &key, const KeyHalEvent &keyEvent);
|
||||||
void TimerKeyEventTrigger(const KeyHalEvent &event);
|
void TimerKeyEventTrigger(const KeyHalEvent &event);
|
||||||
void KeyHalEventTrigger(const KeyHalEvent &event);
|
void KeyHalEventTrigger(const KeyHalEvent &event);
|
||||||
|
|
|
@ -28,6 +28,20 @@ bool KeyControl::IsKeyPressing(void)
|
||||||
{
|
{
|
||||||
return mPressingTime >= KEY_PRESSING ? true : false;
|
return mPressingTime >= KEY_PRESSING ? true : false;
|
||||||
}
|
}
|
||||||
|
const std::string VKeyControl::GetKeyName(void)
|
||||||
|
{
|
||||||
|
return "undefine";
|
||||||
|
}
|
||||||
|
unsigned int VKeyControl::GetStatusCheckPeriodMs(void)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
void VKeyControl::KeyEventTrigger(const std::string &keyName, const KeyEvent &event, const unsigned int &timeMs)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
void KeyControl::Init(void)
|
||||||
|
{
|
||||||
|
}
|
||||||
void KeyControl::UnInit(void)
|
void KeyControl::UnInit(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -62,7 +76,6 @@ void KeyControl::KeyHalEventTrigger(const KeyHalEvent &event)
|
||||||
}
|
}
|
||||||
long int KeyControl::GetHoldPressingTimeMs(void)
|
long int KeyControl::GetHoldPressingTimeMs(void)
|
||||||
{
|
{
|
||||||
//
|
|
||||||
return mPressingTime;
|
return mPressingTime;
|
||||||
}
|
}
|
||||||
void KeyControl::KeyPressingTrigger(const std::string &key)
|
void KeyControl::KeyPressingTrigger(const std::string &key)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user