lorawan end-device running on EFM32

tested on pearl gecko

Committer:
Wayne Roberts
Date:
Mon Mar 25 12:39:11 2019 -0700
Revision:
0:9acd205c0911
initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Wayne Roberts 0:9acd205c0911 1 /**
Wayne Roberts 0:9acd205c0911 2 * Copyright (c) 2017, Arm Limited and affiliates.
Wayne Roberts 0:9acd205c0911 3 * SPDX-License-Identifier: Apache-2.0
Wayne Roberts 0:9acd205c0911 4 *
Wayne Roberts 0:9acd205c0911 5 * Licensed under the Apache License, Version 2.0 (the "License");
Wayne Roberts 0:9acd205c0911 6 * you may not use this file except in compliance with the License.
Wayne Roberts 0:9acd205c0911 7 * You may obtain a copy of the License at
Wayne Roberts 0:9acd205c0911 8 *
Wayne Roberts 0:9acd205c0911 9 * http://www.apache.org/licenses/LICENSE-2.0
Wayne Roberts 0:9acd205c0911 10 *
Wayne Roberts 0:9acd205c0911 11 * Unless required by applicable law or agreed to in writing, software
Wayne Roberts 0:9acd205c0911 12 * distributed under the License is distributed on an "AS IS" BASIS,
Wayne Roberts 0:9acd205c0911 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Wayne Roberts 0:9acd205c0911 14 * See the License for the specific language governing permissions and
Wayne Roberts 0:9acd205c0911 15 * limitations under the License.
Wayne Roberts 0:9acd205c0911 16 */
Wayne Roberts 0:9acd205c0911 17
Wayne Roberts 0:9acd205c0911 18 /**
Wayne Roberts 0:9acd205c0911 19 * If we have tracing library available, we can see traces from within the
Wayne Roberts 0:9acd205c0911 20 * stack. The library could be made unavailable by removing FEATURE_COMMON_PAL
Wayne Roberts 0:9acd205c0911 21 * from the mbed_app.json to save RAM.
Wayne Roberts 0:9acd205c0911 22 */
Wayne Roberts 0:9acd205c0911 23
Wayne Roberts 0:9acd205c0911 24 #include "mbed_trace.h"
Wayne Roberts 0:9acd205c0911 25
Wayne Roberts 0:9acd205c0911 26 #ifdef FEA_TRACE_SUPPORT
Wayne Roberts 0:9acd205c0911 27 #include "platform/PlatformMutex.h"
Wayne Roberts 0:9acd205c0911 28
Wayne Roberts 0:9acd205c0911 29 /**
Wayne Roberts 0:9acd205c0911 30 * Local mutex object for synchronization
Wayne Roberts 0:9acd205c0911 31 */
Wayne Roberts 0:9acd205c0911 32 static PlatformMutex mutex;
Wayne Roberts 0:9acd205c0911 33
Wayne Roberts 0:9acd205c0911 34 static void serial_lock();
Wayne Roberts 0:9acd205c0911 35 static void serial_unlock();
Wayne Roberts 0:9acd205c0911 36
Wayne Roberts 0:9acd205c0911 37 /**
Wayne Roberts 0:9acd205c0911 38 * Sets up trace for the application
Wayne Roberts 0:9acd205c0911 39 * Wouldn't do anything if the FEATURE_COMMON_PAL is not added
Wayne Roberts 0:9acd205c0911 40 * or if the trace is disabled using mbed_app.json
Wayne Roberts 0:9acd205c0911 41 */
Wayne Roberts 0:9acd205c0911 42 void setup_trace()
Wayne Roberts 0:9acd205c0911 43 {
Wayne Roberts 0:9acd205c0911 44 // setting up Mbed trace.
Wayne Roberts 0:9acd205c0911 45 mbed_trace_mutex_wait_function_set(serial_lock);
Wayne Roberts 0:9acd205c0911 46 mbed_trace_mutex_release_function_set(serial_unlock);
Wayne Roberts 0:9acd205c0911 47 mbed_trace_init();
Wayne Roberts 0:9acd205c0911 48 }
Wayne Roberts 0:9acd205c0911 49
Wayne Roberts 0:9acd205c0911 50 /**
Wayne Roberts 0:9acd205c0911 51 * Lock provided for serial printing used by trace library
Wayne Roberts 0:9acd205c0911 52 */
Wayne Roberts 0:9acd205c0911 53 static void serial_lock()
Wayne Roberts 0:9acd205c0911 54 {
Wayne Roberts 0:9acd205c0911 55 mutex.lock();
Wayne Roberts 0:9acd205c0911 56 }
Wayne Roberts 0:9acd205c0911 57
Wayne Roberts 0:9acd205c0911 58 /**
Wayne Roberts 0:9acd205c0911 59 * Releasing lock provided for serial printing used by trace library
Wayne Roberts 0:9acd205c0911 60 */
Wayne Roberts 0:9acd205c0911 61 static void serial_unlock()
Wayne Roberts 0:9acd205c0911 62 {
Wayne Roberts 0:9acd205c0911 63 mutex.unlock();
Wayne Roberts 0:9acd205c0911 64 }
Wayne Roberts 0:9acd205c0911 65 #else
Wayne Roberts 0:9acd205c0911 66 void setup_trace()
Wayne Roberts 0:9acd205c0911 67 {
Wayne Roberts 0:9acd205c0911 68
Wayne Roberts 0:9acd205c0911 69 }
Wayne Roberts 0:9acd205c0911 70 #endif
Wayne Roberts 0:9acd205c0911 71
Wayne Roberts 0:9acd205c0911 72