George Djabarov / Mbed OS mbed-os-example-mesh-minimal
Committer:
mbed_official
Date:
Mon Jan 22 13:00:07 2018 +0000
Revision:
73:cea274cdbb5d
Parent:
72:a7c594402382
Child:
78:fc7a81fd524c
define the mesh types to prevent 0 == 0 check

.
Commit copied from https://github.com/ARMmbed/mbed-os-example-mesh-minimal

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 72:a7c594402382 1 /*
mbed_official 72:a7c594402382 2 * Copyright (c) 2018 ARM Limited. All rights reserved.
mbed_official 72:a7c594402382 3 * SPDX-License-Identifier: Apache-2.0
mbed_official 72:a7c594402382 4 * Licensed under the Apache License, Version 2.0 (the License); you may
mbed_official 72:a7c594402382 5 * not use this file except in compliance with the License.
mbed_official 72:a7c594402382 6 * You may obtain a copy of the License at
mbed_official 72:a7c594402382 7 *
mbed_official 72:a7c594402382 8 * http://www.apache.org/licenses/LICENSE-2.0
mbed_official 72:a7c594402382 9 *
mbed_official 72:a7c594402382 10 * Unless required by applicable law or agreed to in writing, software
mbed_official 72:a7c594402382 11 * distributed under the License is distributed on an AS IS BASIS, WITHOUT
mbed_official 72:a7c594402382 12 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
mbed_official 72:a7c594402382 13 * See the License for the specific language governing permissions and
mbed_official 72:a7c594402382 14 * limitations under the License.
mbed_official 72:a7c594402382 15 */
mbed_official 72:a7c594402382 16
mbed_official 72:a7c594402382 17 #include "mbed.h"
mbed_official 72:a7c594402382 18
mbed_official 73:cea274cdbb5d 19 #define MESH_LOWPAN 1
mbed_official 73:cea274cdbb5d 20 #define MESH_THREAD 2
mbed_official 72:a7c594402382 21 /* At the moment, Thread builds using K64F support NVM */
mbed_official 72:a7c594402382 22 #if MBED_CONF_APP_MESH_TYPE == MESH_THREAD && defined(TARGET_K64F)
mbed_official 72:a7c594402382 23
mbed_official 72:a7c594402382 24 #include "LittleFileSystem.h"
mbed_official 72:a7c594402382 25 #include "SDBlockDevice.h"
mbed_official 72:a7c594402382 26 #include "HeapBlockDevice.h"
mbed_official 72:a7c594402382 27 #include "ns_file_system.h"
mbed_official 72:a7c594402382 28 #include "mbed_trace.h"
mbed_official 72:a7c594402382 29
mbed_official 72:a7c594402382 30 #define TRACE_GROUP "mnvm"
mbed_official 72:a7c594402382 31
mbed_official 72:a7c594402382 32 /* By default use HEAP as NVM storage, comment macro in order to use SD card */
mbed_official 72:a7c594402382 33 #define USE_HEAP_BLOCK_DEVICE
mbed_official 72:a7c594402382 34
mbed_official 72:a7c594402382 35 LittleFileSystem *fs;
mbed_official 72:a7c594402382 36 BlockDevice *bd;
mbed_official 72:a7c594402382 37
mbed_official 72:a7c594402382 38 void mesh_nvm_initialize()
mbed_official 72:a7c594402382 39 {
mbed_official 72:a7c594402382 40 fs = new LittleFileSystem("fs");
mbed_official 72:a7c594402382 41 #ifdef USE_HEAP_BLOCK_DEVICE
mbed_official 72:a7c594402382 42 const char *bd_info = "NVM: Heap";
mbed_official 72:a7c594402382 43 bd = new HeapBlockDevice(16 * 512, 512);
mbed_official 72:a7c594402382 44 #else
mbed_official 72:a7c594402382 45 const char *bd_info = "NVM: SD";
mbed_official 72:a7c594402382 46 bd = new SDBlockDevice(MBED_CONF_SD_SPI_MOSI, MBED_CONF_SD_SPI_MISO, MBED_CONF_SD_SPI_CLK, MBED_CONF_SD_SPI_CS);
mbed_official 72:a7c594402382 47 #endif
mbed_official 72:a7c594402382 48
mbed_official 72:a7c594402382 49 tr_debug("%s", bd_info);
mbed_official 72:a7c594402382 50 int mount_status = fs->mount(bd);
mbed_official 72:a7c594402382 51 if (mount_status) {
mbed_official 72:a7c594402382 52 tr_warning("mount error: %d, trying format...", mount_status);
mbed_official 72:a7c594402382 53 mount_status = fs->reformat(bd);
mbed_official 72:a7c594402382 54 tr_info("reformat %s (%d)", mount_status ? "failed" : "OK", mount_status);
mbed_official 72:a7c594402382 55 }
mbed_official 72:a7c594402382 56
mbed_official 72:a7c594402382 57 if (!mount_status) {
mbed_official 72:a7c594402382 58 ns_file_system_set_root_path("/fs/");
mbed_official 72:a7c594402382 59 }
mbed_official 72:a7c594402382 60 }
mbed_official 72:a7c594402382 61
mbed_official 72:a7c594402382 62 #else /* MBED_CONF_APP_MESH_TYPE == MESH_THREAD && defined(TARGET_K64F) */
mbed_official 72:a7c594402382 63 void mesh_nvm_initialize()
mbed_official 72:a7c594402382 64 {
mbed_official 72:a7c594402382 65 /* NVM not supported */
mbed_official 72:a7c594402382 66 }
mbed_official 72:a7c594402382 67 #endif /* MBED_CONF_APP_MESH_TYPE == MESH_THREAD && defined(TARGET_K64F) */
mbed_official 72:a7c594402382 68