Files
pyDevSup/testApp/test2.py
Michael Davidsaver c9820d264f support python 3.2
2013-04-07 08:40:00 -04:00

48 lines
1.1 KiB
Python

from __future__ import print_function
import threading, time
from devsup.hooks import addHook
from devsup.db import IOScanListThread
from devsup.util import StoppableThread
insts = {}
def done(obj):
print(obj,'Expires')
class Driver(StoppableThread):
def __init__(self, name):
super(Driver,self).__init__()
self.name = name
self.scan = IOScanListThread()
self.value = 0
addHook('AfterIocRunning', self.start)
addHook('AtIocExit', self.join)
def run(self):
print('Starting driver',self)
while self.shouldRun():
time.sleep(1.0)
val = self.value
self.value += 1
self.scan.interrupt(reason=val)
def addDrv(name):
insts[name] = Driver(name)
print('Created driver',name,insts[name])
class Device(object):
def __init__(self, rec, args):
self.driver, self.record = insts[args], rec
self.allowScan = self.driver.scan.add
def detach(self, rec):
print('detach',rec)
def process(self, rec, data):
if data is not None:
rec.VAL = data
build = Device