Digi XBeeLib fixed for NonCopyable issue

Dependents:   XBeeZB_Receive_Data

Fork of XBeeLib by Digi International Inc.

This lib fixes NonCopyable<T> issues of Digi XBeeLib. Also, lib has been reworked in order to make it RTOS-aware, overcoming several others issues due to stdio Mutex operations.

Committer:
Lorenzo Maiorfi
Date:
Sun Apr 08 08:01:55 2018 +0200
Revision:
13:09e0b4f5a9e1
Parent:
11:c49cf952d67d
Disabled reset procedure in XBee::init() method in order to overcome some "nasty" effects on S2C modules.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Lorenzo Maiorfi 11:c49cf952d67d 1 /**
Lorenzo Maiorfi 11:c49cf952d67d 2 * Copyright (c) 2015 Digi International Inc.,
Lorenzo Maiorfi 11:c49cf952d67d 3 * All rights not expressly granted are reserved.
Lorenzo Maiorfi 11:c49cf952d67d 4 *
Lorenzo Maiorfi 11:c49cf952d67d 5 * This Source Code Form is subject to the terms of the Mozilla Public
Lorenzo Maiorfi 11:c49cf952d67d 6 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
Lorenzo Maiorfi 11:c49cf952d67d 7 * You can obtain one at http://mozilla.org/MPL/2.0/.
Lorenzo Maiorfi 11:c49cf952d67d 8 *
Lorenzo Maiorfi 11:c49cf952d67d 9 * Digi International Inc. 11001 Bren Road East, Minnetonka, MN 55343
Lorenzo Maiorfi 11:c49cf952d67d 10 * =======================================================================
Lorenzo Maiorfi 11:c49cf952d67d 11 */
Lorenzo Maiorfi 11:c49cf952d67d 12
Lorenzo Maiorfi 11:c49cf952d67d 13 #include "DigiLoggerMbedSerial.h"
Lorenzo Maiorfi 11:c49cf952d67d 14
Lorenzo Maiorfi 11:c49cf952d67d 15 using namespace DigiLog;
Lorenzo Maiorfi 11:c49cf952d67d 16
Lorenzo Maiorfi 11:c49cf952d67d 17 Serial *DigiLoggerMbedSerial::_log_serial;
Lorenzo Maiorfi 11:c49cf952d67d 18
Lorenzo Maiorfi 11:c49cf952d67d 19 /* Class constructor when using a serial port as logging channel */
Lorenzo Maiorfi 11:c49cf952d67d 20 DigiLoggerMbedSerial::DigiLoggerMbedSerial(Serial * log_serial, LogLevel log_level)
Lorenzo Maiorfi 11:c49cf952d67d 21 {
Lorenzo Maiorfi 11:c49cf952d67d 22 _log_serial = log_serial;
Lorenzo Maiorfi 11:c49cf952d67d 23
Lorenzo Maiorfi 11:c49cf952d67d 24 _log_level = log_level;
Lorenzo Maiorfi 11:c49cf952d67d 25
Lorenzo Maiorfi 11:c49cf952d67d 26 DigiLogger::current_logger = this;
Lorenzo Maiorfi 11:c49cf952d67d 27 }
Lorenzo Maiorfi 11:c49cf952d67d 28
Lorenzo Maiorfi 11:c49cf952d67d 29 /* Class destructor */
Lorenzo Maiorfi 11:c49cf952d67d 30 DigiLoggerMbedSerial::~DigiLoggerMbedSerial()
Lorenzo Maiorfi 11:c49cf952d67d 31 {
Lorenzo Maiorfi 11:c49cf952d67d 32 _log_serial = NULL;
Lorenzo Maiorfi 11:c49cf952d67d 33 DigiLogger::current_logger = NULL;
Lorenzo Maiorfi 11:c49cf952d67d 34 }
Lorenzo Maiorfi 11:c49cf952d67d 35
Lorenzo Maiorfi 11:c49cf952d67d 36 void DigiLoggerMbedSerial::log_buffer(char const * const buffer)
Lorenzo Maiorfi 11:c49cf952d67d 37 {
Lorenzo Maiorfi 11:c49cf952d67d 38 if (_log_serial == NULL) {
Lorenzo Maiorfi 11:c49cf952d67d 39 return;
Lorenzo Maiorfi 11:c49cf952d67d 40 }
Lorenzo Maiorfi 11:c49cf952d67d 41
Lorenzo Maiorfi 11:c49cf952d67d 42 _log_serial->printf("%s", buffer);
Lorenzo Maiorfi 11:c49cf952d67d 43 fflush(*_log_serial);
Lorenzo Maiorfi 11:c49cf952d67d 44 }
Lorenzo Maiorfi 11:c49cf952d67d 45
Lorenzo Maiorfi 11:c49cf952d67d 46
Lorenzo Maiorfi 11:c49cf952d67d 47