コード例 #1
0
def init_sim_sf(port):
    """
    Initializes the SF Link.
    
    Returns (sf or None, summary)
    """
    if not port:
        log.info("SerialForward-link not enabled (--sf-port to enabled)")
        return (None, Summary.user_disabled())

    try:
        from TOSSIM import SerialForwarder
        forwarder = SerialForwarder(port)
    except:
        exc = sys.exc_info()[1]
        log.warn("Disabled SerialForward: %s" % exc)
        return (None, Summary.error(exc))
    else:
        log.info("Started mote SerialForward-link on port %d" % port)
        return (forwarder, Summary.enabled("Port %s" % port))
コード例 #2
0
from tossim_topo import Topo, TopoGen
tossim = Topo.TossimTopo(TOSSIM, vars if vars is not None else [])
tossim_topo = tossim
T = tossim

# (Required for this setup) Schedule python events "in mote
# time". This provides the periodic time reporting. It is also
# extremely useful to setup events that occur when a node is booted.
from tossim_evt.TossimEvent import *
tossim_event = TossimEvent(tossim)

# (Optional) Enable to forward packets from mote serial to SF.  This
# is not strictly required for TReact but allows another application
# to simultaneously monitor normal mote output.
from TOSSIM import SerialForwarder
sf = SerialForwarder(9002)

# (Required for this setup) Manage simulation time. This can be
# disabled but it requires disabling a "core" module.
from TossimSync import TossimSync
from act import TimeControl
time_control = TimeControl.Remote(tossim, TossimSync(), tossim_event)

# (Required) Start packet injector.
print "starting injector"
from simsf_inject.SFInject import SFInject
injector = SFInject(9091).start()

# (Required) Create the main reactor. For consistency with modules,
# the global variable 'R' should be used.
print "creating reactor"