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";
// }
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)
{
LogWarning("STATUS_CODE_VIRTUAL_FUNCTION.\n");

View File

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

View File

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

View File

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

View File

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

View File

@ -183,6 +183,11 @@ void AppManager::WifiApModeInit(const AppParam &param)
LogError("Get wifi hal failed.\n");
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
* blocking does not cause the main thread to block.