Improve:Led Hal code.
This commit is contained in:
parent
a9b4eee4ea
commit
281c4dfe73
|
@ -12,6 +12,7 @@ include_directories(
|
||||||
${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
|
${UTILS_SOURCE_PATH}/KeyControl/include
|
||||||
|
${UTILS_SOURCE_PATH}/LedControl/include
|
||||||
)
|
)
|
||||||
#do not rely on any other library
|
#do not rely on any other library
|
||||||
# link_directories(
|
# link_directories(
|
||||||
|
@ -24,7 +25,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 KeyControl StatusCode Log)
|
target_link_libraries(${ABSTRACT_TARGET} LinuxApi KeyControl LedControl 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})
|
||||||
|
|
||||||
|
|
|
@ -70,7 +70,6 @@ public:
|
||||||
virtual void CheckKeyStatus(void);
|
virtual void CheckKeyStatus(void);
|
||||||
virtual void GetHoldPressingTimeMs(long int &holdTimeMs, VirtualKeyEvent &event);
|
virtual void GetHoldPressingTimeMs(long int &holdTimeMs, VirtualKeyEvent &event);
|
||||||
virtual void SetKeyMonitor(std::shared_ptr<VKeyHalMonitor> &monitor);
|
virtual void SetKeyMonitor(std::shared_ptr<VKeyHalMonitor> &monitor);
|
||||||
// virtual std::string GetKeyHalName(void);
|
|
||||||
};
|
};
|
||||||
class VLedHal
|
class VLedHal
|
||||||
{
|
{
|
||||||
|
|
|
@ -30,12 +30,8 @@ StatusCode HalCpp::Init(void)
|
||||||
if (nullptr != sdCardImpl) {
|
if (nullptr != sdCardImpl) {
|
||||||
sdCardImpl->Init();
|
sdCardImpl->Init();
|
||||||
}
|
}
|
||||||
HalMakePtr::GetInstance()->CreateAllKeyHal(mKeys);
|
HalMakePtr::GetInstance()->CreateAllKeysHal(mKeys);
|
||||||
// auto checkPinValue = [](std::shared_ptr<HalCpp> impl) {
|
HalMakePtr::GetInstance()->CreateAllLedsHal(mLeds);
|
||||||
// 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)
|
||||||
|
@ -45,10 +41,6 @@ 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);
|
||||||
|
@ -63,6 +55,19 @@ StatusCode HalCpp::GetSdCardHal(std::shared_ptr<VSdCardHal> &sdCard)
|
||||||
sdCard = mSdCardHal;
|
sdCard = mSdCardHal;
|
||||||
return CreateStatusCode(STATUS_CODE_OK);
|
return CreateStatusCode(STATUS_CODE_OK);
|
||||||
}
|
}
|
||||||
|
StatusCode HalCpp::GetAllLeds(std::map<std::string, std::shared_ptr<VLedHal>> &allLeds)
|
||||||
|
{
|
||||||
|
LogInfo("GetAllLeds\n");
|
||||||
|
for (auto &led : mLeds) {
|
||||||
|
std::shared_ptr<VLedHal> ledControl = std::dynamic_pointer_cast<VLedHal>(led);
|
||||||
|
if (nullptr == ledControl) {
|
||||||
|
LogError("ledControl is nullptr\n");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
allLeds.insert(std::make_pair(led->GetLedName(), ledControl));
|
||||||
|
}
|
||||||
|
return CreateStatusCode(STATUS_CODE_OK);
|
||||||
|
}
|
||||||
StatusCode HalCpp::GetAllKeys(std::map<std::string, std::shared_ptr<VKeyHal>> &allKeys)
|
StatusCode HalCpp::GetAllKeys(std::map<std::string, std::shared_ptr<VKeyHal>> &allKeys)
|
||||||
{
|
{
|
||||||
LogInfo("GetAllKeys\n");
|
LogInfo("GetAllKeys\n");
|
||||||
|
@ -76,12 +81,3 @@ StatusCode HalCpp::GetAllKeys(std::map<std::string, std::shared_ptr<VKeyHal>> &a
|
||||||
}
|
}
|
||||||
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));
|
|
||||||
// }
|
|
||||||
}
|
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
#define HALCPP_H
|
#define HALCPP_H
|
||||||
#include "IHalCpp.h"
|
#include "IHalCpp.h"
|
||||||
#include "KeyControl.h"
|
#include "KeyControl.h"
|
||||||
|
#include "LedControl.h"
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <thread>
|
#include <thread>
|
||||||
class HalCpp : public IHalCpp, public std::enable_shared_from_this<HalCpp>
|
class HalCpp : public IHalCpp, public std::enable_shared_from_this<HalCpp>
|
||||||
|
@ -27,17 +28,15 @@ public:
|
||||||
StatusCode UnInit(void) override;
|
StatusCode UnInit(void) override;
|
||||||
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;
|
||||||
|
StatusCode GetAllLeds(std::map<std::string, std::shared_ptr<VLedHal>> &allLeds) override;
|
||||||
StatusCode GetAllKeys(std::map<std::string, std::shared_ptr<VKeyHal>> &allKeys) override;
|
StatusCode GetAllKeys(std::map<std::string, std::shared_ptr<VKeyHal>> &allKeys) override;
|
||||||
|
|
||||||
private:
|
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;
|
std::vector<std::shared_ptr<VKeyControl>> mKeys;
|
||||||
bool mThreadRuning = false;
|
std::vector<std::shared_ptr<VLedControl>> mLeds;
|
||||||
std::thread mCheckPinThread;
|
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
|
@ -93,7 +93,12 @@ 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)
|
StatusCode HalMakePtr::CreateAllKeysHal(std::vector<std::shared_ptr<VKeyControl>> &keys)
|
||||||
|
{
|
||||||
|
LogInfo("STATUS_CODE_VIRTUAL_FUNCTION.\n");
|
||||||
|
return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION);
|
||||||
|
}
|
||||||
|
StatusCode HalMakePtr::CreateAllLedsHal(std::vector<std::shared_ptr<VLedControl>> &leds)
|
||||||
{
|
{
|
||||||
LogInfo("STATUS_CODE_VIRTUAL_FUNCTION.\n");
|
LogInfo("STATUS_CODE_VIRTUAL_FUNCTION.\n");
|
||||||
return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION);
|
return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION);
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
#include "IHalCpp.h"
|
#include "IHalCpp.h"
|
||||||
#include "StatusCode.h"
|
#include "StatusCode.h"
|
||||||
#include "KeyControl.h"
|
#include "KeyControl.h"
|
||||||
|
#include "LedControl.h"
|
||||||
#include <memory>
|
#include <memory>
|
||||||
class HalMakePtr
|
class HalMakePtr
|
||||||
{
|
{
|
||||||
|
@ -38,6 +39,7 @@ 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);
|
virtual StatusCode CreateAllKeysHal(std::vector<std::shared_ptr<VKeyControl>> &keys);
|
||||||
|
virtual StatusCode CreateAllLedsHal(std::vector<std::shared_ptr<VLedControl>> &leds);
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
|
@ -59,14 +59,14 @@ StatusCode HalMakePtrTest::CreateSdCardHal(std::shared_ptr<VSdCardHal> &impl)
|
||||||
impl = mSdCardHalMock;
|
impl = mSdCardHalMock;
|
||||||
return CreateStatusCode(STATUS_CODE_OK);
|
return CreateStatusCode(STATUS_CODE_OK);
|
||||||
}
|
}
|
||||||
StatusCode HalMakePtrTest::CreateAllKeyHal(std::vector<std::shared_ptr<VKeyControl>> &keys)
|
StatusCode HalMakePtrTest::CreateAllKeysHal(std::vector<std::shared_ptr<VKeyControl>> &keys)
|
||||||
{
|
{
|
||||||
if (mKeysMock.size() > 0) {
|
if (mKeysMock.size() > 0) {
|
||||||
LogInfo("Create mock keys.size = %d\n", mKeysMock.size());
|
LogInfo("Create mock keys.size = %d\n", mKeysMock.size());
|
||||||
keys = mKeysMock;
|
keys = mKeysMock;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
HalMakePtr::CreateAllKeyHal(keys);
|
HalMakePtr::CreateAllKeysHal(keys);
|
||||||
}
|
}
|
||||||
return CreateStatusCode(STATUS_CODE_OK);
|
return CreateStatusCode(STATUS_CODE_OK);
|
||||||
}
|
}
|
|
@ -28,7 +28,7 @@ public:
|
||||||
virtual ~HalMakePtrTest();
|
virtual ~HalMakePtrTest();
|
||||||
StatusCode CreateHalSharePtr(std::shared_ptr<IHalCpp> &impl) override;
|
StatusCode CreateHalSharePtr(std::shared_ptr<IHalCpp> &impl) override;
|
||||||
StatusCode CreateSdCardHal(std::shared_ptr<VSdCardHal> &impl) override;
|
StatusCode CreateSdCardHal(std::shared_ptr<VSdCardHal> &impl) override;
|
||||||
StatusCode CreateAllKeyHal(std::vector<std::shared_ptr<VKeyControl>> &keys) override;
|
StatusCode CreateAllKeysHal(std::vector<std::shared_ptr<VKeyControl>> &keys) override;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
std::shared_ptr<HalCppMock> mHalCppMock;
|
std::shared_ptr<HalCppMock> mHalCppMock;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user