mirror of
https://github.com/espressif/esp-protocols.git
synced 2025-07-23 15:27:28 +02:00
fix(wifi_remote): Added misc wifi API in eppp impl
Adds missing implementation of: * esp_wifi_deinit() * esp_wifi_disconnect() * esp_wifi_set_storage()
This commit is contained in:
@ -295,3 +295,24 @@ extern "C" esp_err_t esp_wifi_remote_set_mode(wifi_mode_t mode)
|
|||||||
ESP_RETURN_ON_ERROR(instance.send(api_id::SET_MODE, &mode), TAG, "Failed to send request");
|
ESP_RETURN_ON_ERROR(instance.send(api_id::SET_MODE, &mode), TAG, "Failed to send request");
|
||||||
return instance.get_resp<esp_err_t>(api_id::SET_MODE);
|
return instance.get_resp<esp_err_t>(api_id::SET_MODE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern "C" esp_err_t esp_wifi_remote_deinit(void)
|
||||||
|
{
|
||||||
|
std::lock_guard<Sync> lock(instance.sync);
|
||||||
|
ESP_RETURN_ON_ERROR(instance.send(api_id::DEINIT), TAG, "Failed to send request");
|
||||||
|
return instance.get_resp<esp_err_t>(api_id::DEINIT);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern "C" esp_err_t esp_wifi_remote_disconnect(void)
|
||||||
|
{
|
||||||
|
std::lock_guard<Sync> lock(instance.sync);
|
||||||
|
ESP_RETURN_ON_ERROR(instance.send(api_id::DISCONNECT), TAG, "Failed to send request");
|
||||||
|
return instance.get_resp<esp_err_t>(api_id::DISCONNECT);
|
||||||
|
}
|
||||||
|
|
||||||
|
extern "C" esp_err_t esp_wifi_remote_set_storage(wifi_storage_t storage)
|
||||||
|
{
|
||||||
|
std::lock_guard<Sync> lock(instance.sync);
|
||||||
|
ESP_RETURN_ON_ERROR(instance.send(api_id::SET_STORAGE, &storage), TAG, "Failed to send request");
|
||||||
|
return instance.get_resp<esp_err_t>(api_id::SET_STORAGE);
|
||||||
|
}
|
||||||
|
@ -18,12 +18,15 @@ enum class api_id : uint32_t {
|
|||||||
ERROR,
|
ERROR,
|
||||||
UNDEF,
|
UNDEF,
|
||||||
INIT,
|
INIT,
|
||||||
|
DEINIT,
|
||||||
SET_MODE,
|
SET_MODE,
|
||||||
SET_CONFIG,
|
SET_CONFIG,
|
||||||
START,
|
START,
|
||||||
STOP,
|
STOP,
|
||||||
CONNECT,
|
CONNECT,
|
||||||
|
DISCONNECT,
|
||||||
GET_MAC,
|
GET_MAC,
|
||||||
|
SET_STORAGE,
|
||||||
WIFI_EVENT,
|
WIFI_EVENT,
|
||||||
IP_EVENT,
|
IP_EVENT,
|
||||||
};
|
};
|
||||||
|
@ -164,6 +164,36 @@ private:
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case api_id::DISCONNECT: {
|
||||||
|
if (header.size != 0) {
|
||||||
|
return ESP_FAIL;
|
||||||
|
}
|
||||||
|
|
||||||
|
auto ret = esp_wifi_disconnect();
|
||||||
|
if (rpc.send(api_id::DISCONNECT, &ret) != ESP_OK) {
|
||||||
|
return ESP_FAIL;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case api_id::DEINIT: {
|
||||||
|
if (header.size != 0) {
|
||||||
|
return ESP_FAIL;
|
||||||
|
}
|
||||||
|
|
||||||
|
auto ret = esp_wifi_deinit();
|
||||||
|
if (rpc.send(api_id::DEINIT, &ret) != ESP_OK) {
|
||||||
|
return ESP_FAIL;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case api_id::SET_STORAGE: {
|
||||||
|
auto req = rpc.get_payload<wifi_storage_t>(api_id::SET_STORAGE, header);
|
||||||
|
auto ret = esp_wifi_set_storage(req);
|
||||||
|
if (rpc.send(api_id::SET_STORAGE, &ret) != ESP_OK) {
|
||||||
|
return ESP_FAIL;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
case api_id::GET_MAC: {
|
case api_id::GET_MAC: {
|
||||||
auto req = rpc.get_payload<wifi_interface_t>(api_id::GET_MAC, header);
|
auto req = rpc.get_payload<wifi_interface_t>(api_id::GET_MAC, header);
|
||||||
esp_wifi_remote_mac_t resp = {};
|
esp_wifi_remote_mac_t resp = {};
|
||||||
|
Reference in New Issue
Block a user