mirror of
https://github.com/NathanReeves/BlueCubeMod
synced 2024-11-27 19:42:25 -05:00
store a random mac address in flash
Allows multiple controllers on one switch console
This commit is contained in:
parent
5f7c484da1
commit
e99d3c32cc
@ -11,6 +11,7 @@
|
||||
#include "esp_bt_device.h"
|
||||
#include "esp_bt.h"
|
||||
#include "esp_err.h"
|
||||
#include "esp_system.h"
|
||||
#include "nvs.h"
|
||||
#include "nvs_flash.h"
|
||||
#include "esp_gap_bt_api.h"
|
||||
@ -743,6 +744,35 @@ void vc_unplug_cb(void) {
|
||||
ESP_LOGI(TAG, "host did a virtual cable unplug");
|
||||
}
|
||||
|
||||
void set_bt_address()
|
||||
{
|
||||
//store a random mac address in flash
|
||||
nvs_handle my_handle;
|
||||
esp_err_t err;
|
||||
uint8_t bt_addr[8];
|
||||
|
||||
err = nvs_open("storage", NVS_READWRITE, &my_handle);
|
||||
if (err != ESP_OK) return err;
|
||||
|
||||
size_t addr_size = 0;
|
||||
err = nvs_get_blob(my_handle, "mac_addr", NULL, &addr_size);
|
||||
if (err != ESP_OK && err != ESP_ERR_NVS_NOT_FOUND) return err;
|
||||
|
||||
if (addr_size > 0) {
|
||||
err = nvs_get_blob(my_handle, "mac_addr", bt_addr, &addr_size);
|
||||
}
|
||||
else
|
||||
{
|
||||
for(int i=0; i<8; i++)
|
||||
bt_addr[i] = esp_random()%255;
|
||||
size_t addr_size = sizeof(bt_addr);
|
||||
err = nvs_set_blob(my_handle, "mac_addr", bt_addr, addr_size);
|
||||
}
|
||||
|
||||
err = nvs_commit(my_handle);
|
||||
nvs_close(my_handle);
|
||||
esp_base_mac_addr_set(bt_addr);
|
||||
}
|
||||
void print_bt_address() {
|
||||
const char* TAG = "bt_address";
|
||||
const uint8_t* bd_addr;
|
||||
@ -821,8 +851,6 @@ void app_main() {
|
||||
io_conf.pull_up_en = 0;
|
||||
//configure GPIO with the given settings
|
||||
gpio_config(&io_conf);
|
||||
//gap_callbacks = get_device_cb;
|
||||
|
||||
|
||||
app_param.name = "BlueCubeMod";
|
||||
app_param.description = "BlueCubeMod Example";
|
||||
@ -847,6 +875,8 @@ void app_main() {
|
||||
}
|
||||
ESP_ERROR_CHECK( ret );
|
||||
|
||||
set_bt_address();
|
||||
|
||||
ESP_ERROR_CHECK(esp_bt_controller_mem_release(ESP_BT_MODE_BLE));
|
||||
|
||||
esp_bt_controller_config_t bt_cfg = BT_CONTROLLER_INIT_CONFIG_DEFAULT();
|
||||
|
Loading…
Reference in New Issue
Block a user