Digi International Inc. / Mbed 2 deprecated XBeeDM_modem_status

Dependencies:   XBeeLib mbed

Fork of XBeeZB_modem_status by Digi International Inc.

main.cpp

Committer:
spastor
Date:
2015-05-08
Revision:
1:d69b2dcc284f
Parent:
0:0c8d070617b1

File content as of revision 1:d69b2dcc284f:

/**
* Copyright (c) 2015 Digi International Inc.,
 * All rights not expressly granted are reserved.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
 * You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * Digi International Inc. 11001 Bren Road East, Minnetonka, MN 55343
 * =======================================================================
 */

#include "mbed.h"
#include "XBeeLib.h"
#if defined(ENABLE_LOGGING)
#include "DigiLoggerMbedSerial.h"
using namespace DigiLog;
#endif

using namespace XBeeLib;

Serial *log_serial;

/** Callback function, invoked at modem status reception */
static void modem_status_cb(AtCmdFrame::ModemStatus status)
{
    log_serial->printf("\r\nModem Status: 0x%x\r\n", status);
}

int main() 
{
    log_serial = new Serial(DEBUG_TX, DEBUG_RX);
    log_serial->baud(9600);
    log_serial->printf("Sample application to demo how to receive modem status changes with the XBeeZB\r\n\r\n");
    log_serial->printf(XB_LIB_BANNER);

#if defined(ENABLE_LOGGING)
    new DigiLoggerMbedSerial(log_serial, LogLevelInfo);
#endif

    XBeeZB xbee = XBeeZB(RADIO_TX, RADIO_RX, RADIO_RESET, NC, NC, 9600);

    /* Register callbacks */
    xbee.register_modem_status_cb(&modem_status_cb);

    RadioStatus const radioStatus = xbee.init();
    MBED_ASSERT(radioStatus == Success);

    while (true) {
        xbee.process_rx_frames();
        wait_ms(100);
        log_serial->printf(".");
    }

    delete(log_serial);
}