You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.6 KiB
Python
52 lines
1.6 KiB
Python
import os
|
|
|
|
'''
|
|
Plugin handler for the Quanterra/330 plugin.
|
|
'''
|
|
class SeedlinkPluginHandler:
|
|
# Create defaults
|
|
def __init__(self): pass
|
|
|
|
def push(self, seedlink):
|
|
# Check and set defaults
|
|
try: seedlink.param('sources.q330.port')
|
|
except: seedlink.setParam('sources.q330.port', 5330)
|
|
|
|
try: seedlink.param('sources.q330.udpport')
|
|
except: seedlink.setParam('sources.q330.udpport', "auto")
|
|
|
|
try: seedlink.param('sources.q330.slot') is None
|
|
except: seedlink.setParam('sources.q330.slot', 1)
|
|
|
|
try: seedlink.param('sources.q330.serial')
|
|
except: seedlink.setParam('sources.q330.serial', '0x0100000123456789')
|
|
|
|
try: seedlink.param('sources.q330.auth')
|
|
except: seedlink.setParam('sources.q330.auth', '0x00')
|
|
|
|
try: seedlink.param('sources.q330.proc')
|
|
except: seedlink.setParam('sources.q330.proc', '')
|
|
|
|
# Evaluate udp port
|
|
if seedlink._get('sources.q330.udpport').lower() == "auto":
|
|
try: udpbase = int(seedlink._get('plugins.q330.udpbase', False))
|
|
except: udpbase = 5500;
|
|
source_count = len(seedlink.seedlink_source['q330'])+1
|
|
seedlink.setParam('sources.q330.udpport', udpbase + 2*source_count)
|
|
|
|
# Key is per station and configuration settings
|
|
key = ";".join([
|
|
str(seedlink.param('sources.q330.address')),
|
|
str(seedlink.param('sources.q330.port')),
|
|
str(seedlink.param('sources.q330.udpport')),
|
|
str(seedlink.param('sources.q330.slot')),
|
|
seedlink.param('sources.q330.serial'),
|
|
seedlink.param('sources.q330.auth'),
|
|
str(seedlink._get('sources.q330.udpport'))])
|
|
return key
|
|
|
|
|
|
# Flush does nothing
|
|
def flush(self, seedlink):
|
|
pass
|