Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of XBeeZB_dio_adc by
Revision 0:c87d86778f27, committed 2015-04-29
- Comitter:
- hbujanda
- Date:
- Wed Apr 29 17:58:45 2015 +0200
- Child:
- 1:adeb9c8818ab
- Commit message:
- Automatic upload
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/XBeeLib.lib Wed Apr 29 17:58:45 2015 +0200 @@ -0,0 +1,1 @@ +http://developer.mbed.org/teams/Digi-International-Inc/code/XBeeLib/#7bfa82960634
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/config.h Wed Apr 29 17:58:45 2015 +0200 @@ -0,0 +1,55 @@ + +#if !defined(__CONFIG_H_) +#define __CONFIG_H_ + +//#define PATFORM_ARCHPRO + +/** Library configuration options */ +#define ENABLE_LOGGING +#define ENABLE_ASSERTIONS +#define FRAME_BUFFER_SIZE 4 +#define MAX_FRAME_PAYLOAD_LEN 128 +#define ENABLE_PM_SUPPORT + +#define SYNC_OPS_TIMEOUT_MS 2000 +#define REM_SYNC_OPS_TIMEOUT_MS 3000 + +#if defined(PATFORM_ARCHPRO) +#define RADIO_TX P4_28 +#define RADIO_RX P4_29 +#define RADIO_RESET NC +//#define RADIO_RESET NC +#define RADIO_SLEEP_REQ NC +#define RADIO_ON_SLEEP NC +#define DEBUG_TX P0_2 +#define DEBUG_RX P0_3 +#elif defined(TARGET_LPC1768) +#define RADIO_TX p9 +#define RADIO_RX p10 +#define RADIO_RESET p30 +#define RADIO_SLEEP_REQ NC +#define RADIO_ON_SLEEP NC +#define DEBUG_TX P0_2 +#define DEBUG_RX P0_3 +#elif defined(TARGET_FRDM_KL25) +#define RADIO_TX PTD3 +#define RADIO_RX PTD2 +#define RADIO_RESET NC +#define RADIO_SLEEP_REQ NC +#define RADIO_ON_SLEEP NC +#define DEBUG_TX USBTX +#define DEBUG_RX USBRX +#elif (defined TARGET_LPC11U24) +#define RADIO_TX p9 +#define RADIO_RX p10 +#define RADIO_RESET p30 +#define RADIO_SLEEP_REQ NC +#define RADIO_ON_SLEEP NC +#define DEBUG_TX USBTX +#define DEBUG_RX USBRX +#else +#error "Define a platform" +#endif + +#endif /* __CONFIG_H_ */ +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Wed Apr 29 17:58:45 2015 +0200
@@ -0,0 +1,113 @@
+/**
+ * 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
+
+// TODO Replace with the MSB of the remote module's 64-bit address (SH parameter)
+#define REMOTE_NODE_ADDR64_MSB ((uint32_t)0x0013A200)
+// TODO Replace with the LSB of the remote module's 64-bit address (SL parameter)
+#define REMOTE_NODE_ADDR64_LSB ((uint32_t)0x40D2B03E)
+
+using namespace XBeeLib;
+
+Serial *log_serial;
+
+int main()
+{
+ log_serial = new Serial(DEBUG_TX, DEBUG_RX);
+ log_serial->baud(9600);
+ log_serial->printf("Sample application to demo how to handle remote XBeeZB devices DIOs and ADCs\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);
+
+ RadioStatus radioStatus = xbee.init();
+ MBED_ASSERT(radioStatus == Success);
+
+ /* Wait until the device has joined the network */
+ log_serial->printf("Waiting for device to join the network: ");
+ while (!xbee.is_joined()) {
+ wait_ms(1000);
+ log_serial->printf(".");
+ }
+ log_serial->printf("OK\r\n");
+
+ const RemoteXBeeZB remoteDevice = RemoteXBeeZB(Addr64(REMOTE_NODE_ADDR64_MSB, REMOTE_NODE_ADDR64_LSB));
+
+ radioStatus = xbee.set_pin_config(remoteDevice, XBeeZB::DIO3_AD3, DigitalInput);
+ MBED_ASSERT(radioStatus == Success);
+
+ radioStatus = xbee.set_pin_config(remoteDevice, XBeeZB::DIO4, DigitalOutHigh);
+ MBED_ASSERT(radioStatus == Success);
+
+ radioStatus = xbee.set_pin_config(remoteDevice, XBeeZB::DIO2_AD2, Adc);
+ MBED_ASSERT(radioStatus == Success);
+
+//#define TEST_SUPPLY_VOLTAGE
+
+#ifdef TEST_SUPPLY_VOLTAGE
+ /* Set a high V+ value so radio sends Supply Voltage information */
+ uint16_t v_value = 0x0C00;
+ log_serial->printf("\r\nSetting remote device V+ parameter to 0x%04x:\r\n", v_value);
+ AtCmdFrame::AtCmdResp cmdresp = xbee.set_param(remoteDevice, "V+", v_value);
+
+ if (cmdresp == AtCmdFrame::AtCmdRespOk)
+ log_serial->printf("OK\r\n");
+ else
+ log_serial->printf("FAILED with %d\r\n", (int) cmdresp);
+#endif
+
+ while(true) {
+ /* Read DIO3_AD3 value */
+ DioVal dio3_val;
+ radioStatus = xbee.get_dio(remoteDevice, XBeeZB::DIO3_AD3, &dio3_val);
+ MBED_ASSERT(radioStatus == Success);
+ log_serial->printf("DIO3 value = %d\r\n", dio3_val);
+
+ /* Toggle XBIB board DS4 led */
+ static bool led_on = false;
+ if (!led_on)
+ radioStatus = xbee.set_dio(remoteDevice, XBeeZB::DIO4, Low);
+ else
+ radioStatus = xbee.set_dio(remoteDevice, XBeeZB::DIO4, High);
+ MBED_ASSERT(radioStatus == Success);
+ led_on = !led_on;
+
+ /* Read DIO2_AD2 analog value */
+ uint16_t adc2_val;
+ radioStatus = xbee.get_adc(remoteDevice, XBeeZB::DIO2_AD2, &adc2_val);
+ MBED_ASSERT(radioStatus == Success);
+ log_serial->printf("ADC2 value = 0x%04x\r\n", adc2_val);
+
+#ifdef TEST_SUPPLY_VOLTAGE
+ uint16_t voltaje_val;
+ radioStatus = xbee.get_adc(remoteDevice, XBeeZB::SUPPLY_VOLTAGE, &voltaje_val);
+ if (radioStatus == Success)
+ log_serial->printf("Remote module Supply Voltage = 0x%04x\r\n", voltaje_val);
+#endif
+
+ log_serial->printf("\r\n");
+
+ wait(5);
+ }
+
+ delete(log_serial);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Wed Apr 29 17:58:45 2015 +0200 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/487b796308b0 \ No newline at end of file
