Improve:wifi function.

This commit is contained in:
Fancy code 2024-03-11 19:58:59 +08:00
parent 3cf1a1d8bd
commit 7eda62875b
7 changed files with 34 additions and 4 deletions

View File

@ -9,14 +9,13 @@ include_directories(
./include
${UTILS_SOURCE_PATH}/StatusCode/include
${UTILS_SOURCE_PATH}/Log/include
${UTILS_SOURCE_PATH}/LinuxApi/include
)
#do not rely on any other library
# link_directories(
# ${EXTERNAL_SOURCE_PATH}/curl/curl-8.1.2/build/lib
# )
aux_source_directory(./abstract ABSTRACT_SRC_FILES)
aux_source_directory(./src IMPL_SRC_FILES)

View File

@ -13,6 +13,7 @@
* limitations under the License.
*/
#include "HalCpp.h"
#include "HalMakePtr.h"
#include "ILog.h"
StatusCode HalCpp::Init(void)
{
@ -24,4 +25,8 @@ StatusCode HalCpp::UnInit(void)
LogInfo("HalCpp::UnInit\n");
return CreateStatusCode(STATUS_CODE_OK);
}
StatusCode HalCpp::GetWifiHal(std::shared_ptr<VWifiHal> &wifi) { return CreateStatusCode(STATUS_CODE_OK); }
StatusCode HalCpp::GetWifiHal(std::shared_ptr<VWifiHal> &wifi)
{
HalMakePtr::GetInstance()->CreateWifiHal(wifi);
return CreateStatusCode(STATUS_CODE_OK);
}

View File

@ -16,6 +16,7 @@
#include "Hal.h"
#include "HalCpp.h"
#include "ILog.h"
#include "WifiHal.h"
StatusCode CreateHalModule(void)
{
IHal *hal = NULL;
@ -74,3 +75,9 @@ StatusCode HalMakePtr::CreateHalSharePtr(std::shared_ptr<IHalCpp> &impl)
impl = std::make_shared<HalCpp>();
return CreateStatusCode(STATUS_CODE_OK);
}
StatusCode HalMakePtr::CreateWifiHal(std::shared_ptr<VWifiHal> &impl)
{
LogWarning("CreateWifiHal.\n");
impl = std::make_shared<WifiHal>();
return CreateStatusCode(STATUS_CODE_OK);
}

View File

@ -28,5 +28,6 @@ public:
virtual StatusCode UnInit() { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); }
virtual StatusCode CreateHalPtr(IHal **hal);
virtual StatusCode CreateHalSharePtr(std::shared_ptr<IHalCpp> &impl);
virtual StatusCode CreateWifiHal(std::shared_ptr<VWifiHal> &impl);
};
#endif

View File

@ -12,3 +12,13 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "WifiHal.h"
#include "LinuxApi.h"
StatusCode WifiHal::OpenApMode(void)
{
fx_system("ifconfig wlan0 192.168.175.1 netmask 255.255.255.0");
fx_system("hostapd -d /etc/hostapd.conf &");
fx_system("touch /var/lib/misc/udhcpd.leases");
fx_system("udhcpd -f /etc/udhcpd.conf &");
return CreateStatusCode(STATUS_CODE_OK);
}

View File

@ -20,5 +20,6 @@ class WifiHal : public VWifiHal
public:
WifiHal() = default;
virtual ~WifiHal() = default;
StatusCode OpenApMode(void) override;
};
#endif

View File

@ -0,0 +1,7 @@
# 1. llvm系列工具
&emsp;&emsp; git clone时可能会非常慢且频繁失败网速快时可正常失败后请多次重试。最好在保证网速的情况下进行下载源码。
## 1.1. 使用说明
1. 在工程根目录执行make compile_llvm;会下载源码编译并把llvm源码包含生成的工具文件拷贝到用户根目录以方便不同目录的源码工程可以复用llvm工具