# This configuration file is Python code. You should not # need to change it; but if you do, you need to know that # in Python, the *indentation matters*. # The following will normally be empty lists, like this: # #ignore_ADCPs = [] #ignore_other_sensors = [] # # But if you want to run with only a subset of the ADCPs # and/or ancillary sensors that are defined in this file, # you can list the ones you want to ignore like this: # #ignore_ADCPs = ['wh300', 'os75'] #ignore_other_sensors = ['GPS'] # # In this case, you are listing the 'instrument' field of each # ADCP or sensor you wish to exclude. # ignore_ADCPs = [] ignore_other_sensors = [] #use_publishers = False use_publishers = True # 2-letter abbreviation for logging file prefix and constructing dbase name; # read by procsetup.py shipabbrev = "sh" ADCPs = [ { 'instrument' : 'os75', 'setup' : 'rdi_setup', ## RENAME ?? rdi_setup.py 'terminal' : 'oswh_term', 'defaultcmd' : 'os75_default.cmd', 'commands' : ('EA00000',), 'datatypes' : ('os75bb', 'os75nb'), 'wakeup_baud' : 9600 }, # this comma should be there! ] # Do not edit the next three lines: common_opts = '-f %s -F -m 1 -H 2 ' % (shipabbrev,) nb_opts = '-lE -c -I' # raw data, write a log file, log errors oswh_opts = '-lE -c -O -I' # -O for OS/WH data format # -c for checksum, -I to initiate pinging sensors = [ { 'instrument' : 'os75', # Passive logging of OS 'device' : 'ttyUSB4', 'baud' : 38400, # Some errors at 115200. 'format' : 'binary', 'subdir' : 'os75', 'ext' : 'raw', 'opt' : oswh_opts, }, { 'instrument' : 'GPS', 'device' : 'ttyUSB6', #ttyR1 for comtrol 'baud' : 9600, 'format' : 'ascii', 'subdir' : 'gpsnav', #primary position for processing 'ext' : 'gps', 'strings' : ('$GPGGA',), 'messages' : ('gps',), 'opt' : '-Y2 -c', }, { 'instrument' : 'POS/MV', # coming in at 10Hz 'device' : 'ttyUSB0', #ttyR6 for comtrol 'baud' : 38400, 'format' : 'ascii', 'subdir' : 'posmv', 'ext' : 'pmv', # 'strings' : ('$INGGA', '$PASHR'), 'strings' : ('$PHGGA', '$INGGA', '$GPGGA', '$GNGGA','$PASHR'), 'messages' : ('gps', 'pmv'), 'opt' : '-Y2 -c -s5', }, { 'instrument' : 'Gyro', 'device' : 'ttyUSB2', #ttyR5 for comtrol 'baud' : 4800, 'format' : 'ascii', 'subdir' : 'gyro', 'ext' : 'hdg', 'strings' : ('$HEHDT',), 'messages' : ('hdg',), 'opt' : '-Y2 -s3', } ] ## 6Hz: take every 3rd message (-s3) ## no checksum on these ## speedlog: enabled in /home/adcp/config/uhdas_cfg.py speedlog_config = { 'instrument' : 'os75', 'serial_device' : '/dev/ttyUSB7', 'baud' : 9600, 'eth_port' : 'eno2', # this is the NIC to serve web_speedlog.py 'zmq_from_bin' : "tcp://127.0.0.1:38010", 'pub_addr' : "tcp://127.0.0.1:38020", # port to publish speedlog # 'heading_offset' : 45.4, # similar to h_align; 13 July 2016 'scale' : 1.0, # multiplies velocity measurement 'bins' : (1,2), # zero-based; input to python slice() 'navg' : 5, # pings to average } ## enabling or disabling this occurs in procsetup_onship.py ## this section describes... publishers = [ { 'subdir' : 'gpsnav', 'pub_addr' : 'tcp://127.0.0.1:38000', # uses this port 'sample_opts' : '-Y2 -c -s60', }, ] #### DO NOT CHANGE the following ################ ADCPs = [A for A in ADCPs if A['instrument'] not in ignore_ADCPs] sensors = [S for S in sensors if S['instrument'] not in ignore_ADCPs] sensors = [S for S in sensors if S['instrument'] not in ignore_other_sensors] from uhdas.uhdas import make_publishers # append zmq_from_bin port to opts in appropriate ADCP sensor block make_publishers.modify_sensors_for_speedlog(sensors, speedlog_config) # substitute publishers into sensors for zmq publishing if use_publishers==True: make_publishers.modify_sensors_and_publishers(sensors, publishers)