Skip to content

SebKuzminsky/hammerhead

 
 

Repository files navigation

This is a fork of the original Bionet2 project. The following is only preserved
for posterity...

Copyright (c) 2008 - 2011 Regents of the University of Colorado
This work was supported by NASA Award No. NNJ05HE10G.
 
This library is free software; you can redistribute it and/or modify 
it under the terms of the GNU Lesser General Public License as 
published by the Free Software Foundation, version 2.1 of the License.
This library is distributed in the hope that it will be useful, 
but WITHOUT ANY WARRANTY; without even the implied warranty of 
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
Lesser General Public License for more details. A copy of the GNU 
Lesser General Public License v 2.1 can be found in the file named
"COPYING.LESSER". You should have received a copy of the GNU Lesser
 General Public License along with this library; if not, write to the
Free Software Foundation, Inc., 
51 Franklin Street, Fifth Floor, 
Boston, MA 02110-1301 USA.
 
You may contact the Automation Group at:
bionet@bioserve.colorado.edu or http://bioserve.colorado.edu/developers-corner
 
Dr. Kevin Gifford
University of Colorado
Engineering Center, ECAE 1B08
Boulder, CO 80309
 
Because BioNet was developed at a university, we ask that you provide 
attribution to the BioNet authors in any redistribution, modification, 
work, or article based on this library.
 
You may contribute modifications or suggestions to the University of 
Colorado for the purpose of discussing and improving this software. 
Before your modifications are incorporated into the master version 
distributed by the University of Colorado, we must have a contributor 
license agreement on file from each contributor. If you wish to supply 
the University with your modifications, please join our mailing list. 
Instructions can be found on our website at 
http://bioserve.colorado.edu/developers-corner.


Bionet 2
~~~~~~~~

Bionet 2 uses mDNS-SD (multicast DNS with Service Discovery) to find
the peers on the network.  In order for this to work, you need to be
running the avahi-daemon on each host that will run HABs or Clients.

To compile:

    autogen.sh
    ./configure
    make


To see it do something:

    # in one shell:
    cd client/watcher
    ./bionet-watcher

    # in another shell:
    cd hab/random
    ./random-hab


Known issues:

  Ubuntu 9.0.4 (Jaunty Jackalope):
    avahi-daemon does not work correctly in Ubuntu 9.04 (Jaunty Jackalope) and
    possibly other distributions due to misconfiguration. If the service
    discovery is not working or working inconsistently, edit
    /etc/default/avahi-daemon so that AVAHI_DAEMON_DETECT_LOCAL is set to 0.
    See Ubuntu bug #327362.

    

  ASN.1 Compiler:
    The ASN1c compiler has two known bugs affecting Bionet.

    32-bit machines output an 'error converting ASN INTEGER to native 
    Datapoint value' message when receiving a new-node message or a datapoint
    update message from a 64-bit machine if the message contains a uint32
    resource with a value greater than or equal to 2^31. The new-node is still
    reported (with no known value for the resource), but the datapoint
    update is not.

    32-bit machines will also output an error message (indicating that the 
    server message 'contained an invalid ASN.1 message') if they receive a 
    new-node or datapoint update message from a 64-bit machine if the message 
    contains an int32 resource with a negative datapoint value.  New-node and 
    datapoint-update callbacks will not called.



  BDM-Sync w/ ION 1.1.0:
    As specified by RFC 5050, Bionet Data Manager sync sends bundles that
    represent logical application units, and under certain situations, BDM sync
    messages can be quite large. Since ION 1.1.0 baseline does not fragment
    or reassemble bundles, so care must be taken to ensure that the sync
    messages will fit in the maximum bundle size supported by the trasport
    being used. 

    After calculating the maximum bundle size for the transport(s) in use, 
    set the 'bunble_mtu' setting in the bdm-sync-sender-config


  Experimental Software:
    bionet-plot and bdmplot2 are in early development stages. They cannot yet 
    handle overlapping subscriptions from multiple web clients.

About

Pub/Sub hardware abstraction framework and API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 66.7%
  • Python 12.3%
  • C++ 4.1%
  • JavaScript 3.7%
  • Shell 3.3%
  • Makefile 2.5%
  • Other 7.4%