getting location and activity

Dependencies:   Cayenne-LPP GPS

Committer:
kimutaingetich
Date:
Mon Mar 11 09:24:37 2019 +0000
Revision:
0:68ca78749806
time changes

Who changed what in which revision?

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