A C/C++ library to aid the use of Digi XBee radios in API mode
C HTML Makefile C++ Shell BitBake
Clone or download
attie Merge pull request #36 from skalkoto/feature-constness
Use const in the C++ interface wherever this is possible
Latest commit 5bfdb93 Jun 12, 2018
Permalink
Failed to load latest commit information.
apps made it easier to invert the reset line in the net_term and pseudo_te… Dec 3, 2014
html fixed typo in xbee_init.3 Feb 18, 2016
include Fix constness in Con and Pkt classes May 4, 2018
interface/java moved C++ interface & sample into root, and now builds libxbeep.so on… Jun 14, 2012
make added XBEE_FRAME_TIMEOUT_ENABLED to default configs Dec 17, 2016
man fixed typo in xbee_init.3 Feb 18, 2016
manuals Merge branch 'master' into xbee6b Sep 1, 2013
modes fixed xbee_sZB_createSourceRoute_tx_func()... Mar 10, 2017
package Homepage updated to Github repo Mar 26, 2015
sample fixed sample makefiles Mar 6, 2016
xsys_darwin 'clean' compile for OSX Aug 12, 2013
.gitignore updated .gitignore to include cscope.out Mar 20, 2013
COPYING relicensed to LGPLv3 Mar 9, 2012
COPYING.LESSER relicensed to LGPLv3 Mar 9, 2012
COPYING.header relicensed to LGPLv3 Mar 9, 2012
HISTORY updated HISTORY Dec 17, 2016
README Update project URL in README Apr 29, 2018
conn.c implemented and used xbee_frameReturnID() Apr 13, 2016
conn.h all project headers now use FILE_H guards, system headers use _FILE_H… Mar 6, 2016
error.c updated project description in all files Nov 4, 2012
frame.c Implement stale frame timeout. Dec 15, 2016
frame.h Implement stale frame timeout. Dec 15, 2016
internal.h moved system headers into ./include/ so that they can be included fro… Mar 6, 2016
ll.c Fix constness in XBee class May 4, 2018
ll.h Fix constness in XBee class May 4, 2018
log.c fixed support for XBEE_DISABLE_LOGGING Jun 17, 2015
log.h all project headers now use FILE_H guards, system headers use _FILE_H… Mar 6, 2016
makefile tidied up .PHONY declarations in build system May 9, 2012
mode.c Fix constness in XBee class May 4, 2018
mode.h all project headers now use FILE_H guards, system headers use _FILE_H… Mar 6, 2016
mutex.c updated project description in all files Nov 4, 2012
mutex.h all project headers now use FILE_H guards, system headers use _FILE_H… Mar 6, 2016
net.c fixed XBEE_NO_NET_SERVER config option - no longer performs unnecessa… Feb 18, 2016
net.h all project headers now use FILE_H guards, system headers use _FILE_H… Mar 6, 2016
net_callbacks.c fixed major bug in network server - conValidate() now works correctly May 19, 2014
net_callbacks.h all project headers now use FILE_H guards, system headers use _FILE_H… Mar 6, 2016
net_handlers.c fixed a corner-case where timeouts occur prematurely if the packet tr… Feb 6, 2013
net_handlers.h all project headers now use FILE_H guards, system headers use _FILE_H… Mar 6, 2016
net_io.c fixed XBEE_NO_NET_SERVER config option - no longer performs unnecessa… Feb 18, 2016
net_io.h all project headers now use FILE_H guards, system headers use _FILE_H… Mar 6, 2016
pkt.c xbee_pktDataKeyGet() and friends now return XBEE_ENOTEXISTS instead o… May 30, 2013
pkt.h all project headers now use FILE_H guards, system headers use _FILE_H… Mar 6, 2016
prepare.c added XBEE_MANUAL_INIT and XBEE_MANUAL_FINI compile options Feb 18, 2016
prepare.h all project headers now use FILE_H guards, system headers use _FILE_H… Mar 6, 2016
rx.c added apiIdentifier field to xbee_pkt struct Jan 27, 2016
rx.h all project headers now use FILE_H guards, system headers use _FILE_H… Mar 6, 2016
thread.c single-core systems no longer suffer from delayed callback execution Apr 5, 2015
thread.h all project headers now use FILE_H guards, system headers use _FILE_H… Mar 6, 2016
tx.c fixed support for XBEE_DISABLE_LOGGING Jun 17, 2015
tx.h all project headers now use FILE_H guards, system headers use _FILE_H… Mar 6, 2016
ver.c updated project description in all files Nov 4, 2012
xbee.c Fix constness in XBee class May 4, 2018
xbee_int.h all project headers now use FILE_H guards, system headers use _FILE_H… Mar 6, 2016
xbeep.cpp Fix constness in Con and Pkt classes May 4, 2018
xsys.c 'clean' compile for OSX Aug 12, 2013
xsys.h all project headers now use FILE_H guards, system headers use _FILE_H… Mar 6, 2016
xsys_darwin.c fixed previous mods from FILE* to plain file descriptor Nov 20, 2015
xsys_darwin.h all project headers now use FILE_H guards, system headers use _FILE_H… Mar 6, 2016
xsys_linux.c Default to O_CLOEXEC on for linux. Jan 11, 2017
xsys_linux.h all project headers now use FILE_H guards, system headers use _FILE_H… Mar 6, 2016

