/* * This file is designed to support Analog functions in Espruino, * a JavaScript interpreter for Microcontrollers designed by Gordon Williams * * Copyright (C) 2016 by Juergen Marsch * * This Source Code Form is subject to the terms of the Mozilla Publici * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * ---------------------------------------------------------------------------- * This file is designed to be parsed during the build process * * Contains ESP32 board specific functions for networking (wifi, ble). * ---------------------------------------------------------------------------- */ #include "jshardwareESP32.h" #include "esp_system.h" #include "nvs_flash.h" #include "nvs.h" static char *ESP32_hardwareName(esp_hardware_esp32_t hardware){ switch(hardware){ case ESP_NETWORK_BLE: return "bleStatus"; case ESP_NETWORK_WIFI: return "wifiStatus"; } return "unknownHardware"; } bool ESP32_Get_NVS_Status(esp_hardware_esp32_t hardware){ esp_err_t err;nvs_handle hardwareHandle; uint32_t status; nvs_open("nvs",NVS_READWRITE,&hardwareHandle); err = nvs_get_u32(hardwareHandle,ESP32_hardwareName(hardware),&status); if(err) { status = ESP32HARDWAREDEFAULT; nvs_set_u32(hardwareHandle,ESP32_hardwareName(hardware),ESP32HARDWAREDEFAULT); } nvs_close(hardwareHandle); return (bool) status; } void ESP32_Set_NVS_Status(esp_hardware_esp32_t hardware, bool enable){ nvs_handle hardwareHandle; uint32_t status; if(enable) status = 1; else status = 0; nvs_open("nvs",NVS_READWRITE,&hardwareHandle); nvs_set_u32(hardwareHandle,ESP32_hardwareName(hardware),status); nvs_close(hardwareHandle); }