|
42 | 42 | #define NIMBLE_NVS_CCCD_SEC_KEY "cccd_sec" |
43 | 43 | #define NIMBLE_NVS_CSFC_SEC_KEY "csfc_sec" |
44 | 44 | #define NIMBLE_NVS_PEER_RECORDS_KEY "p_dev_rec" |
45 | | -#define NIMBLE_NVS_NAMESPACE "nimble_bond" |
| 45 | +#define NIMBLE_NVS_DEFAULT_NAMESPACE "nimble_bond" |
46 | 46 |
|
47 | 47 | #if MYNEWT_VAL(ENC_ADV_DATA) |
48 | 48 | #define NIMBLE_NVS_EAD_SEC_KEY "ead_sec" |
|
53 | 53 | typedef uint32_t nvs_handle_t; |
54 | 54 |
|
55 | 55 | static const char *LOG_TAG = "NIMBLE_NVS"; |
| 56 | +static char nimble_nvs_namespace_buf[NIMBLE_NVS_STR_NAME_MAX_LEN]; |
| 57 | +static const char *NIMBLE_NVS_NAMESPACE = NIMBLE_NVS_DEFAULT_NAMESPACE; |
56 | 58 |
|
57 | 59 | /***************************************************************************** |
58 | 60 | * $ MISC * |
59 | 61 | *****************************************************************************/ |
60 | 62 |
|
| 63 | +void |
| 64 | +set_nimble_nvs_namespace(const char *ns) |
| 65 | +{ |
| 66 | + if (ns == NULL) { |
| 67 | + NIMBLE_NVS_NAMESPACE = NIMBLE_NVS_DEFAULT_NAMESPACE; |
| 68 | + return; |
| 69 | + } |
| 70 | + |
| 71 | + if (strlen(ns) < NIMBLE_NVS_STR_NAME_MAX_LEN) { |
| 72 | + strncpy(nimble_nvs_namespace_buf, ns, NIMBLE_NVS_STR_NAME_MAX_LEN - 1); |
| 73 | + nimble_nvs_namespace_buf[NIMBLE_NVS_STR_NAME_MAX_LEN - 1] = '\0'; |
| 74 | + NIMBLE_NVS_NAMESPACE = nimble_nvs_namespace_buf; |
| 75 | + } else { |
| 76 | + ESP_LOGE(LOG_TAG, "Namespace string is too long, using default namespace"); |
| 77 | + NIMBLE_NVS_NAMESPACE = NIMBLE_NVS_DEFAULT_NAMESPACE; |
| 78 | + } |
| 79 | +} |
| 80 | + |
61 | 81 | static void |
62 | 82 | get_nvs_key_string(int obj_type, int index, char *key_string) |
63 | 83 | { |
|
0 commit comments