mirror of
https://gitee.com/qpy-solutions/tracker-v2.git
synced 2025-05-18 18:48:25 +08:00
update: Controller init
This commit is contained in:
parent
d6ee4f5756
commit
165b1e4171
@ -31,23 +31,23 @@ class ControllerError(Exception):
|
||||
|
||||
|
||||
class Controller(Singleton):
|
||||
def __init__(self, remote):
|
||||
self.remote = remote
|
||||
def __init__(self, tracker):
|
||||
self.tracker = tracker
|
||||
|
||||
def power_switch(self, perm, flag=None, *args):
|
||||
if perm == 'r':
|
||||
self.remote.post_data(self.remote.DATA_NON_LOCA, {'power_switch': True})
|
||||
self.tracker.remote.post_data(self.tracker.remote.DATA_NON_LOCA, {'power_switch': True})
|
||||
elif perm == 'w':
|
||||
if flag is True:
|
||||
# TODO: Get other model info
|
||||
model_info = {}
|
||||
model_info['power_switch'] = flag
|
||||
self.remote.post_data(self.remote.DATA_NON_LOCA, model_info)
|
||||
self.tracker.remote.post_data(self.tracker.remote.DATA_NON_LOCA, model_info)
|
||||
elif flag is False:
|
||||
# TODO: Get other model info
|
||||
model_info = {}
|
||||
model_info['power_switch'] = flag
|
||||
self.remote.post_data(self.remote.DATA_NON_LOCA, model_info)
|
||||
self.tracker.remote.post_data(self.tracker.remote.DATA_NON_LOCA, model_info)
|
||||
Power.powerDown()
|
||||
else:
|
||||
pass
|
||||
@ -57,6 +57,6 @@ class Controller(Singleton):
|
||||
def energy(self, perm, *args):
|
||||
if perm == 'r':
|
||||
battery_energy = Battery().energy()
|
||||
self.remote.post_data(self.remote.DATA_NON_LOCA, {'energy': battery_energy})
|
||||
self.tracker.remote.post_data(self.tracker.remote.DATA_NON_LOCA, {'energy': battery_energy})
|
||||
else:
|
||||
raise ControllerError('Controller energy permission error %s.' % perm)
|
||||
|
@ -27,9 +27,9 @@ class RemoteError(Exception):
|
||||
|
||||
|
||||
class DownLinkOption(object):
|
||||
def __init__(self, remote):
|
||||
self.remote = remote
|
||||
self.controller = Controller(self.remote)
|
||||
def __init__(self, tracker):
|
||||
self.tracker = tracker
|
||||
self.controller = Controller(self.tracker)
|
||||
|
||||
def raw_data(self, *args, **kwargs):
|
||||
pass
|
||||
@ -52,7 +52,7 @@ class DownLinkOption(object):
|
||||
def query(self, *args, **kwargs):
|
||||
for arg in args:
|
||||
if hasattr(settings.default_values_app, arg):
|
||||
settings.settings.query(self.remote, 'app', arg)
|
||||
settings.settings.query(self.tracker.remote, 'app', arg)
|
||||
elif hasattr(self.controller, arg):
|
||||
getattr(self.controller, arg)(*('r'))
|
||||
else:
|
||||
@ -73,7 +73,7 @@ def downlink_process(argv):
|
||||
data = self.downlink_queue.get()
|
||||
log.debug('downlink_queue data:', data)
|
||||
|
||||
DownLinkOptionObj = DownLinkOption(remote=self)
|
||||
DownLinkOptionObj = DownLinkOption(tracker=self.tracker)
|
||||
option_attr = data[0]
|
||||
args = data[1]
|
||||
if hasattr(DownLinkOptionObj, option_attr):
|
||||
@ -177,7 +177,8 @@ def uplink_process(argv):
|
||||
class Remote(Singleton):
|
||||
_history = '/usr/tracker_data.hist'
|
||||
|
||||
def __init__(self, remote_read_cb=None):
|
||||
def __init__(self, tracker, remote_read_cb=None):
|
||||
self.tracker = tracker
|
||||
self.remote_read_cb = remote_read_cb
|
||||
self.downlink_queue = Queue(maxsize=64)
|
||||
self.uplink_queue = Queue(maxsize=64)
|
||||
|
@ -25,11 +25,11 @@ class Tracker(Singleton):
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.led = LED()
|
||||
self.sensor = Sensor()
|
||||
self.remote = Remote(self.remote_read_cb)
|
||||
self.locator = Location(self.loc_read_cb)
|
||||
self.alert = AlertMonitor(self.alert_read_cb)
|
||||
self.battery = Battery(self.batter_read_cb)
|
||||
self.controller = Controller(self.remote)
|
||||
self.remote = Remote(self, self.remote_read_cb)
|
||||
|
||||
current_settings = settings.settings.get()
|
||||
self.loc_timer = Timer(current_settings['sys']['loc_timern'])
|
||||
|
Loading…
x
Reference in New Issue
Block a user