Improve:wifi function.

This commit is contained in:
Fancy code 2024-06-01 20:09:28 +08:00
parent bcad96ab84
commit f0c02cef1a
6 changed files with 26 additions and 3 deletions

View File

@ -40,6 +40,16 @@ void VKeyHal::SetKeyMonitor(std::shared_ptr<VKeyHalMonitor> &monitor)
// { // {
// return "undefined"; // return "undefined";
// } // }
StatusCode VWifiHal::PowerOn(void)
{
LogWarning("STATUS_CODE_VIRTUAL_FUNCTION.\n");
return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION);
}
StatusCode VWifiHal::PowerOff(void)
{
LogWarning("STATUS_CODE_VIRTUAL_FUNCTION.\n");
return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION);
}
StatusCode VWifiHal::OpenApMode(void) StatusCode VWifiHal::OpenApMode(void)
{ {
LogWarning("STATUS_CODE_VIRTUAL_FUNCTION.\n"); LogWarning("STATUS_CODE_VIRTUAL_FUNCTION.\n");

View File

@ -83,6 +83,8 @@ class VWifiHal
public: public:
VWifiHal() = default; VWifiHal() = default;
virtual ~VWifiHal() = default; virtual ~VWifiHal() = default;
virtual StatusCode PowerOn(void);
virtual StatusCode PowerOff(void);
virtual StatusCode OpenApMode(void); virtual StatusCode OpenApMode(void);
virtual StatusCode CloseApMode(void); virtual StatusCode CloseApMode(void);
}; };

View File

@ -16,10 +16,15 @@
#include "HalMakePtr.h" #include "HalMakePtr.h"
#include "ILog.h" #include "ILog.h"
#include "SdCardHal.h" #include "SdCardHal.h"
#include "WifiHal.h"
StatusCode HalCpp::Init(void) StatusCode HalCpp::Init(void)
{ {
LogInfo("HalCpp::Init\n"); LogInfo("HalCpp::Init\n");
HalMakePtr::GetInstance()->CreateWifiHal(mWifiHal); HalMakePtr::GetInstance()->CreateWifiHal(mWifiHal);
std::shared_ptr<WifiHal> wifiImpl = std::dynamic_pointer_cast<WifiHal>(mWifiHal);
if (nullptr != wifiImpl) {
wifiImpl->Init();
}
HalMakePtr::GetInstance()->CreateSdCardHal(mSdCardHal); HalMakePtr::GetInstance()->CreateSdCardHal(mSdCardHal);
std::shared_ptr<SdCardHal> sdCardImpl = std::dynamic_pointer_cast<SdCardHal>(mSdCardHal); std::shared_ptr<SdCardHal> sdCardImpl = std::dynamic_pointer_cast<SdCardHal>(mSdCardHal);
if (nullptr != sdCardImpl) { if (nullptr != sdCardImpl) {

View File

@ -56,6 +56,7 @@ StatusCode WifiHal::CloseApMode(void)
} }
void WifiHal::Init(void) void WifiHal::Init(void)
{ {
PowerOff();
} }
void WifiHal::UnInit(void) void WifiHal::UnInit(void)
{ {

View File

@ -22,10 +22,10 @@ public:
virtual ~WifiHal() = default; virtual ~WifiHal() = default;
StatusCode OpenApMode(void) override; StatusCode OpenApMode(void) override;
StatusCode CloseApMode(void) override; StatusCode CloseApMode(void) override;
void Init(void); virtual void Init(void);
void UnInit(void); virtual void UnInit(void);
private: protected:
bool CheckWlan0IfExist(void); bool CheckWlan0IfExist(void);
protected: protected:

View File

@ -183,6 +183,11 @@ void AppManager::WifiApModeInit(const AppParam &param)
LogError("Get wifi hal failed.\n"); LogError("Get wifi hal failed.\n");
return; return;
} }
StatusCode codePower = wifi->PowerOn();
if (!IsCodeOK(codePower)) {
LogError("Wifi power on failed.\n");
return;
}
/** /**
* @brief This interface depends on hardware and may block. It is necessary to ensure that hardware interface * @brief This interface depends on hardware and may block. It is necessary to ensure that hardware interface
* blocking does not cause the main thread to block. * blocking does not cause the main thread to block.