MCPcopy Index your code
hub / github.com/digidotcom/xbee-java

github.com/digidotcom/xbee-java @v1.3.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.3.2 ↗ · + Follow
5,806 symbols 25,362 edges 427 files 4,885 documented · 84%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

XBee Java Library Maven Central

This project contains the source code of the XBee Java Library, an easy-to-use API developed in Java that allows you to interact with Digi International's XBee radio frequency (RF) modules. This source has been contributed by Digi International.

The project includes the Java source code, unit tests for the library, and multiple examples that show how to use the available APIs. The examples are also available in source code format.

The main features of the library include:

  • Support for Zigbee, 802.15.4, DigiMesh, Point-to-Multipoint, Wi-Fi, Cellular and BLU XBee devices.
  • Support for API and API escaped operating modes.
  • Management of local (attached to the PC) and remote XBee device objects.
  • Discovery of remote XBee devices associated with the same network as the local device.
  • Configuration of local and remote XBee devices:
  • Configure common parameters with specific setters and getters.
  • Configure any other parameter with generic methods.
  • Execute AT commands.
  • Apply configuration changes.
  • Write configuration changes.
  • Reset the device.
  • Transmission of data to all the XBee devices on the network or to a specific device.
  • Reception of data from remote XBee devices:
  • Data polling.
  • Data reception callback.
  • Transmission and reception of IP, IPv6, CoAP and SMS messages.
  • Reception of network status changes related to the local XBee device.
  • IO lines management:
  • Configure IO lines.
  • Set IO line value.
  • Read IO line value.
  • Receive IO data samples from any remote XBee device on the network.
  • Support for explicit frames and application layer fields (Source endpoint, Destination endpoint, Profile ID, and Cluster ID).
  • Support for User Data Relay frames, allowing the communication between different interfaces (Serial, Bluetooth Low Energy and MicroPython).

Start Here

The best place to get started is the XBee Java Library documentation.

How to Contribute

The contributing guidelines are in the CONTRIBUTING.md document.

License

Copyright 2017-2024, Digi International Inc.

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/.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

Licensing terms for RXTX

GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

See http://www.gnu.org/licenses/lgpl.html

Licensing terms for SLF4J

SLF4J source code and binaries are distributed under the MIT license.

See http://www.slf4j.org/license.html

Extension points exported contracts — how you extend this code

IDiscoveryListener (Interface)
Interface defining the required methods that an object should implement to be notified about device discovery events. [6 …
library/src/main/java/com/digi/xbee/api/listeners/IDiscoveryListener.java
IModemStatusReceiveListener (Interface)
This interface defines the required methods that an object should implement to behave as a modem status listener and be [6 …
library/src/main/java/com/digi/xbee/api/listeners/IModemStatusReceiveListener.java
IIPDataReceiveListener (Interface)
This interface defines the required methods that should be implemented to behave as an IP data listener and be notified [10 …
library/src/main/java/com/digi/xbee/api/listeners/IIPDataReceiveListener.java
IPacketReceiveListener (Interface)
This interface defines the required methods that an object should implement to behave as a packet listener and be notifi [8 …
library/src/main/java/com/digi/xbee/api/listeners/IPacketReceiveListener.java
IDataReceiveListener (Interface)
This interface defines the required methods that should be implemented to behave as a data listener and be notified when [8 …
library/src/main/java/com/digi/xbee/api/listeners/IDataReceiveListener.java

Core symbols most depended-on inside this repo

prettyHexString
called by 651
library/src/main/java/com/digi/xbee/api/utils/HexUtils.java
get
called by 600
library/src/main/java/com/digi/xbee/api/models/SrpStep.java
getParameter
called by 521
library/src/main/java/com/digi/xbee/api/models/ATCommand.java
integerToHexString
called by 308
library/src/main/java/com/digi/xbee/api/utils/HexUtils.java
getPacketLength
called by 283
library/src/main/java/com/digi/xbee/api/packet/XBeePacket.java
getValue
called by 248
library/src/main/java/com/digi/xbee/api/models/PowerLevel.java
getXBeeProtocol
called by 221
library/src/main/java/com/digi/xbee/api/WiFiDevice.java
hashCode
called by 210
library/src/main/java/com/digi/xbee/api/packet/XBeePacket.java

Shape

Method 5,357
Class 404
Enum 32
Interface 13

Languages

Java100%

Modules by API surface

library/src/main/java/com/digi/xbee/api/AbstractXBeeDevice.java124 symbols
library/src/test/java/com/digi/xbee/api/connection/serial/AbstractSerialPortTest.java106 symbols
library/src/test/java/com/digi/xbee/api/connection/DataReaderTest.java81 symbols
library/src/test/java/com/digi/xbee/api/utils/ByteUtilsTest.java73 symbols
library/src/test/java/com/digi/xbee/api/packet/XBeePacketParserFromByteArrayTest.java72 symbols
library/src/test/java/com/digi/xbee/api/packet/XBeePacketParserFromInputStreamTest.java70 symbols
library/src/test/java/com/digi/xbee/api/packet/XBeePacketTest.java56 symbols
library/src/test/java/com/digi/xbee/api/XBeeDeviceReadInfoTest.java52 symbols
library/src/test/java/com/digi/xbee/api/packet/ip/TXIPv4PacketTest.java49 symbols
library/src/test/java/com/digi/xbee/api/packet/common/RemoteATCommandPacketTest.java47 symbols
library/src/test/java/com/digi/xbee/api/packet/thread/CoAPRxResponsePacketTest.java46 symbols
library/src/test/java/com/digi/xbee/api/models/XBeePacketsQueueTest.java45 symbols

For agents

$ claude mcp add xbee-java \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact