示例#1
0
# See the License for the specific language governing permissions and
# limitations under the License.

from pypdevs.simulator import Simulator

from Tkinter import *
from trafficLightModel import *

isBlinking = None

model = TrafficLight(name="trafficLight")
refs = {"INTERRUPT": model.INTERRUPT}
root = Tk()

sim = Simulator(model)
sim.setRealTime(True)
sim.setRealTimeInputFile(None)
sim.setRealTimePorts(refs)
sim.setVerbose(None)
sim.setRealTimePlatformTk(root)

def toManual():
    global isBlinking
    isBlinking = False
    sim.realtime_interrupt("INTERRUPT toManual")

def toAutonomous():
    global isBlinking
    isBlinking = None
    sim.realtime_interrupt("INTERRUPT toAutonomous")
示例#2
0
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

from pypdevs.simulator import Simulator
from trafficLightModel import *
model = TrafficLight(name="trafficLight")

refs = {"INTERRUPT": model.INTERRUPT}
sim = Simulator(model)
sim.setRealTime(True)
sim.setRealTimeInputFile(None)
sim.setRealTimePorts(refs)
sim.setVerbose(None)
sim.setRealTimePlatformGameLoop()
sim.simulate()

import time
while 1:
    before = time.time()
    sim.realtime_loop_call()
    time.sleep(0.1 - (before - time.time()))
    print("Current state: " + str(model.state.get()))
示例#3
0
              "unknown state <%s> in TrafficLight time advance transition function"\
              % state)


#    ======================================================================    #


class TrafficLightSystem(CoupledDEVS):
    def __init__(self):
        CoupledDEVS.__init__(self, "System")
        self.light = self.addSubModel(TrafficLight("Light"))
        self.observed = self.addOutPort(name="observed")
        self.connectPorts(self.light.OBSERVED, self.observed)


def my_function(event):
    print("Observed the following event: " + str(event))


from pypdevs.simulator import Simulator

model = TrafficLightSystem()
sim = Simulator(model)
sim.setRealTime()
sim.setListenPorts(model.observed, my_function)
sim.simulate()

import time
while 1:
    time.sleep(0.1)