README

Welcome to libxbee v3!

Please note that development for this this project is on going, and the use of
it is free, but please don't hold me responsible for any damage or injuries that
may occur.

Feel free to contact me directly with any queries, bugs, etc:
  attie@attie.co.uk
Alternatively, feel free to file an 'issue' on the project site:
  hhttps://github.com/attie/libxbee3/issues

####################
### PLEASE NOTE: ###
####################
  Digi chose some rather unfortunate (re-)names for thier XBee modules.
  To keep backwards compatibility, some modes are not named as intuitavely as
   you might expect. Please see the information below to match your module
   to the correct libxbee mode.
		
  'xbee1'  => XBee Series 1   (802.15.4 / no meshing)
      http://goo.gl/10a45
      http://sprkfn.com/p8665
      http://doc.libxbee.attie.co.uk/images/xbee1.jpg
  'xbee2'  => XBee Series 2.5 (ZNet / DigiMesh) - formerly 'Series 2'
      http://goo.gl/fQbkt
      http://sprkfn.com/p8876
      http://doc.libxbee.attie.co.uk/images/xbee2.jpg
  'xbeeZB' => XBee Series 2   (ZigBee)
      http://goo.gl/TJmeQ
      http://sprkfn.com/p10414
      http://doc.libxbee.attie.co.uk/images/xbeeZB.jpg
  'xbee3'  => XBee Series 3   (900 MHz)
      http://goo.gl/Wdghyq
  'xbee5'  => XBee Series 5   (868 MHz)
      http://goo.gl/66FZI
  'xbee6b' => XBee Series 6B  (WiFi)
      http://goo.gl/gV9XwN


=== Licensing ===
libxbee v3 is licensed using LGPLv3 from v3.0.5 onwards. For more
information on what this means for you, please see COPYING and COPYING.LESSER.


=== Building ===
If you are building libxbee, then there are a number of options avaliable to you.
Initially you should run the following command:
	$ make configure
This will retrieve a default 'config.mk' that is suitable for your system. You
should review this file and then run the following command:
	$ make all

After the build process has completed, you should find suitable files in ./lib.
E.g: for a Unix-like OS you can expect to find .so and .a files
     for Windows you can expect to find a .dll file

It is highly recommended that you don't modify any of the build system.

If you have any issues while building libxbee, please feel free to contact me,
or alternatively, you can file an 'issue' on the project site:
  https://github.com/attie/libxbee3/issues


=== Installation ===
To install libxbee simply type (you will require root permissions):
  $ sudo make install

This option is not avaliable on all systems (namely Windows).


=== Usage ===
Compile your applications, including "xbee.h" in the relevant source files.
Ensure you link with libxbee (e.g: using 'gcc -lxbee')

If you are compiling the object file directly into your executable instead
of making use of the library, you must include the following link flags. These
flags are also necessary for newer versions of Ubuntu, and possibly others.
  -lpthread -lrt


=== Interfacing ===
I have provided the ability to interface with libxbee from a number of languages
other than 'C'. The source, and sample code for these interfaces  can be found
in '/interfaces'. Currently the following languages are supported or in
development:
  C++ (see /xbeep.cpp and /xbeep.h)
  Java


=== Samples ===
I have proveded sample code in the ./sample directory. Hopefully this will help
get you up and running with libxbee. If you would like samples showing a different
aspect of libxbee, then please do not hesitate to get in contact, or file an
'issue' on the project site, and I will get to it ASAP:
  https://github.com/attie/libxbee3/issues